diff --git a/docker-compose.yml b/docker-compose.yml index 12416fbff..53ee97c31 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -42,6 +42,7 @@ services: - DUES=0 - MAIL_USERNAME=blahblahblah@gmail.com - MAIL_PASSWORD=3435tdfsdudebussylmaoxxt43 + - CHRISTMAS=1 links: - "redis" - "postgres" diff --git a/env b/env index 7054dabfd..a3f4b83fb 100644 --- a/env +++ b/env @@ -30,4 +30,5 @@ export DUES="0" export DEFAULT_THEME="midnight" export DEFAULT_COLOR="ff66ac" # YOU HAVE TO PICK ONE OF THOSE COLORS OR SHIT WILL BREAK: ff66ac, 805ad5, 62ca56, 38a169, 80ffff, 2a96f3, eb4963, ff0000, f39731, 30409f, 3e98a7, e4432d, 7b9ae4, ec72de, 7f8fa6, f8db58 export MAIL_USERNAME="blahblahblah@gmail.com" -export MAIL_PASSWORD="3435tdfsdudebussylmaoxxt43" \ No newline at end of file +export MAIL_PASSWORD="3435tdfsdudebussylmaoxxt43" +export CHRISTMAS="0" \ No newline at end of file diff --git a/files/__main__.py b/files/__main__.py index 913d3f38b..724a7996d 100644 --- a/files/__main__.py +++ b/files/__main__.py @@ -16,9 +16,7 @@ import gevent from werkzeug.middleware.proxy_fix import ProxyFix import redis -if environ.get("CHRISTMAS"): templates = 'templates/CHRISTMAS' -else: templates = 'templates' -app = Flask(__name__, template_folder=templates) +app = Flask(__name__, template_folder='templates/CHRISTMAS') app.wsgi_app = ProxyFix(app.wsgi_app, x_for=3) app.url_map.strict_slashes = False diff --git a/files/assets/CHRISTMAS/Drama.apk b/files/assets/CHRISTMAS/Drama.apk new file mode 100644 index 000000000..ee92083d5 Binary files /dev/null and b/files/assets/CHRISTMAS/Drama.apk differ diff --git a/files/assets/CHRISTMAS/PCM.apk b/files/assets/CHRISTMAS/PCM.apk new file mode 100644 index 000000000..88726aede Binary files /dev/null and b/files/assets/CHRISTMAS/PCM.apk differ diff --git a/files/assets/CHRISTMAS/banners/banner-1.jpg b/files/assets/CHRISTMAS/banners/banner-1.jpg new file mode 100644 index 000000000..d92afa59e Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-1.jpg differ diff --git a/files/assets/CHRISTMAS/banners/banner-10.jpg b/files/assets/CHRISTMAS/banners/banner-10.jpg new file mode 100644 index 000000000..0f92f46ca Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-10.jpg differ diff --git a/files/assets/CHRISTMAS/banners/banner-2.jpg b/files/assets/CHRISTMAS/banners/banner-2.jpg new file mode 100644 index 000000000..9835a279f Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-2.jpg differ diff --git a/files/assets/CHRISTMAS/banners/banner-3.jpg b/files/assets/CHRISTMAS/banners/banner-3.jpg new file mode 100644 index 000000000..bc7b292fe Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-3.jpg differ diff --git a/files/assets/CHRISTMAS/banners/banner-4.jpg b/files/assets/CHRISTMAS/banners/banner-4.jpg new file mode 100644 index 000000000..b08352849 Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-4.jpg differ diff --git a/files/assets/CHRISTMAS/banners/banner-5.jpg b/files/assets/CHRISTMAS/banners/banner-5.jpg new file mode 100644 index 000000000..4069db6bf Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-5.jpg differ diff --git a/files/assets/CHRISTMAS/banners/banner-6.jpg b/files/assets/CHRISTMAS/banners/banner-6.jpg new file mode 100644 index 000000000..e5ba4dc15 Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-6.jpg differ diff --git a/files/assets/CHRISTMAS/banners/banner-7.jpg b/files/assets/CHRISTMAS/banners/banner-7.jpg new file mode 100644 index 000000000..626270f97 Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-7.jpg differ diff --git a/files/assets/CHRISTMAS/banners/banner-8.jpg b/files/assets/CHRISTMAS/banners/banner-8.jpg new file mode 100644 index 000000000..404056559 Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-8.jpg differ diff --git a/files/assets/CHRISTMAS/banners/banner-9.jpg b/files/assets/CHRISTMAS/banners/banner-9.jpg new file mode 100644 index 000000000..89832269b Binary files /dev/null and b/files/assets/CHRISTMAS/banners/banner-9.jpg differ diff --git a/files/assets/CHRISTMAS/browserconfig.xml b/files/assets/CHRISTMAS/browserconfig.xml new file mode 100644 index 000000000..1107561bc --- /dev/null +++ b/files/assets/CHRISTMAS/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #FF66AC + + + diff --git a/files/assets/CHRISTMAS/css/4chan.css b/files/assets/CHRISTMAS/css/4chan.css new file mode 100644 index 000000000..93a208291 --- /dev/null +++ b/files/assets/CHRISTMAS/css/4chan.css @@ -0,0 +1,96 @@ +@charset "UTF-8"; + +:root { + --dark: #3E2C18; + --secondary: #F0E0D6; + --white: #F1E7D0; + --black: #433434; + --light: #F0E0D6; + --muted: #AA9881; + --gray: #AA9881; + --gray-100: #817261; + --gray-200: #433434; + --gray-300: #433434; + --gray-400: #AA9881; + --gray-500: #F0E0D6; + --gray-600: #F0E0D6; + --gray-700: #F0E0D6; + --gray-800: #F0E0D6; + --gray-900: #F0E0D6; + +} + + +blockquote { + background-color: #c0c0c0; +} + +.text-muted { + color: var(--black) !important; +} + +.text-white { + color: var(--primary) !important; +} + +.modal .comment-actions a { + color: var(--gray-500); +} + +.navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { + color: var(--black); +} + +.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { + background-color: #bda78e !important; +} + +html * { + font-family: arial, helvetica, sans-serif !important; + color: #800000 + } +body, #main-content-col { + background-color: var(--secondary) !important; + } +.border-right, .border-left, .border-top, .border-bottom, .border { + border-color: #D9BFB7 !important + } +.card-header { + border-color: #D9BFB7 !important + } +.post-title a { + color: #800000 !important; + } +.comment, .card { + background-color: var(--secondary) !important; + border-color: #D9BFB7 !important; + } +.form-control { + border-color: #D9BFB7 !important; + } +.post-actions *:hover, .comment-actions *:hover, .comment-actions .copy-link:hover { + color: #F00 !important + } +a { + color: var(--primary); +} + +blockquote p { + color: green !important; +} + +.transparent { + background: None !important; +} + +#frontpage .post-title a:visited { + color: #949494 !important; +} + +.btn { + color: var(--primary) !important; +} + +#profilestuff > * { + color: #cfcfcf !important; +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/css/agendaposter.css b/files/assets/CHRISTMAS/css/agendaposter.css new file mode 100644 index 000000000..bb5623199 --- /dev/null +++ b/files/assets/CHRISTMAS/css/agendaposter.css @@ -0,0 +1,16 @@ +html { + cursor:url('https://i.ibb.co/4VZB08S/Image.webp'), auto; +} + +.nav-item .text-small.font-weight-bold::before { + content: "(((" +} +.nav-item .text-small.font-weight-bold::after { + content: ")))" +} +.nav-item .text-small-extra.text-primary { + font-size: 0 !important +} +.nav-item .text-small-extra.text-primary i { + font-size: 11px !important +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/css/coffee.css b/files/assets/CHRISTMAS/css/coffee.css new file mode 100644 index 000000000..f174bb1e7 --- /dev/null +++ b/files/assets/CHRISTMAS/css/coffee.css @@ -0,0 +1,98 @@ +@charset "UTF-8"; + +/* latin-ext */ +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 400; + src: url(../fonts/S6uyw4BMUTPHjxAwXjeu.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 400; + src: url(../fonts/S6uyw4BMUTPHjx4wXg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* latin-ext */ + @font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 700; + src: url(../fonts/S6u9w4BMUTPHh6UVSwaPGR_p.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 700; + src: url(../fonts/S6u9w4BMUTPHh6UVSwiPGQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + +:root { + --dark: #3E2C18; + --secondary: #DDD2C4; + --white: #F1E7D0; + --black: #433434; + --light: #DDD2C4; + --muted: #AA9881; + --gray: #AA9881; + --gray-100: #817261; + --gray-200: #433434; + --gray-300: #433434; + --gray-400: #AA9881; + --gray-500: #DDD2C4; + --gray-600: #DDD2C4; + --gray-700: #DDD2C4; + --gray-800: #DDD2C4; + --gray-900: #DDD2C4; +} + + +* { + font-family: 'Lato' !important; +} + +blockquote { + background-color: #c0c0c0; +} + +.text-muted { + color: var(--black) !important; +} + +.modal .comment-actions a { + color: var(--gray-500); +} + +.navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { + color: var(--black); +} + +.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { + background-color: #bda78e !important; +} + +.transparent { + background: None !important; +} + +#frontpage .post-title a:visited { + color: #949494 !important; +} + +.btn { + color: var(--primary) !important; +} + +.table { + color: #433434 !important; +} + +#profilestuff > * { + color: #cfcfcf !important; +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/css/dark.css b/files/assets/CHRISTMAS/css/dark.css new file mode 100644 index 000000000..2a153420e --- /dev/null +++ b/files/assets/CHRISTMAS/css/dark.css @@ -0,0 +1,71 @@ +@charset "UTF-8"; + +:root { + --dark: #383838; + --secondary: #383838; + --white: #E1E1E1; + --black: #CFCFCF; + --light: #000000; + --muted: #E1E1E1; + --gray: #383838; + --gray-100: #E1E1E1; + --gray-200: #E1E1E1; + --gray-300: #383838; + --gray-400: #303030; + --gray-500: #000000; + --gray-600: #000000; + --gray-700: #000000; + --gray-800: #000000; + --gray-900: #000000; +} + +* { + border-color: var(--primary); +} + +.border { + border-color: var(--primary) !important; +} + +.form-control { + background: transparent; + border-color: var(--primary) !important; +} + +.btn { + background: transparent; + border-color: var(--primary) !important; +} + +.form-control:disabled, .form-control[readonly] { + background: transparent; + border-color: var(--primary) !important; +} + +.btn-success { + border-color: #38A169 !important; +} + +.btn-danger { + border-color: #E53E3E !important; +} + +#frontpage .pseudo-submit-form.card .card-body .form-control { + border-color: transparent !important; +} + +.btn-lg { + border-color: transparent !important; +} + +pre { + color: #CFCFCF; +} + +.transparent { + background: None !important; +} + +#frontpage .post-title a:visited { + color: #7a7a7a !important; +} \ No newline at end of file diff --git a/files/assets/css/default.css b/files/assets/CHRISTMAS/css/default.css similarity index 100% rename from files/assets/css/default.css rename to files/assets/CHRISTMAS/css/default.css diff --git a/files/assets/CHRISTMAS/css/fa.css b/files/assets/CHRISTMAS/css/fa.css new file mode 100644 index 000000000..8c18f7172 --- /dev/null +++ b/files/assets/CHRISTMAS/css/fa.css @@ -0,0 +1 @@ +.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-abacus:before{content:"\f640"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acorn:before{content:"\f6ae"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-conditioner:before{content:"\f8f4"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-alarm-clock:before{content:"\f34e"}.fa-alarm-exclamation:before{content:"\f843"}.fa-alarm-plus:before{content:"\f844"}.fa-alarm-snooze:before{content:"\f845"}.fa-album:before{content:"\f89f"}.fa-album-collection:before{content:"\f8a0"}.fa-algolia:before{content:"\f36c"}.fa-alicorn:before{content:"\f6b0"}.fa-alien:before{content:"\f8f5"}.fa-alien-monster:before{content:"\f8f6"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-align-slash:before{content:"\f846"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-amp-guitar:before{content:"\f8a1"}.fa-analytics:before{content:"\f643"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angel:before{content:"\f779"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-crate:before{content:"\f6b1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-alt-down:before{content:"\f354"}.fa-arrow-alt-from-bottom:before{content:"\f346"}.fa-arrow-alt-from-left:before{content:"\f347"}.fa-arrow-alt-from-right:before{content:"\f348"}.fa-arrow-alt-from-top:before{content:"\f349"}.fa-arrow-alt-left:before{content:"\f355"}.fa-arrow-alt-right:before{content:"\f356"}.fa-arrow-alt-square-down:before{content:"\f350"}.fa-arrow-alt-square-left:before{content:"\f351"}.fa-arrow-alt-square-right:before{content:"\f352"}.fa-arrow-alt-square-up:before{content:"\f353"}.fa-arrow-alt-to-bottom:before{content:"\f34a"}.fa-arrow-alt-to-left:before{content:"\f34b"}.fa-arrow-alt-to-right:before{content:"\f34c"}.fa-arrow-alt-to-top:before{content:"\f34d"}.fa-arrow-alt-up:before{content:"\f357"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-from-bottom:before{content:"\f342"}.fa-arrow-from-left:before{content:"\f343"}.fa-arrow-from-right:before{content:"\f344"}.fa-arrow-from-top:before{content:"\f345"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-square-down:before{content:"\f339"}.fa-arrow-square-left:before{content:"\f33a"}.fa-arrow-square-right:before{content:"\f33b"}.fa-arrow-square-up:before{content:"\f33c"}.fa-arrow-to-bottom:before{content:"\f33d"}.fa-arrow-to-left:before{content:"\f33e"}.fa-arrow-to-right:before{content:"\f340"}.fa-arrow-to-top:before{content:"\f341"}.fa-arrow-up:before{content:"\f062"}.fa-arrows:before{content:"\f047"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-arrows-h:before{content:"\f07e"}.fa-arrows-v:before{content:"\f07d"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-atom-alt:before{content:"\f5d3"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-axe:before{content:"\f6b2"}.fa-axe-battle:before{content:"\f6b3"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backpack:before{content:"\f5d4"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-badge:before{content:"\f335"}.fa-badge-check:before{content:"\f336"}.fa-badge-dollar:before{content:"\f645"}.fa-badge-percent:before{content:"\f646"}.fa-badge-sheriff:before{content:"\f8a2"}.fa-badger-honey:before{content:"\f6b4"}.fa-bags-shopping:before{content:"\f847"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ball-pile:before{content:"\f77e"}.fa-ballot:before{content:"\f732"}.fa-ballot-check:before{content:"\f733"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-banjo:before{content:"\f8a3"}.fa-barcode:before{content:"\f02a"}.fa-barcode-alt:before{content:"\f463"}.fa-barcode-read:before{content:"\f464"}.fa-barcode-scan:before{content:"\f465"}.fa-bars:before{content:"\f0c9"}.fa-baseball:before{content:"\f432"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-basketball-hoop:before{content:"\f435"}.fa-bat:before{content:"\f6b5"}.fa-bath:before{content:"\f2cd"}.fa-battery-bolt:before{content:"\f376"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-slash:before{content:"\f377"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-bed-alt:before{content:"\f8f7"}.fa-bed-bunk:before{content:"\f8f8"}.fa-bed-empty:before{content:"\f8f9"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-exclamation:before{content:"\f848"}.fa-bell-on:before{content:"\f8fa"}.fa-bell-plus:before{content:"\f849"}.fa-bell-school:before{content:"\f5d5"}.fa-bell-school-slash:before{content:"\f5d6"}.fa-bell-slash:before{content:"\f1f6"}.fa-bells:before{content:"\f77f"}.fa-betamax:before{content:"\f8a4"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-biking-mountain:before{content:"\f84b"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blanket:before{content:"\f498"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blinds:before{content:"\f8fb"}.fa-blinds-open:before{content:"\f8fc"}.fa-blinds-raised:before{content:"\f8fd"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bone-break:before{content:"\f5d8"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-alt:before{content:"\f5d9"}.fa-book-dead:before{content:"\f6b7"}.fa-book-heart:before{content:"\f499"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-book-spells:before{content:"\f6b8"}.fa-book-user:before{content:"\f7e7"}.fa-bookmark:before{content:"\f02e"}.fa-books:before{content:"\f5db"}.fa-books-medical:before{content:"\f7e8"}.fa-boombox:before{content:"\f8a5"}.fa-boot:before{content:"\f782"}.fa-booth-curtain:before{content:"\f734"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-bottom:before{content:"\f84d"}.fa-border-center-h:before{content:"\f89c"}.fa-border-center-v:before{content:"\f89d"}.fa-border-inner:before{content:"\f84e"}.fa-border-left:before{content:"\f84f"}.fa-border-none:before{content:"\f850"}.fa-border-outer:before{content:"\f851"}.fa-border-right:before{content:"\f852"}.fa-border-style:before{content:"\f853"}.fa-border-style-alt:before{content:"\f854"}.fa-border-top:before{content:"\f855"}.fa-bow-arrow:before{content:"\f6b9"}.fa-bowling-ball:before{content:"\f436"}.fa-bowling-pins:before{content:"\f437"}.fa-box:before{content:"\f466"}.fa-box-alt:before{content:"\f49a"}.fa-box-ballot:before{content:"\f735"}.fa-box-check:before{content:"\f467"}.fa-box-fragile:before{content:"\f49b"}.fa-box-full:before{content:"\f49c"}.fa-box-heart:before{content:"\f49d"}.fa-box-open:before{content:"\f49e"}.fa-box-up:before{content:"\f49f"}.fa-box-usd:before{content:"\f4a0"}.fa-boxes:before{content:"\f468"}.fa-boxes-alt:before{content:"\f4a1"}.fa-boxing-glove:before{content:"\f438"}.fa-brackets:before{content:"\f7e9"}.fa-brackets-curly:before{content:"\f7ea"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-loaf:before{content:"\f7eb"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-bring-forward:before{content:"\f856"}.fa-bring-front:before{content:"\f857"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-browser:before{content:"\f37e"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-bullseye-arrow:before{content:"\f648"}.fa-bullseye-pointer:before{content:"\f649"}.fa-burger-soda:before{content:"\f858"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-burrito:before{content:"\f7ed"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-bus-school:before{content:"\f5dd"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-cabinet-filing:before{content:"\f64b"}.fa-cactus:before{content:"\f8a7"}.fa-calculator:before{content:"\f1ec"}.fa-calculator-alt:before{content:"\f64c"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-edit:before{content:"\f333"}.fa-calendar-exclamation:before{content:"\f334"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-star:before{content:"\f736"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camcorder:before{content:"\f8a8"}.fa-camera:before{content:"\f030"}.fa-camera-alt:before{content:"\f332"}.fa-camera-home:before{content:"\f8fe"}.fa-camera-movie:before{content:"\f8a9"}.fa-camera-polaroid:before{content:"\f8aa"}.fa-camera-retro:before{content:"\f083"}.fa-campfire:before{content:"\f6ba"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candle-holder:before{content:"\f6bc"}.fa-candy-cane:before{content:"\f786"}.fa-candy-corn:before{content:"\f6bd"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-building:before{content:"\f859"}.fa-car-bump:before{content:"\f5e0"}.fa-car-bus:before{content:"\f85a"}.fa-car-crash:before{content:"\f5e1"}.fa-car-garage:before{content:"\f5e2"}.fa-car-mechanic:before{content:"\f5e3"}.fa-car-side:before{content:"\f5e4"}.fa-car-tilt:before{content:"\f5e5"}.fa-car-wash:before{content:"\f5e6"}.fa-caravan:before{content:"\f8ff"}.fa-caravan-alt:before{content:"\f900"}.fa-caret-circle-down:before{content:"\f32d"}.fa-caret-circle-left:before{content:"\f32e"}.fa-caret-circle-right:before{content:"\f330"}.fa-caret-circle-up:before{content:"\f331"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cars:before{content:"\f85b"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cassette-tape:before{content:"\f8ab"}.fa-cat:before{content:"\f6be"}.fa-cat-space:before{content:"\f901"}.fa-cauldron:before{content:"\f6bf"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-cctv:before{content:"\f8ac"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chair-office:before{content:"\f6c1"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-line-down:before{content:"\f64d"}.fa-chart-network:before{content:"\f78a"}.fa-chart-pie:before{content:"\f200"}.fa-chart-pie-alt:before{content:"\f64e"}.fa-chart-scatter:before{content:"\f7ee"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-cheese-swiss:before{content:"\f7f0"}.fa-cheeseburger:before{content:"\f7f1"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-bishop-alt:before{content:"\f43b"}.fa-chess-board:before{content:"\f43c"}.fa-chess-clock:before{content:"\f43d"}.fa-chess-clock-alt:before{content:"\f43e"}.fa-chess-king:before{content:"\f43f"}.fa-chess-king-alt:before{content:"\f440"}.fa-chess-knight:before{content:"\f441"}.fa-chess-knight-alt:before{content:"\f442"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-pawn-alt:before{content:"\f444"}.fa-chess-queen:before{content:"\f445"}.fa-chess-queen-alt:before{content:"\f446"}.fa-chess-rook:before{content:"\f447"}.fa-chess-rook-alt:before{content:"\f448"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-double-down:before{content:"\f322"}.fa-chevron-double-left:before{content:"\f323"}.fa-chevron-double-right:before{content:"\f324"}.fa-chevron-double-up:before{content:"\f325"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-square-down:before{content:"\f329"}.fa-chevron-square-left:before{content:"\f32a"}.fa-chevron-square-right:before{content:"\f32b"}.fa-chevron-square-up:before{content:"\f32c"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chimney:before{content:"\f78b"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clarinet:before{content:"\f8ad"}.fa-claw-marks:before{content:"\f6c2"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clipboard-list-check:before{content:"\f737"}.fa-clipboard-prescription:before{content:"\f5e8"}.fa-clipboard-user:before{content:"\f7f3"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-drizzle:before{content:"\f738"}.fa-cloud-hail:before{content:"\f739"}.fa-cloud-hail-mixed:before{content:"\f73a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-music:before{content:"\f8ae"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-rainbow:before{content:"\f73e"}.fa-cloud-showers:before{content:"\f73f"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sleet:before{content:"\f741"}.fa-cloud-snow:before{content:"\f742"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-clouds:before{content:"\f744"}.fa-clouds-moon:before{content:"\f745"}.fa-clouds-sun:before{content:"\f746"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-club:before{content:"\f327"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-merge:before{content:"\f387"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-coffee-pot:before{content:"\f902"}.fa-coffee-togo:before{content:"\f6c5"}.fa-coffin:before{content:"\f6c6"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coin:before{content:"\f85c"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comet:before{content:"\f903"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-alt-check:before{content:"\f4a2"}.fa-comment-alt-dollar:before{content:"\f650"}.fa-comment-alt-dots:before{content:"\f4a3"}.fa-comment-alt-edit:before{content:"\f4a4"}.fa-comment-alt-exclamation:before{content:"\f4a5"}.fa-comment-alt-lines:before{content:"\f4a6"}.fa-comment-alt-medical:before{content:"\f7f4"}.fa-comment-alt-minus:before{content:"\f4a7"}.fa-comment-alt-music:before{content:"\f8af"}.fa-comment-alt-plus:before{content:"\f4a8"}.fa-comment-alt-slash:before{content:"\f4a9"}.fa-comment-alt-smile:before{content:"\f4aa"}.fa-comment-alt-times:before{content:"\f4ab"}.fa-comment-check:before{content:"\f4ac"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-edit:before{content:"\f4ae"}.fa-comment-exclamation:before{content:"\f4af"}.fa-comment-lines:before{content:"\f4b0"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-minus:before{content:"\f4b1"}.fa-comment-music:before{content:"\f8b0"}.fa-comment-plus:before{content:"\f4b2"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-smile:before{content:"\f4b4"}.fa-comment-times:before{content:"\f4b5"}.fa-comments:before{content:"\f086"}.fa-comments-alt:before{content:"\f4b6"}.fa-comments-alt-dollar:before{content:"\f652"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-slash:before{content:"\f5e9"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-compress-wide:before{content:"\f326"}.fa-computer-classic:before{content:"\f8b1"}.fa-computer-speaker:before{content:"\f8b2"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-construction:before{content:"\f85d"}.fa-container-storage:before{content:"\f4b7"}.fa-contao:before{content:"\f26d"}.fa-conveyor-belt:before{content:"\f46e"}.fa-conveyor-belt-alt:before{content:"\f46f"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-corn:before{content:"\f6c7"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cow:before{content:"\f6c8"}.fa-cowbell:before{content:"\f8b3"}.fa-cowbell-more:before{content:"\f8b4"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-credit-card-blank:before{content:"\f389"}.fa-credit-card-front:before{content:"\f38a"}.fa-cricket:before{content:"\f449"}.fa-critical-role:before{content:"\f6c9"}.fa-croissant:before{content:"\f7f6"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-crutches:before{content:"\f7f8"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-curling:before{content:"\f44a"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dagger:before{content:"\f6cb"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-debug:before{content:"\f7f9"}.fa-deer:before{content:"\f78e"}.fa-deer-rudolph:before{content:"\f78f"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-desktop-alt:before{content:"\f390"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dewpoint:before{content:"\f748"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diamond:before{content:"\f219"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d10:before{content:"\f6cd"}.fa-dice-d12:before{content:"\f6ce"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d4:before{content:"\f6d0"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-d8:before{content:"\f6d2"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digging:before{content:"\f85e"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-diploma:before{content:"\f5ea"}.fa-directions:before{content:"\f5eb"}.fa-disc-drive:before{content:"\f8b5"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-do-not-enter:before{content:"\f5ec"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dog-leashed:before{content:"\f6d4"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-empty:before{content:"\f473"}.fa-dolly-flatbed:before{content:"\f474"}.fa-dolly-flatbed-alt:before{content:"\f475"}.fa-dolly-flatbed-empty:before{content:"\f476"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-circle:before{content:"\f5ed"}.fa-draw-polygon:before{content:"\f5ee"}.fa-draw-square:before{content:"\f5ef"}.fa-dreidel:before{content:"\f792"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-drone:before{content:"\f85f"}.fa-drone-alt:before{content:"\f860"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick:before{content:"\f6d6"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dryer:before{content:"\f861"}.fa-dryer-alt:before{content:"\f862"}.fa-duck:before{content:"\f6d8"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-ear:before{content:"\f5f0"}.fa-ear-muffs:before{content:"\f795"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-eclipse:before{content:"\f749"}.fa-eclipse-alt:before{content:"\f74a"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-egg-fried:before{content:"\f7fc"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-elephant:before{content:"\f6da"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-h-alt:before{content:"\f39b"}.fa-ellipsis-v:before{content:"\f142"}.fa-ellipsis-v-alt:before{content:"\f39c"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-empty-set:before{content:"\f656"}.fa-engine-warning:before{content:"\f5f2"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-dollar:before{content:"\f657"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange:before{content:"\f0ec"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-square:before{content:"\f321"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows:before{content:"\f31d"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expand-wide:before{content:"\f320"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link:before{content:"\f08e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square:before{content:"\f14c"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-evil:before{content:"\f6db"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fan-table:before{content:"\f904"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-farm:before{content:"\f864"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\f905"}.fa-faucet-drip:before{content:"\f906"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-field-hockey:before{content:"\f44c"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-certificate:before{content:"\f5f3"}.fa-file-chart-line:before{content:"\f659"}.fa-file-chart-pie:before{content:"\f65a"}.fa-file-check:before{content:"\f316"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-edit:before{content:"\f31c"}.fa-file-excel:before{content:"\f1c3"}.fa-file-exclamation:before{content:"\f31a"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-minus:before{content:"\f318"}.fa-file-music:before{content:"\f8b6"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-plus:before{content:"\f319"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-search:before{content:"\f865"}.fa-file-signature:before{content:"\f573"}.fa-file-spreadsheet:before{content:"\f65b"}.fa-file-times:before{content:"\f317"}.fa-file-upload:before{content:"\f574"}.fa-file-user:before{content:"\f65c"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-files-medical:before{content:"\f7fd"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-film-alt:before{content:"\f3a0"}.fa-film-canister:before{content:"\f8b7"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-smoke:before{content:"\f74b"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-fireplace:before{content:"\f79a"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fish-cooked:before{content:"\f7fe"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-alt:before{content:"\f74c"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flame:before{content:"\f6df"}.fa-flashlight:before{content:"\f8b8"}.fa-flask:before{content:"\f0c3"}.fa-flask-poison:before{content:"\f6e0"}.fa-flask-potion:before{content:"\f6e1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flower:before{content:"\f7ff"}.fa-flower-daffodil:before{content:"\f800"}.fa-flower-tulip:before{content:"\f801"}.fa-flushed:before{content:"\f579"}.fa-flute:before{content:"\f8b9"}.fa-flux-capacitor:before{content:"\f8ba"}.fa-fly:before{content:"\f417"}.fa-fog:before{content:"\f74e"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-times:before{content:"\f65f"}.fa-folder-tree:before{content:"\f802"}.fa-folders:before{content:"\f660"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-font-case:before{content:"\f866"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-football-helmet:before{content:"\f44f"}.fa-forklift:before{content:"\f47a"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-fragile:before{content:"\f4bb"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-french-fries:before{content:"\f803"}.fa-frog:before{content:"\f52e"}.fa-frosty-head:before{content:"\f79b"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-function:before{content:"\f661"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-galaxy:before{content:"\f908"}.fa-game-board:before{content:"\f867"}.fa-game-board-alt:before{content:"\f868"}.fa-game-console-handheld:before{content:"\f8bb"}.fa-gamepad:before{content:"\f11b"}.fa-gamepad-alt:before{content:"\f8bc"}.fa-garage:before{content:"\f909"}.fa-garage-car:before{content:"\f90a"}.fa-garage-open:before{content:"\f90b"}.fa-gas-pump:before{content:"\f52f"}.fa-gas-pump-slash:before{content:"\f5f4"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gift-card:before{content:"\f663"}.fa-gifts:before{content:"\f79c"}.fa-gingerbread-man:before{content:"\f79d"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass:before{content:"\f804"}.fa-glass-champagne:before{content:"\f79e"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-citrus:before{content:"\f869"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glass-whiskey-rocks:before{content:"\f7a1"}.fa-glasses:before{content:"\f530"}.fa-glasses-alt:before{content:"\f5f5"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-globe-snow:before{content:"\f7a3"}.fa-globe-stand:before{content:"\f5f6"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-golf-club:before{content:"\f451"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gramophone:before{content:"\f8bd"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-guitar-electric:before{content:"\f8be"}.fa-guitars:before{content:"\f8bf"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-h1:before{content:"\f313"}.fa-h2:before{content:"\f314"}.fa-h3:before{content:"\f315"}.fa-h4:before{content:"\f86a"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hammer-war:before{content:"\f6e4"}.fa-hamsa:before{content:"\f665"}.fa-hand-heart:before{content:"\f4bc"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-box:before{content:"\f47b"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-magic:before{content:"\f6e5"}.fa-hand-holding-seedling:before{content:"\f4bf"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-receiving:before{content:"\f47c"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-heart:before{content:"\f4c3"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-usd:before{content:"\f4c5"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt:before{content:"\f4c6"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-chef:before{content:"\f86b"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-santa:before{content:"\f7a7"}.fa-hat-winter:before{content:"\f7a8"}.fa-hat-witch:before{content:"\f6e7"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side:before{content:"\f6e9"}.fa-head-side-brain:before{content:"\f808"}.fa-head-side-headphones:before{content:"\f8c2"}.fa-head-side-medical:before{content:"\f809"}.fa-head-vr:before{content:"\f6ea"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heart-circle:before{content:"\f4c7"}.fa-heart-rate:before{content:"\f5f8"}.fa-heart-square:before{content:"\f4c8"}.fa-heartbeat:before{content:"\f21e"}.fa-heat:before{content:"\f90c"}.fa-helicopter:before{content:"\f533"}.fa-helmet-battle:before{content:"\f6eb"}.fa-hexagon:before{content:"\f312"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-mask:before{content:"\f6ee"}.fa-hockey-puck:before{content:"\f453"}.fa-hockey-sticks:before{content:"\f454"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-home-alt:before{content:"\f80a"}.fa-home-heart:before{content:"\f4c9"}.fa-home-lg:before{content:"\f80b"}.fa-home-lg-alt:before{content:"\f80c"}.fa-hood-cloak:before{content:"\f6ef"}.fa-hooli:before{content:"\f427"}.fa-horizontal-rule:before{content:"\f86c"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-horse-saddle:before{content:"\f8c3"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hospitals:before{content:"\f80e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house:before{content:"\f90d"}.fa-house-damage:before{content:"\f6f1"}.fa-house-day:before{content:"\f90e"}.fa-house-flood:before{content:"\f74f"}.fa-house-leave:before{content:"\f90f"}.fa-house-night:before{content:"\f910"}.fa-house-return:before{content:"\f911"}.fa-house-signal:before{content:"\f912"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-humidity:before{content:"\f750"}.fa-hurricane:before{content:"\f751"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-ice-skate:before{content:"\f7ac"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-icons-alt:before{content:"\f86e"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-polaroid:before{content:"\f8c4"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-inbox-in:before{content:"\f310"}.fa-inbox-out:before{content:"\f311"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-industry-alt:before{content:"\f3b3"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-info-square:before{content:"\f30f"}.fa-inhaler:before{content:"\f5f9"}.fa-instagram:before{content:"\f16d"}.fa-integral:before{content:"\f667"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-intersection:before{content:"\f668"}.fa-inventory:before{content:"\f480"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-island-tropical:before{content:"\f811"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-jack-o-lantern:before{content:"\f30e"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-joystick:before{content:"\f8c5"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-jug:before{content:"\f8c6"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-kazoo:before{content:"\f8c7"}.fa-kerning:before{content:"\f86f"}.fa-key:before{content:"\f084"}.fa-key-skeleton:before{content:"\f6f3"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-keynote:before{content:"\f66c"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kidneys:before{content:"\f5fb"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kite:before{content:"\f6f4"}.fa-kiwi-bird:before{content:"\f535"}.fa-knife-kitchen:before{content:"\f6f5"}.fa-korvue:before{content:"\f42f"}.fa-lambda:before{content:"\f66e"}.fa-lamp:before{content:"\f4ca"}.fa-lamp-desk:before{content:"\f914"}.fa-lamp-floor:before{content:"\f915"}.fa-landmark:before{content:"\f66f"}.fa-landmark-alt:before{content:"\f752"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lasso:before{content:"\f8c8"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-layer-minus:before{content:"\f5fe"}.fa-layer-plus:before{content:"\f5ff"}.fa-leaf:before{content:"\f06c"}.fa-leaf-heart:before{content:"\f4cb"}.fa-leaf-maple:before{content:"\f6f6"}.fa-leaf-oak:before{content:"\f6f7"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down:before{content:"\f149"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up:before{content:"\f148"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-light-ceiling:before{content:"\f916"}.fa-light-switch:before{content:"\f917"}.fa-light-switch-off:before{content:"\f918"}.fa-light-switch-on:before{content:"\f919"}.fa-lightbulb:before{content:"\f0eb"}.fa-lightbulb-dollar:before{content:"\f670"}.fa-lightbulb-exclamation:before{content:"\f671"}.fa-lightbulb-on:before{content:"\f672"}.fa-lightbulb-slash:before{content:"\f673"}.fa-lights-holiday:before{content:"\f7b2"}.fa-line:before{content:"\f3c0"}.fa-line-columns:before{content:"\f870"}.fa-line-height:before{content:"\f871"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lips:before{content:"\f600"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-music:before{content:"\f8c9"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location:before{content:"\f601"}.fa-location-arrow:before{content:"\f124"}.fa-location-circle:before{content:"\f602"}.fa-location-slash:before{content:"\f603"}.fa-lock:before{content:"\f023"}.fa-lock-alt:before{content:"\f30d"}.fa-lock-open:before{content:"\f3c1"}.fa-lock-open-alt:before{content:"\f3c2"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-long-arrow-up:before{content:"\f176"}.fa-loveseat:before{content:"\f4cc"}.fa-low-vision:before{content:"\f2a8"}.fa-luchador:before{content:"\f455"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lyft:before{content:"\f3c3"}.fa-mace:before{content:"\f6f8"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailbox:before{content:"\f813"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-mandolin:before{content:"\f6f9"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-marker-alt-slash:before{content:"\f605"}.fa-map-marker-check:before{content:"\f606"}.fa-map-marker-edit:before{content:"\f607"}.fa-map-marker-exclamation:before{content:"\f608"}.fa-map-marker-minus:before{content:"\f609"}.fa-map-marker-plus:before{content:"\f60a"}.fa-map-marker-question:before{content:"\f60b"}.fa-map-marker-slash:before{content:"\f60c"}.fa-map-marker-smile:before{content:"\f60d"}.fa-map-marker-times:before{content:"\f60e"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-meat:before{content:"\f814"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaphone:before{content:"\f675"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microphone-stand:before{content:"\f8cb"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-microwave:before{content:"\f91b"}.fa-mind-share:before{content:"\f677"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-hexagon:before{content:"\f307"}.fa-minus-octagon:before{content:"\f308"}.fa-minus-square:before{content:"\f146"}.fa-mistletoe:before{content:"\f7b4"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-mobile-android:before{content:"\f3ce"}.fa-mobile-android-alt:before{content:"\f3cf"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-money-check-edit:before{content:"\f872"}.fa-money-check-edit-alt:before{content:"\f873"}.fa-monitor-heart-rate:before{content:"\f611"}.fa-monkey:before{content:"\f6fb"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-moon-cloud:before{content:"\f754"}.fa-moon-stars:before{content:"\f755"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mountains:before{content:"\f6fd"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-alt:before{content:"\f8cd"}.fa-mouse-pointer:before{content:"\f245"}.fa-mp3-player:before{content:"\f8ce"}.fa-mug:before{content:"\f874"}.fa-mug-hot:before{content:"\f7b6"}.fa-mug-marshmallows:before{content:"\f7b7"}.fa-mug-tea:before{content:"\f875"}.fa-music:before{content:"\f001"}.fa-music-alt:before{content:"\f8cf"}.fa-music-alt-slash:before{content:"\f8d0"}.fa-music-slash:before{content:"\f8d1"}.fa-napster:before{content:"\f3d2"}.fa-narwhal:before{content:"\f6fe"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octagon:before{content:"\f306"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-oil-temp:before{content:"\f614"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-omega:before{content:"\f67a"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-ornament:before{content:"\f7b8"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-outlet:before{content:"\f91c"}.fa-oven:before{content:"\f91d"}.fa-overline:before{content:"\f876"}.fa-page-break:before{content:"\f877"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-brush-alt:before{content:"\f5a9"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-pallet-alt:before{content:"\f483"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-paragraph-rtl:before{content:"\f878"}.fa-parking:before{content:"\f540"}.fa-parking-circle:before{content:"\f615"}.fa-parking-circle-slash:before{content:"\f616"}.fa-parking-slash:before{content:"\f617"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paw-alt:before{content:"\f701"}.fa-paw-claws:before{content:"\f702"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pegasus:before{content:"\f703"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil:before{content:"\f040"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-paintbrush:before{content:"\f618"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-pennant:before{content:"\f456"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-person-carry:before{content:"\f4cf"}.fa-person-dolly:before{content:"\f4d0"}.fa-person-dolly-empty:before{content:"\f4d1"}.fa-person-sign:before{content:"\f757"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-laptop:before{content:"\f87a"}.fa-phone-office:before{content:"\f67d"}.fa-phone-plus:before{content:"\f4d2"}.fa-phone-rotary:before{content:"\f8d3"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pi:before{content:"\f67e"}.fa-piano:before{content:"\f8d4"}.fa-piano-keyboard:before{content:"\f8d5"}.fa-pie:before{content:"\f705"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-pig:before{content:"\f706"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza:before{content:"\f817"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-alt:before{content:"\f3de"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-planet-moon:before{content:"\f91f"}.fa-planet-ringed:before{content:"\f920"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-hexagon:before{content:"\f300"}.fa-plus-octagon:before{content:"\f301"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-podium:before{content:"\f680"}.fa-podium-star:before{content:"\f758"}.fa-police-box:before{content:"\f921"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poll-people:before{content:"\f759"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-popcorn:before{content:"\f819"}.fa-portal-enter:before{content:"\f922"}.fa-portal-exit:before{content:"\f923"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-presentation:before{content:"\f685"}.fa-print:before{content:"\f02f"}.fa-print-search:before{content:"\f81a"}.fa-print-slash:before{content:"\f686"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-projector:before{content:"\f8d6"}.fa-pumpkin:before{content:"\f707"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-question-square:before{content:"\f2fd"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-rabbit:before{content:"\f708"}.fa-rabbit-fast:before{content:"\f709"}.fa-racquet:before{content:"\f45a"}.fa-radar:before{content:"\f924"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-radio:before{content:"\f8d7"}.fa-radio-alt:before{content:"\f8d8"}.fa-rainbow:before{content:"\f75b"}.fa-raindrops:before{content:"\f75c"}.fa-ram:before{content:"\f70a"}.fa-ramp-loading:before{content:"\f4d4"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-raygun:before{content:"\f925"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-rectangle-landscape:before{content:"\f2fa"}.fa-rectangle-portrait:before{content:"\f2fb"}.fa-rectangle-wide:before{content:"\f2fc"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-refrigerator:before{content:"\f926"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-repeat:before{content:"\f363"}.fa-repeat-1:before{content:"\f365"}.fa-repeat-1-alt:before{content:"\f366"}.fa-repeat-alt:before{content:"\f364"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-retweet-alt:before{content:"\f361"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-rings-wedding:before{content:"\f81b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocket-launch:before{content:"\f927"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-route-highway:before{content:"\f61a"}.fa-route-interstate:before{content:"\f61b"}.fa-router:before{content:"\f8da"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-triangle:before{content:"\f61c"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rv:before{content:"\f7be"}.fa-sack:before{content:"\f81c"}.fa-sack-dollar:before{content:"\f81d"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salad:before{content:"\f81e"}.fa-salesforce:before{content:"\f83b"}.fa-sandwich:before{content:"\f81f"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-sausage:before{content:"\f820"}.fa-save:before{content:"\f0c7"}.fa-sax-hot:before{content:"\f8db"}.fa-saxophone:before{content:"\f8dc"}.fa-scalpel:before{content:"\f61d"}.fa-scalpel-path:before{content:"\f61e"}.fa-scanner:before{content:"\f488"}.fa-scanner-image:before{content:"\f8f3"}.fa-scanner-keyboard:before{content:"\f489"}.fa-scanner-touchscreen:before{content:"\f48a"}.fa-scarecrow:before{content:"\f70d"}.fa-scarf:before{content:"\f7c1"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-scroll-old:before{content:"\f70f"}.fa-scrubber:before{content:"\f2f8"}.fa-scythe:before{content:"\f710"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-send-back:before{content:"\f87e"}.fa-send-backward:before{content:"\f87f"}.fa-sensor:before{content:"\f928"}.fa-sensor-alert:before{content:"\f929"}.fa-sensor-fire:before{content:"\f92a"}.fa-sensor-on:before{content:"\f92b"}.fa-sensor-smoke:before{content:"\f92c"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-all:before{content:"\f367"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-sheep:before{content:"\f711"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield:before{content:"\f132"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-check:before{content:"\f2f7"}.fa-shield-cross:before{content:"\f712"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shipping-timed:before{content:"\f48c"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shish-kebab:before{content:"\f821"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shovel:before{content:"\f713"}.fa-shovel-snow:before{content:"\f7c3"}.fa-shower:before{content:"\f2cc"}.fa-shredder:before{content:"\f68a"}.fa-shuttle-van:before{content:"\f5b6"}.fa-shuttlecock:before{content:"\f45b"}.fa-sickle:before{content:"\f822"}.fa-sigma:before{content:"\f68b"}.fa-sign:before{content:"\f4d9"}.fa-sign-in:before{content:"\f090"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out:before{content:"\f08b"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signal-1:before{content:"\f68c"}.fa-signal-2:before{content:"\f68d"}.fa-signal-3:before{content:"\f68e"}.fa-signal-4:before{content:"\f68f"}.fa-signal-alt:before{content:"\f690"}.fa-signal-alt-1:before{content:"\f691"}.fa-signal-alt-2:before{content:"\f692"}.fa-signal-alt-3:before{content:"\f693"}.fa-signal-alt-slash:before{content:"\f694"}.fa-signal-slash:before{content:"\f695"}.fa-signal-stream:before{content:"\f8dd"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-siren:before{content:"\f92d"}.fa-siren-on:before{content:"\f92e"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-skeleton:before{content:"\f620"}.fa-sketch:before{content:"\f7c6"}.fa-ski-jump:before{content:"\f7c7"}.fa-ski-lift:before{content:"\f7c8"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-cow:before{content:"\f8de"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sledding:before{content:"\f7cb"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-sliders-h-square:before{content:"\f3f0"}.fa-sliders-v:before{content:"\f3f1"}.fa-sliders-v-square:before{content:"\f3f2"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-plus:before{content:"\f5b9"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoke:before{content:"\f760"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snake:before{content:"\f716"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snooze:before{content:"\f880"}.fa-snow-blowing:before{content:"\f761"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowflakes:before{content:"\f7cf"}.fa-snowman:before{content:"\f7d0"}.fa-snowmobile:before{content:"\f7d1"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-solar-system:before{content:"\f92f"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-alt:before{content:"\f883"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-circle:before{content:"\f930"}.fa-sort-circle-down:before{content:"\f931"}.fa-sort-circle-up:before{content:"\f932"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-shapes-down:before{content:"\f888"}.fa-sort-shapes-down-alt:before{content:"\f889"}.fa-sort-shapes-up:before{content:"\f88a"}.fa-sort-shapes-up-alt:before{content:"\f88b"}.fa-sort-size-down:before{content:"\f88c"}.fa-sort-size-down-alt:before{content:"\f88d"}.fa-sort-size-up:before{content:"\f88e"}.fa-sort-size-up-alt:before{content:"\f88f"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-soup:before{content:"\f823"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-space-station-moon:before{content:"\f933"}.fa-space-station-moon-alt:before{content:"\f934"}.fa-spade:before{content:"\f2f4"}.fa-sparkles:before{content:"\f890"}.fa-speakap:before{content:"\f3f3"}.fa-speaker:before{content:"\f8df"}.fa-speaker-deck:before{content:"\f83c"}.fa-speakers:before{content:"\f8e0"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spider-black-widow:before{content:"\f718"}.fa-spider-web:before{content:"\f719"}.fa-spinner:before{content:"\f110"}.fa-spinner-third:before{content:"\f3f4"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-sprinkler:before{content:"\f935"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root:before{content:"\f697"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-squirrel:before{content:"\f71a"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staff:before{content:"\f71b"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-christmas:before{content:"\f7d4"}.fa-star-exclamation:before{content:"\f2f3"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-star-shooting:before{content:"\f936"}.fa-starfighter:before{content:"\f937"}.fa-starfighter-alt:before{content:"\f938"}.fa-stars:before{content:"\f762"}.fa-starship:before{content:"\f939"}.fa-starship-freighter:before{content:"\f93a"}.fa-staylinked:before{content:"\f3f5"}.fa-steak:before{content:"\f824"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-steering-wheel:before{content:"\f622"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stocking:before{content:"\f7d5"}.fa-stomach:before{content:"\f623"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-stretcher:before{content:"\f825"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-sun-cloud:before{content:"\f763"}.fa-sun-dust:before{content:"\f764"}.fa-sun-haze:before{content:"\f765"}.fa-sunglasses:before{content:"\f892"}.fa-sunrise:before{content:"\f766"}.fa-sunset:before{content:"\f767"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-sword:before{content:"\f71c"}.fa-sword-laser:before{content:"\f93b"}.fa-sword-laser-alt:before{content:"\f93c"}.fa-swords:before{content:"\f71d"}.fa-swords-laser:before{content:"\f93d"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablet-android:before{content:"\f3fb"}.fa-tablet-android-alt:before{content:"\f3fc"}.fa-tablet-rugged:before{content:"\f48f"}.fa-tablets:before{content:"\f490"}.fa-tachometer:before{content:"\f0e4"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tachometer-alt-average:before{content:"\f624"}.fa-tachometer-alt-fast:before{content:"\f625"}.fa-tachometer-alt-fastest:before{content:"\f626"}.fa-tachometer-alt-slow:before{content:"\f627"}.fa-tachometer-alt-slowest:before{content:"\f628"}.fa-tachometer-average:before{content:"\f629"}.fa-tachometer-fast:before{content:"\f62a"}.fa-tachometer-fastest:before{content:"\f62b"}.fa-tachometer-slow:before{content:"\f62c"}.fa-tachometer-slowest:before{content:"\f62d"}.fa-taco:before{content:"\f826"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tally:before{content:"\f69c"}.fa-tanakh:before{content:"\f827"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-tasks-alt:before{content:"\f828"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-telescope:before{content:"\f93e"}.fa-temperature-down:before{content:"\f93f"}.fa-temperature-frigid:before{content:"\f768"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-hot:before{content:"\f76a"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-up:before{content:"\f940"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-tennis-ball:before{content:"\f45e"}.fa-terminal:before{content:"\f120"}.fa-text:before{content:"\f893"}.fa-text-height:before{content:"\f034"}.fa-text-size:before{content:"\f894"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-theta:before{content:"\f69e"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d";padding:2px;}.fa-thunderstorm:before{content:"\f76c"}.fa-thunderstorm-moon:before{content:"\f76d"}.fa-thunderstorm-sun:before{content:"\f76e"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tilde:before{content:"\f69f"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-times-hexagon:before{content:"\f2ee"}.fa-times-octagon:before{content:"\f2f0"}.fa-times-square:before{content:"\f2d3"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tire:before{content:"\f631"}.fa-tire-flat:before{content:"\f632"}.fa-tire-pressure-warning:before{content:"\f633"}.fa-tire-rugged:before{content:"\f634"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-alt:before{content:"\f71f"}.fa-tombstone:before{content:"\f720"}.fa-tombstone-alt:before{content:"\f721"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-toothbrush:before{content:"\f635"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tornado:before{content:"\f76f"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-cone:before{content:"\f636"}.fa-traffic-light:before{content:"\f637"}.fa-traffic-light-go:before{content:"\f638"}.fa-traffic-light-slow:before{content:"\f639"}.fa-traffic-light-stop:before{content:"\f63a"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-transporter:before{content:"\f942"}.fa-transporter-1:before{content:"\f943"}.fa-transporter-2:before{content:"\f944"}.fa-transporter-3:before{content:"\f945"}.fa-transporter-empty:before{content:"\f946"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-trash-undo:before{content:"\f895"}.fa-trash-undo-alt:before{content:"\f896"}.fa-treasure-chest:before{content:"\f723"}.fa-tree:before{content:"\f1bb"}.fa-tree-alt:before{content:"\f400"}.fa-tree-christmas:before{content:"\f7db"}.fa-tree-decorated:before{content:"\f7dc"}.fa-tree-large:before{content:"\f7dd"}.fa-tree-palm:before{content:"\f82b"}.fa-trees:before{content:"\f724"}.fa-trello:before{content:"\f181"}.fa-triangle:before{content:"\f2ec"}.fa-triangle-music:before{content:"\f8e2"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-trophy-alt:before{content:"\f2eb"}.fa-truck:before{content:"\f0d1"}.fa-truck-container:before{content:"\f4dc"}.fa-truck-couch:before{content:"\f4dd"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-plow:before{content:"\f7de"}.fa-truck-ramp:before{content:"\f4e0"}.fa-trumpet:before{content:"\f8e3"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-turkey:before{content:"\f725"}.fa-turntable:before{content:"\f8e4"}.fa-turtle:before{content:"\f726"}.fa-tv:before{content:"\f26c"}.fa-tv-alt:before{content:"\f8e5"}.fa-tv-music:before{content:"\f8e6"}.fa-tv-retro:before{content:"\f401"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typewriter:before{content:"\f8e7"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-ufo:before{content:"\f947"}.fa-ufo-beam:before{content:"\f948"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-unicorn:before{content:"\f727"}.fa-union:before{content:"\f6a2"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usb-drive:before{content:"\f8e9"}.fa-usd-circle:before{content:"\f2e8"}.fa-usd-square:before{content:"\f2e9"}.fa-user:before{content:"\f007"}.fa-user-alien:before{content:"\f94a"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-chart:before{content:"\f6a3"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-cowboy:before{content:"\f8ea"}.fa-user-crown:before{content:"\f6a4"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-hard-hat:before{content:"\f82c"}.fa-user-headset:before{content:"\f82d"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-md-chat:before{content:"\f82e"}.fa-user-minus:before{content:"\f503"}.fa-user-music:before{content:"\f8eb"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-robot:before{content:"\f94b"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-user-visor:before{content:"\f94c"}.fa-users:before{content:"\f0c0"}.fa-users-class:before{content:"\f63d"}.fa-users-cog:before{content:"\f509"}.fa-users-crown:before{content:"\f6a5"}.fa-users-medical:before{content:"\f830"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-fork:before{content:"\f2e3"}.fa-utensil-knife:before{content:"\f2e4"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-utensils-alt:before{content:"\f2e6"}.fa-vaadin:before{content:"\f408"}.fa-vacuum:before{content:"\f94d"}.fa-vacuum-robot:before{content:"\f94e"}.fa-value-absolute:before{content:"\f6a6"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vhs:before{content:"\f8ec"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-plus:before{content:"\f4e1"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-violin:before{content:"\f8ed"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volcano:before{content:"\f770"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume:before{content:"\f6a8"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-slash:before{content:"\f2e2"}.fa-volume-up:before{content:"\f028"}.fa-vote-nay:before{content:"\f771"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-wagon-covered:before{content:"\f8ee"}.fa-walker:before{content:"\f831"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-wand:before{content:"\f72a"}.fa-wand-magic:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-warehouse-alt:before{content:"\f495"}.fa-washer:before{content:"\f898"}.fa-watch:before{content:"\f2e1"}.fa-watch-calculator:before{content:"\f8f0"}.fa-watch-fitness:before{content:"\f63e"}.fa-water:before{content:"\f773"}.fa-water-lower:before{content:"\f774"}.fa-water-rise:before{content:"\f775"}.fa-wave-sine:before{content:"\f899"}.fa-wave-square:before{content:"\f83e"}.fa-wave-triangle:before{content:"\f89a"}.fa-waveform:before{content:"\f8f1"}.fa-waveform-path:before{content:"\f8f2"}.fa-waze:before{content:"\f83f"}.fa-webcam:before{content:"\f832"}.fa-webcam-slash:before{content:"\f833"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whale:before{content:"\f72c"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheat:before{content:"\f72d"}.fa-wheelchair:before{content:"\f193"}.fa-whistle:before{content:"\f460"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wifi-1:before{content:"\f6aa"}.fa-wifi-2:before{content:"\f6ab"}.fa-wifi-slash:before{content:"\f6ac"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-wind-turbine:before{content:"\f89b"}.fa-wind-warning:before{content:"\f776"}.fa-window:before{content:"\f40e"}.fa-window-alt:before{content:"\f40f"}.fa-window-close:before{content:"\f410"}.fa-window-frame:before{content:"\f94f"}.fa-window-frame-open:before{content:"\f950"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-windsock:before{content:"\f777"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wreath:before{content:"\f7e2"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:'font awesome 5 brands';font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:'font awesome 5 brands'!important}@font-face{font-family:'font awesome 5 duotone';font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-duotone-900.eot);src:url(../fonts/fa-duotone-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-duotone-900.woff2) format("woff2"),url(../fonts/fa-duotone-900.woff) format("woff"),url(../fonts/fa-duotone-900.ttf) format("truetype"),url(../fonts/fa-duotone-900.svg#fontawesome) format("svg")}.fad{position:relative;font-family:'font awesome 5 duotone'!important;font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color,inherit);opacity:1;opacity:var(--fa-primary-opacity,1)}.fad:after{color:var(--fa-secondary-color,inherit);opacity:.4;opacity:var(--fa-secondary-opacity,0.4)}.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before{opacity:.4;opacity:var(--fa-secondary-opacity,0.4)}.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:1;opacity:var(--fa-primary-opacity,1)}.fad.fa-inverse{color:#fff}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-stack-1x:before,.fad.fa-stack-2x:before,.fad.fa-fw:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fad.fa-abacus:after{content:"\10f640"}.fad.fa-acorn:after{content:"\10f6ae"}.fad.fa-ad:after{content:"\10f641"}.fad.fa-address-book:after{content:"\10f2b9"}.fad.fa-address-card:after{content:"\10f2bb"}.fad.fa-adjust:after{content:"\10f042"}.fad.fa-air-conditioner:after{content:"\10f8f4"}.fad.fa-air-freshener:after{content:"\10f5d0"}.fad.fa-alarm-clock:after{content:"\10f34e"}.fad.fa-alarm-exclamation:after{content:"\10f843"}.fad.fa-alarm-plus:after{content:"\10f844"}.fad.fa-alarm-snooze:after{content:"\10f845"}.fad.fa-album:after{content:"\10f89f"}.fad.fa-album-collection:after{content:"\10f8a0"}.fad.fa-alicorn:after{content:"\10f6b0"}.fad.fa-alien:after{content:"\10f8f5"}.fad.fa-alien-monster:after{content:"\10f8f6"}.fad.fa-align-center:after{content:"\10f037"}.fad.fa-align-justify:after{content:"\10f039"}.fad.fa-align-left:after{content:"\10f036"}.fad.fa-align-right:after{content:"\10f038"}.fad.fa-align-slash:after{content:"\10f846"}.fad.fa-allergies:after{content:"\10f461"}.fad.fa-ambulance:after{content:"\10f0f9"}.fad.fa-american-sign-language-interpreting:after{content:"\10f2a3"}.fad.fa-amp-guitar:after{content:"\10f8a1"}.fad.fa-analytics:after{content:"\10f643"}.fad.fa-anchor:after{content:"\10f13d"}.fad.fa-angel:after{content:"\10f779"}.fad.fa-angle-double-down:after{content:"\10f103"}.fad.fa-angle-double-left:after{content:"\10f100"}.fad.fa-angle-double-right:after{content:"\10f101"}.fad.fa-angle-double-up:after{content:"\10f102"}.fad.fa-angle-down:after{content:"\10f107"}.fad.fa-angle-left:after{content:"\10f104"}.fad.fa-angle-right:after{content:"\10f105"}.fad.fa-angle-up:after{content:"\10f106"}.fad.fa-angry:after{content:"\10f556"}.fad.fa-ankh:after{content:"\10f644"}.fad.fa-apple-alt:after{content:"\10f5d1"}.fad.fa-apple-crate:after{content:"\10f6b1"}.fad.fa-archive:after{content:"\10f187"}.fad.fa-archway:after{content:"\10f557"}.fad.fa-arrow-alt-circle-down:after{content:"\10f358"}.fad.fa-arrow-alt-circle-left:after{content:"\10f359"}.fad.fa-arrow-alt-circle-right:after{content:"\10f35a"}.fad.fa-arrow-alt-circle-up:after{content:"\10f35b"}.fad.fa-arrow-alt-down:after{content:"\10f354"}.fad.fa-arrow-alt-from-bottom:after{content:"\10f346"}.fad.fa-arrow-alt-from-left:after{content:"\10f347"}.fad.fa-arrow-alt-from-right:after{content:"\10f348"}.fad.fa-arrow-alt-from-top:after{content:"\10f349"}.fad.fa-arrow-alt-left:after{content:"\10f355"}.fad.fa-arrow-alt-right:after{content:"\10f356"}.fad.fa-arrow-alt-square-down:after{content:"\10f350"}.fad.fa-arrow-alt-square-left:after{content:"\10f351"}.fad.fa-arrow-alt-square-right:after{content:"\10f352"}.fad.fa-arrow-alt-square-up:after{content:"\10f353"}.fad.fa-arrow-alt-to-bottom:after{content:"\10f34a"}.fad.fa-arrow-alt-to-left:after{content:"\10f34b"}.fad.fa-arrow-alt-to-right:after{content:"\10f34c"}.fad.fa-arrow-alt-to-top:after{content:"\10f34d"}.fad.fa-arrow-alt-up:after{content:"\10f357"}.fad.fa-arrow-circle-down:after{content:"\10f0ab"}.fad.fa-arrow-circle-left:after{content:"\10f0a8"}.fad.fa-arrow-circle-right:after{content:"\10f0a9"}.fad.fa-arrow-circle-up:after{content:"\10f0aa"}.fad.fa-arrow-down:after{content:"\10f063"}.fad.fa-arrow-from-bottom:after{content:"\10f342"}.fad.fa-arrow-from-left:after{content:"\10f343"}.fad.fa-arrow-from-right:after{content:"\10f344"}.fad.fa-arrow-from-top:after{content:"\10f345"}.fad.fa-arrow-left:after{content:"\10f060"}.fad.fa-arrow-right:after{content:"\10f061"}.fad.fa-arrow-square-down:after{content:"\10f339"}.fad.fa-arrow-square-left:after{content:"\10f33a"}.fad.fa-arrow-square-right:after{content:"\10f33b"}.fad.fa-arrow-square-up:after{content:"\10f33c"}.fad.fa-arrow-to-bottom:after{content:"\10f33d"}.fad.fa-arrow-to-left:after{content:"\10f33e"}.fad.fa-arrow-to-right:after{content:"\10f340"}.fad.fa-arrow-to-top:after{content:"\10f341"}.fad.fa-arrow-up:after{content:"\10f062"}.fad.fa-arrows:after{content:"\10f047"}.fad.fa-arrows-alt:after{content:"\10f0b2"}.fad.fa-arrows-alt-h:after{content:"\10f337"}.fad.fa-arrows-alt-v:after{content:"\10f338"}.fad.fa-arrows-h:after{content:"\10f07e"}.fad.fa-arrows-v:after{content:"\10f07d"}.fad.fa-assistive-listening-systems:after{content:"\10f2a2"}.fad.fa-asterisk:after{content:"\10f069"}.fad.fa-at:after{content:"\10f1fa"}.fad.fa-atlas:after{content:"\10f558"}.fad.fa-atom:after{content:"\10f5d2"}.fad.fa-atom-alt:after{content:"\10f5d3"}.fad.fa-audio-description:after{content:"\10f29e"}.fad.fa-award:after{content:"\10f559"}.fad.fa-axe:after{content:"\10f6b2"}.fad.fa-axe-battle:after{content:"\10f6b3"}.fad.fa-baby:after{content:"\10f77c"}.fad.fa-baby-carriage:after{content:"\10f77d"}.fad.fa-backpack:after{content:"\10f5d4"}.fad.fa-backspace:after{content:"\10f55a"}.fad.fa-backward:after{content:"\10f04a"}.fad.fa-bacon:after{content:"\10f7e5"}.fad.fa-badge:after{content:"\10f335"}.fad.fa-badge-check:after{content:"\10f336"}.fad.fa-badge-dollar:after{content:"\10f645"}.fad.fa-badge-percent:after{content:"\10f646"}.fad.fa-badge-sheriff:after{content:"\10f8a2"}.fad.fa-badger-honey:after{content:"\10f6b4"}.fad.fa-bags-shopping:after{content:"\10f847"}.fad.fa-bahai:after{content:"\10f666"}.fad.fa-balance-scale:after{content:"\10f24e"}.fad.fa-balance-scale-left:after{content:"\10f515"}.fad.fa-balance-scale-right:after{content:"\10f516"}.fad.fa-ball-pile:after{content:"\10f77e"}.fad.fa-ballot:after{content:"\10f732"}.fad.fa-ballot-check:after{content:"\10f733"}.fad.fa-ban:after{content:"\10f05e"}.fad.fa-band-aid:after{content:"\10f462"}.fad.fa-banjo:after{content:"\10f8a3"}.fad.fa-barcode:after{content:"\10f02a"}.fad.fa-barcode-alt:after{content:"\10f463"}.fad.fa-barcode-read:after{content:"\10f464"}.fad.fa-barcode-scan:after{content:"\10f465"}.fad.fa-bars:after{content:"\10f0c9"}.fad.fa-baseball:after{content:"\10f432"}.fad.fa-baseball-ball:after{content:"\10f433"}.fad.fa-basketball-ball:after{content:"\10f434"}.fad.fa-basketball-hoop:after{content:"\10f435"}.fad.fa-bat:after{content:"\10f6b5"}.fad.fa-bath:after{content:"\10f2cd"}.fad.fa-battery-bolt:after{content:"\10f376"}.fad.fa-battery-empty:after{content:"\10f244"}.fad.fa-battery-full:after{content:"\10f240"}.fad.fa-battery-half:after{content:"\10f242"}.fad.fa-battery-quarter:after{content:"\10f243"}.fad.fa-battery-slash:after{content:"\10f377"}.fad.fa-battery-three-quarters:after{content:"\10f241"}.fad.fa-bed:after{content:"\10f236"}.fad.fa-bed-alt:after{content:"\10f8f7"}.fad.fa-bed-bunk:after{content:"\10f8f8"}.fad.fa-bed-empty:after{content:"\10f8f9"}.fad.fa-beer:after{content:"\10f0fc"}.fad.fa-bell:after{content:"\10f0f3"}.fad.fa-bell-exclamation:after{content:"\10f848"}.fad.fa-bell-on:after{content:"\10f8fa"}.fad.fa-bell-plus:after{content:"\10f849"}.fad.fa-bell-school:after{content:"\10f5d5"}.fad.fa-bell-school-slash:after{content:"\10f5d6"}.fad.fa-bell-slash:after{content:"\10f1f6"}.fad.fa-bells:after{content:"\10f77f"}.fad.fa-betamax:after{content:"\10f8a4"}.fad.fa-bezier-curve:after{content:"\10f55b"}.fad.fa-bible:after{content:"\10f647"}.fad.fa-bicycle:after{content:"\10f206"}.fad.fa-biking:after{content:"\10f84a"}.fad.fa-biking-mountain:after{content:"\10f84b"}.fad.fa-binoculars:after{content:"\10f1e5"}.fad.fa-biohazard:after{content:"\10f780"}.fad.fa-birthday-cake:after{content:"\10f1fd"}.fad.fa-blanket:after{content:"\10f498"}.fad.fa-blender:after{content:"\10f517"}.fad.fa-blender-phone:after{content:"\10f6b6"}.fad.fa-blind:after{content:"\10f29d"}.fad.fa-blinds:after{content:"\10f8fb"}.fad.fa-blinds-open:after{content:"\10f8fc"}.fad.fa-blinds-raised:after{content:"\10f8fd"}.fad.fa-blog:after{content:"\10f781"}.fad.fa-bold:after{content:"\10f032"}.fad.fa-bolt:after{content:"\10f0e7"}.fad.fa-bomb:after{content:"\10f1e2"}.fad.fa-bone:after{content:"\10f5d7"}.fad.fa-bone-break:after{content:"\10f5d8"}.fad.fa-bong:after{content:"\10f55c"}.fad.fa-book:after{content:"\10f02d"}.fad.fa-book-alt:after{content:"\10f5d9"}.fad.fa-book-dead:after{content:"\10f6b7"}.fad.fa-book-heart:after{content:"\10f499"}.fad.fa-book-medical:after{content:"\10f7e6"}.fad.fa-book-open:after{content:"\10f518"}.fad.fa-book-reader:after{content:"\10f5da"}.fad.fa-book-spells:after{content:"\10f6b8"}.fad.fa-book-user:after{content:"\10f7e7"}.fad.fa-bookmark:after{content:"\10f02e"}.fad.fa-books:after{content:"\10f5db"}.fad.fa-books-medical:after{content:"\10f7e8"}.fad.fa-boombox:after{content:"\10f8a5"}.fad.fa-boot:after{content:"\10f782"}.fad.fa-booth-curtain:after{content:"\10f734"}.fad.fa-border-all:after{content:"\10f84c"}.fad.fa-border-bottom:after{content:"\10f84d"}.fad.fa-border-center-h:after{content:"\10f89c"}.fad.fa-border-center-v:after{content:"\10f89d"}.fad.fa-border-inner:after{content:"\10f84e"}.fad.fa-border-left:after{content:"\10f84f"}.fad.fa-border-none:after{content:"\10f850"}.fad.fa-border-outer:after{content:"\10f851"}.fad.fa-border-right:after{content:"\10f852"}.fad.fa-border-style:after{content:"\10f853"}.fad.fa-border-style-alt:after{content:"\10f854"}.fad.fa-border-top:after{content:"\10f855"}.fad.fa-bow-arrow:after{content:"\10f6b9"}.fad.fa-bowling-ball:after{content:"\10f436"}.fad.fa-bowling-pins:after{content:"\10f437"}.fad.fa-box:after{content:"\10f466"}.fad.fa-box-alt:after{content:"\10f49a"}.fad.fa-box-ballot:after{content:"\10f735"}.fad.fa-box-check:after{content:"\10f467"}.fad.fa-box-fragile:after{content:"\10f49b"}.fad.fa-box-full:after{content:"\10f49c"}.fad.fa-box-heart:after{content:"\10f49d"}.fad.fa-box-open:after{content:"\10f49e"}.fad.fa-box-up:after{content:"\10f49f"}.fad.fa-box-usd:after{content:"\10f4a0"}.fad.fa-boxes:after{content:"\10f468"}.fad.fa-boxes-alt:after{content:"\10f4a1"}.fad.fa-boxing-glove:after{content:"\10f438"}.fad.fa-brackets:after{content:"\10f7e9"}.fad.fa-brackets-curly:after{content:"\10f7ea"}.fad.fa-braille:after{content:"\10f2a1"}.fad.fa-brain:after{content:"\10f5dc"}.fad.fa-bread-loaf:after{content:"\10f7eb"}.fad.fa-bread-slice:after{content:"\10f7ec"}.fad.fa-briefcase:after{content:"\10f0b1"}.fad.fa-briefcase-medical:after{content:"\10f469"}.fad.fa-bring-forward:after{content:"\10f856"}.fad.fa-bring-front:after{content:"\10f857"}.fad.fa-broadcast-tower:after{content:"\10f519"}.fad.fa-broom:after{content:"\10f51a"}.fad.fa-browser:after{content:"\10f37e"}.fad.fa-brush:after{content:"\10f55d"}.fad.fa-bug:after{content:"\10f188"}.fad.fa-building:after{content:"\10f1ad"}.fad.fa-bullhorn:after{content:"\10f0a1"}.fad.fa-bullseye:after{content:"\10f140"}.fad.fa-bullseye-arrow:after{content:"\10f648"}.fad.fa-bullseye-pointer:after{content:"\10f649"}.fad.fa-burger-soda:after{content:"\10f858"}.fad.fa-burn:after{content:"\10f46a"}.fad.fa-burrito:after{content:"\10f7ed"}.fad.fa-bus:after{content:"\10f207"}.fad.fa-bus-alt:after{content:"\10f55e"}.fad.fa-bus-school:after{content:"\10f5dd"}.fad.fa-business-time:after{content:"\10f64a"}.fad.fa-cabinet-filing:after{content:"\10f64b"}.fad.fa-cactus:after{content:"\10f8a7"}.fad.fa-calculator:after{content:"\10f1ec"}.fad.fa-calculator-alt:after{content:"\10f64c"}.fad.fa-calendar:after{content:"\10f133"}.fad.fa-calendar-alt:after{content:"\10f073"}.fad.fa-calendar-check:after{content:"\10f274"}.fad.fa-calendar-day:after{content:"\10f783"}.fad.fa-calendar-edit:after{content:"\10f333"}.fad.fa-calendar-exclamation:after{content:"\10f334"}.fad.fa-calendar-minus:after{content:"\10f272"}.fad.fa-calendar-plus:after{content:"\10f271"}.fad.fa-calendar-star:after{content:"\10f736"}.fad.fa-calendar-times:after{content:"\10f273"}.fad.fa-calendar-week:after{content:"\10f784"}.fad.fa-camcorder:after{content:"\10f8a8"}.fad.fa-camera:after{content:"\10f030"}.fad.fa-camera-alt:after{content:"\10f332"}.fad.fa-camera-home:after{content:"\10f8fe"}.fad.fa-camera-movie:after{content:"\10f8a9"}.fad.fa-camera-polaroid:after{content:"\10f8aa"}.fad.fa-camera-retro:after{content:"\10f083"}.fad.fa-campfire:after{content:"\10f6ba"}.fad.fa-campground:after{content:"\10f6bb"}.fad.fa-candle-holder:after{content:"\10f6bc"}.fad.fa-candy-cane:after{content:"\10f786"}.fad.fa-candy-corn:after{content:"\10f6bd"}.fad.fa-cannabis:after{content:"\10f55f"}.fad.fa-capsules:after{content:"\10f46b"}.fad.fa-car:after{content:"\10f1b9"}.fad.fa-car-alt:after{content:"\10f5de"}.fad.fa-car-battery:after{content:"\10f5df"}.fad.fa-car-building:after{content:"\10f859"}.fad.fa-car-bump:after{content:"\10f5e0"}.fad.fa-car-bus:after{content:"\10f85a"}.fad.fa-car-crash:after{content:"\10f5e1"}.fad.fa-car-garage:after{content:"\10f5e2"}.fad.fa-car-mechanic:after{content:"\10f5e3"}.fad.fa-car-side:after{content:"\10f5e4"}.fad.fa-car-tilt:after{content:"\10f5e5"}.fad.fa-car-wash:after{content:"\10f5e6"}.fad.fa-caravan:after{content:"\10f8ff"}.fad.fa-caravan-alt:after{content:"\10f900"}.fad.fa-caret-circle-down:after{content:"\10f32d"}.fad.fa-caret-circle-left:after{content:"\10f32e"}.fad.fa-caret-circle-right:after{content:"\10f330"}.fad.fa-caret-circle-up:after{content:"\10f331"}.fad.fa-caret-down:after{content:"\10f0d7"}.fad.fa-caret-left:after{content:"\10f0d9"}.fad.fa-caret-right:after{content:"\10f0da"}.fad.fa-caret-square-down:after{content:"\10f150"}.fad.fa-caret-square-left:after{content:"\10f191"}.fad.fa-caret-square-right:after{content:"\10f152"}.fad.fa-caret-square-up:after{content:"\10f151"}.fad.fa-caret-up:after{content:"\10f0d8"}.fad.fa-carrot:after{content:"\10f787"}.fad.fa-cars:after{content:"\10f85b"}.fad.fa-cart-arrow-down:after{content:"\10f218"}.fad.fa-cart-plus:after{content:"\10f217"}.fad.fa-cash-register:after{content:"\10f788"}.fad.fa-cassette-tape:after{content:"\10f8ab"}.fad.fa-cat:after{content:"\10f6be"}.fad.fa-cat-space:after{content:"\10f901"}.fad.fa-cauldron:after{content:"\10f6bf"}.fad.fa-cctv:after{content:"\10f8ac"}.fad.fa-certificate:after{content:"\10f0a3"}.fad.fa-chair:after{content:"\10f6c0"}.fad.fa-chair-office:after{content:"\10f6c1"}.fad.fa-chalkboard:after{content:"\10f51b"}.fad.fa-chalkboard-teacher:after{content:"\10f51c"}.fad.fa-charging-station:after{content:"\10f5e7"}.fad.fa-chart-area:after{content:"\10f1fe"}.fad.fa-chart-bar:after{content:"\10f080"}.fad.fa-chart-line:after{content:"\10f201"}.fad.fa-chart-line-down:after{content:"\10f64d"}.fad.fa-chart-network:after{content:"\10f78a"}.fad.fa-chart-pie:after{content:"\10f200"}.fad.fa-chart-pie-alt:after{content:"\10f64e"}.fad.fa-chart-scatter:after{content:"\10f7ee"}.fad.fa-check:after{content:"\10f00c"}.fad.fa-check-circle:after{content:"\10f058"}.fad.fa-check-double:after{content:"\10f560"}.fad.fa-check-square:after{content:"\10f14a"}.fad.fa-cheese:after{content:"\10f7ef"}.fad.fa-cheese-swiss:after{content:"\10f7f0"}.fad.fa-cheeseburger:after{content:"\10f7f1"}.fad.fa-chess:after{content:"\10f439"}.fad.fa-chess-bishop:after{content:"\10f43a"}.fad.fa-chess-bishop-alt:after{content:"\10f43b"}.fad.fa-chess-board:after{content:"\10f43c"}.fad.fa-chess-clock:after{content:"\10f43d"}.fad.fa-chess-clock-alt:after{content:"\10f43e"}.fad.fa-chess-king:after{content:"\10f43f"}.fad.fa-chess-king-alt:after{content:"\10f440"}.fad.fa-chess-knight:after{content:"\10f441"}.fad.fa-chess-knight-alt:after{content:"\10f442"}.fad.fa-chess-pawn:after{content:"\10f443"}.fad.fa-chess-pawn-alt:after{content:"\10f444"}.fad.fa-chess-queen:after{content:"\10f445"}.fad.fa-chess-queen-alt:after{content:"\10f446"}.fad.fa-chess-rook:after{content:"\10f447"}.fad.fa-chess-rook-alt:after{content:"\10f448"}.fad.fa-chevron-circle-down:after{content:"\10f13a"}.fad.fa-chevron-circle-left:after{content:"\10f137"}.fad.fa-chevron-circle-right:after{content:"\10f138"}.fad.fa-chevron-circle-up:after{content:"\10f139"}.fad.fa-chevron-double-down:after{content:"\10f322"}.fad.fa-chevron-double-left:after{content:"\10f323"}.fad.fa-chevron-double-right:after{content:"\10f324"}.fad.fa-chevron-double-up:after{content:"\10f325"}.fad.fa-chevron-down:after{content:"\10f078"}.fad.fa-chevron-left:after{content:"\10f053"}.fad.fa-chevron-right:after{content:"\10f054"}.fad.fa-chevron-square-down:after{content:"\10f329"}.fad.fa-chevron-square-left:after{content:"\10f32a"}.fad.fa-chevron-square-right:after{content:"\10f32b"}.fad.fa-chevron-square-up:after{content:"\10f32c"}.fad.fa-chevron-up:after{content:"\10f077"}.fad.fa-child:after{content:"\10f1ae"}.fad.fa-chimney:after{content:"\10f78b"}.fad.fa-church:after{content:"\10f51d"}.fad.fa-circle:after{content:"\10f111"}.fad.fa-circle-notch:after{content:"\10f1ce"}.fad.fa-city:after{content:"\10f64f"}.fad.fa-clarinet:after{content:"\10f8ad"}.fad.fa-claw-marks:after{content:"\10f6c2"}.fad.fa-clinic-medical:after{content:"\10f7f2"}.fad.fa-clipboard:after{content:"\10f328"}.fad.fa-clipboard-check:after{content:"\10f46c"}.fad.fa-clipboard-list:after{content:"\10f46d"}.fad.fa-clipboard-list-check:after{content:"\10f737"}.fad.fa-clipboard-prescription:after{content:"\10f5e8"}.fad.fa-clipboard-user:after{content:"\10f7f3"}.fad.fa-clock:after{content:"\10f017"}.fad.fa-clone:after{content:"\10f24d"}.fad.fa-closed-captioning:after{content:"\10f20a"}.fad.fa-cloud:after{content:"\10f0c2"}.fad.fa-cloud-download:after{content:"\10f0ed"}.fad.fa-cloud-download-alt:after{content:"\10f381"}.fad.fa-cloud-drizzle:after{content:"\10f738"}.fad.fa-cloud-hail:after{content:"\10f739"}.fad.fa-cloud-hail-mixed:after{content:"\10f73a"}.fad.fa-cloud-meatball:after{content:"\10f73b"}.fad.fa-cloud-moon:after{content:"\10f6c3"}.fad.fa-cloud-moon-rain:after{content:"\10f73c"}.fad.fa-cloud-music:after{content:"\10f8ae"}.fad.fa-cloud-rain:after{content:"\10f73d"}.fad.fa-cloud-rainbow:after{content:"\10f73e"}.fad.fa-cloud-showers:after{content:"\10f73f"}.fad.fa-cloud-showers-heavy:after{content:"\10f740"}.fad.fa-cloud-sleet:after{content:"\10f741"}.fad.fa-cloud-snow:after{content:"\10f742"}.fad.fa-cloud-sun:after{content:"\10f6c4"}.fad.fa-cloud-sun-rain:after{content:"\10f743"}.fad.fa-cloud-upload:after{content:"\10f0ee"}.fad.fa-cloud-upload-alt:after{content:"\10f382"}.fad.fa-clouds:after{content:"\10f744"}.fad.fa-clouds-moon:after{content:"\10f745"}.fad.fa-clouds-sun:after{content:"\10f746"}.fad.fa-club:after{content:"\10f327"}.fad.fa-cocktail:after{content:"\10f561"}.fad.fa-code:after{content:"\10f121"}.fad.fa-code-branch:after{content:"\10f126"}.fad.fa-code-commit:after{content:"\10f386"}.fad.fa-code-merge:after{content:"\10f387"}.fad.fa-coffee:after{content:"\10f0f4"}.fad.fa-coffee-pot:after{content:"\10f902"}.fad.fa-coffee-togo:after{content:"\10f6c5"}.fad.fa-coffin:after{content:"\10f6c6"}.fad.fa-cog:after{content:"\10f013"}.fad.fa-cogs:after{content:"\10f085"}.fad.fa-coin:after{content:"\10f85c"}.fad.fa-coins:after{content:"\10f51e"}.fad.fa-columns:after{content:"\10f0db"}.fad.fa-comet:after{content:"\10f903"}.fad.fa-comment:after{content:"\10f075"}.fad.fa-comment-alt:after{content:"\10f27a"}.fad.fa-comment-alt-check:after{content:"\10f4a2"}.fad.fa-comment-alt-dollar:after{content:"\10f650"}.fad.fa-comment-alt-dots:after{content:"\10f4a3"}.fad.fa-comment-alt-edit:after{content:"\10f4a4"}.fad.fa-comment-alt-exclamation:after{content:"\10f4a5"}.fad.fa-comment-alt-lines:after{content:"\10f4a6"}.fad.fa-comment-alt-medical:after{content:"\10f7f4"}.fad.fa-comment-alt-minus:after{content:"\10f4a7"}.fad.fa-comment-alt-music:after{content:"\10f8af"}.fad.fa-comment-alt-plus:after{content:"\10f4a8"}.fad.fa-comment-alt-slash:after{content:"\10f4a9"}.fad.fa-comment-alt-smile:after{content:"\10f4aa"}.fad.fa-comment-alt-times:after{content:"\10f4ab"}.fad.fa-comment-check:after{content:"\10f4ac"}.fad.fa-comment-dollar:after{content:"\10f651"}.fad.fa-comment-dots:after{content:"\10f4ad"}.fad.fa-comment-edit:after{content:"\10f4ae"}.fad.fa-comment-exclamation:after{content:"\10f4af"}.fad.fa-comment-lines:after{content:"\10f4b0"}.fad.fa-comment-medical:after{content:"\10f7f5"}.fad.fa-comment-minus:after{content:"\10f4b1"}.fad.fa-comment-music:after{content:"\10f8b0"}.fad.fa-comment-plus:after{content:"\10f4b2"}.fad.fa-comment-slash:after{content:"\10f4b3"}.fad.fa-comment-smile:after{content:"\10f4b4"}.fad.fa-comment-times:after{content:"\10f4b5"}.fad.fa-comments:after{content:"\10f086"}.fad.fa-comments-alt:after{content:"\10f4b6"}.fad.fa-comments-alt-dollar:after{content:"\10f652"}.fad.fa-comments-dollar:after{content:"\10f653"}.fad.fa-compact-disc:after{content:"\10f51f"}.fad.fa-compass:after{content:"\10f14e"}.fad.fa-compass-slash:after{content:"\10f5e9"}.fad.fa-compress:after{content:"\10f066"}.fad.fa-compress-alt:after{content:"\10f422"}.fad.fa-compress-arrows-alt:after{content:"\10f78c"}.fad.fa-compress-wide:after{content:"\10f326"}.fad.fa-computer-classic:after{content:"\10f8b1"}.fad.fa-computer-speaker:after{content:"\10f8b2"}.fad.fa-concierge-bell:after{content:"\10f562"}.fad.fa-construction:after{content:"\10f85d"}.fad.fa-container-storage:after{content:"\10f4b7"}.fad.fa-conveyor-belt:after{content:"\10f46e"}.fad.fa-conveyor-belt-alt:after{content:"\10f46f"}.fad.fa-cookie:after{content:"\10f563"}.fad.fa-cookie-bite:after{content:"\10f564"}.fad.fa-copy:after{content:"\10f0c5"}.fad.fa-copyright:after{content:"\10f1f9"}.fad.fa-corn:after{content:"\10f6c7"}.fad.fa-couch:after{content:"\10f4b8"}.fad.fa-cow:after{content:"\10f6c8"}.fad.fa-cowbell:after{content:"\10f8b3"}.fad.fa-cowbell-more:after{content:"\10f8b4"}.fad.fa-credit-card:after{content:"\10f09d"}.fad.fa-credit-card-blank:after{content:"\10f389"}.fad.fa-credit-card-front:after{content:"\10f38a"}.fad.fa-cricket:after{content:"\10f449"}.fad.fa-croissant:after{content:"\10f7f6"}.fad.fa-crop:after{content:"\10f125"}.fad.fa-crop-alt:after{content:"\10f565"}.fad.fa-cross:after{content:"\10f654"}.fad.fa-crosshairs:after{content:"\10f05b"}.fad.fa-crow:after{content:"\10f520"}.fad.fa-crown:after{content:"\10f521"}.fad.fa-crutch:after{content:"\10f7f7"}.fad.fa-crutches:after{content:"\10f7f8"}.fad.fa-cube:after{content:"\10f1b2"}.fad.fa-cubes:after{content:"\10f1b3"}.fad.fa-curling:after{content:"\10f44a"}.fad.fa-cut:after{content:"\10f0c4"}.fad.fa-dagger:after{content:"\10f6cb"}.fad.fa-database:after{content:"\10f1c0"}.fad.fa-deaf:after{content:"\10f2a4"}.fad.fa-debug:after{content:"\10f7f9"}.fad.fa-deer:after{content:"\10f78e"}.fad.fa-deer-rudolph:after{content:"\10f78f"}.fad.fa-democrat:after{content:"\10f747"}.fad.fa-desktop:after{content:"\10f108"}.fad.fa-desktop-alt:after{content:"\10f390"}.fad.fa-dewpoint:after{content:"\10f748"}.fad.fa-dharmachakra:after{content:"\10f655"}.fad.fa-diagnoses:after{content:"\10f470"}.fad.fa-diamond:after{content:"\10f219"}.fad.fa-dice:after{content:"\10f522"}.fad.fa-dice-d10:after{content:"\10f6cd"}.fad.fa-dice-d12:after{content:"\10f6ce"}.fad.fa-dice-d20:after{content:"\10f6cf"}.fad.fa-dice-d4:after{content:"\10f6d0"}.fad.fa-dice-d6:after{content:"\10f6d1"}.fad.fa-dice-d8:after{content:"\10f6d2"}.fad.fa-dice-five:after{content:"\10f523"}.fad.fa-dice-four:after{content:"\10f524"}.fad.fa-dice-one:after{content:"\10f525"}.fad.fa-dice-six:after{content:"\10f526"}.fad.fa-dice-three:after{content:"\10f527"}.fad.fa-dice-two:after{content:"\10f528"}.fad.fa-digging:after{content:"\10f85e"}.fad.fa-digital-tachograph:after{content:"\10f566"}.fad.fa-diploma:after{content:"\10f5ea"}.fad.fa-directions:after{content:"\10f5eb"}.fad.fa-disc-drive:after{content:"\10f8b5"}.fad.fa-disease:after{content:"\10f7fa"}.fad.fa-divide:after{content:"\10f529"}.fad.fa-dizzy:after{content:"\10f567"}.fad.fa-dna:after{content:"\10f471"}.fad.fa-do-not-enter:after{content:"\10f5ec"}.fad.fa-dog:after{content:"\10f6d3"}.fad.fa-dog-leashed:after{content:"\10f6d4"}.fad.fa-dollar-sign:after{content:"\10f155"}.fad.fa-dolly:after{content:"\10f472"}.fad.fa-dolly-empty:after{content:"\10f473"}.fad.fa-dolly-flatbed:after{content:"\10f474"}.fad.fa-dolly-flatbed-alt:after{content:"\10f475"}.fad.fa-dolly-flatbed-empty:after{content:"\10f476"}.fad.fa-donate:after{content:"\10f4b9"}.fad.fa-door-closed:after{content:"\10f52a"}.fad.fa-door-open:after{content:"\10f52b"}.fad.fa-dot-circle:after{content:"\10f192"}.fad.fa-dove:after{content:"\10f4ba"}.fad.fa-download:after{content:"\10f019"}.fad.fa-drafting-compass:after{content:"\10f568"}.fad.fa-dragon:after{content:"\10f6d5"}.fad.fa-draw-circle:after{content:"\10f5ed"}.fad.fa-draw-polygon:after{content:"\10f5ee"}.fad.fa-draw-square:after{content:"\10f5ef"}.fad.fa-dreidel:after{content:"\10f792"}.fad.fa-drone:after{content:"\10f85f"}.fad.fa-drone-alt:after{content:"\10f860"}.fad.fa-drum:after{content:"\10f569"}.fad.fa-drum-steelpan:after{content:"\10f56a"}.fad.fa-drumstick:after{content:"\10f6d6"}.fad.fa-drumstick-bite:after{content:"\10f6d7"}.fad.fa-dryer:after{content:"\10f861"}.fad.fa-dryer-alt:after{content:"\10f862"}.fad.fa-duck:after{content:"\10f6d8"}.fad.fa-dumbbell:after{content:"\10f44b"}.fad.fa-dumpster:after{content:"\10f793"}.fad.fa-dumpster-fire:after{content:"\10f794"}.fad.fa-dungeon:after{content:"\10f6d9"}.fad.fa-ear:after{content:"\10f5f0"}.fad.fa-ear-muffs:after{content:"\10f795"}.fad.fa-eclipse:after{content:"\10f749"}.fad.fa-eclipse-alt:after{content:"\10f74a"}.fad.fa-edit:after{content:"\10f044"}.fad.fa-egg:after{content:"\10f7fb"}.fad.fa-egg-fried:after{content:"\10f7fc"}.fad.fa-eject:after{content:"\10f052"}.fad.fa-elephant:after{content:"\10f6da"}.fad.fa-ellipsis-h:after{content:"\10f141"}.fad.fa-ellipsis-h-alt:after{content:"\10f39b"}.fad.fa-ellipsis-v:after{content:"\10f142"}.fad.fa-ellipsis-v-alt:after{content:"\10f39c"}.fad.fa-empty-set:after{content:"\10f656"}.fad.fa-engine-warning:after{content:"\10f5f2"}.fad.fa-envelope:after{content:"\10f0e0"}.fad.fa-envelope-open:after{content:"\10f2b6"}.fad.fa-envelope-open-dollar:after{content:"\10f657"}.fad.fa-envelope-open-text:after{content:"\10f658"}.fad.fa-envelope-square:after{content:"\10f199"}.fad.fa-equals:after{content:"\10f52c"}.fad.fa-eraser:after{content:"\10f12d"}.fad.fa-ethernet:after{content:"\10f796"}.fad.fa-euro-sign:after{content:"\10f153"}.fad.fa-exchange:after{content:"\10f0ec"}.fad.fa-exchange-alt:after{content:"\10f362"}.fad.fa-exclamation:after{content:"\10f12a"}.fad.fa-exclamation-circle:after{content:"\10f06a"}.fad.fa-exclamation-square:after{content:"\10f321"}.fad.fa-exclamation-triangle:after{content:"\10f071"}.fad.fa-expand:after{content:"\10f065"}.fad.fa-expand-alt:after{content:"\10f424"}.fad.fa-expand-arrows:after{content:"\10f31d"}.fad.fa-expand-arrows-alt:after{content:"\10f31e"}.fad.fa-expand-wide:after{content:"\10f320"}.fad.fa-external-link:after{content:"\10f08e"}.fad.fa-external-link-alt:after{content:"\10f35d"}.fad.fa-external-link-square:after{content:"\10f14c"}.fad.fa-external-link-square-alt:after{content:"\10f360"}.fad.fa-eye:after{content:"\10f06e"}.fad.fa-eye-dropper:after{content:"\10f1fb"}.fad.fa-eye-evil:after{content:"\10f6db"}.fad.fa-eye-slash:after{content:"\10f070"}.fad.fa-fan:after{content:"\10f863"}.fad.fa-fan-table:after{content:"\10f904"}.fad.fa-farm:after{content:"\10f864"}.fad.fa-fast-backward:after{content:"\10f049"}.fad.fa-fast-forward:after{content:"\10f050"}.fad.fa-faucet:after{content:"\10f905"}.fad.fa-faucet-drip:after{content:"\10f906"}.fad.fa-fax:after{content:"\10f1ac"}.fad.fa-feather:after{content:"\10f52d"}.fad.fa-feather-alt:after{content:"\10f56b"}.fad.fa-female:after{content:"\10f182"}.fad.fa-field-hockey:after{content:"\10f44c"}.fad.fa-fighter-jet:after{content:"\10f0fb"}.fad.fa-file:after{content:"\10f15b"}.fad.fa-file-alt:after{content:"\10f15c"}.fad.fa-file-archive:after{content:"\10f1c6"}.fad.fa-file-audio:after{content:"\10f1c7"}.fad.fa-file-certificate:after{content:"\10f5f3"}.fad.fa-file-chart-line:after{content:"\10f659"}.fad.fa-file-chart-pie:after{content:"\10f65a"}.fad.fa-file-check:after{content:"\10f316"}.fad.fa-file-code:after{content:"\10f1c9"}.fad.fa-file-contract:after{content:"\10f56c"}.fad.fa-file-csv:after{content:"\10f6dd"}.fad.fa-file-download:after{content:"\10f56d"}.fad.fa-file-edit:after{content:"\10f31c"}.fad.fa-file-excel:after{content:"\10f1c3"}.fad.fa-file-exclamation:after{content:"\10f31a"}.fad.fa-file-export:after{content:"\10f56e"}.fad.fa-file-image:after{content:"\10f1c5"}.fad.fa-file-import:after{content:"\10f56f"}.fad.fa-file-invoice:after{content:"\10f570"}.fad.fa-file-invoice-dollar:after{content:"\10f571"}.fad.fa-file-medical:after{content:"\10f477"}.fad.fa-file-medical-alt:after{content:"\10f478"}.fad.fa-file-minus:after{content:"\10f318"}.fad.fa-file-music:after{content:"\10f8b6"}.fad.fa-file-pdf:after{content:"\10f1c1"}.fad.fa-file-plus:after{content:"\10f319"}.fad.fa-file-powerpoint:after{content:"\10f1c4"}.fad.fa-file-prescription:after{content:"\10f572"}.fad.fa-file-search:after{content:"\10f865"}.fad.fa-file-signature:after{content:"\10f573"}.fad.fa-file-spreadsheet:after{content:"\10f65b"}.fad.fa-file-times:after{content:"\10f317"}.fad.fa-file-upload:after{content:"\10f574"}.fad.fa-file-user:after{content:"\10f65c"}.fad.fa-file-video:after{content:"\10f1c8"}.fad.fa-file-word:after{content:"\10f1c2"}.fad.fa-files-medical:after{content:"\10f7fd"}.fad.fa-fill:after{content:"\10f575"}.fad.fa-fill-drip:after{content:"\10f576"}.fad.fa-film:after{content:"\10f008"}.fad.fa-film-alt:after{content:"\10f3a0"}.fad.fa-film-canister:after{content:"\10f8b7"}.fad.fa-filter:after{content:"\10f0b0"}.fad.fa-fingerprint:after{content:"\10f577"}.fad.fa-fire:after{content:"\10f06d"}.fad.fa-fire-alt:after{content:"\10f7e4"}.fad.fa-fire-extinguisher:after{content:"\10f134"}.fad.fa-fire-smoke:after{content:"\10f74b"}.fad.fa-fireplace:after{content:"\10f79a"}.fad.fa-first-aid:after{content:"\10f479"}.fad.fa-fish:after{content:"\10f578"}.fad.fa-fish-cooked:after{content:"\10f7fe"}.fad.fa-fist-raised:after{content:"\10f6de"}.fad.fa-flag:after{content:"\10f024"}.fad.fa-flag-alt:after{content:"\10f74c"}.fad.fa-flag-checkered:after{content:"\10f11e"}.fad.fa-flag-usa:after{content:"\10f74d"}.fad.fa-flame:after{content:"\10f6df"}.fad.fa-flashlight:after{content:"\10f8b8"}.fad.fa-flask:after{content:"\10f0c3"}.fad.fa-flask-poison:after{content:"\10f6e0"}.fad.fa-flask-potion:after{content:"\10f6e1"}.fad.fa-flower:after{content:"\10f7ff"}.fad.fa-flower-daffodil:after{content:"\10f800"}.fad.fa-flower-tulip:after{content:"\10f801"}.fad.fa-flushed:after{content:"\10f579"}.fad.fa-flute:after{content:"\10f8b9"}.fad.fa-flux-capacitor:after{content:"\10f8ba"}.fad.fa-fog:after{content:"\10f74e"}.fad.fa-folder:after{content:"\10f07b"}.fad.fa-folder-minus:after{content:"\10f65d"}.fad.fa-folder-open:after{content:"\10f07c"}.fad.fa-folder-plus:after{content:"\10f65e"}.fad.fa-folder-times:after{content:"\10f65f"}.fad.fa-folder-tree:after{content:"\10f802"}.fad.fa-folders:after{content:"\10f660"}.fad.fa-font:after{content:"\10f031"}.fad.fa-font-awesome-logo-full:after{content:"\10f4e6"}.fad.fa-font-case:after{content:"\10f866"}.fad.fa-football-ball:after{content:"\10f44e"}.fad.fa-football-helmet:after{content:"\10f44f"}.fad.fa-forklift:after{content:"\10f47a"}.fad.fa-forward:after{content:"\10f04e"}.fad.fa-fragile:after{content:"\10f4bb"}.fad.fa-french-fries:after{content:"\10f803"}.fad.fa-frog:after{content:"\10f52e"}.fad.fa-frosty-head:after{content:"\10f79b"}.fad.fa-frown:after{content:"\10f119"}.fad.fa-frown-open:after{content:"\10f57a"}.fad.fa-function:after{content:"\10f661"}.fad.fa-funnel-dollar:after{content:"\10f662"}.fad.fa-futbol:after{content:"\10f1e3"}.fad.fa-galaxy:after{content:"\10f908"}.fad.fa-game-board:after{content:"\10f867"}.fad.fa-game-board-alt:after{content:"\10f868"}.fad.fa-game-console-handheld:after{content:"\10f8bb"}.fad.fa-gamepad:after{content:"\10f11b"}.fad.fa-gamepad-alt:after{content:"\10f8bc"}.fad.fa-garage:after{content:"\10f909"}.fad.fa-garage-car:after{content:"\10f90a"}.fad.fa-garage-open:after{content:"\10f90b"}.fad.fa-gas-pump:after{content:"\10f52f"}.fad.fa-gas-pump-slash:after{content:"\10f5f4"}.fad.fa-gavel:after{content:"\10f0e3"}.fad.fa-gem:after{content:"\10f3a5"}.fad.fa-genderless:after{content:"\10f22d"}.fad.fa-ghost:after{content:"\10f6e2"}.fad.fa-gift:after{content:"\10f06b"}.fad.fa-gift-card:after{content:"\10f663"}.fad.fa-gifts:after{content:"\10f79c"}.fad.fa-gingerbread-man:after{content:"\10f79d"}.fad.fa-glass:after{content:"\10f804"}.fad.fa-glass-champagne:after{content:"\10f79e"}.fad.fa-glass-cheers:after{content:"\10f79f"}.fad.fa-glass-citrus:after{content:"\10f869"}.fad.fa-glass-martini:after{content:"\10f000"}.fad.fa-glass-martini-alt:after{content:"\10f57b"}.fad.fa-glass-whiskey:after{content:"\10f7a0"}.fad.fa-glass-whiskey-rocks:after{content:"\10f7a1"}.fad.fa-glasses:after{content:"\10f530"}.fad.fa-glasses-alt:after{content:"\10f5f5"}.fad.fa-globe:after{content:"\10f0ac"}.fad.fa-globe-africa:after{content:"\10f57c"}.fad.fa-globe-americas:after{content:"\10f57d"}.fad.fa-globe-asia:after{content:"\10f57e"}.fad.fa-globe-europe:after{content:"\10f7a2"}.fad.fa-globe-snow:after{content:"\10f7a3"}.fad.fa-globe-stand:after{content:"\10f5f6"}.fad.fa-golf-ball:after{content:"\10f450"}.fad.fa-golf-club:after{content:"\10f451"}.fad.fa-gopuram:after{content:"\10f664"}.fad.fa-graduation-cap:after{content:"\10f19d"}.fad.fa-gramophone:after{content:"\10f8bd"}.fad.fa-greater-than:after{content:"\10f531"}.fad.fa-greater-than-equal:after{content:"\10f532"}.fad.fa-grimace:after{content:"\10f57f"}.fad.fa-grin:after{content:"\10f580"}.fad.fa-grin-alt:after{content:"\10f581"}.fad.fa-grin-beam:after{content:"\10f582"}.fad.fa-grin-beam-sweat:after{content:"\10f583"}.fad.fa-grin-hearts:after{content:"\10f584"}.fad.fa-grin-squint:after{content:"\10f585"}.fad.fa-grin-squint-tears:after{content:"\10f586"}.fad.fa-grin-stars:after{content:"\10f587"}.fad.fa-grin-tears:after{content:"\10f588"}.fad.fa-grin-tongue:after{content:"\10f589"}.fad.fa-grin-tongue-squint:after{content:"\10f58a"}.fad.fa-grin-tongue-wink:after{content:"\10f58b"}.fad.fa-grin-wink:after{content:"\10f58c"}.fad.fa-grip-horizontal:after{content:"\10f58d"}.fad.fa-grip-lines:after{content:"\10f7a4"}.fad.fa-grip-lines-vertical:after{content:"\10f7a5"}.fad.fa-grip-vertical:after{content:"\10f58e"}.fad.fa-guitar:after{content:"\10f7a6"}.fad.fa-guitar-electric:after{content:"\10f8be"}.fad.fa-guitars:after{content:"\10f8bf"}.fad.fa-h-square:after{content:"\10f0fd"}.fad.fa-h1:after{content:"\10f313"}.fad.fa-h2:after{content:"\10f314"}.fad.fa-h3:after{content:"\10f315"}.fad.fa-h4:after{content:"\10f86a"}.fad.fa-hamburger:after{content:"\10f805"}.fad.fa-hammer:after{content:"\10f6e3"}.fad.fa-hammer-war:after{content:"\10f6e4"}.fad.fa-hamsa:after{content:"\10f665"}.fad.fa-hand-heart:after{content:"\10f4bc"}.fad.fa-hand-holding:after{content:"\10f4bd"}.fad.fa-hand-holding-box:after{content:"\10f47b"}.fad.fa-hand-holding-heart:after{content:"\10f4be"}.fad.fa-hand-holding-magic:after{content:"\10f6e5"}.fad.fa-hand-holding-seedling:after{content:"\10f4bf"}.fad.fa-hand-holding-usd:after{content:"\10f4c0"}.fad.fa-hand-holding-water:after{content:"\10f4c1"}.fad.fa-hand-lizard:after{content:"\10f258"}.fad.fa-hand-middle-finger:after{content:"\10f806"}.fad.fa-hand-paper:after{content:"\10f256"}.fad.fa-hand-peace:after{content:"\10f25b"}.fad.fa-hand-point-down:after{content:"\10f0a7"}.fad.fa-hand-point-left:after{content:"\10f0a5"}.fad.fa-hand-point-right:after{content:"\10f0a4"}.fad.fa-hand-point-up:after{content:"\10f0a6"}.fad.fa-hand-pointer:after{content:"\10f25a"}.fad.fa-hand-receiving:after{content:"\10f47c"}.fad.fa-hand-rock:after{content:"\10f255"}.fad.fa-hand-scissors:after{content:"\10f257"}.fad.fa-hand-spock:after{content:"\10f259"}.fad.fa-hands:after{content:"\10f4c2"}.fad.fa-hands-heart:after{content:"\10f4c3"}.fad.fa-hands-helping:after{content:"\10f4c4"}.fad.fa-hands-usd:after{content:"\10f4c5"}.fad.fa-handshake:after{content:"\10f2b5"}.fad.fa-handshake-alt:after{content:"\10f4c6"}.fad.fa-hanukiah:after{content:"\10f6e6"}.fad.fa-hard-hat:after{content:"\10f807"}.fad.fa-hashtag:after{content:"\10f292"}.fad.fa-hat-chef:after{content:"\10f86b"}.fad.fa-hat-cowboy:after{content:"\10f8c0"}.fad.fa-hat-cowboy-side:after{content:"\10f8c1"}.fad.fa-hat-santa:after{content:"\10f7a7"}.fad.fa-hat-winter:after{content:"\10f7a8"}.fad.fa-hat-witch:after{content:"\10f6e7"}.fad.fa-hat-wizard:after{content:"\10f6e8"}.fad.fa-hdd:after{content:"\10f0a0"}.fad.fa-head-side:after{content:"\10f6e9"}.fad.fa-head-side-brain:after{content:"\10f808"}.fad.fa-head-side-headphones:after{content:"\10f8c2"}.fad.fa-head-side-medical:after{content:"\10f809"}.fad.fa-head-vr:after{content:"\10f6ea"}.fad.fa-heading:after{content:"\10f1dc"}.fad.fa-headphones:after{content:"\10f025"}.fad.fa-headphones-alt:after{content:"\10f58f"}.fad.fa-headset:after{content:"\10f590"}.fad.fa-heart:after{content:"\10f004"}.fad.fa-heart-broken:after{content:"\10f7a9"}.fad.fa-heart-circle:after{content:"\10f4c7"}.fad.fa-heart-rate:after{content:"\10f5f8"}.fad.fa-heart-square:after{content:"\10f4c8"}.fad.fa-heartbeat:after{content:"\10f21e"}.fad.fa-heat:after{content:"\10f90c"}.fad.fa-helicopter:after{content:"\10f533"}.fad.fa-helmet-battle:after{content:"\10f6eb"}.fad.fa-hexagon:after{content:"\10f312"}.fad.fa-highlighter:after{content:"\10f591"}.fad.fa-hiking:after{content:"\10f6ec"}.fad.fa-hippo:after{content:"\10f6ed"}.fad.fa-history:after{content:"\10f1da"}.fad.fa-hockey-mask:after{content:"\10f6ee"}.fad.fa-hockey-puck:after{content:"\10f453"}.fad.fa-hockey-sticks:after{content:"\10f454"}.fad.fa-holly-berry:after{content:"\10f7aa"}.fad.fa-home:after{content:"\10f015"}.fad.fa-home-alt:after{content:"\10f80a"}.fad.fa-home-heart:after{content:"\10f4c9"}.fad.fa-home-lg:after{content:"\10f80b"}.fad.fa-home-lg-alt:after{content:"\10f80c"}.fad.fa-hood-cloak:after{content:"\10f6ef"}.fad.fa-horizontal-rule:after{content:"\10f86c"}.fad.fa-horse:after{content:"\10f6f0"}.fad.fa-horse-head:after{content:"\10f7ab"}.fad.fa-horse-saddle:after{content:"\10f8c3"}.fad.fa-hospital:after{content:"\10f0f8"}.fad.fa-hospital-alt:after{content:"\10f47d"}.fad.fa-hospital-symbol:after{content:"\10f47e"}.fad.fa-hospital-user:after{content:"\10f80d"}.fad.fa-hospitals:after{content:"\10f80e"}.fad.fa-hot-tub:after{content:"\10f593"}.fad.fa-hotdog:after{content:"\10f80f"}.fad.fa-hotel:after{content:"\10f594"}.fad.fa-hourglass:after{content:"\10f254"}.fad.fa-hourglass-end:after{content:"\10f253"}.fad.fa-hourglass-half:after{content:"\10f252"}.fad.fa-hourglass-start:after{content:"\10f251"}.fad.fa-house:after{content:"\10f90d"}.fad.fa-house-damage:after{content:"\10f6f1"}.fad.fa-house-day:after{content:"\10f90e"}.fad.fa-house-flood:after{content:"\10f74f"}.fad.fa-house-leave:after{content:"\10f90f"}.fad.fa-house-night:after{content:"\10f910"}.fad.fa-house-return:after{content:"\10f911"}.fad.fa-house-signal:after{content:"\10f912"}.fad.fa-hryvnia:after{content:"\10f6f2"}.fad.fa-humidity:after{content:"\10f750"}.fad.fa-hurricane:after{content:"\10f751"}.fad.fa-i-cursor:after{content:"\10f246"}.fad.fa-ice-cream:after{content:"\10f810"}.fad.fa-ice-skate:after{content:"\10f7ac"}.fad.fa-icicles:after{content:"\10f7ad"}.fad.fa-icons:after{content:"\10f86d"}.fad.fa-icons-alt:after{content:"\10f86e"}.fad.fa-id-badge:after{content:"\10f2c1"}.fad.fa-id-card:after{content:"\10f2c2"}.fad.fa-id-card-alt:after{content:"\10f47f"}.fad.fa-igloo:after{content:"\10f7ae"}.fad.fa-image:after{content:"\10f03e"}.fad.fa-image-polaroid:after{content:"\10f8c4"}.fad.fa-images:after{content:"\10f302"}.fad.fa-inbox:after{content:"\10f01c"}.fad.fa-inbox-in:after{content:"\10f310"}.fad.fa-inbox-out:after{content:"\10f311"}.fad.fa-indent:after{content:"\10f03c"}.fad.fa-industry:after{content:"\10f275"}.fad.fa-industry-alt:after{content:"\10f3b3"}.fad.fa-infinity:after{content:"\10f534"}.fad.fa-info:after{content:"\10f129"}.fad.fa-info-circle:after{content:"\10f05a"}.fad.fa-info-square:after{content:"\10f30f"}.fad.fa-inhaler:after{content:"\10f5f9"}.fad.fa-integral:after{content:"\10f667"}.fad.fa-intersection:after{content:"\10f668"}.fad.fa-inventory:after{content:"\10f480"}.fad.fa-island-tropical:after{content:"\10f811"}.fad.fa-italic:after{content:"\10f033"}.fad.fa-jack-o-lantern:after{content:"\10f30e"}.fad.fa-jedi:after{content:"\10f669"}.fad.fa-joint:after{content:"\10f595"}.fad.fa-journal-whills:after{content:"\10f66a"}.fad.fa-joystick:after{content:"\10f8c5"}.fad.fa-jug:after{content:"\10f8c6"}.fad.fa-kaaba:after{content:"\10f66b"}.fad.fa-kazoo:after{content:"\10f8c7"}.fad.fa-kerning:after{content:"\10f86f"}.fad.fa-key:after{content:"\10f084"}.fad.fa-key-skeleton:after{content:"\10f6f3"}.fad.fa-keyboard:after{content:"\10f11c"}.fad.fa-keynote:after{content:"\10f66c"}.fad.fa-khanda:after{content:"\10f66d"}.fad.fa-kidneys:after{content:"\10f5fb"}.fad.fa-kiss:after{content:"\10f596"}.fad.fa-kiss-beam:after{content:"\10f597"}.fad.fa-kiss-wink-heart:after{content:"\10f598"}.fad.fa-kite:after{content:"\10f6f4"}.fad.fa-kiwi-bird:after{content:"\10f535"}.fad.fa-knife-kitchen:after{content:"\10f6f5"}.fad.fa-lambda:after{content:"\10f66e"}.fad.fa-lamp:after{content:"\10f4ca"}.fad.fa-lamp-desk:after{content:"\10f914"}.fad.fa-lamp-floor:after{content:"\10f915"}.fad.fa-landmark:after{content:"\10f66f"}.fad.fa-landmark-alt:after{content:"\10f752"}.fad.fa-language:after{content:"\10f1ab"}.fad.fa-laptop:after{content:"\10f109"}.fad.fa-laptop-code:after{content:"\10f5fc"}.fad.fa-laptop-medical:after{content:"\10f812"}.fad.fa-lasso:after{content:"\10f8c8"}.fad.fa-laugh:after{content:"\10f599"}.fad.fa-laugh-beam:after{content:"\10f59a"}.fad.fa-laugh-squint:after{content:"\10f59b"}.fad.fa-laugh-wink:after{content:"\10f59c"}.fad.fa-layer-group:after{content:"\10f5fd"}.fad.fa-layer-minus:after{content:"\10f5fe"}.fad.fa-layer-plus:after{content:"\10f5ff"}.fad.fa-leaf:after{content:"\10f06c"}.fad.fa-leaf-heart:after{content:"\10f4cb"}.fad.fa-leaf-maple:after{content:"\10f6f6"}.fad.fa-leaf-oak:after{content:"\10f6f7"}.fad.fa-lemon:after{content:"\10f094"}.fad.fa-less-than:after{content:"\10f536"}.fad.fa-less-than-equal:after{content:"\10f537"}.fad.fa-level-down:after{content:"\10f149"}.fad.fa-level-down-alt:after{content:"\10f3be"}.fad.fa-level-up:after{content:"\10f148"}.fad.fa-level-up-alt:after{content:"\10f3bf"}.fad.fa-life-ring:after{content:"\10f1cd"}.fad.fa-light-ceiling:after{content:"\10f916"}.fad.fa-light-switch:after{content:"\10f917"}.fad.fa-light-switch-off:after{content:"\10f918"}.fad.fa-light-switch-on:after{content:"\10f919"}.fad.fa-lightbulb:after{content:"\10f0eb"}.fad.fa-lightbulb-dollar:after{content:"\10f670"}.fad.fa-lightbulb-exclamation:after{content:"\10f671"}.fad.fa-lightbulb-on:after{content:"\10f672"}.fad.fa-lightbulb-slash:after{content:"\10f673"}.fad.fa-lights-holiday:after{content:"\10f7b2"}.fad.fa-line-columns:after{content:"\10f870"}.fad.fa-line-height:after{content:"\10f871"}.fad.fa-link:after{content:"\10f0c1"}.fad.fa-lips:after{content:"\10f600"}.fad.fa-lira-sign:after{content:"\10f195"}.fad.fa-list:after{content:"\10f03a"}.fad.fa-list-alt:after{content:"\10f022"}.fad.fa-list-music:after{content:"\10f8c9"}.fad.fa-list-ol:after{content:"\10f0cb"}.fad.fa-list-ul:after{content:"\10f0ca"}.fad.fa-location:after{content:"\10f601"}.fad.fa-location-arrow:after{content:"\10f124"}.fad.fa-location-circle:after{content:"\10f602"}.fad.fa-location-slash:after{content:"\10f603"}.fad.fa-lock:after{content:"\10f023"}.fad.fa-lock-alt:after{content:"\10f30d"}.fad.fa-lock-open:after{content:"\10f3c1"}.fad.fa-lock-open-alt:after{content:"\10f3c2"}.fad.fa-long-arrow-alt-down:after{content:"\10f309"}.fad.fa-long-arrow-alt-left:after{content:"\10f30a"}.fad.fa-long-arrow-alt-right:after{content:"\10f30b"}.fad.fa-long-arrow-alt-up:after{content:"\10f30c"}.fad.fa-long-arrow-down:after{content:"\10f175"}.fad.fa-long-arrow-left:after{content:"\10f177"}.fad.fa-long-arrow-right:after{content:"\10f178"}.fad.fa-long-arrow-up:after{content:"\10f176"}.fad.fa-loveseat:after{content:"\10f4cc"}.fad.fa-low-vision:after{content:"\10f2a8"}.fad.fa-luchador:after{content:"\10f455"}.fad.fa-luggage-cart:after{content:"\10f59d"}.fad.fa-lungs:after{content:"\10f604"}.fad.fa-mace:after{content:"\10f6f8"}.fad.fa-magic:after{content:"\10f0d0"}.fad.fa-magnet:after{content:"\10f076"}.fad.fa-mail-bulk:after{content:"\10f674"}.fad.fa-mailbox:after{content:"\10f813"}.fad.fa-male:after{content:"\10f183"}.fad.fa-mandolin:after{content:"\10f6f9"}.fad.fa-map:after{content:"\10f279"}.fad.fa-map-marked:after{content:"\10f59f"}.fad.fa-map-marked-alt:after{content:"\10f5a0"}.fad.fa-map-marker:after{content:"\10f041"}.fad.fa-map-marker-alt:after{content:"\10f3c5"}.fad.fa-map-marker-alt-slash:after{content:"\10f605"}.fad.fa-map-marker-check:after{content:"\10f606"}.fad.fa-map-marker-edit:after{content:"\10f607"}.fad.fa-map-marker-exclamation:after{content:"\10f608"}.fad.fa-map-marker-minus:after{content:"\10f609"}.fad.fa-map-marker-plus:after{content:"\10f60a"}.fad.fa-map-marker-question:after{content:"\10f60b"}.fad.fa-map-marker-slash:after{content:"\10f60c"}.fad.fa-map-marker-smile:after{content:"\10f60d"}.fad.fa-map-marker-times:after{content:"\10f60e"}.fad.fa-map-pin:after{content:"\10f276"}.fad.fa-map-signs:after{content:"\10f277"}.fad.fa-marker:after{content:"\10f5a1"}.fad.fa-mars:after{content:"\10f222"}.fad.fa-mars-double:after{content:"\10f227"}.fad.fa-mars-stroke:after{content:"\10f229"}.fad.fa-mars-stroke-h:after{content:"\10f22b"}.fad.fa-mars-stroke-v:after{content:"\10f22a"}.fad.fa-mask:after{content:"\10f6fa"}.fad.fa-meat:after{content:"\10f814"}.fad.fa-medal:after{content:"\10f5a2"}.fad.fa-medkit:after{content:"\10f0fa"}.fad.fa-megaphone:after{content:"\10f675"}.fad.fa-meh:after{content:"\10f11a"}.fad.fa-meh-blank:after{content:"\10f5a4"}.fad.fa-meh-rolling-eyes:after{content:"\10f5a5"}.fad.fa-memory:after{content:"\10f538"}.fad.fa-menorah:after{content:"\10f676"}.fad.fa-mercury:after{content:"\10f223"}.fad.fa-meteor:after{content:"\10f753"}.fad.fa-microchip:after{content:"\10f2db"}.fad.fa-microphone:after{content:"\10f130"}.fad.fa-microphone-alt:after{content:"\10f3c9"}.fad.fa-microphone-alt-slash:after{content:"\10f539"}.fad.fa-microphone-slash:after{content:"\10f131"}.fad.fa-microphone-stand:after{content:"\10f8cb"}.fad.fa-microscope:after{content:"\10f610"}.fad.fa-microwave:after{content:"\10f91b"}.fad.fa-mind-share:after{content:"\10f677"}.fad.fa-minus:after{content:"\10f068"}.fad.fa-minus-circle:after{content:"\10f056"}.fad.fa-minus-hexagon:after{content:"\10f307"}.fad.fa-minus-octagon:after{content:"\10f308"}.fad.fa-minus-square:after{content:"\10f146"}.fad.fa-mistletoe:after{content:"\10f7b4"}.fad.fa-mitten:after{content:"\10f7b5"}.fad.fa-mobile:after{content:"\10f10b"}.fad.fa-mobile-alt:after{content:"\10f3cd"}.fad.fa-mobile-android:after{content:"\10f3ce"}.fad.fa-mobile-android-alt:after{content:"\10f3cf"}.fad.fa-money-bill:after{content:"\10f0d6"}.fad.fa-money-bill-alt:after{content:"\10f3d1"}.fad.fa-money-bill-wave:after{content:"\10f53a"}.fad.fa-money-bill-wave-alt:after{content:"\10f53b"}.fad.fa-money-check:after{content:"\10f53c"}.fad.fa-money-check-alt:after{content:"\10f53d"}.fad.fa-money-check-edit:after{content:"\10f872"}.fad.fa-money-check-edit-alt:after{content:"\10f873"}.fad.fa-monitor-heart-rate:after{content:"\10f611"}.fad.fa-monkey:after{content:"\10f6fb"}.fad.fa-monument:after{content:"\10f5a6"}.fad.fa-moon:after{content:"\10f186"}.fad.fa-moon-cloud:after{content:"\10f754"}.fad.fa-moon-stars:after{content:"\10f755"}.fad.fa-mortar-pestle:after{content:"\10f5a7"}.fad.fa-mosque:after{content:"\10f678"}.fad.fa-motorcycle:after{content:"\10f21c"}.fad.fa-mountain:after{content:"\10f6fc"}.fad.fa-mountains:after{content:"\10f6fd"}.fad.fa-mouse:after{content:"\10f8cc"}.fad.fa-mouse-alt:after{content:"\10f8cd"}.fad.fa-mouse-pointer:after{content:"\10f245"}.fad.fa-mp3-player:after{content:"\10f8ce"}.fad.fa-mug:after{content:"\10f874"}.fad.fa-mug-hot:after{content:"\10f7b6"}.fad.fa-mug-marshmallows:after{content:"\10f7b7"}.fad.fa-mug-tea:after{content:"\10f875"}.fad.fa-music:after{content:"\10f001"}.fad.fa-music-alt:after{content:"\10f8cf"}.fad.fa-music-alt-slash:after{content:"\10f8d0"}.fad.fa-music-slash:after{content:"\10f8d1"}.fad.fa-narwhal:after{content:"\10f6fe"}.fad.fa-network-wired:after{content:"\10f6ff"}.fad.fa-neuter:after{content:"\10f22c"}.fad.fa-newspaper:after{content:"\10f1ea"}.fad.fa-not-equal:after{content:"\10f53e"}.fad.fa-notes-medical:after{content:"\10f481"}.fad.fa-object-group:after{content:"\10f247"}.fad.fa-object-ungroup:after{content:"\10f248"}.fad.fa-octagon:after{content:"\10f306"}.fad.fa-oil-can:after{content:"\10f613"}.fad.fa-oil-temp:after{content:"\10f614"}.fad.fa-om:after{content:"\10f679"}.fad.fa-omega:after{content:"\10f67a"}.fad.fa-ornament:after{content:"\10f7b8"}.fad.fa-otter:after{content:"\10f700"}.fad.fa-outdent:after{content:"\10f03b"}.fad.fa-outlet:after{content:"\10f91c"}.fad.fa-oven:after{content:"\10f91d"}.fad.fa-overline:after{content:"\10f876"}.fad.fa-page-break:after{content:"\10f877"}.fad.fa-pager:after{content:"\10f815"}.fad.fa-paint-brush:after{content:"\10f1fc"}.fad.fa-paint-brush-alt:after{content:"\10f5a9"}.fad.fa-paint-roller:after{content:"\10f5aa"}.fad.fa-palette:after{content:"\10f53f"}.fad.fa-pallet:after{content:"\10f482"}.fad.fa-pallet-alt:after{content:"\10f483"}.fad.fa-paper-plane:after{content:"\10f1d8"}.fad.fa-paperclip:after{content:"\10f0c6"}.fad.fa-parachute-box:after{content:"\10f4cd"}.fad.fa-paragraph:after{content:"\10f1dd"}.fad.fa-paragraph-rtl:after{content:"\10f878"}.fad.fa-parking:after{content:"\10f540"}.fad.fa-parking-circle:after{content:"\10f615"}.fad.fa-parking-circle-slash:after{content:"\10f616"}.fad.fa-parking-slash:after{content:"\10f617"}.fad.fa-passport:after{content:"\10f5ab"}.fad.fa-pastafarianism:after{content:"\10f67b"}.fad.fa-paste:after{content:"\10f0ea"}.fad.fa-pause:after{content:"\10f04c"}.fad.fa-pause-circle:after{content:"\10f28b"}.fad.fa-paw:after{content:"\10f1b0"}.fad.fa-paw-alt:after{content:"\10f701"}.fad.fa-paw-claws:after{content:"\10f702"}.fad.fa-peace:after{content:"\10f67c"}.fad.fa-pegasus:after{content:"\10f703"}.fad.fa-pen:after{content:"\10f304"}.fad.fa-pen-alt:after{content:"\10f305"}.fad.fa-pen-fancy:after{content:"\10f5ac"}.fad.fa-pen-nib:after{content:"\10f5ad"}.fad.fa-pen-square:after{content:"\10f14b"}.fad.fa-pencil:after{content:"\10f040"}.fad.fa-pencil-alt:after{content:"\10f303"}.fad.fa-pencil-paintbrush:after{content:"\10f618"}.fad.fa-pencil-ruler:after{content:"\10f5ae"}.fad.fa-pennant:after{content:"\10f456"}.fad.fa-people-carry:after{content:"\10f4ce"}.fad.fa-pepper-hot:after{content:"\10f816"}.fad.fa-percent:after{content:"\10f295"}.fad.fa-percentage:after{content:"\10f541"}.fad.fa-person-booth:after{content:"\10f756"}.fad.fa-person-carry:after{content:"\10f4cf"}.fad.fa-person-dolly:after{content:"\10f4d0"}.fad.fa-person-dolly-empty:after{content:"\10f4d1"}.fad.fa-person-sign:after{content:"\10f757"}.fad.fa-phone:after{content:"\10f095"}.fad.fa-phone-alt:after{content:"\10f879"}.fad.fa-phone-laptop:after{content:"\10f87a"}.fad.fa-phone-office:after{content:"\10f67d"}.fad.fa-phone-plus:after{content:"\10f4d2"}.fad.fa-phone-rotary:after{content:"\10f8d3"}.fad.fa-phone-slash:after{content:"\10f3dd"}.fad.fa-phone-square:after{content:"\10f098"}.fad.fa-phone-square-alt:after{content:"\10f87b"}.fad.fa-phone-volume:after{content:"\10f2a0"}.fad.fa-photo-video:after{content:"\10f87c"}.fad.fa-pi:after{content:"\10f67e"}.fad.fa-piano:after{content:"\10f8d4"}.fad.fa-piano-keyboard:after{content:"\10f8d5"}.fad.fa-pie:after{content:"\10f705"}.fad.fa-pig:after{content:"\10f706"}.fad.fa-piggy-bank:after{content:"\10f4d3"}.fad.fa-pills:after{content:"\10f484"}.fad.fa-pizza:after{content:"\10f817"}.fad.fa-pizza-slice:after{content:"\10f818"}.fad.fa-place-of-worship:after{content:"\10f67f"}.fad.fa-plane:after{content:"\10f072"}.fad.fa-plane-alt:after{content:"\10f3de"}.fad.fa-plane-arrival:after{content:"\10f5af"}.fad.fa-plane-departure:after{content:"\10f5b0"}.fad.fa-planet-moon:after{content:"\10f91f"}.fad.fa-planet-ringed:after{content:"\10f920"}.fad.fa-play:after{content:"\10f04b"}.fad.fa-play-circle:after{content:"\10f144"}.fad.fa-plug:after{content:"\10f1e6"}.fad.fa-plus:after{content:"\10f067"}.fad.fa-plus-circle:after{content:"\10f055"}.fad.fa-plus-hexagon:after{content:"\10f300"}.fad.fa-plus-octagon:after{content:"\10f301"}.fad.fa-plus-square:after{content:"\10f0fe"}.fad.fa-podcast:after{content:"\10f2ce"}.fad.fa-podium:after{content:"\10f680"}.fad.fa-podium-star:after{content:"\10f758"}.fad.fa-police-box:after{content:"\10f921"}.fad.fa-poll:after{content:"\10f681"}.fad.fa-poll-h:after{content:"\10f682"}.fad.fa-poll-people:after{content:"\10f759"}.fad.fa-poo:after{content:"\10f2fe"}.fad.fa-poo-storm:after{content:"\10f75a"}.fad.fa-poop:after{content:"\10f619"}.fad.fa-popcorn:after{content:"\10f819"}.fad.fa-portal-enter:after{content:"\10f922"}.fad.fa-portal-exit:after{content:"\10f923"}.fad.fa-portrait:after{content:"\10f3e0"}.fad.fa-pound-sign:after{content:"\10f154"}.fad.fa-power-off:after{content:"\10f011"}.fad.fa-pray:after{content:"\10f683"}.fad.fa-praying-hands:after{content:"\10f684"}.fad.fa-prescription:after{content:"\10f5b1"}.fad.fa-prescription-bottle:after{content:"\10f485"}.fad.fa-prescription-bottle-alt:after{content:"\10f486"}.fad.fa-presentation:after{content:"\10f685"}.fad.fa-print:after{content:"\10f02f"}.fad.fa-print-search:after{content:"\10f81a"}.fad.fa-print-slash:after{content:"\10f686"}.fad.fa-procedures:after{content:"\10f487"}.fad.fa-project-diagram:after{content:"\10f542"}.fad.fa-projector:after{content:"\10f8d6"}.fad.fa-pumpkin:after{content:"\10f707"}.fad.fa-puzzle-piece:after{content:"\10f12e"}.fad.fa-qrcode:after{content:"\10f029"}.fad.fa-question:after{content:"\10f128"}.fad.fa-question-circle:after{content:"\10f059"}.fad.fa-question-square:after{content:"\10f2fd"}.fad.fa-quidditch:after{content:"\10f458"}.fad.fa-quote-left:after{content:"\10f10d"}.fad.fa-quote-right:after{content:"\10f10e"}.fad.fa-quran:after{content:"\10f687"}.fad.fa-rabbit:after{content:"\10f708"}.fad.fa-rabbit-fast:after{content:"\10f709"}.fad.fa-racquet:after{content:"\10f45a"}.fad.fa-radar:after{content:"\10f924"}.fad.fa-radiation:after{content:"\10f7b9"}.fad.fa-radiation-alt:after{content:"\10f7ba"}.fad.fa-radio:after{content:"\10f8d7"}.fad.fa-radio-alt:after{content:"\10f8d8"}.fad.fa-rainbow:after{content:"\10f75b"}.fad.fa-raindrops:after{content:"\10f75c"}.fad.fa-ram:after{content:"\10f70a"}.fad.fa-ramp-loading:after{content:"\10f4d4"}.fad.fa-random:after{content:"\10f074"}.fad.fa-raygun:after{content:"\10f925"}.fad.fa-receipt:after{content:"\10f543"}.fad.fa-record-vinyl:after{content:"\10f8d9"}.fad.fa-rectangle-landscape:after{content:"\10f2fa"}.fad.fa-rectangle-portrait:after{content:"\10f2fb"}.fad.fa-rectangle-wide:after{content:"\10f2fc"}.fad.fa-recycle:after{content:"\10f1b8"}.fad.fa-redo:after{content:"\10f01e"}.fad.fa-redo-alt:after{content:"\10f2f9"}.fad.fa-refrigerator:after{content:"\10f926"}.fad.fa-registered:after{content:"\10f25d"}.fad.fa-remove-format:after{content:"\10f87d"}.fad.fa-repeat:after{content:"\10f363"}.fad.fa-repeat-1:after{content:"\10f365"}.fad.fa-repeat-1-alt:after{content:"\10f366"}.fad.fa-repeat-alt:after{content:"\10f364"}.fad.fa-reply:after{content:"\10f3e5"}.fad.fa-reply-all:after{content:"\10f122"}.fad.fa-republican:after{content:"\10f75e"}.fad.fa-restroom:after{content:"\10f7bd"}.fad.fa-retweet:after{content:"\10f079"}.fad.fa-retweet-alt:after{content:"\10f361"}.fad.fa-ribbon:after{content:"\10f4d6"}.fad.fa-ring:after{content:"\10f70b"}.fad.fa-rings-wedding:after{content:"\10f81b"}.fad.fa-road:after{content:"\10f018"}.fad.fa-robot:after{content:"\10f544"}.fad.fa-rocket:after{content:"\10f135"}.fad.fa-rocket-launch:after{content:"\10f927"}.fad.fa-route:after{content:"\10f4d7"}.fad.fa-route-highway:after{content:"\10f61a"}.fad.fa-route-interstate:after{content:"\10f61b"}.fad.fa-router:after{content:"\10f8da"}.fad.fa-rss:after{content:"\10f09e"}.fad.fa-rss-square:after{content:"\10f143"}.fad.fa-ruble-sign:after{content:"\10f158"}.fad.fa-ruler:after{content:"\10f545"}.fad.fa-ruler-combined:after{content:"\10f546"}.fad.fa-ruler-horizontal:after{content:"\10f547"}.fad.fa-ruler-triangle:after{content:"\10f61c"}.fad.fa-ruler-vertical:after{content:"\10f548"}.fad.fa-running:after{content:"\10f70c"}.fad.fa-rupee-sign:after{content:"\10f156"}.fad.fa-rv:after{content:"\10f7be"}.fad.fa-sack:after{content:"\10f81c"}.fad.fa-sack-dollar:after{content:"\10f81d"}.fad.fa-sad-cry:after{content:"\10f5b3"}.fad.fa-sad-tear:after{content:"\10f5b4"}.fad.fa-salad:after{content:"\10f81e"}.fad.fa-sandwich:after{content:"\10f81f"}.fad.fa-satellite:after{content:"\10f7bf"}.fad.fa-satellite-dish:after{content:"\10f7c0"}.fad.fa-sausage:after{content:"\10f820"}.fad.fa-save:after{content:"\10f0c7"}.fad.fa-sax-hot:after{content:"\10f8db"}.fad.fa-saxophone:after{content:"\10f8dc"}.fad.fa-scalpel:after{content:"\10f61d"}.fad.fa-scalpel-path:after{content:"\10f61e"}.fad.fa-scanner:after{content:"\10f488"}.fad.fa-scanner-image:after{content:"\10f8f3"}.fad.fa-scanner-keyboard:after{content:"\10f489"}.fad.fa-scanner-touchscreen:after{content:"\10f48a"}.fad.fa-scarecrow:after{content:"\10f70d"}.fad.fa-scarf:after{content:"\10f7c1"}.fad.fa-school:after{content:"\10f549"}.fad.fa-screwdriver:after{content:"\10f54a"}.fad.fa-scroll:after{content:"\10f70e"}.fad.fa-scroll-old:after{content:"\10f70f"}.fad.fa-scrubber:after{content:"\10f2f8"}.fad.fa-scythe:after{content:"\10f710"}.fad.fa-sd-card:after{content:"\10f7c2"}.fad.fa-search:after{content:"\10f002"}.fad.fa-search-dollar:after{content:"\10f688"}.fad.fa-search-location:after{content:"\10f689"}.fad.fa-search-minus:after{content:"\10f010"}.fad.fa-search-plus:after{content:"\10f00e"}.fad.fa-seedling:after{content:"\10f4d8"}.fad.fa-send-back:after{content:"\10f87e"}.fad.fa-send-backward:after{content:"\10f87f"}.fad.fa-sensor:after{content:"\10f928"}.fad.fa-sensor-alert:after{content:"\10f929"}.fad.fa-sensor-fire:after{content:"\10f92a"}.fad.fa-sensor-on:after{content:"\10f92b"}.fad.fa-sensor-smoke:after{content:"\10f92c"}.fad.fa-server:after{content:"\10f233"}.fad.fa-shapes:after{content:"\10f61f"}.fad.fa-share:after{content:"\10f064"}.fad.fa-share-all:after{content:"\10f367"}.fad.fa-share-alt:after{content:"\10f1e0"}.fad.fa-share-alt-square:after{content:"\10f1e1"}.fad.fa-share-square:after{content:"\10f14d"}.fad.fa-sheep:after{content:"\10f711"}.fad.fa-shekel-sign:after{content:"\10f20b"}.fad.fa-shield:after{content:"\10f132"}.fad.fa-shield-alt:after{content:"\10f3ed"}.fad.fa-shield-check:after{content:"\10f2f7"}.fad.fa-shield-cross:after{content:"\10f712"}.fad.fa-ship:after{content:"\10f21a"}.fad.fa-shipping-fast:after{content:"\10f48b"}.fad.fa-shipping-timed:after{content:"\10f48c"}.fad.fa-shish-kebab:after{content:"\10f821"}.fad.fa-shoe-prints:after{content:"\10f54b"}.fad.fa-shopping-bag:after{content:"\10f290"}.fad.fa-shopping-basket:after{content:"\10f291"}.fad.fa-shopping-cart:after{content:"\10f07a"}.fad.fa-shovel:after{content:"\10f713"}.fad.fa-shovel-snow:after{content:"\10f7c3"}.fad.fa-shower:after{content:"\10f2cc"}.fad.fa-shredder:after{content:"\10f68a"}.fad.fa-shuttle-van:after{content:"\10f5b6"}.fad.fa-shuttlecock:after{content:"\10f45b"}.fad.fa-sickle:after{content:"\10f822"}.fad.fa-sigma:after{content:"\10f68b"}.fad.fa-sign:after{content:"\10f4d9"}.fad.fa-sign-in:after{content:"\10f090"}.fad.fa-sign-in-alt:after{content:"\10f2f6"}.fad.fa-sign-language:after{content:"\10f2a7"}.fad.fa-sign-out:after{content:"\10f08b"}.fad.fa-sign-out-alt:after{content:"\10f2f5"}.fad.fa-signal:after{content:"\10f012"}.fad.fa-signal-1:after{content:"\10f68c"}.fad.fa-signal-2:after{content:"\10f68d"}.fad.fa-signal-3:after{content:"\10f68e"}.fad.fa-signal-4:after{content:"\10f68f"}.fad.fa-signal-alt:after{content:"\10f690"}.fad.fa-signal-alt-1:after{content:"\10f691"}.fad.fa-signal-alt-2:after{content:"\10f692"}.fad.fa-signal-alt-3:after{content:"\10f693"}.fad.fa-signal-alt-slash:after{content:"\10f694"}.fad.fa-signal-slash:after{content:"\10f695"}.fad.fa-signal-stream:after{content:"\10f8dd"}.fad.fa-signature:after{content:"\10f5b7"}.fad.fa-sim-card:after{content:"\10f7c4"}.fad.fa-siren:after{content:"\10f92d"}.fad.fa-siren-on:after{content:"\10f92e"}.fad.fa-sitemap:after{content:"\10f0e8"}.fad.fa-skating:after{content:"\10f7c5"}.fad.fa-skeleton:after{content:"\10f620"}.fad.fa-ski-jump:after{content:"\10f7c7"}.fad.fa-ski-lift:after{content:"\10f7c8"}.fad.fa-skiing:after{content:"\10f7c9"}.fad.fa-skiing-nordic:after{content:"\10f7ca"}.fad.fa-skull:after{content:"\10f54c"}.fad.fa-skull-cow:after{content:"\10f8de"}.fad.fa-skull-crossbones:after{content:"\10f714"}.fad.fa-slash:after{content:"\10f715"}.fad.fa-sledding:after{content:"\10f7cb"}.fad.fa-sleigh:after{content:"\10f7cc"}.fad.fa-sliders-h:after{content:"\10f1de"}.fad.fa-sliders-h-square:after{content:"\10f3f0"}.fad.fa-sliders-v:after{content:"\10f3f1"}.fad.fa-sliders-v-square:after{content:"\10f3f2"}.fad.fa-smile:after{content:"\10f118"}.fad.fa-smile-beam:after{content:"\10f5b8"}.fad.fa-smile-plus:after{content:"\10f5b9"}.fad.fa-smile-wink:after{content:"\10f4da"}.fad.fa-smog:after{content:"\10f75f"}.fad.fa-smoke:after{content:"\10f760"}.fad.fa-smoking:after{content:"\10f48d"}.fad.fa-smoking-ban:after{content:"\10f54d"}.fad.fa-sms:after{content:"\10f7cd"}.fad.fa-snake:after{content:"\10f716"}.fad.fa-snooze:after{content:"\10f880"}.fad.fa-snow-blowing:after{content:"\10f761"}.fad.fa-snowboarding:after{content:"\10f7ce"}.fad.fa-snowflake:after{content:"\10f2dc"}.fad.fa-snowflakes:after{content:"\10f7cf"}.fad.fa-snowman:after{content:"\10f7d0"}.fad.fa-snowmobile:after{content:"\10f7d1"}.fad.fa-snowplow:after{content:"\10f7d2"}.fad.fa-socks:after{content:"\10f696"}.fad.fa-solar-panel:after{content:"\10f5ba"}.fad.fa-solar-system:after{content:"\10f92f"}.fad.fa-sort:after{content:"\10f0dc"}.fad.fa-sort-alpha-down:after{content:"\10f15d"}.fad.fa-sort-alpha-down-alt:after{content:"\10f881"}.fad.fa-sort-alpha-up:after{content:"\10f15e"}.fad.fa-sort-alpha-up-alt:after{content:"\10f882"}.fad.fa-sort-alt:after{content:"\10f883"}.fad.fa-sort-amount-down:after{content:"\10f160"}.fad.fa-sort-amount-down-alt:after{content:"\10f884"}.fad.fa-sort-amount-up:after{content:"\10f161"}.fad.fa-sort-amount-up-alt:after{content:"\10f885"}.fad.fa-sort-circle:after{content:"\10f930"}.fad.fa-sort-circle-down:after{content:"\10f931"}.fad.fa-sort-circle-up:after{content:"\10f932"}.fad.fa-sort-down:after{content:"\10f0dd"}.fad.fa-sort-numeric-down:after{content:"\10f162"}.fad.fa-sort-numeric-down-alt:after{content:"\10f886"}.fad.fa-sort-numeric-up:after{content:"\10f163"}.fad.fa-sort-numeric-up-alt:after{content:"\10f887"}.fad.fa-sort-shapes-down:after{content:"\10f888"}.fad.fa-sort-shapes-down-alt:after{content:"\10f889"}.fad.fa-sort-shapes-up:after{content:"\10f88a"}.fad.fa-sort-shapes-up-alt:after{content:"\10f88b"}.fad.fa-sort-size-down:after{content:"\10f88c"}.fad.fa-sort-size-down-alt:after{content:"\10f88d"}.fad.fa-sort-size-up:after{content:"\10f88e"}.fad.fa-sort-size-up-alt:after{content:"\10f88f"}.fad.fa-sort-up:after{content:"\10f0de"}.fad.fa-soup:after{content:"\10f823"}.fad.fa-spa:after{content:"\10f5bb"}.fad.fa-space-shuttle:after{content:"\10f197"}.fad.fa-space-station-moon:after{content:"\10f933"}.fad.fa-space-station-moon-alt:after{content:"\10f934"}.fad.fa-spade:after{content:"\10f2f4"}.fad.fa-sparkles:after{content:"\10f890"}.fad.fa-speaker:after{content:"\10f8df"}.fad.fa-speakers:after{content:"\10f8e0"}.fad.fa-spell-check:after{content:"\10f891"}.fad.fa-spider:after{content:"\10f717"}.fad.fa-spider-black-widow:after{content:"\10f718"}.fad.fa-spider-web:after{content:"\10f719"}.fad.fa-spinner:after{content:"\10f110"}.fad.fa-spinner-third:after{content:"\10f3f4"}.fad.fa-splotch:after{content:"\10f5bc"}.fad.fa-spray-can:after{content:"\10f5bd"}.fad.fa-sprinkler:after{content:"\10f935"}.fad.fa-square:after{content:"\10f0c8"}.fad.fa-square-full:after{content:"\10f45c"}.fad.fa-square-root:after{content:"\10f697"}.fad.fa-square-root-alt:after{content:"\10f698"}.fad.fa-squirrel:after{content:"\10f71a"}.fad.fa-staff:after{content:"\10f71b"}.fad.fa-stamp:after{content:"\10f5bf"}.fad.fa-star:after{content:"\10f005"}.fad.fa-star-and-crescent:after{content:"\10f699"}.fad.fa-star-christmas:after{content:"\10f7d4"}.fad.fa-star-exclamation:after{content:"\10f2f3"}.fad.fa-star-half:after{content:"\10f089"}.fad.fa-star-half-alt:after{content:"\10f5c0"}.fad.fa-star-of-david:after{content:"\10f69a"}.fad.fa-star-of-life:after{content:"\10f621"}.fad.fa-star-shooting:after{content:"\10f936"}.fad.fa-starfighter:after{content:"\10f937"}.fad.fa-starfighter-alt:after{content:"\10f938"}.fad.fa-stars:after{content:"\10f762"}.fad.fa-starship:after{content:"\10f939"}.fad.fa-starship-freighter:after{content:"\10f93a"}.fad.fa-steak:after{content:"\10f824"}.fad.fa-steering-wheel:after{content:"\10f622"}.fad.fa-step-backward:after{content:"\10f048"}.fad.fa-step-forward:after{content:"\10f051"}.fad.fa-stethoscope:after{content:"\10f0f1"}.fad.fa-sticky-note:after{content:"\10f249"}.fad.fa-stocking:after{content:"\10f7d5"}.fad.fa-stomach:after{content:"\10f623"}.fad.fa-stop:after{content:"\10f04d"}.fad.fa-stop-circle:after{content:"\10f28d"}.fad.fa-stopwatch:after{content:"\10f2f2"}.fad.fa-store:after{content:"\10f54e"}.fad.fa-store-alt:after{content:"\10f54f"}.fad.fa-stream:after{content:"\10f550"}.fad.fa-street-view:after{content:"\10f21d"}.fad.fa-stretcher:after{content:"\10f825"}.fad.fa-strikethrough:after{content:"\10f0cc"}.fad.fa-stroopwafel:after{content:"\10f551"}.fad.fa-subscript:after{content:"\10f12c"}.fad.fa-subway:after{content:"\10f239"}.fad.fa-suitcase:after{content:"\10f0f2"}.fad.fa-suitcase-rolling:after{content:"\10f5c1"}.fad.fa-sun:after{content:"\10f185"}.fad.fa-sun-cloud:after{content:"\10f763"}.fad.fa-sun-dust:after{content:"\10f764"}.fad.fa-sun-haze:after{content:"\10f765"}.fad.fa-sunglasses:after{content:"\10f892"}.fad.fa-sunrise:after{content:"\10f766"}.fad.fa-sunset:after{content:"\10f767"}.fad.fa-superscript:after{content:"\10f12b"}.fad.fa-surprise:after{content:"\10f5c2"}.fad.fa-swatchbook:after{content:"\10f5c3"}.fad.fa-swimmer:after{content:"\10f5c4"}.fad.fa-swimming-pool:after{content:"\10f5c5"}.fad.fa-sword:after{content:"\10f71c"}.fad.fa-sword-laser:after{content:"\10f93b"}.fad.fa-sword-laser-alt:after{content:"\10f93c"}.fad.fa-swords:after{content:"\10f71d"}.fad.fa-swords-laser:after{content:"\10f93d"}.fad.fa-synagogue:after{content:"\10f69b"}.fad.fa-sync:after{content:"\10f021"}.fad.fa-sync-alt:after{content:"\10f2f1"}.fad.fa-syringe:after{content:"\10f48e"}.fad.fa-table:after{content:"\10f0ce"}.fad.fa-table-tennis:after{content:"\10f45d"}.fad.fa-tablet:after{content:"\10f10a"}.fad.fa-tablet-alt:after{content:"\10f3fa"}.fad.fa-tablet-android:after{content:"\10f3fb"}.fad.fa-tablet-android-alt:after{content:"\10f3fc"}.fad.fa-tablet-rugged:after{content:"\10f48f"}.fad.fa-tablets:after{content:"\10f490"}.fad.fa-tachometer:after{content:"\10f0e4"}.fad.fa-tachometer-alt:after{content:"\10f3fd"}.fad.fa-tachometer-alt-average:after{content:"\10f624"}.fad.fa-tachometer-alt-fast:after{content:"\10f625"}.fad.fa-tachometer-alt-fastest:after{content:"\10f626"}.fad.fa-tachometer-alt-slow:after{content:"\10f627"}.fad.fa-tachometer-alt-slowest:after{content:"\10f628"}.fad.fa-tachometer-average:after{content:"\10f629"}.fad.fa-tachometer-fast:after{content:"\10f62a"}.fad.fa-tachometer-fastest:after{content:"\10f62b"}.fad.fa-tachometer-slow:after{content:"\10f62c"}.fad.fa-tachometer-slowest:after{content:"\10f62d"}.fad.fa-taco:after{content:"\10f826"}.fad.fa-tag:after{content:"\10f02b"}.fad.fa-tags:after{content:"\10f02c"}.fad.fa-tally:after{content:"\10f69c"}.fad.fa-tanakh:after{content:"\10f827"}.fad.fa-tape:after{content:"\10f4db"}.fad.fa-tasks:after{content:"\10f0ae"}.fad.fa-tasks-alt:after{content:"\10f828"}.fad.fa-taxi:after{content:"\10f1ba"}.fad.fa-teeth:after{content:"\10f62e"}.fad.fa-teeth-open:after{content:"\10f62f"}.fad.fa-telescope:after{content:"\10f93e"}.fad.fa-temperature-down:after{content:"\10f93f"}.fad.fa-temperature-frigid:after{content:"\10f768"}.fad.fa-temperature-high:after{content:"\10f769"}.fad.fa-temperature-hot:after{content:"\10f76a"}.fad.fa-temperature-low:after{content:"\10f76b"}.fad.fa-temperature-up:after{content:"\10f940"}.fad.fa-tenge:after{content:"\10f7d7"}.fad.fa-tennis-ball:after{content:"\10f45e"}.fad.fa-terminal:after{content:"\10f120"}.fad.fa-text:after{content:"\10f893"}.fad.fa-text-height:after{content:"\10f034"}.fad.fa-text-size:after{content:"\10f894"}.fad.fa-text-width:after{content:"\10f035"}.fad.fa-th:after{content:"\10f00a"}.fad.fa-th-large:after{content:"\10f009"}.fad.fa-th-list:after{content:"\10f00b"}.fad.fa-theater-masks:after{content:"\10f630"}.fad.fa-thermometer:after{content:"\10f491"}.fad.fa-thermometer-empty:after{content:"\10f2cb"}.fad.fa-thermometer-full:after{content:"\10f2c7"}.fad.fa-thermometer-half:after{content:"\10f2c9"}.fad.fa-thermometer-quarter:after{content:"\10f2ca"}.fad.fa-thermometer-three-quarters:after{content:"\10f2c8"}.fad.fa-theta:after{content:"\10f69e"}.fad.fa-thumbs-down:after{content:"\10f165"}.fad.fa-thumbs-up:after{content:"\10f164"}.fad.fa-thumbtack:after{content:"\10f08d"}.fad.fa-thunderstorm:after{content:"\10f76c"}.fad.fa-thunderstorm-moon:after{content:"\10f76d"}.fad.fa-thunderstorm-sun:after{content:"\10f76e"}.fad.fa-ticket:after{content:"\10f145"}.fad.fa-ticket-alt:after{content:"\10f3ff"}.fad.fa-tilde:after{content:"\10f69f"}.fad.fa-times:after{content:"\10f00d"}.fad.fa-times-circle:after{content:"\10f057"}.fad.fa-times-hexagon:after{content:"\10f2ee"}.fad.fa-times-octagon:after{content:"\10f2f0"}.fad.fa-times-square:after{content:"\10f2d3"}.fad.fa-tint:after{content:"\10f043"}.fad.fa-tint-slash:after{content:"\10f5c7"}.fad.fa-tire:after{content:"\10f631"}.fad.fa-tire-flat:after{content:"\10f632"}.fad.fa-tire-pressure-warning:after{content:"\10f633"}.fad.fa-tire-rugged:after{content:"\10f634"}.fad.fa-tired:after{content:"\10f5c8"}.fad.fa-toggle-off:after{content:"\10f204"}.fad.fa-toggle-on:after{content:"\10f205"}.fad.fa-toilet:after{content:"\10f7d8"}.fad.fa-toilet-paper:after{content:"\10f71e"}.fad.fa-toilet-paper-alt:after{content:"\10f71f"}.fad.fa-tombstone:after{content:"\10f720"}.fad.fa-tombstone-alt:after{content:"\10f721"}.fad.fa-toolbox:after{content:"\10f552"}.fad.fa-tools:after{content:"\10f7d9"}.fad.fa-tooth:after{content:"\10f5c9"}.fad.fa-toothbrush:after{content:"\10f635"}.fad.fa-torah:after{content:"\10f6a0"}.fad.fa-torii-gate:after{content:"\10f6a1"}.fad.fa-tornado:after{content:"\10f76f"}.fad.fa-tractor:after{content:"\10f722"}.fad.fa-trademark:after{content:"\10f25c"}.fad.fa-traffic-cone:after{content:"\10f636"}.fad.fa-traffic-light:after{content:"\10f637"}.fad.fa-traffic-light-go:after{content:"\10f638"}.fad.fa-traffic-light-slow:after{content:"\10f639"}.fad.fa-traffic-light-stop:after{content:"\10f63a"}.fad.fa-trailer:after{content:"\10f941"}.fad.fa-train:after{content:"\10f238"}.fad.fa-tram:after{content:"\10f7da"}.fad.fa-transgender:after{content:"\10f224"}.fad.fa-transgender-alt:after{content:"\10f225"}.fad.fa-transporter:after{content:"\10f942"}.fad.fa-transporter-1:after{content:"\10f943"}.fad.fa-transporter-2:after{content:"\10f944"}.fad.fa-transporter-3:after{content:"\10f945"}.fad.fa-transporter-empty:after{content:"\10f946"}.fad.fa-trash:after{content:"\10f1f8"}.fad.fa-trash-alt:after{content:"\10f2ed"}.fad.fa-trash-restore:after{content:"\10f829"}.fad.fa-trash-restore-alt:after{content:"\10f82a"}.fad.fa-trash-undo:after{content:"\10f895"}.fad.fa-trash-undo-alt:after{content:"\10f896"}.fad.fa-treasure-chest:after{content:"\10f723"}.fad.fa-tree:after{content:"\10f1bb"}.fad.fa-tree-alt:after{content:"\10f400"}.fad.fa-tree-christmas:after{content:"\10f7db"}.fad.fa-tree-decorated:after{content:"\10f7dc"}.fad.fa-tree-large:after{content:"\10f7dd"}.fad.fa-tree-palm:after{content:"\10f82b"}.fad.fa-trees:after{content:"\10f724"}.fad.fa-triangle:after{content:"\10f2ec"}.fad.fa-triangle-music:after{content:"\10f8e2"}.fad.fa-trophy:after{content:"\10f091"}.fad.fa-trophy-alt:after{content:"\10f2eb"}.fad.fa-truck:after{content:"\10f0d1"}.fad.fa-truck-container:after{content:"\10f4dc"}.fad.fa-truck-couch:after{content:"\10f4dd"}.fad.fa-truck-loading:after{content:"\10f4de"}.fad.fa-truck-monster:after{content:"\10f63b"}.fad.fa-truck-moving:after{content:"\10f4df"}.fad.fa-truck-pickup:after{content:"\10f63c"}.fad.fa-truck-plow:after{content:"\10f7de"}.fad.fa-truck-ramp:after{content:"\10f4e0"}.fad.fa-trumpet:after{content:"\10f8e3"}.fad.fa-tshirt:after{content:"\10f553"}.fad.fa-tty:after{content:"\10f1e4"}.fad.fa-turkey:after{content:"\10f725"}.fad.fa-turntable:after{content:"\10f8e4"}.fad.fa-turtle:after{content:"\10f726"}.fad.fa-tv:after{content:"\10f26c"}.fad.fa-tv-alt:after{content:"\10f8e5"}.fad.fa-tv-music:after{content:"\10f8e6"}.fad.fa-tv-retro:after{content:"\10f401"}.fad.fa-typewriter:after{content:"\10f8e7"}.fad.fa-ufo:after{content:"\10f947"}.fad.fa-ufo-beam:after{content:"\10f948"}.fad.fa-umbrella:after{content:"\10f0e9"}.fad.fa-umbrella-beach:after{content:"\10f5ca"}.fad.fa-underline:after{content:"\10f0cd"}.fad.fa-undo:after{content:"\10f0e2"}.fad.fa-undo-alt:after{content:"\10f2ea"}.fad.fa-unicorn:after{content:"\10f727"}.fad.fa-union:after{content:"\10f6a2"}.fad.fa-universal-access:after{content:"\10f29a"}.fad.fa-university:after{content:"\10f19c"}.fad.fa-unlink:after{content:"\10f127"}.fad.fa-unlock:after{content:"\10f09c"}.fad.fa-unlock-alt:after{content:"\10f13e"}.fad.fa-upload:after{content:"\10f093"}.fad.fa-usb-drive:after{content:"\10f8e9"}.fad.fa-usd-circle:after{content:"\10f2e8"}.fad.fa-usd-square:after{content:"\10f2e9"}.fad.fa-user:after{content:"\10f007"}.fad.fa-user-alien:after{content:"\10f94a"}.fad.fa-user-alt:after{content:"\10f406"}.fad.fa-user-alt-slash:after{content:"\10f4fa"}.fad.fa-user-astronaut:after{content:"\10f4fb"}.fad.fa-user-chart:after{content:"\10f6a3"}.fad.fa-user-check:after{content:"\10f4fc"}.fad.fa-user-circle:after{content:"\10f2bd"}.fad.fa-user-clock:after{content:"\10f4fd"}.fad.fa-user-cog:after{content:"\10f4fe"}.fad.fa-user-cowboy:after{content:"\10f8ea"}.fad.fa-user-crown:after{content:"\10f6a4"}.fad.fa-user-edit:after{content:"\10f4ff"}.fad.fa-user-friends:after{content:"\10f500"}.fad.fa-user-graduate:after{content:"\10f501"}.fad.fa-user-hard-hat:after{content:"\10f82c"}.fad.fa-user-headset:after{content:"\10f82d"}.fad.fa-user-injured:after{content:"\10f728"}.fad.fa-user-lock:after{content:"\10f502"}.fad.fa-user-md:after{content:"\10f0f0"}.fad.fa-user-md-chat:after{content:"\10f82e"}.fad.fa-user-minus:after{content:"\10f503"}.fad.fa-user-music:after{content:"\10f8eb"}.fad.fa-user-ninja:after{content:"\10f504"}.fad.fa-user-nurse:after{content:"\10f82f"}.fad.fa-user-plus:after{content:"\10f234"}.fad.fa-user-robot:after{content:"\10f94b"}.fad.fa-user-secret:after{content:"\10f21b"}.fad.fa-user-shield:after{content:"\10f505"}.fad.fa-user-slash:after{content:"\10f506"}.fad.fa-user-tag:after{content:"\10f507"}.fad.fa-user-tie:after{content:"\10f508"}.fad.fa-user-times:after{content:"\10f235"}.fad.fa-user-visor:after{content:"\10f94c"}.fad.fa-users:after{content:"\10f0c0"}.fad.fa-users-class:after{content:"\10f63d"}.fad.fa-users-cog:after{content:"\10f509"}.fad.fa-users-crown:after{content:"\10f6a5"}.fad.fa-users-medical:after{content:"\10f830"}.fad.fa-utensil-fork:after{content:"\10f2e3"}.fad.fa-utensil-knife:after{content:"\10f2e4"}.fad.fa-utensil-spoon:after{content:"\10f2e5"}.fad.fa-utensils:after{content:"\10f2e7"}.fad.fa-utensils-alt:after{content:"\10f2e6"}.fad.fa-vacuum:after{content:"\10f94d"}.fad.fa-vacuum-robot:after{content:"\10f94e"}.fad.fa-value-absolute:after{content:"\10f6a6"}.fad.fa-vector-square:after{content:"\10f5cb"}.fad.fa-venus:after{content:"\10f221"}.fad.fa-venus-double:after{content:"\10f226"}.fad.fa-venus-mars:after{content:"\10f228"}.fad.fa-vhs:after{content:"\10f8ec"}.fad.fa-vial:after{content:"\10f492"}.fad.fa-vials:after{content:"\10f493"}.fad.fa-video:after{content:"\10f03d"}.fad.fa-video-plus:after{content:"\10f4e1"}.fad.fa-video-slash:after{content:"\10f4e2"}.fad.fa-vihara:after{content:"\10f6a7"}.fad.fa-violin:after{content:"\10f8ed"}.fad.fa-voicemail:after{content:"\10f897"}.fad.fa-volcano:after{content:"\10f770"}.fad.fa-volleyball-ball:after{content:"\10f45f"}.fad.fa-volume:after{content:"\10f6a8"}.fad.fa-volume-down:after{content:"\10f027"}.fad.fa-volume-mute:after{content:"\10f6a9"}.fad.fa-volume-off:after{content:"\10f026"}.fad.fa-volume-slash:after{content:"\10f2e2"}.fad.fa-volume-up:after{content:"\10f028"}.fad.fa-vote-nay:after{content:"\10f771"}.fad.fa-vote-yea:after{content:"\10f772"}.fad.fa-vr-cardboard:after{content:"\10f729"}.fad.fa-wagon-covered:after{content:"\10f8ee"}.fad.fa-walker:after{content:"\10f831"}.fad.fa-walkie-talkie:after{content:"\10f8ef"}.fad.fa-walking:after{content:"\10f554"}.fad.fa-wallet:after{content:"\10f555"}.fad.fa-wand:after{content:"\10f72a"}.fad.fa-wand-magic:after{content:"\10f72b"}.fad.fa-warehouse:after{content:"\10f494"}.fad.fa-warehouse-alt:after{content:"\10f495"}.fad.fa-washer:after{content:"\10f898"}.fad.fa-watch:after{content:"\10f2e1"}.fad.fa-watch-calculator:after{content:"\10f8f0"}.fad.fa-watch-fitness:after{content:"\10f63e"}.fad.fa-water:after{content:"\10f773"}.fad.fa-water-lower:after{content:"\10f774"}.fad.fa-water-rise:after{content:"\10f775"}.fad.fa-wave-sine:after{content:"\10f899"}.fad.fa-wave-square:after{content:"\10f83e"}.fad.fa-wave-triangle:after{content:"\10f89a"}.fad.fa-waveform:after{content:"\10f8f1"}.fad.fa-waveform-path:after{content:"\10f8f2"}.fad.fa-webcam:after{content:"\10f832"}.fad.fa-webcam-slash:after{content:"\10f833"}.fad.fa-weight:after{content:"\10f496"}.fad.fa-weight-hanging:after{content:"\10f5cd"}.fad.fa-whale:after{content:"\10f72c"}.fad.fa-wheat:after{content:"\10f72d"}.fad.fa-wheelchair:after{content:"\10f193"}.fad.fa-whistle:after{content:"\10f460"}.fad.fa-wifi:after{content:"\10f1eb"}.fad.fa-wifi-1:after{content:"\10f6aa"}.fad.fa-wifi-2:after{content:"\10f6ab"}.fad.fa-wifi-slash:after{content:"\10f6ac"}.fad.fa-wind:after{content:"\10f72e"}.fad.fa-wind-turbine:after{content:"\10f89b"}.fad.fa-wind-warning:after{content:"\10f776"}.fad.fa-window:after{content:"\10f40e"}.fad.fa-window-alt:after{content:"\10f40f"}.fad.fa-window-close:after{content:"\10f410"}.fad.fa-window-frame:after{content:"\10f94f"}.fad.fa-window-frame-open:after{content:"\10f950"}.fad.fa-window-maximize:after{content:"\10f2d0"}.fad.fa-window-minimize:after{content:"\10f2d1"}.fad.fa-window-restore:after{content:"\10f2d2"}.fad.fa-windsock:after{content:"\10f777"}.fad.fa-wine-bottle:after{content:"\10f72f"}.fad.fa-wine-glass:after{content:"\10f4e3"}.fad.fa-wine-glass-alt:after{content:"\10f5ce"}.fad.fa-won-sign:after{content:"\10f159"}.fad.fa-wreath:after{content:"\10f7e2"}.fad.fa-wrench:after{content:"\10f0ad"}.fad.fa-x-ray:after{content:"\10f497"}.fad.fa-yen-sign:after{content:"\10f157"}.fad.fa-yin-yang:after{content:"\10f6ad"}@font-face{font-family:'font awesome 5 pro';font-style:normal;font-weight:300;font-display:auto;src:url(../fonts/fa-light-300.eot);src:url(../fonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-light-300.woff2) format("woff2"),url(../fonts/fa-light-300.woff) format("woff"),url(../fonts/fa-light-300.ttf) format("truetype"),url(../fonts/fa-light-300.svg#fontawesome) format("svg")}.fal{font-family:'font awesome 5 pro'!important;;font-weight:300}@font-face{font-family:'font awesome 5 pro';font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:'font awesome 5 pro'!important;;font-weight:400}@font-face{font-family:'font awesome 5 pro';font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:'font awesome 5 pro'!important;font-weight:900} diff --git a/files/assets/CHRISTMAS/css/light.css b/files/assets/CHRISTMAS/css/light.css new file mode 100644 index 000000000..ce74744b7 --- /dev/null +++ b/files/assets/CHRISTMAS/css/light.css @@ -0,0 +1,80 @@ +@charset "UTF-8"; + + +:root { + --dark: #c7c7c7; + --secondary: #c7c7c7; + --gray: #c7c7c7; + --gray-300: #c7c7c7; + --gray-400: #cfcfcf; + --gray-500: #ffffff; + --gray-600: #ffffff; + --gray-700: #ffffff; + --gray-800: #ffffff; + --gray-900: #ffffff; + --light: #ffffff; + --muted: #1e1e1e; + --gray-100: #1e1e1e; + --gray-200: #1e1e1e; + --white: #1e1e1e; + --black: #303030; +} + +* { + border-color: var(--primary); +} + +.border { + border-color: var(--primary) !important; +} + +.form-control { + background: transparent; + border-color: var(--primary) !important; +} + +.btn { + background: transparent; + border-color: var(--primary) !important; +} + +.form-control:disabled, .form-control[readonly] { + background: transparent; + border-color: var(--primary) !important; +} + +.btn-success { + border-color: #38A169 !important; +} + +.btn-danger { + border-color: #E53E3E !important; +} + +#frontpage .pseudo-submit-form.card .card-body .form-control { + border-color: transparent !important; +} + +.btn-lg { + border-color: transparent !important; +} + +pre { + color: #CFCFCF; +} + +.transparent { + background: None !important; +} + +#frontpage .post-title a:visited { + color: #7a7a7a !important; +} + +blockquote { + color: var(--gray-400); +} + +#profilestuff > * { + color: var(--gray-400) !important; +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/css/lite-youtube.css b/files/assets/CHRISTMAS/css/lite-youtube.css new file mode 100644 index 000000000..7ac3380a0 --- /dev/null +++ b/files/assets/CHRISTMAS/css/lite-youtube.css @@ -0,0 +1,83 @@ +lite-youtube { + background-color: #000; + position: relative; + display: block; + contain: content; + background-position: center center; + background-size: cover; + cursor: pointer; + max-width: 720px; +} + +/* gradient */ +lite-youtube::before { + content: ''; + display: block; + position: absolute; + top: 0; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==); + background-position: top; + background-repeat: repeat-x; + height: 60px; + padding-bottom: 50px; + width: 100%; + transition: all 0.2s cubic-bezier(0, 0, 0.2, 1); +} + +lite-youtube::after { + content: ""; + display: block; + padding-bottom: calc(100% / (16 / 9)); +} +lite-youtube > iframe { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + border: 0; +} + +lite-youtube > .lty-playbtn { + width: 100px; + height: 100px; + position: absolute; + cursor: pointer; + transform: translate3d(-50%, -50%, 0); + top: 50%; + left: 50%; + z-index: 1; + background-color: transparent; + background-image: url('/assets/CHRISTMAS/images/youtube.webp?v=1'); + transition: filter .1s cubic-bezier(0, 0, 0.2, 1); + border: none; +} + +lite-youtube:hover > .lty-playbtn, +lite-youtube .lty-playbtn:focus { + filter: none; +} + +/* Post-click styles */ +lite-youtube.lyt-activated { + cursor: unset; +} +lite-youtube.lyt-activated::before, +lite-youtube.lyt-activated > .lty-playbtn { + opacity: 0; + pointer-events: none; +} + +.lyt-visually-hidden { + clip: rect(0 0 0 0); + clip-path: inset(50%); + height: 1px; + overflow: hidden; + position: absolute; + white-space: nowrap; + width: 1px; + } + +.ytp-pause-overlay-controls-hidden .ytp-pause-overlay { + display: none!important; +} \ No newline at end of file diff --git a/files/assets/css/main-deprecated.css b/files/assets/CHRISTMAS/css/main-deprecated.css similarity index 100% rename from files/assets/css/main-deprecated.css rename to files/assets/CHRISTMAS/css/main-deprecated.css diff --git a/files/assets/CHRISTMAS/css/main.css b/files/assets/CHRISTMAS/css/main.css new file mode 100644 index 000000000..1ebc12369 --- /dev/null +++ b/files/assets/CHRISTMAS/css/main.css @@ -0,0 +1,4756 @@ +@charset "UTF-8"; + +/*@import url('https://fonts.googleapis.com/css?family=Roboto:400,500&display=swap'); +@tailwind base; +@tailwind components; +@tailwind utilities;*/ + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, 'Tahoma', "Segoe UI", Roboto, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"!important; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, 'Tahoma', "Segoe UI", Roboto, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"!important; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-bs-original-title] { + text-decoration: underline; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 600; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: 700; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/*a { + color: var(--primary); + text-decoration: none; + background-color: transparent; +}*/ +/*a:hover { + color: var(--primary); + text-decoration: underline; +}*/ + +a:not([href]) { + color: inherit; + text-decoration: none; +} +a:not([href]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +/*label { + display: inline-block; + margin-bottom: 0.5rem; +}*/ + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +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; +} + +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type=radio], +input[type=checkbox] { + box-sizing: border-box; + padding: 0; +} + +input[type=date], +input[type=time], +input[type=month] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 600; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 0.75rem; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +input[type=submit].btn-block, +input[type=reset].btn-block, +input[type=button].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } +} +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] { + right: auto; + bottom: auto; +} + +/*.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: var(--primary); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +}*/ + +.dropdown-menu.show { + display: block; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control { + position: relative; + flex: 1 1 0%; + min-width: 0; + margin-bottom: 0; +} +.input-group > .form-control + .form-control { + margin-left: -1px; +} +.input-group > .form-control:focus { + z-index: 3; +} +.input-group > .form-control:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > .form-control:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + + +.input-group-append { + display: flex; +} + +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid var(--gray-400); + border-radius: 4px; +} +.input-group-text input[type=radio], +.input-group-text input[type=checkbox] { + margin-top: 0; +} + + +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: var(--primary); + background-color: var(--primary); +} +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50%/50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 4px; +} +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: var(--primary); + background-color: var(--primary); +} +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + border-radius: 0.5rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + transform: translateX(0.75rem); +} +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-control-label::before { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before { + transition: none; + } +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-pills .nav-link { + border-radius: 4px; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: var(--primary); +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; +} +.navbar .container, +.navbar .container-fluid { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-flow: row 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-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-flow: row 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-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-brand { + color: #fff; +} +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 4px; +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; +} +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.35rem; + border-bottom-left-radius: 0.35rem; +} + +.card-body { + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} +.card-header:first-child { + border-radius: calc(0.35rem - 1px) calc(0.35rem - 1px) 0 0; +} +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} +.card-footer:last-child { + border-radius: 0 0 calc(0.35rem - 1px) calc(0.35rem - 1px); +} + + +.card-img-top { + flex-shrink: 0; + width: 100%; +} + + +.card-img-top { + border-top-left-radius: calc(0.35rem - 1px); + border-top-right-radius: calc(0.35rem - 1px); +} + +.card-columns .card { + margin-bottom: 0.75rem; +} +@media (min-width: 576px) { + .card-columns { + column-count: 3; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 4px; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: var(--primary); + background-color: #fff; + border: 1px solid #dee2e6; +} +.page-link:hover { + z-index: 2; + color: var(--primary); + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.35rem; + border-bottom-left-radius: 0.35rem; +} +.page-item:last-child .page-link { + border-top-right-radius: 0.35rem; + border-bottom-right-radius: 0.35rem; +} +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: var(--primary); + border-color: var(--primary); +} +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 4px; +} + +.alert-link { + font-weight: 600; +} + +.alert-dismissible { + padding-right: 4rem; +} +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} +.alert-success hr { + border-top-color: #b1dfbb; +} +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} +.alert-warning hr { + border-top-color: #ffe8a1; +} +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} +.alert-danger hr { + border-top-color: #f1b0b7; +} +.alert-danger .alert-link { + color: #491217; +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.media { + display: flex; + align-items: flex-start; +} + +.media-body { + flex: 1; +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.list-group-item:first-child { + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; +} +.list-group-item:last-child { + border-bottom-right-radius: 0.35rem; + border-bottom-left-radius: 0.35rem; +} +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: var(--primary); + border-color: var(--primary); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 600; + line-height: 1; + color: #fff; + opacity: 0.5; +} +.close:hover { + color: #000; + text-decoration: none; +} +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: 0.75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + appearance: none; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + /*background-color: rgba(255, 255, 255, 0.85);*/ + background-clip: padding-box; + /*border: 1px solid rgba(0, 0, 0, 0.1);*/ + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + /*backdrop-filter: blur(10px);*/ + opacity: 0; + border-radius: 0.25rem; +} +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} +.toast.showing { + opacity: 1; +} +.toast.show { + display: block; + opacity: 1; +} +.toast.hide { + display: none; +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); +} +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} +.modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; +} +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid var(--gray-400); + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid var(--gray-400); + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} +.modal-footer > * { + margin: 0.25rem; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } +} +@media (min-width: 992px) { + + .modal-xl { + max-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: 1; +} +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left) { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right) { + transform: translateX(-100%); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} +.carousel-indicators li { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +@keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + } +} + + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +/*.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + + +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + + +.mx-4 { + margin-left: 1.5rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.mb-6 { + margin-bottom: 3.5rem !important; +} + + +.my-8 { + margin-top: 10rem !important; +} + + +.my-8 { + margin-bottom: 10rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + + +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + + +.py-4 { + padding-bottom: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + + +.py-5 { + padding-top: 3rem !important; +} + + +.py-5 { + padding-bottom: 3rem !important; +} + + +.py-7 { + padding-top: 5rem !important; +} + + +.py-7 { + padding-bottom: 5rem !important; +} + +.mt-n3 { + margin-top: -1rem !important; +} + +.mt-n6 { + margin-top: -3.5rem !important; +} + +.m-auto { + margin: auto !important; +}*/ + +/*.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +}*/ + + +@media print { + *, + *::before, + *::after { + box-shadow: none !important; + } + + a:not(.btn) { + text-decoration: underline; + } + + abbr[title]::after { + content: " (" attr(title) ")"; + } + + pre { + white-space: pre-wrap !important; + } + + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + + thead { + display: table-header-group; + } + + tr, + img { + page-break-inside: avoid; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + @page { + size: a3; + } + body { + min-width: 992px !important; + } + + .container { + min-width: 992px !important; + } + + .navbar { + display: none; + } + + .badge { + border: 1px solid #000; + } + + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + + .table .thead-dark th { + color: inherit; + border-color: var(--gray-400); + } +} +html { + font-size: 14px; +} + +@supports (font-variation-settings: normal) { + html { + font-family: "Inter var", sans-serif; + } +} +/*body { + color: var(--black); + padding-top: 49px; + background-color: var(--gray-700); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +}*/ + +@media (min-width: 1200px) { + .container { + max-width: 1300px; + } +} +p { + font-size: 14px; +} + +pre { + white-space: pre-wrap; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; +} + +#settings, #submit { + padding-top: 98px; + background-color: var(--gray-600); +} + +#page { + padding-top: 49px; + background-color: var(--gray-700); +} + +#article { + padding-top: 0; + background-color: var(--gray-700); +} + +#thread, #userpage { + background-color: var(--gray-700); +} + +#article .navbar-light .navbar-nav .nav-link { + color: var(--black); +} + +#article .navbar-light .navbar-nav .nav-link:hover { + background-color: transparent; + color: var(--primary); +} + +#article .navbar-light .navbar-nav .nav-link:focus { + background-color: transparent; + color: var(--primary); +} + +.article-title { + margin-bottom: 3rem; + font-weight: 600; + line-height: 3rem; + margin-top: 2rem; +} + +#page p { + font-size: 16px; +} + +a.dropdown-toggle:hover { + text-decoration: none; +} + +.comment-text ul li ul { + padding-left: 0; +} + +ul.no-bullets { + list-style-type: none; +} + +ol > li { + list-style-type: none; + counter-increment: count; + margin-bottom: 0.75rem; +} + +ol > li::before { + content: counter(count) "."; + font-weight: 600; + margin-right: 0.5rem; +} + +.footer .list-inline-item:not(:last-child) { + margin-right: 1.5rem; +} + +[data-bs-toggle=collapse] .fa:before { + content: "\f139"; +} + +[data-bs-toggle=collapse].collapsed .fa:before { + content: "\f13a"; +} + +.btn { + font-weight: 600; + font-size: 1rem; + border-radius: 0.2rem; +} + +.btn-lg { + font-size: 1rem; +} + +.btn.disabled, .btn:disabled { + opacity: 0.5; +} + +.btn-success, .btn-danger { + color: var(--white); +} + +.btn.login, .btn.register { + height: calc(1.5em + 0.75rem + 2px); + border-radius: 4px; +} + +.tooltip { + font-weight: 600; +} + +/*.tooltip-inner { + background-color: var(--black); + color: var(--white); +}*/ + +.alert { + padding: 0.5rem 1rem; +} + +.alert-dismissible .close { + padding: 0.5rem 1.25rem; + bottom: 0; +} + +.alert-dismissible .close .fa, .alert-dismissible .close .fas, .alert-dismissible .close .far, .alert-dismissible .close .fab { + margin-right: 0rem; +} + +.alert .fa, .alert .fas, .alert .far, .alert .fab { + margin-right: 0.5rem; +} + +.toast { + font-size: 1rem; + font-weight: 600; + color: var(--black); + border: 0; + display: none; + position: fixed; + bottom: 1.5rem; + margin: 0 auto; + left: 1.5rem; + right: 0; + width: 300px; + z-index: 1041; + background-color: var(--dark); +} + +.navbar-light { + background-color: var(--gray-500) !important; + box-shadow: 0 0.1px 2px rgba(0, 0, 0, 0.15), 0 0 2px rgba(0, 0, 0, 0.1) !important; +} + +.navbar-toggler-icon { + width: auto; + height: auto; +} + +.navbar-toggler-icon, .navbar-dark .navbar-toggler-icon, .navbar-light .navbar-toggler-icon { + background: transparent; +} + +.navbar-toggler, .navbar-dark .navbar-toggler, .navbar-light .navbar-toggler { + border: none; +} + +.navbar-expand-md .navbar-nav .nav-link { + padding-left: 1rem; + padding-right: 1rem; +} + +#page .navbar-light .navbar-nav .nav-link { + color: var(--dark); +} + +#page .navbar-light .navbar-nav .nav-link:hover { + background-color: transparent; + color: var(--primary); +} + +.navbar-brand, .navbar-light .navbar-brand { + color: var(--primary); + font-weight: 600; +} + +.navbar-dark .navbar-brand { + color: var(--white); +} + +.navbar .text-white { + color: var(--white); +} + +.tab-bar { + box-shadow: inset 0 -0.1px 0 var(--gray-400); + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; + padding: 0.75rem 1rem 0 1rem; + background-color: var(--light); + z-index: 5; +} + +.navbar-nav .nav-link { + padding: 0.25rem 0.5rem; +} + +.navbar-expand-md .navbar-nav .nav-link { + padding: 0.25rem 0.5rem; +} + +.navbar-light .navbar-nav .nav-link, .navbar-light .navbar-nav .nav-link:hover { + color: var(--black); +} + +.navbar-light .navbar-nav .nav-link:hover { + border-radius: 4px; +} + +.navbar-light .navbar-nav .nav-link:focus { + background-color: rgba(0, 0, 0, 0.15); + border-radius: 4px; +} + +.navbar-light .navbar-nav .nav-link:active .fa, .navbar-light .navbar-nav .nav-link:active .fas, .navbar-light .navbar-nav .nav-link:active .far, .navbar-light .navbar-nav .nav-link:active .fab { + color: var(--primary); + text-align: center; + font-size: 1rem; +} + +.navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { + color: var(--white); + text-align: center; + font-size: 1rem; +} + +.navbar-light .navbar-nav .btn-primary.nav-link { + color: var(--white); +} + +.navbar-dark .navbar-nav .nav-link { + color: var(--white); +} + +.navbar-dark .navbar-nav .nav-link:hover { + background-color: rgba(0, 0, 0, 0.15); + border-radius: 4px; +} + +.navbar-dark .navbar-nav .show > .nav-link:focus, .navbar-dark .navbar-nav .show > .nav-link:active, .navbar-dark .navbar-nav .show > .nav-link:hover { + background-color: var(--light); + border-radius: 4px; +} + +.navbar-dark .navbar-nav .nav-link .fa, .navbar-dark .navbar-nav .nav-link .fas, .navbar-dark .navbar-nav .nav-link .far, .navbar-dark .navbar-nav .nav-link .fab { + color: var(--white); + text-align: center; + font-size: 1.25rem; +} + +.navbar-dark .navbar-nav .show > .nav-link:focus .fa, .navbar-dark .navbar-nav .show > .nav-link:focus .fas, .navbar-dark .navbar-nav .show > .nav-link:focus .far, .navbar-dark .navbar-nav .show > .nav-link:focus .fab { + color: var(--black); +} + +.navbar-dark .navbar-nav .nav-link:hover:active .fa, .navbar-dark .navbar-nav .nav-link:hover:active .fas, .navbar-dark .navbar-nav .nav-link:hover:active .far, .navbar-dark .navbar-nav .nav-link:hover:active .fab { + color: var(--white); +} + +.post-nav .nav-link { + color: var(--muted); + font-size: 1rem; + font-weight: 600; + padding: 0.75rem 1rem; +} + +.settings-nav .nav-link { + color: var(--gray-200); + font-size: 1rem; + font-weight: 400; + padding: 0.75rem 1rem; +} + +.post-nav > .nav-item > .nav-link.active { + color: var(--primary); +} + +.settings-nav > .nav-item > .nav-link.active { + color: var(--primary); + box-shadow: inset 0 -2px 0 var(--primary); +} + +.post-nav .nav-link:hover, .post-nav .nav-link:focus, .settings-nav .nav-link:hover, .settings-nav .nav-link:focus { + color: var(--primary); +} + +.post-nav .nav-link:hover .fa, .post-nav .nav-link:focus .fa, .post-nav .nav-link:hover .fas, .post-nav .nav-link:focus .fas, .post-nav .nav-link:hover .far, .post-nav .nav-link:focus .far, .post-nav .nav-link:hover .fab, .post-nav .nav-link:focus .fab { + color: var(--primary); +} + +.post-nav > .nav-item > .nav-link.active .fa, .post-nav > .nav-item > .nav-link.active .fas, .post-nav > .nav-item > .nav-link.active .far, .post-nav > .nav-item > .nav-link.active .fab { + color: var(--primary); +} + +.post-nav .fa, .post-nav .fas, .post-nav .far, .post-nav .fab, .post-nav .fal { + font-size: 12px; + margin-right: 0.5rem; + color: var(--muted); +} + +.settings-nav > .nav-item > .nav-link.active { + color: var(--primary); + box-shadow: inset 0 -2px 0 var(--primary); +} + +.settings-nav > .nav-item > .nav-link.active .fa, .settings-nav > .nav-item > .nav-link.active .fas, .settings-nav > .nav-item > .nav-link.active .far, .settings-nav > .nav-item > .nav-link.active .fab { + color: var(--primary); +} + +.settings-nav .fa, .settings-nav .fas, .settings-nav .far, .settings-nav .fab, .settings-nav .fal { + font-size: 16px; + color: var(--muted); +} + +.color-picker input[type=radio] { + display: none; +} + +label.color-radio { + display: inline-block; + width: 25px; + height: 25px; + margin: 0.5rem 1rem 0.5rem 0; + cursor: pointer; +} + +label.color-radio span { + display: block; + width: 100%; + height: 100%; + border-radius: 100%; + text-align: center; + line-height: 2.25; +} + +#page .nav-pills .nav-link { + border-radius: 0; + font-size: 1rem; + font-weight: 600; + color: var(--muted); + border-bottom: 2px solid transparent; + padding: 1rem 1.5rem; +} + +#page .nav-pills .nav-link:hover { + color: var(--primary); +} + +#page .nav-pills .nav-link.active, .nav-pills .show > .nav-link { + color: var(--primary); + background-color: transparent; + transition: ease 0.25s; + border-bottom: 2px solid var(--primary); +} + +#page .bg-light .nav-pills .nav-link.active, .bg-light .nav-pills .show > .nav-link { + color: var(--primary); + background-color: transparent; + transition: ease 0.25s; + border-bottom: 2px solid var(--primary); +} + +.form-inline.search .form-control:hover, .form-inline.search .form-control:active, .form-inline.search .form-control:focus { + border-color: var(--primary); +} + +.form-inline.search .form-control:active, .form-inline.search .form-control:focus { + background-color: var(--gray-900); + color: var(--black); +} + +.form-inline.search .form-control, +.form-control[readonly] { + background-color: var(--gray-800); + font-size: 1rem; + color: var(--white); +} + +.form-inline.search .input-group-append .input-group-text .fa.fa-search { + color: var(--black); +} + +.form-inline.search .form-control::placeholder { + color: var(--black); +} + +.form-inline.search .form-control::-ms-input-placeholder { + color: var(--black); +} + +.form-inline.search .form-control::-ms-input-placeholder { + color: var(--black); +} + +.form-inline.search .form-control:active::placeholder, .form-inline.search .form-control:focus::placeholder { + color: var(--black); +} + +.form-inline.search .form-control:active::-ms-input-placeholder, .form-inline.search .form-control:focus::-ms-input-placeholder { + color: var(--black); +} + +.form-inline.search .form-control:active::-ms-input-placeholder, .form-inline.search .form-control:focus::-ms-input-placeholder { + color: var(--black); +} + +.form-control { + color: var(--muted); + border-color: var(--muted); + border-width: 2px; + background: #dee2e6; + transition: none; +} + +.form-control:disabled, .form-control[readonly] { + background-color: var(--dark); +} + +.form-control:hover { + color: var(--black); + background-color: var(--gray-600); + outline: 0; + border-color: var(--primary); + box-shadow: none; +} + +.form-control:focus, .form-control:active { + color: var(--black); + background-color: var(--gray-900); + outline: 0; + border-color: var(--primary); + box-shadow: none; +} + +.form-control::placeholder { + color: var(--black); +} + +.form-control::-ms-input-placeholder { + color: var(--black); +} + +.form-control::-ms-input-placeholder { + color: var(--black); +} + +/*label { + text-transform: uppercase; + font-weight: 600; + font-size: 12px; + letter-spacing: 0.025rem; + color: var(--black); +}*/ + +#login label { + color: var(--black); +} + +label.terms { + font-weight: normal; + text-transform: none; + font-size: 13px; + color: var(--black); + vertical-align: middle; + padding: 0.1rem 0; +} + +/* +.dropdown-menu { + padding: 0.5rem; + color: var(--white); + background-color: var(--gray-600); +}*/ + +/*.dropdown-item { + padding: 0.5rem 1rem; + border-radius: 4px; + color: var(--black); +}*/ + +/*.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { + color: var(--black); + text-decoration: none; + background-color: var(--gray-300); +} + +.dropdown-item:hover .fas, .dropdown-item:focus .fas, .dropdown-item.active .fas, .dropdown-item:hover .far, .dropdown-item:focus .far, .dropdown-item.active .far .dropdown-item:hover .fa, +.dropdown-item:focus .fa, .dropdown-item.active .fa { + color: var(--black); +} +*/ +small, .small { + font-size: 12px; +} + +th { + font-weight: 600; +} + +.fa-rotate--45 { + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + transform: rotate(-45deg); +} + +.icon::before { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} + +.format .fa-bold:hover, +.format .fa-italic:hover, +.format .fa-quote-right:hover, +.format .fa-link:hover, +.format .fa-image:hover { + color: var(--black); +} + +.voting { + position: relative; + z-index: 2; + font-size: 12px; + font-weight: 600; + text-align: center; + word-break: keep-all; + min-width: 40px; +} + +#thread .voting { + min-width: 10px; + margin-right: 15px; + overflow-wrap: normal; +} + +#frontpage .voting, #search .voting, #userpage .voting { + margin: auto 0; +} + +.active.arrow-up::before { + color: var(--primary); +} + +.arrow-up::before { + cursor: pointer; + font-size: 1rem; + color: var(--gray-200); + font-family: "font awesome 5 pro" !important; + font-weight: 900; + content: "\f357"; +} + +.arrow-up:hover::before { + color: var(--primary); + opacity: 0.5; +} + +.active.arrow-down::before { + color: #38B2AC; +} + +.arrow-down::before { + cursor: pointer; + font-size: 1rem; + color: var(--gray-200); + font-family: "font awesome 5 pro" !important; + font-weight: 900; + content: "\f354"; +} + +.arrow-down:hover::before { + color: #38B2AC; + opacity: 0.5; +} + +.comment-actions .arrow-up { + top: 0; +} + +.comment-actions .arrow-down { + bottom: 0; +} + +.upvoted .arrow-mobile-up { + color: var(--primary) !important; +} + +.downvoted .arrow-mobile-down { + color: #38B2AC !important; +} + +.comment-actions .score { + color: var(--muted); +} + +.score { + color: var(--black); +} + +.score-up { + color: var(--primary) !important; +} + +.score-down { + color: #38B2AC !important; +} + +.box-shadow-bottom { + box-shadow: inset 0 -0.1px 0 var(--gray-400); +} + +.border-1 { + border-width: 0.1px; + border-style: solid; +} + +.border-2 { + border-width: 2px; + border-style: solid; +} + +.border-3 { + border-width: 3px; + border-style: solid; +} + +.opacity-25 { + opacity: 0.25; +} + +.pseudo-submit-form .card-header { + background-color: var(--gray-600) !important; +} + +#frontpage .pseudo-submit-form.card, #search .search-results.card { + background-color: var(--gray-600); + border-radius: 4px; + border: none; +} + +#frontpage .pseudo-submit-form.card .card-body, #search .search-results.card .card-body { + padding-left: 10px; + padding-right: 10px; +} + +#frontpage .pseudo-submit-form.card .card-body .form-control { + background-color: var(--light); +} + +#frontpage .pseudo-submit-form.card .card-body .form-control:hover, #frontpage .pseudo-submit-form.card .card-body .form-control:active, #frontpage .pseudo-submit-form.card .card-body .form-control:focus { + background-color: var(--light); +} + +.user-name { + color: inherit; +} + +.banner-pic-135 { + object-fit: cover; + height: 135px; + max-width: 572px; + width: 572px; +} + +.profile-pic { + width: 50px; + height: 50px; + border-radius: 50%; + margin: auto; + text-align: center; + object-fit: cover; + color: var(--white); + background-color: #1f2023; +} + +.navbar .navbar-nav .profile-pic { + display: inline-block; + width: 28px; + height: 28px; +} + +.card-header:first-child { + border-radius: 0.35rem 0.35rem 0 0; +} + +.card-header { + font-size: 1rem; + font-weight: 600; + color: var(--black); + padding: 0.5rem 1rem; + border-bottom: 0.1px solid var(--gray-400); +} + +.card { + background-color: var(--gray-900); +} + +#thread .card { + background-color: var(--gray-700); +} + +.stretched-link a:hover { + color: #6f42c1; +} + +.post-meta { + position: relative; + z-index: 2; + color: var(--muted); + font-size: 12px; + width: fit-content; +} + +.post-body { + word-break: break-word; + overflow: hidden; +} + +.modal-backdrop.show { + opacity: 1; + background-color: rgba(30, 30, 30, 0.9); +} + +.modal-backdrop { + background-color: transparent; +} + +.modal-header { + border-bottom: none; + background-color: var(--gray-400); + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; + padding: 0.5rem 1rem; + box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05); +} + +.modal-header .close { + padding: 1.25rem 1rem 1.25rem 0.5rem; +} + +.modal-content { + border: none; + background-color: var(--gray-400); + border-radius: 4px; + box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05); +} + +.modal-footer { + border: none; + background-color: var(--gray-400); + border-bottom-right-radius: 0.35rem; + border-bottom-left-radius: 0.35rem; +} + +.modal .post-actions .list-group-item { + border: none; + border-radius: 4px; + background-color: var(--gray-400); +} + +.modal .post-actions .list-group-item:focus, .modal .post-actions .list-group-item:hover { + background-color: var(--gray-300); +} + +.modal .post-actions a { + color: var(--black); + font-size: 1rem; +} + +.modal .post-actions .fa, .modal .post-actions .fas, .modal .post-actions .far { + width: 1.25rem; + font-size: 1rem; +} + +.post-actions { + position: relative; + color: var(--muted); + font-weight: 600; + font-size: 12px; + z-index: 3; +} + +.post-actions .fa, .post-actions .fas, .post-actions .far { + font-size: 12px; + margin-right: 0.5rem; + width: 1rem; +} + +.post-actions .voting .fa, .post-actions .voting .fas, .post-actions .voting .far { + color: inherit; +} + +.post-actions .dropdown-item:active .fa, .post-actions .dropdown-item:active .fas { + color: var(--black); +} + +.post-actions .dropdown-item:hover .fa, .post-actions .dropdown-item:hover .fas { + color: var(--gray); +} + +.post-actions a:hover .fa, .post-actions a:hover .fas { + color: var(--black); +} + +.post-actions:hover, .post-actions:focus { + z-index: 4; +} + +.post-actions .copy-link:hover { + color: var(--black); +} + +.post-actions .fas.fa-ellipsis-h, .post-actions .far.fa-ellipsis-h { + font-size: 1.25rem; + vertical-align: middle; +} + +.post-actions .list-inline { + margin-bottom: 0; +} + +.post-actions .list-inline .list-inline-item { + margin-right: 1.25rem; +} + +.post-actions .list-inline .list-inline-item:last-child { + margin-right: 0; +} + +.close .far, .close .fab, .close .fal, .close .fas { + font-size: 1.25rem; +} + +@media (max-width: 767.98px) { + .modal.modal.modal-sm-bottom .modal-dialog { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; + } + + .modal.modal-sm-bottom .modal-content { + position: absolute; + bottom: 0; + border-radius: 1rem; + } + + .modal.fade.modal-sm-bottom .modal-dialog { + transform: translate3d(0, 100vh, 0); + } + + .modal.show.modal-sm-bottom .modal-dialog { + transform: translate3d(0, 0, 0); + } + + .modal.modal-sm-bottom .modal-header { + border-top-right-radius: 1rem; + border-top-left-radius: 1rem; + } +} +.dropdown-actions { + position: relative; + color: var(--muted); + font-weight: 600; + font-size: 12px; + z-index: 3; +} + +.dropdown-actions .fa, .dropdown-actions .fas, .dropdown-actions .far { + font-size: 12px; + color: var(--muted); + margin-right: 0.5rem; + width: 1rem; + text-align: center; +} + +.dropdown-actions .voting .fa, .dropdown-actions .voting .fas, .dropdown-actions .voting .far { + color: inherit; +} + +.dropdown-actions .dropdown-item:active .fa, .dropdown-actions .dropdown-item:active .fas { + color: var(--black); +} + +.dropdown-actions .dropdown-item:hover .fa, .dropdown-actions .dropdown-item:hover .fas { + color: var(--black); +} + +.dropdown-actions a:hover .fa, .dropdown-actions a:hover .fas { + color: var(--black); +} + +.dropdown-actions:hover, .dropdown-actions:focus { + z-index: 4; +} + +.dropdown-actions .copy-link:hover { + color: var(--black); +} + +.dropdown-actions .fas.fa-ellipsis-h, .dropdown-actions .far.fa-ellipsis-h { + font-size: 1.25rem; + vertical-align: middle; +} + +.dropdown-actions .list-inline { + margin-bottom: 0; +} + +.dropdown-actions .list-inline .list-inline-item { + margin-right: 1rem; +} + +.dropdown-actions .list-inline .list-inline-item:last-child { + margin-right: 0; +} + +.page-link { + font-weight: 600; + background-color: var(--dark); + border: 0.1px solid #343a40; +} + +.page-link:hover { + background-color: var(--gray-100); +} + +.page-item.disabled .page-link { + font-weight: 600; + background-color: var(--dark); + border: 0.1px solid #343a40; + opacity: 0.5; +} + +@media (max-width: 767.98px) { + .post-actions .list-inline .list-inline-item { + margin-right: 1.5rem; + margin-top: 5px; + } + + .post-actions .list-inline .list-inline-item:last-child { + margin-right: 0; + } +} +.post-actions .list-inline .list-inline-item .dropdown-item { + font-size: 1rem; +} + +.post-actions .list-inline .list-inline-item .dropdown-item:active { + color: var(--white); +} + +.post-actions a { + color: var(--gray-100); + text-decoration: none; + text-transform: none; +} + +.post-actions a:hover { + color: var(--black); +} + +.post-actions .dropdown-item:hover { + color: var(--black); +} + +.post-img { + width: 100px; + height: 70px; + object-fit: cover; + border: 0.1px solid var(--primary); + border-radius: 4px; + z-index: 2; + background-color: var(--gray-300); +} + +@media (max-width: 767.98px) { + .post-img { + width: 80px; + height: 60px; + } +} +.post-actions .comments, .post-actions .share, .post-actions .flag { + margin-right: 0.5rem; + vertical-align: top; +} + +.time-stamp, .points { + color: var(--muted); +} + +.comments-count { + display: flex; +} + +.comments-count .total { + font-weight: 600; + font-size: 12px; + color: var(--muted); +} + +/*.comment { + display: flex; + position: relative; + margin-top: 2rem; + padding-left: 12px; +}*/ + +#notifications .comment, #userpage .comment { + margin-top: 0.5rem; + margin-bottom: 1rem; +} + +#notifications .comment:last-child, #userpage .comment:last-child { + margin-bottom: 0; +} + +.comment .comment-body { + width: 100%; +} + +.comment .comment-body .user-info { + font-size: 12px; + color: var(--muted); + margin-bottom: 0.25rem; + margin-top: -0.25rem; +} + +.comment .comment-body .user-name { + color: var(--black); +} + +.comment .comment-body .comment-text { + margin-bottom: 1rem; + word-break: break-word; + color: var(--black); + overflow: hidden; + padding-right: 10px !important; + padding-top: 5px !important; +} + +.modal .comment-actions .list-group-item { + border: none; + border-radius: 4px; + background-color: var(--gray-400); +} + +.modal .comment-actions .list-group-item:focus, .modal .comment-actions .list-group-item:hover { + background-color: var(--gray-300); +} + +.modal .comment-actions a { + color: var(--gray-100); + font-size: 1rem; +} + +.modal .comment-actions .fa, .modal .comment-actions .fas, .modal .comment-actions .far { + width: 1.25rem; + font-size: 1rem; +} + +.comment-section { + background-color: var(--gray-700); +} + +.comment p { + word-break: break-word; +} + +.comment-actions { + font-weight: 600; + font-size: 12px; + margin-bottom: 0; +} + +.comment-actions .fa, .comment-actions .fas, .comment-actions .far { + font-size: 12px; + margin-right: 0.5rem; + color: var(--gray-100); +} + +.comment-actions .dropdown-item:active .fa, .comment-actions .dropdown-item:active .fas, .comment-actions .dropdown-item:active .far { + color: var(--black); +} + +.comment-actions .dropdown-item:hover .fa, .comment-actions .dropdown-item:hover .fas, .comment-actions .dropdown-item:hover .far { + color: var(--black); +} + +.comment-actions a:hover .fa, .comment-actions a:hover .fas, .comment-actions a:hover .far { + color: var(--black); +} + +.comment-actions .fas.fa-ellipsis-h { + font-size: 1.25rem; + vertical-align: bottom; +} + +.comment-actions .list-inline { + margin-bottom: 0; +} + +.comment-actions .list-inline .list-inline-item { + margin-right: 1.25rem; +} + +.comment-actions .list-inline .list-inline-item .dropdown-item { + font-size: 12px; +} + +.comment-actions .list-inline .list-inline-item .dropdown-item:active { + color: var(--black); +} + +.comment-actions a { + color: var(--gray-100); + text-decoration: none; +} + +.comment-actions a:hover, .comment-actions .copy-link:hover { + color: var(--black); +} + +.comment-actions .dropdown-item:hover { + color: var(--black); +} + +ul.comment-section { + padding-left: 0; + margin-bottom: 0; +} + +.comment-write { + position: relative; +} + +.comment-write.child { + margin-top: 1rem; +} + +.comment-write.collapsed textarea:focus, .comment-write.collapsed textarea:active { + background-color: var(--gray-900); +} + +.comment-write.collapsed textarea { + width: 100%; + box-sizing: border-box; + padding: 0.5rem 0.75rem; + min-height: 84px; +} + +.comment-format { + display: flex; + align-items: center; + bottom: 0; + left: 0; + padding: 0.5rem 0; + width: 100%; + z-index: 1; +} + +.comment-write .comment-format .format { + padding: 0 0.5rem; + font-size: 1rem; + color: var(--gray-200); +} + +.comment-write .comment-format .format:hover { + color: var(--black); +} + +.comment .comment-collapse-icon:hover::before { + border-left-color: var(--primary); +} + +.comment.collapsed .comment-collapse-icon::before { + content: "\f055"; + font-family: "font awesome 5 pro" !important; + font-weight: 900; + border-left: none; + top: -0.1px; + left: -3px; + font-size: 10px; +} + +.comment.collapsed .comment-collapse-icon:hover::before { + color: var(--primary); +} + +/*.comment.collapsed .comment-body p.text, .comment.collapsed div.comment-text, .comment.collapsed .comment-actions, .comment.collapsed .comment-write, +.comment.collapsed .comment { + display: none; +}*/ + +/*.comment.collapsed .user-info { + margin-bottom: 0; +} + +.comment.collapsed .profile-pic-25 { + opacity: 0.5; +} + +.comment.collapsed .comment-body { + opacity: 0.5; +} + +.comment.collapsed .comment-body:hover { + opacity: 1; +}*/ + +#login { + padding-top: 0; + height: 100%; + overflow: hidden; + background-color: var(--light); +} + +.splash-wrapper { + position: relative; + width: 100%; + height: 100%; + font-size: 0; +} + +.splash-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(127, 127, 127, 0.25); + background-image: linear-gradient(135deg, rgba(30, 30, 36, 0.1) 0%, var(--primary) 150%); +} + +.splash-img { + height: 100%; + width: 100%; + background-size: cover; + background-position: bottom; + object-fit: cover; +} + +.pagination { + padding: 1rem 0; +} + +.table .thead-dark th { + color: var(--muted); + font-size: 12px; + text-transform: uppercase; + background-color: var(--light); + border: none; +} + +.settings .settings-section { + margin-bottom: 3rem; + border: 0.1px solid var(--gray-400); + border-radius: 4px; + overflow: hidden; +} + +.settings .settings-section .title, .settings .settings-section .body, .settings .settings-section .footer { + padding: 1rem; +} + +.settings .settings-section .title p:last-of-type { + margin-bottom: 0; +} + +.settings .settings-section .footer { + background-color: var(--secondary); +} + +.modal .profile-actions .list-group-item { + border: none; + border-radius: 4px; +} + +.modal .profile-actions .list-group-item:focus, .modal .profile-actions .list-group-item:hover { + background-color: var(--gray-200); +} + +.modal .profile-actions a { + color: var(--black); + font-size: 1rem; +} + +.modal .profile-actions .fa, .modal .profile-actions .fas, .modal .profile-actions .far { + width: 1.25rem; + font-size: 1rem; +} + +.profile-actions a { + color: var(--gray); + text-decoration: none; + font-size: 12px; +} + +.profile-actions .fa, .profile-actions .fas, .profile-actions .far { + font-size: 12px; + color: var(--gray); +} + +.profile-actions .dropdown-item:hover { + color: var(--black); +} + +.profile-actions .dropdown-item { + font-size: 13px; +} + +.profile-actions .dropdown .dropdown-menu .dropdown-item .fa, .profile-actions .dropdown .dropdown-menu .dropdown-item .fas, .profile-actions .dropdown .dropdown-menu .dropdown-item .far { + font-size: 12px; + color: var(--gray); + width: 1rem; + margin-right: 0.5rem; + text-align: center; +} + +.profile-actions .dropdown-item:active .fa, .profile-actions .dropdown-item:active .fas, .profile-actions .dropdown-item:active .far { + color: var(--black); +} + +.profile-actions .dropdown-item:hover .fa, .profile-actions .dropdown-item:hover .fas, .profile-actions .dropdown-item:active .far { + color: var(--black); +} + +#page .footer h1, #page .footer h2, #page .footer h3, #page .footer h4, #page .footer h5, #page .footer h6, +#article .footer h1, #article .footer h2, #article .footer h3, #article .footer h4, #article .footer h5, #article .footer h6 { + font-weight: 600; +} + +#page .footer a, #article .footer a { + color: var(--white); + opacity: 0.8; +} + +#page .footer li, #article .footer li { + padding: 0.25rem 0; +} + +.footer .list-inline-item { + font-weight: 400; +} + +.footer a { + text-decoration: none; + color: var(--muted); +} + +.footer a:hover, .footer a:focus, .footer a:active { + text-decoration: underline; +} + +.empty-state-img { + width: 200px; + opacity: 0.35; + filter: brightness(0); +} + +.ghost { + -webkit-animation: ghost 2s infinite alternate; + animation: ghost 2s infinite alternate; +} +@keyframes ghost { + 0% { + transform: translateY(0); + } + 100% { + transform: translateY(-20px); + } +} + +.submission .body { + padding: 1rem; +} + +.submission .footer { + background-color: transparent; + padding: 1rem; + border-bottom-left-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.custom-control-label { + text-transform: none; + font-weight: 400; + font-size: 1rem; + letter-spacing: 0; + color: var(--black); +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { + background-color: var(--primary); + border: 0.1px solid #6f42c1; +} + +.custom-switch { + padding-left: 2.25rem; + padding-bottom: 1rem; +} + +.custom-switch .custom-control-label { + padding-top: 0.5rem; + padding-left: 2rem; + padding-bottom: 0.1rem; +} + +.custom-control-input:checked ~ .custom-control-label::before { + opacity: 1; + background-color: var(--primary); + border: #38A169 solid 0.1px; +} + +.custom-control-input:checked ~ .custom-control-label:hover::before { + opacity: 1; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + height: 1.5rem; + width: 2.75rem; + pointer-events: all; + border-radius: 1rem; + background-color: var(--gray-100); + border: #f8f9fa solid 0.1px; + opacity: 0.7; +} + +.custom-switch .custom-control-label:hover::before { + opacity: 0.85; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1.5rem - 4px); + height: calc(1.5rem - 4px); + background-color: var(--light); + border-radius: 2rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: var(--white); + -webkit-transform: translateX(1.25rem); + transform: translateX(1.25rem); +} + +pre code { + word-break: break-word; + white-space: break-spaces; + color: var(--primary); +} + +pre ol > li { + margin-bottom: 0; +} + +pre ol > li::before { + color: var(--white); + font-weight: 400; + background-color: transparent; + right: 1rem; + padding: 0.25rem; + text-align: right; + margin-right: 0.5rem; + width: 3rem; +} + +pre .str, code .str { + color: #38A169; + opacity: 0.75; +} + +pre .com, code .com { + color: #ab4bc3; +} + +.gif-categories .card { + overflow: hidden; + border: none; +} + +.gif-categories img { + border-radius: 4px; + height: 110px; + width: 100%; + object-fit: cover; + -webkit-transition: all 0.15s ease; + -moz-transition: all 0.15s ease; + -o-transition: all 0.15s ease; + -ms-transition: all 0.15s ease; + transition: all 0.15s ease; +} + +.gif-categories img:hover { + border: 3px solid var(--primary); +} + +.gif-categories .card .gif-cat-overlay { + position: absolute; + text-align: center; + height: 100%; + width: 100%; + background-color: rgba(0, 0, 0, 0.4); + -webkit-transition: all 0.15s ease; + -moz-transition: all 0.15s ease; + -o-transition: all 0.15s ease; + -ms-transition: all 0.15s ease; + transition: all 0.15s ease; +} + +.gif-categories .card:hover .gif-cat-overlay { + background-color: rgba(0, 0, 0, 0.6); + border: 3px solid var(--primary); + border-radius: 4px; +} + +/*@media (max-width: 991.98px) { + #frontpage, #search { + padding-top: 49px; + } +} +@media (max-width: 767.98px) { + html { + font-size: 14px; + }*/ + +/* .container { + overflow: hidden; + max-width: none; + } +*/ +/* body, #settings, #notifications, #submit { + padding-top: 49px; + background-color: var(--gray-700); + }*/ +/* + #thread, #userpage { + background-color: var(--gray-600); + }*/ + +/* .custom-gutters { + padding-left: 0; + padding-right: 0; + }*/ + + .navbar.bg-primary { + background-color: var(--dark) !important; + } + + .navbar-nav { + height: 100vh; + } + + .navbar-nav .nav-link, .navbar-expand-md .navbar-nav .nav-link { + padding: 0.5rem; + } + + .navbar-dark .navbar-nav .nav-link:hover { + background-color: transparent; + border-radius: 0; + } + + .navbar-dark .navbar-nav .nav-link:active { + background-color: rgba(0, 0, 0, 0.15); + border-radius: 0; + } + + .navbar-dark .navbar-nav .nav-link .fa, .navbar-dark .navbar-nav .nav-link .fas, .navbar-dark .navbar-nav .nav-link .far, .navbar-dark .navbar-nav .nav-link .fab { + font-size: 1rem; + } + + .navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { + color: var(--primary); + font-size: 1.25rem; + } + + #fixed-bar-mobile { + box-shadow: none; + } + + .mobile-nav-icon { + padding: 0.25rem 0.75rem; + } + + /*#thread, #submit, #error-401, #error-403, #error-404, #error-405, #error-429, #error-451, #error-500 { + background-color: var(--light); + }*/ + + /*#frontpage { + padding-top: 49px; + }*/ + + #search .search-results.card { + border-bottom: 0.1px solid var(--gray-400); + border-width: 0 0 0.1px 0; + border-radius: 0; + } + + #frontpage .posts .card, #userpage .posts .card, #search .posts .card { + padding: 7px; + border-width: 0 0 0.1px 0; + } + + #frontpage .posts .card:first-of-type, #userpage .posts .card:first-of-type, #search .posts .card:first-of-type { + border-radius: 0; + } + + #frontpage .posts .card, #userpage .posts .card, #search .posts .card, #userpage .posts .card { + background-color: var(--gray-600); + } + + #frontpage .posts .card:hover .post-title a, #search .posts .card:hover .post-title a { + color: var(--primary); + } + + #frontpage .posts .card .post-img, #search .posts .card .post-img { + z-index: 3; + } + + .toast { + bottom: 1.5rem; + margin: 0 auto; + left: 0; + right: 0; + } + + #thread .card { + background-color: var(--gray-600); + } + + .card { + background-color: var(--gray-600); + } + + .posts, #thread #main-content-col { + box-shadow: none; + border: none; + border-radius: 0; + } + + #thread #main-content-col { + margin: 0; + } + + .post-title a { + color: var(--black); + } + + .post-title a:hover, .post-title a:active, .post-title a:focus { + color: var(--primary); + } + + #thread .voting { + min-width: 0; + margin-right: 0; + margin-top: 0; + } + + .voting { + font-weight: 400; + font-size: 1.2rem; + } + + #frontpage .voting, #search .voting, #userpage .voting { + margin: 0; + } + + .post-title { + font-size: 14px; + font-weight: 400; + line-height: normal; + overflow: hidden; + } + + .post-meta { + font-size: 1rem; + } + + .post-actions { + font-weight: 400; + } + + .post-actions a { + font-size: 1rem; + color: var(--gray-200); + } + + .post-actions .fa, .post-actions .fas, .post-actions .far { + font-size: 1rem; + opacity: 0.8; + } + + .post-actions .voting .fa, .post-actions .voting .fas, .post-actions .voting .far { + font-size: 1.25rem; + } + + .comment-actions .score { + color: var(--gray-200); + } + + .score { + color: var(--gray-200); + } + + .arrow-up::before, .arrow-down::before, .arrow-up:hover::before, .arrow-down:hover::before { + font-size: 1.25rem; + color: var(--gray-200); + opacity: 1; + } + + .active.arrow-up::before, .active.arrow-up:hover::before { + color: var(--primary); + } + + .active.arrow-down::before, .active.arrow-down:hover::before { + color: #38B2AC; + } + + .dropdown-actions a { + font-size: 1rem; + } + + .dropdown-actions .fa, .dropdown-actions .fas, .dropdown-actions .far { + font-size: 1rem; + } + +/* .comment-section { + background-color: var(--gray-600); + } + + .comment-section > .comment { + padding-left: 12px; + }*/ + +/* .comment { + margin-top: 1.5rem; + } +*/ +/* .comment .comment-collapse { + padding-right: 10px; + } + + .comment.collapsed .user-info { + padding-top: 0.5rem; + }*/ + + .comment .comment-collapse::before { + content: "\f056"; + position: static; + font-size: 10px; + font-weight: 900; + border: none; + margin-left: 0.25rem; + } + +/* .comment.collapsed .comment-body:hover { + opacity: 0.5; + }*/ + + .comment-actions .fa, .comment-actions .fas, .comment-actions .far { + color: var(--gray-100); + } + + .banner-pic-135 { + max-width: 100%; + } + + .x-scroll-parent { + overflow: hidden; + } + + .x-scroll { + width: 100%; + overflow-x: scroll; + white-space: nowrap; + scrollbar-width: none; + -ms-overflow-style: none; + } + + .x-scroll::-webkit-scrollbar { + width: 100%; + overflow-x: scroll; + white-space: nowrap; + background: transparent; + } +/* + #thread .post-title { + font-size: 16px; + }*/ + + #submit .submission { + border: none; + } + + #submit .submission .body { + padding: 0; + } + + #submit .submission .footer { + background: transparent; + padding: 1rem 0; + } + + .footer .list-inline-item { + line-height: 3; + } + + .comments-count .total { + font-weight: 400; + font-size: 1rem; + } + + .comment-actions { + font-weight: 400; + font-size: 1.2rem; + } + + .user-name { + font-weight: 400; + } + + .comment .comment-body .user-name { + color: var(--black); + font-weight: 600; + } + + .pagination { + padding: 1rem; + } + +/* + input[type=color], + input[type=date], + input[type=email], + input[type=month], + input[type=number], + input[type=password], + input[type=search], + input[type=tel], + input[type=text], + input[type=time], + input[type=url], + input[type=week], + select:focus, + textarea { + font-size: 16px !important; + }*/ + + /*textarea, input[type=text] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + }*/ +} +/*.bg-white { + background-color: var(--gray-600) !important; +} + +.text-muted { + color: var(--muted) !important; +} + +.text-primary { + color: var(--primary) !important; +} + +.text-gray-400, .text-gray-500 { + color: var(--gray-200) !important; +}*/ + +span.red { + color: var(--primary); +} + +span.green { + color: #38A169; +} + +div.banned { + background-color: #960000 !important; + border-left: 3px solid #ff0000 !important; +} + +div.deleted { + background-color: #969600 !important; +} + +div.deleted.banned { + background-color: #964000 !important; +} + +.text-admin { + color: var(--primary); +} + +.object-cover { + object-fit: cover; +} + +img.emoji { + max-width: 100px; + height: 30px; + object-fit: contain; +} + +.spoiler { + color: #000000; + background-color: #000000; + font-weight: 600 !important; + padding: 5px; +} + +.spoiler:hover { + color: #FFFFFF; +} + +/*@media (min-width: 768px) { + .comment { + border-left: 0 !important; + padding-left: 0 !important; + } +}*/ +.comment .comment-collapse-desktop { + padding-right: 20px; + cursor: pointer; +} + +.comment .comment-collapse-desktop:hover { + border-left-color: var(--white) !important; +} + +.comment.collapsed .comment-collapse-desktop:hover { + color: var(--white) !important; +} + +@media (max-width: 767.98px) { + .settings-nav .nav-link { + font-size: 0.9rem; + padding: 0.75rem 0.6rem; + } +} +.table { + color: var(--white); +} + +.comment-box { + border: 2px solid #e9ecef; +} + +/*.btn { + background: transparent; +}*/ + +.form-control { + background: transparent; +} + +.navbar-light .navbar-nav .nav-link { + border-radius: 5px; +} + +.btn-secondary { + color: var(--muted); +} + +.btn-primary { + color: var(--muted); +} + +.btn-success { + border-color: #38A169 !important; +} + +.btn-danger { + border-color: #E53E3E !important; +} + +.alert { + color: #000000; +} + +.btn-lg { + border-color: transparent !important; +} + +@media (max-width: 767.98px) { + .followbutton { + margin-bottom: 10px !important; + } + + .comment-actions { + margin-top: -8px; + } +} +.btn-primary:focus, .btn-primary.focus { + box-shadow: none !important; +} + +.flaggers { + margin: 7px; + border: 1px solid var(--primary); + padding: 10px; + border-radius: 3px; + background-color: var(--gray-700) !important; +} + +.text-info { + color: var(--primary) !important; +} + +/** { REMOVED FOR HALLOWEEN EVENT + -webkit-animation: None !important; + animation: None !important; + }*/ + + .patron { + padding: 2px 5px 3px 5px !important; + border-radius: 5px !important; + color: white !important; + } + + /*.container, .container-fluid { + background-color: var(--gray-700) !important; + border-radius: 5px !important; + }*/ + + /*.btn { + background-color: var(--gray-700) !important; + } +*/ + .nobackground { + background: None !important; + } + + /*textarea { + resize: both !important; + }*/ + + .jumbotron-guild { + position: relative; + background-repeat: no-repeat; + background-size: cover; + background-position: center; + border-radius: 0; + overflow: hidden; + margin-bottom: 0; + padding: 0; + display: flex; + align-items: center; + z-index: 1; + } + + .jumbotron-guild .jumbotron-overlay { + background-color: rgba(0, 0, 0, 0.7); + position: absolute; + width: 100%; + height: 100%; + bottom: 0; + left: 0; + z-index: -1; + pointer-events: none; + } + + @media (max-width: 767.98px) { + .jumbotron-guild { + height: 110px; + } + } + @media (min-width: 767.98px) { + .card-columns { + column-count: 4 !important; + } +} +@media (min-width: 992px) { + .card-columns { + column-count: 5 !important; + } +} +/*.container, .container-fluid { + padding-bottom: 30px; +}*/ + +.navbar { + padding: 0.5rem 0.5rem 0.3rem 0.5rem; +} + +@media (min-width: 767.98px) { + .navbar { + padding: 0.5rem 3rem 0.3rem 0.5rem; + } +} + +blockquote { + border-left: 2px solid var(--primary); + color: var(--black); + font-size: 1rem; + font-weight: 400; + background-color: #46444a; + padding: 0.5rem 1rem; + margin: 0.5rem 0rem 0 0.0; +} + +blockquote + blockquote { + margin-top: 0px; +} + +blockquote:last-child { + margin-bottom: 10px; +} + +blockquote + p { + margin-top: 1rem; +} + +blockquote p { + margin-bottom: 0; +} + +.unread { + padding: 10px !important; + border: 2px solid var(--primary) !important; +} + +@media (min-width: 576px) +{ + .modal-dialog { + max-width: 90% !important; + margin: 1.75rem auto !important; + } +} + +.in-comment-image { + max-height: 150px !important; + max-width: 100% !important; + border-radius: 0.2rem !important; + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.emoji { + height: 30px !important; +} + +.bigemoji { + height: 60px !important; +} + +.embedvid { + max-height: 300px !important; + max-width: 100% !important; + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.spotify { + max-height: 80px !important; + max-width: 100% !important; + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.text-pink { + color: #ff66ac !important; +} + +.text-purple { + color: #805ad5 !important; +} + +.text-black-50 { + color: #808080 !important; +} + +.text-orange { + color: orange !important; +} + +.timeline-Widget { + max-height: 500px !important; + overflow-y: scroll !important; +} + +.banner { + margin-top: -3px; +} + +.text-removed { + color: #ffabab !important; +} + +.mirrored { + transform: scaleX(-1);-webkit-transform: scaleX(-1); +} + +@media (max-width: 768px) { + .popover-bio * { + font-size: 0.8rem !important; + } +} + +@media (min-width: 768px) { + .popover-bio * { + font-size: 1rem !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + visibility: hidden; + background-color: #fff; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.8; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; +} +.offcanvas-header .btn-close { + padding: 0.5rem 0.5rem; + margin-top: -0.5rem; + margin-right: -0.5rem; + margin-bottom: -0.5rem; +} + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} + +.offcanvas-body { + flex-grow: 1; + padding: 1rem 1rem; + overflow-y: auto; +} + +.emj, .emoji, .emoji-lg { + max-width: 100% !important; +} + +.offcanvas-start { + top: 0; + left: 0; + width: 400px; + border-right: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(-100%); +} + +.offcanvas-end { + top: 0; + right: 0; + width: 400px; + border-left: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(100%); +} + +.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(-100%); +} + +.offcanvas-bottom { + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-top: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(100%); +} + +.offcanvas.show { + transform: none; +} + +.navbar-expand .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; +} +.navbar-expand .offcanvas-top, +.navbar-expand .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; +} +.navbar-expand .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} +@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-right: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-sm .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-sm .offcanvas-top, +.navbar-expand-sm .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@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-right: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-md .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-md .offcanvas-top, +.navbar-expand-md .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@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-right: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-lg .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-lg .offcanvas-top, +.navbar-expand-lg .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@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-right: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-xl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xl .offcanvas-top, +.navbar-expand-xl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .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-right: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xxl .offcanvas-top, +.navbar-expand-xxl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.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-right: 0.5rem; + padding-left: 0.5rem; +} +.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-header { + display: none; +} +.navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; +} +.navbar-expand .offcanvas-top, +.navbar-expand .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; +} +.navbar-expand .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.pp20 { + width: 20px; + height: 20px; + object-fit: cover; + display: inline; +} + +.max-h-12 { + max-height: 3rem; +} diff --git a/files/assets/CHRISTMAS/css/midnight.css b/files/assets/CHRISTMAS/css/midnight.css new file mode 100644 index 000000000..ca4c2a465 --- /dev/null +++ b/files/assets/CHRISTMAS/css/midnight.css @@ -0,0 +1,46 @@ +@charset "UTF-8"; + +:root { + --dark: #505961; + --secondary: #505961; + --white: #c9d1d9; + --black: #c9d1d9; + --light: #b1bac4; + --muted: #c9d1d9; + --gray: #505961; + --gray-100: #c9d1d9; + --gray-200: #b1bac4; + --gray-300: #505961; + --gray-400: #6e7681; + --gray-500: #484f58; + --gray-600: #21262d; + --gray-700: #21262d; + --gray-800: #161b22; + --gray-900: #0d1117; +} + + + +body, .navbar-light, .navbar-dark, .card, .modal-content, .comment-write textarea { + background-color: var(--gray-600) !important; +} + +.transparent, #login { + background: None !important; +} + +#frontpage .post-title a:visited { + color: #6e6e6e !important; +} + +.tooltip-inner { + color: #383838 !important; +} + +.modal .comment-actions .list-group-item { + background-color: var(--gray-600)!important; +} + +.page-link { + background-color: #ccc; +} \ No newline at end of file diff --git a/files/assets/css/mistletoe.css b/files/assets/CHRISTMAS/css/mistletoe.css similarity index 97% rename from files/assets/css/mistletoe.css rename to files/assets/CHRISTMAS/css/mistletoe.css index ece835854..77bf6efcc 100644 --- a/files/assets/css/mistletoe.css +++ b/files/assets/CHRISTMAS/css/mistletoe.css @@ -36,7 +36,7 @@ .cap::before { content: ''; pointer-events: none; - background: url("/assets/christmas/hat2.png"); + background: url("/assets/CHRISTMAS/hat2.png"); position: absolute; top: -10px; left: 0; @@ -50,7 +50,7 @@ .santa::before { content: ''; pointer-events: none; - background: url("/assets/christmas/hat1.png"); + background: url("/assets/CHRISTMAS/hat1.png"); position: absolute; top: -10px; left: -5px; @@ -113,7 +113,7 @@ .snowcaps::after { content: ''; pointer-events: none; - background: url("/assets/christmas/snowcap.png"); + background: url("/assets/CHRISTMAS/snowcap.png"); position: absolute; bottom: -15px; left: 0; @@ -162,7 +162,7 @@ .lights::after { content: ''; pointer-events: none; - background: url(/assets/christmas/lights-string.png); + background: url(/assets/CHRISTMAS/lights-string.png); animation: lights 1s infinite steps(2); position: absolute; top: 0; diff --git a/files/assets/CHRISTMAS/css/transparent.css b/files/assets/CHRISTMAS/css/transparent.css new file mode 100644 index 000000000..597a36910 --- /dev/null +++ b/files/assets/CHRISTMAS/css/transparent.css @@ -0,0 +1,82 @@ +@charset "UTF-8"; + +:root { + --dark: #383838; + --secondary: #383838; + --white: #E1E1E1; + --black: #CFCFCF; + --light: #000000; + --muted: #E1E1E1; + --gray: #383838; + --gray-100: #E1E1E1; + --gray-200: #E1E1E1; + --gray-300: #383838; + --gray-400: #303030; + --gray-500: #000000; + --gray-600: #000000; + --gray-700: #000000; + --gray-800: #000000; + --gray-900: #000000; +} + + + +* { + border-color: var(--primary); +} + +.border { + border-color: var(--primary) !important; +} + +.form-control { + background: transparent; + border-color: var(--primary) !important; +} + +.btn { + background: transparent; + border-color: var(--primary) !important; +} + +.form-control:disabled, .form-control[readonly] { + background: transparent; + border-color: var(--primary) !important; +} + +.btn-success { + border-color: #38A169 !important; +} + +.btn-danger { + border-color: #E53E3E !important; +} + +#frontpage .pseudo-submit-form.card .card-body .form-control { + border-color: transparent !important; +} + +.btn-lg { + border-color: transparent !important; +} + +pre { + color: #CFCFCF; +} + +:not(.dropdown-menu) { + background: transparent; +} + +.container { + background: rgba(28, 34, 41, 0.85) !important; + border-radius: 0 !important; +} + +.col-12 .card { + background: None !important; +} + +#frontpage .post-title a:visited { + color: #7a7a7a !important; +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/css/tron.css b/files/assets/CHRISTMAS/css/tron.css new file mode 100644 index 000000000..ba587c0fc --- /dev/null +++ b/files/assets/CHRISTMAS/css/tron.css @@ -0,0 +1,223 @@ +@charset "UTF-8"; + +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + } + /* greek */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2) format('woff2'); + unicode-range: U+0370-03FF; + } + /* vietnamese */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; + } + /* latin-ext */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* cyrillic-ext */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 600; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 600; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + } + /* greek */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 600; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2) format('woff2'); + unicode-range: U+0370-03FF; + } + /* vietnamese */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 600; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; + } + /* latin-ext */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 600; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 600; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + /* cyrillic-ext */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; + } + /* cyrillic */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + } + /* greek */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2) format('woff2'); + unicode-range: U+0370-03FF; + } + /* vietnamese */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; + } + /* latin-ext */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + } + /* latin */ + @font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + src: url(../fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + } + +:root { + --dark: #00001f; + --secondary: var(--primary); + --white: #f0f0f0; + --black: #f0f0f0; + --light: #00001f; + --muted: var(--primary); + --gray: var(--primary); + --gray-100: var(--primary); + --gray-200: var(--primary); + --gray-300: #00001f; + --gray-400: #var(--primary); + --gray-500: #00001f; + --gray-600: #00001f; + --gray-700: #00001f; + --gray-800: #00001f; + --gray-900: #00001f; +} + + +.comment-box { + border: 2px solid var(--gray-200); +} + +.btn { + color: var(--primary); +} + +* { + font-family: 'Roboto Mono' !important; +} + +.arrow-up::before { + color: var(--white); +} + +.arrow-down::before { + color: var(--white); +} + +.modal-content { + background-color: var(--gray-300); +} + +.modal-header { + background-color: var(--gray-300); +} + +.modal .comment-actions .list-group-item { + background-color: var(--gray-300); +} + +.comment-actions .score { + color: var(--white); +} + +.transparent { + background: None !important; +} + +.btn-danger.disabled, .btn-danger:disabled { + color: var(--primary) !important; +} + +#frontpage .post-title a:visited { + color: #b0b0b0 !important; +} + +.followsyou { + background-color: var(--dark) !important; + border: 1px solid var(--primary) !important; +} + +#frontpage .pseudo-submit-form.card, .form-inline.search .form-control, .form-control[readonly] { + border: 2px solid var(--gray-200) !important; +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/css/win98.css b/files/assets/CHRISTMAS/css/win98.css new file mode 100644 index 000000000..7f2decab4 --- /dev/null +++ b/files/assets/CHRISTMAS/css/win98.css @@ -0,0 +1,160 @@ +@charset "UTF-8"; + +:root { + --dark: #fff; + --secondary: #000000; + --white: #c0c0c0; + --black: #000000; + --light: #000000; + --muted: #404040; + --gray: #fff; + --gray-100: #394552; + --gray-200: #c0c0c0; + --gray-300: #c0c0c0; + --gray-400: #242C33; + --gray-500: #c0c0c0; + --gray-600: #c0c0c0; + --gray-700: #c0c0c0; + --gray-800: #07090A; + --gray-900: #000000; +} + + + +* { + box-shadow: none !important; + transition: none !important; + border-radius: 0 !important; + font-family: sans-serif !important; + font-size: 12px; +} + +.card, #mobile-bottom-navigation-bar { + transform: none !important; + background-color: var(--gray-500) !important; +} + +.pseudo-submit-form .card-header, .card-blank .card-header, .navbar-light, .nav, .flex-row.bg-gray-200.sticky.justify-content-center.d-flex.d-sm-none.mt-3.mb-3.mb-sm-5.rounded { + background: var(--white) !important; + color: var(--white) !important; +} +.navbar-light > *, .navbar-brand, .nav-link{ + color: var(--white) !important; +} + +.nav-link, .btn, .btn-secondary, .col.px-0.pl-2.btn.btn-dead.my-0.mx-2 { + border: 2px outset white !important; + border-bottom: 2px solid #a7a5a1 !important; + border-right: 2px solid #a7a5a1 !important; + background: var(--gray-500) !important; + color: #000 !important; +} + +.nav-link:focus, .btn:focus, .btn-secondary:focus, .col.px-0.pl-2.btn.btn-dead.my-0.mx-2, +.nav-link:active, .btn:active, .btn-secondary:active { + border: 2px inset white !important; +} + +.card, .card-blank, .comment-section.post-top, .dropdown-menu { + border: 2px outset white !important; + border-bottom: 2px solid #a7a5a1 !important; + border-right: 2px solid #a7a5a1 !important; +} + +.dropdown-menu, .btn:hover { + background: var(--gray-500) !important; + color: #000 !important; +} + +.form-control { + border: 2px inset #717171 !important; + border-bottom: 2px solid #a7a5a1 !important; + border-right: 2px solid #a7a5a1 !important; +} + +.post-title, .text-small-extra.text-muted, #actual-comments > .text-muted, .text-left.pl-2 { + color: var(--black) !important; +} + +.arrow-up::before { + color: var(--muted); +} + +blockquote { + background-color: #e0e0e0 !important; + border-bottom: 2px solid var(--black); +} + +#frontpage .pseudo-submit-form.card .card-body .form-control { + background-color: white !important; +} + +.navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { + color: #000 !important +} + +.stretched-link { + color: #000 !important +} + +.flaggers { + background-color: var(--white) !important; +} + +.form-control, .form-control:disabled, .form-control[readonly] { + background: white !important; + color: black !important +} + +.arrow-down::before { + color: var(--muted) !important; +} + +.table { + color: black !important; +} + +.transparent { + background: None !important; +} + +.black { + color: black !important; +} + +.col-12 .card { + padding: 20px !important; +} + +#frontpage .post-title a:visited { + color: #5c5c5c !important; +} + +.post-actions a { + color: var(--muted) !important; +} + +.modal-header, .modal .comment-actions a, .modal-title { + color: var(--white) !important; +} + +.text-info +{ + color: var(--primary) !important; +} + +.score, .comment-actions .score { + color: #000; +} + +.arrow-up:hover::before { + color: var(--muted); +} + +#thread { + background: var(--white) !important; +} + +#profilestuff > * { + color: #cfcfcf !important; +} \ No newline at end of file diff --git a/files/assets/fonts/DeliusSwashCaps-Regular.ttf b/files/assets/CHRISTMAS/fonts/DeliusSwashCaps-Regular.ttf similarity index 100% rename from files/assets/fonts/DeliusSwashCaps-Regular.ttf rename to files/assets/CHRISTMAS/fonts/DeliusSwashCaps-Regular.ttf diff --git a/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 new file mode 100644 index 000000000..f1bfb055d Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 new file mode 100644 index 000000000..ce795fa8b Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 new file mode 100644 index 000000000..ccd963354 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 new file mode 100644 index 000000000..3f093dd9c Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 new file mode 100644 index 000000000..e6f942703 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 new file mode 100644 index 000000000..7ef9a9261 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 new file mode 100644 index 000000000..01c0cc84d Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 new file mode 100644 index 000000000..fa0d664fe Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 new file mode 100644 index 000000000..ebe1795f8 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 new file mode 100644 index 000000000..f1b8ed7ca Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 new file mode 100644 index 000000000..c6d7d0619 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 new file mode 100644 index 000000000..e2f7d2751 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 new file mode 100644 index 000000000..d5ca3ce24 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 new file mode 100644 index 000000000..f8b68e3ac Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 new file mode 100644 index 000000000..6915f2550 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 new file mode 100644 index 000000000..3fd3d351a Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 new file mode 100644 index 000000000..a3a84c7a3 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 new file mode 100644 index 000000000..b562906c1 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 new file mode 100644 index 000000000..33d62376a Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 new file mode 100644 index 000000000..c55acbc7c Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/S6u9w4BMUTPHh6UVSwaPGR_p.woff2 b/files/assets/CHRISTMAS/fonts/S6u9w4BMUTPHh6UVSwaPGR_p.woff2 new file mode 100644 index 000000000..c5d944d29 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/S6u9w4BMUTPHh6UVSwaPGR_p.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/S6u9w4BMUTPHh6UVSwiPGQ.woff2 b/files/assets/CHRISTMAS/fonts/S6u9w4BMUTPHh6UVSwiPGQ.woff2 new file mode 100644 index 000000000..f8c37ecde Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/S6u9w4BMUTPHh6UVSwiPGQ.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/S6uyw4BMUTPHjx4wXg.woff2 b/files/assets/CHRISTMAS/fonts/S6uyw4BMUTPHjx4wXg.woff2 new file mode 100644 index 000000000..6904b6649 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/S6uyw4BMUTPHjx4wXg.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 b/files/assets/CHRISTMAS/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 new file mode 100644 index 000000000..0a0ee5eae Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/fa-brands-400.ttf b/files/assets/CHRISTMAS/fonts/fa-brands-400.ttf new file mode 100644 index 000000000..79b6bae5a Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-brands-400.ttf differ diff --git a/files/assets/CHRISTMAS/fonts/fa-brands-400.woff b/files/assets/CHRISTMAS/fonts/fa-brands-400.woff new file mode 100644 index 000000000..56d4bbba3 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-brands-400.woff differ diff --git a/files/assets/CHRISTMAS/fonts/fa-brands-400.woff2 b/files/assets/CHRISTMAS/fonts/fa-brands-400.woff2 new file mode 100644 index 000000000..8a836635a Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-brands-400.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/fa-duotone-900.ttf b/files/assets/CHRISTMAS/fonts/fa-duotone-900.ttf new file mode 100644 index 000000000..b1a5e7ea5 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-duotone-900.ttf differ diff --git a/files/assets/CHRISTMAS/fonts/fa-duotone-900.woff b/files/assets/CHRISTMAS/fonts/fa-duotone-900.woff new file mode 100644 index 000000000..de2ce751b Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-duotone-900.woff differ diff --git a/files/assets/CHRISTMAS/fonts/fa-duotone-900.woff2 b/files/assets/CHRISTMAS/fonts/fa-duotone-900.woff2 new file mode 100644 index 000000000..0d57b192a Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-duotone-900.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/fa-light-300.ttf b/files/assets/CHRISTMAS/fonts/fa-light-300.ttf new file mode 100644 index 000000000..34489d0c5 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-light-300.ttf differ diff --git a/files/assets/CHRISTMAS/fonts/fa-light-300.woff b/files/assets/CHRISTMAS/fonts/fa-light-300.woff new file mode 100644 index 000000000..414c107c7 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-light-300.woff differ diff --git a/files/assets/CHRISTMAS/fonts/fa-light-300.woff2 b/files/assets/CHRISTMAS/fonts/fa-light-300.woff2 new file mode 100644 index 000000000..d49e7e257 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-light-300.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/fa-regular-400.ttf b/files/assets/CHRISTMAS/fonts/fa-regular-400.ttf new file mode 100644 index 000000000..2da2b23a5 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-regular-400.ttf differ diff --git a/files/assets/CHRISTMAS/fonts/fa-regular-400.woff b/files/assets/CHRISTMAS/fonts/fa-regular-400.woff new file mode 100644 index 000000000..ae20cd5e2 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-regular-400.woff differ diff --git a/files/assets/CHRISTMAS/fonts/fa-regular-400.woff2 b/files/assets/CHRISTMAS/fonts/fa-regular-400.woff2 new file mode 100644 index 000000000..783cfcf2d Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-regular-400.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/fa-solid-900.ttf b/files/assets/CHRISTMAS/fonts/fa-solid-900.ttf new file mode 100644 index 000000000..18e30d494 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-solid-900.ttf differ diff --git a/files/assets/CHRISTMAS/fonts/fa-solid-900.woff b/files/assets/CHRISTMAS/fonts/fa-solid-900.woff new file mode 100644 index 000000000..c0e39e2a5 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-solid-900.woff differ diff --git a/files/assets/CHRISTMAS/fonts/fa-solid-900.woff2 b/files/assets/CHRISTMAS/fonts/fa-solid-900.woff2 new file mode 100644 index 000000000..2524b3039 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/fa-solid-900.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 new file mode 100644 index 000000000..851d828eb Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 new file mode 100644 index 000000000..2768263d6 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 new file mode 100644 index 000000000..d095304c2 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 new file mode 100644 index 000000000..31bfbe367 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 new file mode 100644 index 000000000..8f3dd2964 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 new file mode 100644 index 000000000..81d6c4d7c Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 new file mode 100644 index 000000000..bae23a0b4 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 differ diff --git a/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 new file mode 100644 index 000000000..6a3435290 Binary files /dev/null and b/files/assets/CHRISTMAS/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 differ diff --git a/files/assets/CHRISTMAS/ginger2-1.png b/files/assets/CHRISTMAS/ginger2-1.png new file mode 100644 index 000000000..a78c11205 Binary files /dev/null and b/files/assets/CHRISTMAS/ginger2-1.png differ diff --git a/files/assets/CHRISTMAS/hat1.png b/files/assets/CHRISTMAS/hat1.png new file mode 100644 index 000000000..3da243231 Binary files /dev/null and b/files/assets/CHRISTMAS/hat1.png differ diff --git a/files/assets/CHRISTMAS/hat2.png b/files/assets/CHRISTMAS/hat2.png new file mode 100644 index 000000000..eda869f61 Binary files /dev/null and b/files/assets/CHRISTMAS/hat2.png differ diff --git a/files/assets/CHRISTMAS/images/Drama/banner.webp b/files/assets/CHRISTMAS/images/Drama/banner.webp new file mode 100644 index 000000000..873b1f520 Binary files /dev/null and b/files/assets/CHRISTMAS/images/Drama/banner.webp differ diff --git a/files/assets/CHRISTMAS/images/Drama/cached.webp b/files/assets/CHRISTMAS/images/Drama/cached.webp new file mode 100644 index 000000000..0b76fd59f Binary files /dev/null and b/files/assets/CHRISTMAS/images/Drama/cached.webp differ diff --git a/files/assets/CHRISTMAS/images/Drama/cover.webp b/files/assets/CHRISTMAS/images/Drama/cover.webp new file mode 100644 index 000000000..417da77a7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/Drama/cover.webp differ diff --git a/files/assets/CHRISTMAS/images/Drama/default_text.webp b/files/assets/CHRISTMAS/images/Drama/default_text.webp new file mode 100644 index 000000000..eb2b5d1df Binary files /dev/null and b/files/assets/CHRISTMAS/images/Drama/default_text.webp differ diff --git a/files/assets/images/Drama/drama-logo.png b/files/assets/CHRISTMAS/images/Drama/drama-logo.png similarity index 100% rename from files/assets/images/Drama/drama-logo.png rename to files/assets/CHRISTMAS/images/Drama/drama-logo.png diff --git a/files/assets/CHRISTMAS/images/Drama/headericon.webp b/files/assets/CHRISTMAS/images/Drama/headericon.webp new file mode 100644 index 000000000..c52f150b3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/Drama/headericon.webp differ diff --git a/files/assets/CHRISTMAS/images/Drama/icon.webp b/files/assets/CHRISTMAS/images/Drama/icon.webp new file mode 100644 index 000000000..c2fee4e98 Binary files /dev/null and b/files/assets/CHRISTMAS/images/Drama/icon.webp differ diff --git a/files/assets/CHRISTMAS/images/Drama/logo.webp b/files/assets/CHRISTMAS/images/Drama/logo.webp new file mode 100644 index 000000000..b53c38572 Binary files /dev/null and b/files/assets/CHRISTMAS/images/Drama/logo.webp differ diff --git a/files/assets/CHRISTMAS/images/Drama/preview.webp b/files/assets/CHRISTMAS/images/Drama/preview.webp new file mode 100644 index 000000000..81dc0e641 Binary files /dev/null and b/files/assets/CHRISTMAS/images/Drama/preview.webp differ diff --git a/files/assets/CHRISTMAS/images/PCM/banner.webp b/files/assets/CHRISTMAS/images/PCM/banner.webp new file mode 100644 index 000000000..8a49dcaab Binary files /dev/null and b/files/assets/CHRISTMAS/images/PCM/banner.webp differ diff --git a/files/assets/CHRISTMAS/images/PCM/cached.webp b/files/assets/CHRISTMAS/images/PCM/cached.webp new file mode 100644 index 000000000..8a49dcaab Binary files /dev/null and b/files/assets/CHRISTMAS/images/PCM/cached.webp differ diff --git a/files/assets/CHRISTMAS/images/PCM/cover.webp b/files/assets/CHRISTMAS/images/PCM/cover.webp new file mode 100644 index 000000000..5786f7748 Binary files /dev/null and b/files/assets/CHRISTMAS/images/PCM/cover.webp differ diff --git a/files/assets/CHRISTMAS/images/PCM/default_text.webp b/files/assets/CHRISTMAS/images/PCM/default_text.webp new file mode 100644 index 000000000..101e1ec15 Binary files /dev/null and b/files/assets/CHRISTMAS/images/PCM/default_text.webp differ diff --git a/files/assets/CHRISTMAS/images/PCM/headericon.webp b/files/assets/CHRISTMAS/images/PCM/headericon.webp new file mode 100644 index 000000000..5786f7748 Binary files /dev/null and b/files/assets/CHRISTMAS/images/PCM/headericon.webp differ diff --git a/files/assets/CHRISTMAS/images/PCM/icon.webp b/files/assets/CHRISTMAS/images/PCM/icon.webp new file mode 100644 index 000000000..5786f7748 Binary files /dev/null and b/files/assets/CHRISTMAS/images/PCM/icon.webp differ diff --git a/files/assets/CHRISTMAS/images/PCM/preview.webp b/files/assets/CHRISTMAS/images/PCM/preview.webp new file mode 100644 index 000000000..8a49dcaab Binary files /dev/null and b/files/assets/CHRISTMAS/images/PCM/preview.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/fantasy/1.webp b/files/assets/CHRISTMAS/images/backgrounds/fantasy/1.webp new file mode 100644 index 000000000..1a9361a03 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/fantasy/1.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/fantasy/2.webp b/files/assets/CHRISTMAS/images/backgrounds/fantasy/2.webp new file mode 100644 index 000000000..580349e03 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/fantasy/2.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/fantasy/3.webp b/files/assets/CHRISTMAS/images/backgrounds/fantasy/3.webp new file mode 100644 index 000000000..aca7cd915 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/fantasy/3.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/fantasy/4.webp b/files/assets/CHRISTMAS/images/backgrounds/fantasy/4.webp new file mode 100644 index 000000000..98bd2a6f9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/fantasy/4.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/fantasy/5.webp b/files/assets/CHRISTMAS/images/backgrounds/fantasy/5.webp new file mode 100644 index 000000000..7cc3e7c3e Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/fantasy/5.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/fantasy/6.webp b/files/assets/CHRISTMAS/images/backgrounds/fantasy/6.webp new file mode 100644 index 000000000..ed4ace1c9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/fantasy/6.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/pixelart/1.webp b/files/assets/CHRISTMAS/images/backgrounds/pixelart/1.webp new file mode 100644 index 000000000..27a38f880 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/pixelart/1.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/pixelart/2.webp b/files/assets/CHRISTMAS/images/backgrounds/pixelart/2.webp new file mode 100644 index 000000000..9da69a554 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/pixelart/2.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/pixelart/3.webp b/files/assets/CHRISTMAS/images/backgrounds/pixelart/3.webp new file mode 100644 index 000000000..235201928 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/pixelart/3.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/pixelart/4.webp b/files/assets/CHRISTMAS/images/backgrounds/pixelart/4.webp new file mode 100644 index 000000000..74900d8e1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/pixelart/4.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/pixelart/5.webp b/files/assets/CHRISTMAS/images/backgrounds/pixelart/5.webp new file mode 100644 index 000000000..f477772b8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/pixelart/5.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/1.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/1.webp new file mode 100644 index 000000000..0c8f47ea6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/1.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/10.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/10.webp new file mode 100644 index 000000000..cafd296b4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/10.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/11.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/11.webp new file mode 100644 index 000000000..f8d26c202 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/11.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/12.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/12.webp new file mode 100644 index 000000000..9b963a20a Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/12.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/13.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/13.webp new file mode 100644 index 000000000..18ce1660e Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/13.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/14.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/14.webp new file mode 100644 index 000000000..da26e3b1a Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/14.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/15.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/15.webp new file mode 100644 index 000000000..c206126b5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/15.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/16.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/16.webp new file mode 100644 index 000000000..4533abcc7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/16.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/17.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/17.webp new file mode 100644 index 000000000..aeab1c067 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/17.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/18.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/18.webp new file mode 100644 index 000000000..7cf102b7a Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/18.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/19.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/19.webp new file mode 100644 index 000000000..f694c95a3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/19.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/2.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/2.webp new file mode 100644 index 000000000..3af7b4afe Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/2.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/3.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/3.webp new file mode 100644 index 000000000..8afb90b0c Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/3.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/4.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/4.webp new file mode 100644 index 000000000..0d0ae1f41 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/4.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/5.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/5.webp new file mode 100644 index 000000000..909e71c47 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/5.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/6.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/6.webp new file mode 100644 index 000000000..5ceb403e1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/6.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/7.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/7.webp new file mode 100644 index 000000000..c6eb57339 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/7.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/8.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/8.webp new file mode 100644 index 000000000..6bdfd94e4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/8.webp differ diff --git a/files/assets/CHRISTMAS/images/backgrounds/solarpunk/9.webp b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/9.webp new file mode 100644 index 000000000..f2ba74ab6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/backgrounds/solarpunk/9.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/2021 Spooooooky Marsey Artist.webp b/files/assets/CHRISTMAS/images/badges/2021 Spooooooky Marsey Artist.webp new file mode 100644 index 000000000..76fed6f6f Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/2021 Spooooooky Marsey Artist.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/All-Seeing Eye.webp b/files/assets/CHRISTMAS/images/badges/All-Seeing Eye.webp new file mode 100644 index 000000000..aa197ddd5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/All-Seeing Eye.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Alpha User.webp b/files/assets/CHRISTMAS/images/badges/Alpha User.webp new file mode 100644 index 000000000..cac573e19 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Alpha User.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Alt-Seeing Eye.webp b/files/assets/CHRISTMAS/images/badges/Alt-Seeing Eye.webp new file mode 100644 index 000000000..d9f1566a9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Alt-Seeing Eye.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Artisan.webp b/files/assets/CHRISTMAS/images/badges/Artisan.webp new file mode 100644 index 000000000..c525fb81a Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Artisan.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Artist Laureate.webp b/files/assets/CHRISTMAS/images/badges/Artist Laureate.webp new file mode 100644 index 000000000..8d9ff99c2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Artist Laureate.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Balls.webp b/files/assets/CHRISTMAS/images/badges/Balls.webp new file mode 100644 index 000000000..b25491c70 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Balls.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Beta User.webp b/files/assets/CHRISTMAS/images/badges/Beta User.webp new file mode 100644 index 000000000..15e142433 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Beta User.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Big Big Big Spender.webp b/files/assets/CHRISTMAS/images/badges/Big Big Big Spender.webp new file mode 100644 index 000000000..15e2bc6ca Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Big Big Big Spender.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Big Big Spender.webp b/files/assets/CHRISTMAS/images/badges/Big Big Spender.webp new file mode 100644 index 000000000..8ba58149c Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Big Big Spender.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Big Spender.webp b/files/assets/CHRISTMAS/images/badges/Big Spender.webp new file mode 100644 index 000000000..545a07ad1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Big Spender.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Bronze Recruiter.webp b/files/assets/CHRISTMAS/images/badges/Bronze Recruiter.webp new file mode 100644 index 000000000..5d6ef88a5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Bronze Recruiter.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Bug Finder.webp b/files/assets/CHRISTMAS/images/badges/Bug Finder.webp new file mode 100644 index 000000000..b4614d368 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Bug Finder.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Code Contributor.webp b/files/assets/CHRISTMAS/images/badges/Code Contributor.webp new file mode 100644 index 000000000..499074e1e Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Code Contributor.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Diamond Recruiter.webp b/files/assets/CHRISTMAS/images/badges/Diamond Recruiter.webp new file mode 100644 index 000000000..90590bee1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Diamond Recruiter.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Dinner.webp b/files/assets/CHRISTMAS/images/badges/Dinner.webp new file mode 100644 index 000000000..62fd3516f Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Dinner.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Gold Recruiter.webp b/files/assets/CHRISTMAS/images/badges/Gold Recruiter.webp new file mode 100644 index 000000000..db17ca751 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Gold Recruiter.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Grass Toucher.webp b/files/assets/CHRISTMAS/images/badges/Grass Toucher.webp new file mode 100644 index 000000000..692d911be Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Grass Toucher.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Grinch.webp b/files/assets/CHRISTMAS/images/badges/Grinch.webp new file mode 100644 index 000000000..b936e7a5c Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Grinch.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Halloween 21.webp b/files/assets/CHRISTMAS/images/badges/Halloween 21.webp new file mode 100644 index 000000000..91296a64f Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Halloween 21.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/High Roller.webp b/files/assets/CHRISTMAS/images/badges/High Roller.webp new file mode 100644 index 000000000..082ed42c3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/High Roller.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Holly Jolly Marsey Artist.webp b/files/assets/CHRISTMAS/images/badges/Holly Jolly Marsey Artist.webp new file mode 100644 index 000000000..e3b00c979 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Holly Jolly Marsey Artist.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Idea Maker.webp b/files/assets/CHRISTMAS/images/badges/Idea Maker.webp new file mode 100644 index 000000000..4a1523933 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Idea Maker.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Lab Rat.webp b/files/assets/CHRISTMAS/images/badges/Lab Rat.webp new file mode 100644 index 000000000..532d1fd6a Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Lab Rat.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Landchad.webp b/files/assets/CHRISTMAS/images/badges/Landchad.webp new file mode 100644 index 000000000..6b07327b5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Landchad.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Le Rich Gentlesir.webp b/files/assets/CHRISTMAS/images/badges/Le Rich Gentlesir.webp new file mode 100644 index 000000000..e0329b0cf Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Le Rich Gentlesir.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Little Big Spender.webp b/files/assets/CHRISTMAS/images/badges/Little Big Spender.webp new file mode 100644 index 000000000..d1f5884be Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Little Big Spender.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Low Roller.webp b/files/assets/CHRISTMAS/images/badges/Low Roller.webp new file mode 100644 index 000000000..deabcddd3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Low Roller.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Marsey Artisan.webp b/files/assets/CHRISTMAS/images/badges/Marsey Artisan.webp new file mode 100644 index 000000000..06822345f Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Marsey Artisan.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Marsey Master.webp b/files/assets/CHRISTMAS/images/badges/Marsey Master.webp new file mode 100644 index 000000000..eb0b897c1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Marsey Master.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Master Baiter.webp b/files/assets/CHRISTMAS/images/badges/Master Baiter.webp new file mode 100644 index 000000000..cb76d48a5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Master Baiter.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Middle Roller.webp b/files/assets/CHRISTMAS/images/badges/Middle Roller.webp new file mode 100644 index 000000000..f09449141 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Middle Roller.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Patron of the Arts.webp b/files/assets/CHRISTMAS/images/badges/Patron of the Arts.webp new file mode 100644 index 000000000..016d87e0a Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Patron of the Arts.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Pause Button.webp b/files/assets/CHRISTMAS/images/badges/Pause Button.webp new file mode 100644 index 000000000..b1f940d01 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Pause Button.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Paypig.webp b/files/assets/CHRISTMAS/images/badges/Paypig.webp new file mode 100644 index 000000000..7705b5945 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Paypig.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Renthog.webp b/files/assets/CHRISTMAS/images/badges/Renthog.webp new file mode 100644 index 000000000..80f499dd0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Renthog.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Rich Bich.webp b/files/assets/CHRISTMAS/images/badges/Rich Bich.webp new file mode 100644 index 000000000..cfec38cfd Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Rich Bich.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Sigma User.webp b/files/assets/CHRISTMAS/images/badges/Sigma User.webp new file mode 100644 index 000000000..1c56a9e93 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Sigma User.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Silver Recruiter.webp b/files/assets/CHRISTMAS/images/badges/Silver Recruiter.webp new file mode 100644 index 000000000..baf87b2b6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Silver Recruiter.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Sk8r Boi.webp b/files/assets/CHRISTMAS/images/badges/Sk8r Boi.webp new file mode 100644 index 000000000..b342eb9aa Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Sk8r Boi.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Terminally online turboautist.webp b/files/assets/CHRISTMAS/images/badges/Terminally online turboautist.webp new file mode 100644 index 000000000..c42018597 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Terminally online turboautist.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/The Other Kind Of Good Journalist.webp b/files/assets/CHRISTMAS/images/badges/The Other Kind Of Good Journalist.webp new file mode 100644 index 000000000..e2a862122 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/The Other Kind Of Good Journalist.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Unblockable.webp b/files/assets/CHRISTMAS/images/badges/Unblockable.webp new file mode 100644 index 000000000..150f1724c Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Unblockable.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Unironically Retarded.webp b/files/assets/CHRISTMAS/images/badges/Unironically Retarded.webp new file mode 100644 index 000000000..5e71f73cd Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Unironically Retarded.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/Verified Email.webp b/files/assets/CHRISTMAS/images/badges/Verified Email.webp new file mode 100644 index 000000000..f9d4524f4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/Verified Email.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/White Hat.webp b/files/assets/CHRISTMAS/images/badges/White Hat.webp new file mode 100644 index 000000000..77b30ca2f Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/White Hat.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/agendaposter.webp b/files/assets/CHRISTMAS/images/badges/agendaposter.webp new file mode 100644 index 000000000..a0ced368e Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/agendaposter.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/background.webp b/files/assets/CHRISTMAS/images/badges/background.webp new file mode 100644 index 000000000..753949e50 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/background.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/fish.webp b/files/assets/CHRISTMAS/images/badges/fish.webp new file mode 100644 index 000000000..75cade352 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/fish.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/lolcow.webp b/files/assets/CHRISTMAS/images/badges/lolcow.webp new file mode 100644 index 000000000..d8b41c3ea Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/lolcow.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/merchant.webp b/files/assets/CHRISTMAS/images/badges/merchant.webp new file mode 100644 index 000000000..373460b30 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/merchant.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/provider.webp b/files/assets/CHRISTMAS/images/badges/provider.webp new file mode 100644 index 000000000..a553bd7f5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/provider.webp differ diff --git a/files/assets/CHRISTMAS/images/badges/unpausable.webp b/files/assets/CHRISTMAS/images/badges/unpausable.webp new file mode 100644 index 000000000..58853d9f9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/badges/unpausable.webp differ diff --git a/files/assets/CHRISTMAS/images/default-profile-pic.webp b/files/assets/CHRISTMAS/images/default-profile-pic.webp new file mode 100644 index 000000000..7392ce645 Binary files /dev/null and b/files/assets/CHRISTMAS/images/default-profile-pic.webp differ diff --git a/files/assets/CHRISTMAS/images/default_thumb_link.webp b/files/assets/CHRISTMAS/images/default_thumb_link.webp new file mode 100644 index 000000000..b24586a50 Binary files /dev/null and b/files/assets/CHRISTMAS/images/default_thumb_link.webp differ diff --git a/files/assets/CHRISTMAS/images/default_thumb_yt.webp b/files/assets/CHRISTMAS/images/default_thumb_yt.webp new file mode 100644 index 000000000..b20adfef5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/default_thumb_yt.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/1.webp b/files/assets/CHRISTMAS/images/defaultpictures/1.webp new file mode 100644 index 000000000..3db0a96fb Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/1.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/10.webp b/files/assets/CHRISTMAS/images/defaultpictures/10.webp new file mode 100644 index 000000000..363adb9c5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/10.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/100.webp b/files/assets/CHRISTMAS/images/defaultpictures/100.webp new file mode 100644 index 000000000..5260df0ff Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/100.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/101.webp b/files/assets/CHRISTMAS/images/defaultpictures/101.webp new file mode 100644 index 000000000..77245529d Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/101.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/102.webp b/files/assets/CHRISTMAS/images/defaultpictures/102.webp new file mode 100644 index 000000000..be33d8f9f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/102.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/103.webp b/files/assets/CHRISTMAS/images/defaultpictures/103.webp new file mode 100644 index 000000000..60b6ab855 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/103.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/104.webp b/files/assets/CHRISTMAS/images/defaultpictures/104.webp new file mode 100644 index 000000000..02b5a27c3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/104.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/105.webp b/files/assets/CHRISTMAS/images/defaultpictures/105.webp new file mode 100644 index 000000000..006cf79db Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/105.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/106.webp b/files/assets/CHRISTMAS/images/defaultpictures/106.webp new file mode 100644 index 000000000..0a0968b55 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/106.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/107.webp b/files/assets/CHRISTMAS/images/defaultpictures/107.webp new file mode 100644 index 000000000..843e55b13 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/107.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/108.webp b/files/assets/CHRISTMAS/images/defaultpictures/108.webp new file mode 100644 index 000000000..6d60ecab4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/108.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/109.webp b/files/assets/CHRISTMAS/images/defaultpictures/109.webp new file mode 100644 index 000000000..d02de58e8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/109.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/11.webp b/files/assets/CHRISTMAS/images/defaultpictures/11.webp new file mode 100644 index 000000000..f975e6fdf Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/11.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/110.webp b/files/assets/CHRISTMAS/images/defaultpictures/110.webp new file mode 100644 index 000000000..4e4c307fa Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/110.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/111.webp b/files/assets/CHRISTMAS/images/defaultpictures/111.webp new file mode 100644 index 000000000..b0831ddb3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/111.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/112.webp b/files/assets/CHRISTMAS/images/defaultpictures/112.webp new file mode 100644 index 000000000..f85a364d0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/112.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/113.webp b/files/assets/CHRISTMAS/images/defaultpictures/113.webp new file mode 100644 index 000000000..5b6adbc7d Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/113.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/114.webp b/files/assets/CHRISTMAS/images/defaultpictures/114.webp new file mode 100644 index 000000000..0ded5d53a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/114.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/115.webp b/files/assets/CHRISTMAS/images/defaultpictures/115.webp new file mode 100644 index 000000000..2b0410b0e Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/115.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/116.webp b/files/assets/CHRISTMAS/images/defaultpictures/116.webp new file mode 100644 index 000000000..7caea0303 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/116.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/117.webp b/files/assets/CHRISTMAS/images/defaultpictures/117.webp new file mode 100644 index 000000000..1959d67b0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/117.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/118.webp b/files/assets/CHRISTMAS/images/defaultpictures/118.webp new file mode 100644 index 000000000..a82d533da Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/118.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/119.webp b/files/assets/CHRISTMAS/images/defaultpictures/119.webp new file mode 100644 index 000000000..c1e0d0bcc Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/119.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/12.webp b/files/assets/CHRISTMAS/images/defaultpictures/12.webp new file mode 100644 index 000000000..8f84f6b68 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/12.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/120.webp b/files/assets/CHRISTMAS/images/defaultpictures/120.webp new file mode 100644 index 000000000..a50074a74 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/120.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/121.webp b/files/assets/CHRISTMAS/images/defaultpictures/121.webp new file mode 100644 index 000000000..fb11b90f0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/121.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/122.webp b/files/assets/CHRISTMAS/images/defaultpictures/122.webp new file mode 100644 index 000000000..671faa6be Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/122.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/123.webp b/files/assets/CHRISTMAS/images/defaultpictures/123.webp new file mode 100644 index 000000000..e042e7837 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/123.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/124.webp b/files/assets/CHRISTMAS/images/defaultpictures/124.webp new file mode 100644 index 000000000..da8051a3d Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/124.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/125.webp b/files/assets/CHRISTMAS/images/defaultpictures/125.webp new file mode 100644 index 000000000..fd2cda082 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/125.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/126.webp b/files/assets/CHRISTMAS/images/defaultpictures/126.webp new file mode 100644 index 000000000..1869749bc Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/126.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/127.webp b/files/assets/CHRISTMAS/images/defaultpictures/127.webp new file mode 100644 index 000000000..f7bf50e3c Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/127.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/128.webp b/files/assets/CHRISTMAS/images/defaultpictures/128.webp new file mode 100644 index 000000000..6a622cf27 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/128.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/129.webp b/files/assets/CHRISTMAS/images/defaultpictures/129.webp new file mode 100644 index 000000000..acf93c155 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/129.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/13.webp b/files/assets/CHRISTMAS/images/defaultpictures/13.webp new file mode 100644 index 000000000..911d2d81c Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/13.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/130.webp b/files/assets/CHRISTMAS/images/defaultpictures/130.webp new file mode 100644 index 000000000..e8855f691 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/130.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/131.webp b/files/assets/CHRISTMAS/images/defaultpictures/131.webp new file mode 100644 index 000000000..8a3a42423 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/131.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/132.webp b/files/assets/CHRISTMAS/images/defaultpictures/132.webp new file mode 100644 index 000000000..03f27ae69 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/132.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/133.webp b/files/assets/CHRISTMAS/images/defaultpictures/133.webp new file mode 100644 index 000000000..fd95a221c Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/133.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/134.webp b/files/assets/CHRISTMAS/images/defaultpictures/134.webp new file mode 100644 index 000000000..60c1ecfe2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/134.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/135.webp b/files/assets/CHRISTMAS/images/defaultpictures/135.webp new file mode 100644 index 000000000..2ec803381 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/135.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/136.webp b/files/assets/CHRISTMAS/images/defaultpictures/136.webp new file mode 100644 index 000000000..f485b70cd Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/136.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/137.webp b/files/assets/CHRISTMAS/images/defaultpictures/137.webp new file mode 100644 index 000000000..e33f95fc1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/137.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/138.webp b/files/assets/CHRISTMAS/images/defaultpictures/138.webp new file mode 100644 index 000000000..d1304c2c2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/138.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/139.webp b/files/assets/CHRISTMAS/images/defaultpictures/139.webp new file mode 100644 index 000000000..b93f38842 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/139.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/14.webp b/files/assets/CHRISTMAS/images/defaultpictures/14.webp new file mode 100644 index 000000000..6d595c62f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/14.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/140.webp b/files/assets/CHRISTMAS/images/defaultpictures/140.webp new file mode 100644 index 000000000..4ea4f74d0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/140.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/141.webp b/files/assets/CHRISTMAS/images/defaultpictures/141.webp new file mode 100644 index 000000000..630b5e34c Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/141.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/142.webp b/files/assets/CHRISTMAS/images/defaultpictures/142.webp new file mode 100644 index 000000000..8b6728e2b Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/142.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/143.webp b/files/assets/CHRISTMAS/images/defaultpictures/143.webp new file mode 100644 index 000000000..a569a8223 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/143.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/144.webp b/files/assets/CHRISTMAS/images/defaultpictures/144.webp new file mode 100644 index 000000000..fcc616272 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/144.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/145.webp b/files/assets/CHRISTMAS/images/defaultpictures/145.webp new file mode 100644 index 000000000..6111b9155 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/145.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/146.webp b/files/assets/CHRISTMAS/images/defaultpictures/146.webp new file mode 100644 index 000000000..b192ecdfc Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/146.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/147.webp b/files/assets/CHRISTMAS/images/defaultpictures/147.webp new file mode 100644 index 000000000..357061abb Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/147.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/148.webp b/files/assets/CHRISTMAS/images/defaultpictures/148.webp new file mode 100644 index 000000000..4663f0c2a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/148.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/149.webp b/files/assets/CHRISTMAS/images/defaultpictures/149.webp new file mode 100644 index 000000000..a3246aba8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/149.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/15.webp b/files/assets/CHRISTMAS/images/defaultpictures/15.webp new file mode 100644 index 000000000..ac1c3817d Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/15.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/150.webp b/files/assets/CHRISTMAS/images/defaultpictures/150.webp new file mode 100644 index 000000000..100731d43 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/150.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/16.webp b/files/assets/CHRISTMAS/images/defaultpictures/16.webp new file mode 100644 index 000000000..6a0da483f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/16.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/17.webp b/files/assets/CHRISTMAS/images/defaultpictures/17.webp new file mode 100644 index 000000000..e03137c62 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/17.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/18.webp b/files/assets/CHRISTMAS/images/defaultpictures/18.webp new file mode 100644 index 000000000..d0a4e6cdc Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/18.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/19.webp b/files/assets/CHRISTMAS/images/defaultpictures/19.webp new file mode 100644 index 000000000..4fed4707f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/19.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/2.webp b/files/assets/CHRISTMAS/images/defaultpictures/2.webp new file mode 100644 index 000000000..8085874f5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/2.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/20.webp b/files/assets/CHRISTMAS/images/defaultpictures/20.webp new file mode 100644 index 000000000..4c7fc7727 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/20.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/21.webp b/files/assets/CHRISTMAS/images/defaultpictures/21.webp new file mode 100644 index 000000000..69a8aeead Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/21.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/22.webp b/files/assets/CHRISTMAS/images/defaultpictures/22.webp new file mode 100644 index 000000000..b7d6a8d21 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/22.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/23.webp b/files/assets/CHRISTMAS/images/defaultpictures/23.webp new file mode 100644 index 000000000..98d666159 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/23.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/24.webp b/files/assets/CHRISTMAS/images/defaultpictures/24.webp new file mode 100644 index 000000000..ab2457148 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/24.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/25.webp b/files/assets/CHRISTMAS/images/defaultpictures/25.webp new file mode 100644 index 000000000..7bb8ed440 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/25.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/26.webp b/files/assets/CHRISTMAS/images/defaultpictures/26.webp new file mode 100644 index 000000000..436fadf65 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/26.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/27.webp b/files/assets/CHRISTMAS/images/defaultpictures/27.webp new file mode 100644 index 000000000..c1e32a3d0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/27.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/28.webp b/files/assets/CHRISTMAS/images/defaultpictures/28.webp new file mode 100644 index 000000000..1d7f61811 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/28.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/29.webp b/files/assets/CHRISTMAS/images/defaultpictures/29.webp new file mode 100644 index 000000000..51eaf28bd Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/29.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/3.webp b/files/assets/CHRISTMAS/images/defaultpictures/3.webp new file mode 100644 index 000000000..f88de2777 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/3.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/30.webp b/files/assets/CHRISTMAS/images/defaultpictures/30.webp new file mode 100644 index 000000000..9f2dce3b2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/30.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/31.webp b/files/assets/CHRISTMAS/images/defaultpictures/31.webp new file mode 100644 index 000000000..5b1159633 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/31.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/32.webp b/files/assets/CHRISTMAS/images/defaultpictures/32.webp new file mode 100644 index 000000000..41ae87659 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/32.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/33.webp b/files/assets/CHRISTMAS/images/defaultpictures/33.webp new file mode 100644 index 000000000..d9606fda8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/33.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/34.webp b/files/assets/CHRISTMAS/images/defaultpictures/34.webp new file mode 100644 index 000000000..4985fae71 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/34.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/35.webp b/files/assets/CHRISTMAS/images/defaultpictures/35.webp new file mode 100644 index 000000000..e3fdda957 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/35.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/36.webp b/files/assets/CHRISTMAS/images/defaultpictures/36.webp new file mode 100644 index 000000000..d2cdc005e Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/36.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/37.webp b/files/assets/CHRISTMAS/images/defaultpictures/37.webp new file mode 100644 index 000000000..d74c4baa5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/37.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/38.webp b/files/assets/CHRISTMAS/images/defaultpictures/38.webp new file mode 100644 index 000000000..bed71f0b1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/38.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/39.webp b/files/assets/CHRISTMAS/images/defaultpictures/39.webp new file mode 100644 index 000000000..564ee36a9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/39.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/4.webp b/files/assets/CHRISTMAS/images/defaultpictures/4.webp new file mode 100644 index 000000000..56c0ffbb3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/4.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/40.webp b/files/assets/CHRISTMAS/images/defaultpictures/40.webp new file mode 100644 index 000000000..c6e329ee0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/40.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/41.webp b/files/assets/CHRISTMAS/images/defaultpictures/41.webp new file mode 100644 index 000000000..c1f2f4e3a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/41.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/42.webp b/files/assets/CHRISTMAS/images/defaultpictures/42.webp new file mode 100644 index 000000000..e62891b18 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/42.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/43.webp b/files/assets/CHRISTMAS/images/defaultpictures/43.webp new file mode 100644 index 000000000..38e592016 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/43.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/44.webp b/files/assets/CHRISTMAS/images/defaultpictures/44.webp new file mode 100644 index 000000000..b74f014f9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/44.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/45.webp b/files/assets/CHRISTMAS/images/defaultpictures/45.webp new file mode 100644 index 000000000..2ff545bd3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/45.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/46.webp b/files/assets/CHRISTMAS/images/defaultpictures/46.webp new file mode 100644 index 000000000..36d7e0408 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/46.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/47.webp b/files/assets/CHRISTMAS/images/defaultpictures/47.webp new file mode 100644 index 000000000..98bee1546 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/47.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/48.webp b/files/assets/CHRISTMAS/images/defaultpictures/48.webp new file mode 100644 index 000000000..7e5999b41 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/48.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/49.webp b/files/assets/CHRISTMAS/images/defaultpictures/49.webp new file mode 100644 index 000000000..602778e83 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/49.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/5.webp b/files/assets/CHRISTMAS/images/defaultpictures/5.webp new file mode 100644 index 000000000..469d9c78d Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/5.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/50.webp b/files/assets/CHRISTMAS/images/defaultpictures/50.webp new file mode 100644 index 000000000..e9a096ad8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/50.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/51.webp b/files/assets/CHRISTMAS/images/defaultpictures/51.webp new file mode 100644 index 000000000..71b4f687f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/51.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/52.webp b/files/assets/CHRISTMAS/images/defaultpictures/52.webp new file mode 100644 index 000000000..1fecb23a6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/52.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/53.webp b/files/assets/CHRISTMAS/images/defaultpictures/53.webp new file mode 100644 index 000000000..e3b4604bf Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/53.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/54.webp b/files/assets/CHRISTMAS/images/defaultpictures/54.webp new file mode 100644 index 000000000..c4aafa614 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/54.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/55.webp b/files/assets/CHRISTMAS/images/defaultpictures/55.webp new file mode 100644 index 000000000..1d9effbad Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/55.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/56.webp b/files/assets/CHRISTMAS/images/defaultpictures/56.webp new file mode 100644 index 000000000..07768e41a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/56.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/57.webp b/files/assets/CHRISTMAS/images/defaultpictures/57.webp new file mode 100644 index 000000000..687cccbcf Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/57.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/58.webp b/files/assets/CHRISTMAS/images/defaultpictures/58.webp new file mode 100644 index 000000000..282e9bd2a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/58.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/59.webp b/files/assets/CHRISTMAS/images/defaultpictures/59.webp new file mode 100644 index 000000000..28c1e440a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/59.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/6.webp b/files/assets/CHRISTMAS/images/defaultpictures/6.webp new file mode 100644 index 000000000..4fc0f3e9d Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/6.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/60.webp b/files/assets/CHRISTMAS/images/defaultpictures/60.webp new file mode 100644 index 000000000..6301752f8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/60.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/61.webp b/files/assets/CHRISTMAS/images/defaultpictures/61.webp new file mode 100644 index 000000000..5116da736 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/61.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/62.webp b/files/assets/CHRISTMAS/images/defaultpictures/62.webp new file mode 100644 index 000000000..42f8f309a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/62.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/63.webp b/files/assets/CHRISTMAS/images/defaultpictures/63.webp new file mode 100644 index 000000000..bad199a2f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/63.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/64.webp b/files/assets/CHRISTMAS/images/defaultpictures/64.webp new file mode 100644 index 000000000..fef87954d Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/64.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/65.webp b/files/assets/CHRISTMAS/images/defaultpictures/65.webp new file mode 100644 index 000000000..e6b97409e Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/65.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/66.webp b/files/assets/CHRISTMAS/images/defaultpictures/66.webp new file mode 100644 index 000000000..25183f84a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/66.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/67.webp b/files/assets/CHRISTMAS/images/defaultpictures/67.webp new file mode 100644 index 000000000..e70bd9bc7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/67.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/68.webp b/files/assets/CHRISTMAS/images/defaultpictures/68.webp new file mode 100644 index 000000000..2505043a2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/68.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/69.webp b/files/assets/CHRISTMAS/images/defaultpictures/69.webp new file mode 100644 index 000000000..ad5553518 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/69.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/7.webp b/files/assets/CHRISTMAS/images/defaultpictures/7.webp new file mode 100644 index 000000000..3ded53e09 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/7.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/70.webp b/files/assets/CHRISTMAS/images/defaultpictures/70.webp new file mode 100644 index 000000000..09ccf3e90 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/70.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/71.webp b/files/assets/CHRISTMAS/images/defaultpictures/71.webp new file mode 100644 index 000000000..1e5c9537a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/71.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/72.webp b/files/assets/CHRISTMAS/images/defaultpictures/72.webp new file mode 100644 index 000000000..645d8a61f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/72.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/73.webp b/files/assets/CHRISTMAS/images/defaultpictures/73.webp new file mode 100644 index 000000000..6445ceb0a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/73.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/74.webp b/files/assets/CHRISTMAS/images/defaultpictures/74.webp new file mode 100644 index 000000000..822000e9c Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/74.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/75.webp b/files/assets/CHRISTMAS/images/defaultpictures/75.webp new file mode 100644 index 000000000..7065415b4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/75.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/76.webp b/files/assets/CHRISTMAS/images/defaultpictures/76.webp new file mode 100644 index 000000000..2a70b5d66 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/76.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/77.webp b/files/assets/CHRISTMAS/images/defaultpictures/77.webp new file mode 100644 index 000000000..d608aa37a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/77.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/78.webp b/files/assets/CHRISTMAS/images/defaultpictures/78.webp new file mode 100644 index 000000000..4c3dcaf8c Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/78.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/79.webp b/files/assets/CHRISTMAS/images/defaultpictures/79.webp new file mode 100644 index 000000000..80d2084af Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/79.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/8.webp b/files/assets/CHRISTMAS/images/defaultpictures/8.webp new file mode 100644 index 000000000..a6026a6d8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/8.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/80.webp b/files/assets/CHRISTMAS/images/defaultpictures/80.webp new file mode 100644 index 000000000..812ea39ed Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/80.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/81.webp b/files/assets/CHRISTMAS/images/defaultpictures/81.webp new file mode 100644 index 000000000..710cabe36 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/81.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/82.webp b/files/assets/CHRISTMAS/images/defaultpictures/82.webp new file mode 100644 index 000000000..d68469a1b Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/82.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/83.webp b/files/assets/CHRISTMAS/images/defaultpictures/83.webp new file mode 100644 index 000000000..d1115729f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/83.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/84.webp b/files/assets/CHRISTMAS/images/defaultpictures/84.webp new file mode 100644 index 000000000..8bd2b3be0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/84.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/85.webp b/files/assets/CHRISTMAS/images/defaultpictures/85.webp new file mode 100644 index 000000000..a4a2f05c1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/85.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/86.webp b/files/assets/CHRISTMAS/images/defaultpictures/86.webp new file mode 100644 index 000000000..54da58fd8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/86.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/87.webp b/files/assets/CHRISTMAS/images/defaultpictures/87.webp new file mode 100644 index 000000000..06062de06 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/87.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/88.webp b/files/assets/CHRISTMAS/images/defaultpictures/88.webp new file mode 100644 index 000000000..ebcef65ce Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/88.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/89.webp b/files/assets/CHRISTMAS/images/defaultpictures/89.webp new file mode 100644 index 000000000..bfcb1d62b Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/89.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/9.webp b/files/assets/CHRISTMAS/images/defaultpictures/9.webp new file mode 100644 index 000000000..defdaeb62 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/9.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/90.webp b/files/assets/CHRISTMAS/images/defaultpictures/90.webp new file mode 100644 index 000000000..9d2d0cc3f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/90.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/91.webp b/files/assets/CHRISTMAS/images/defaultpictures/91.webp new file mode 100644 index 000000000..c7068601b Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/91.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/92.webp b/files/assets/CHRISTMAS/images/defaultpictures/92.webp new file mode 100644 index 000000000..e190778fd Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/92.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/93.webp b/files/assets/CHRISTMAS/images/defaultpictures/93.webp new file mode 100644 index 000000000..4a0e1f7a0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/93.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/94.webp b/files/assets/CHRISTMAS/images/defaultpictures/94.webp new file mode 100644 index 000000000..743f92008 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/94.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/95.webp b/files/assets/CHRISTMAS/images/defaultpictures/95.webp new file mode 100644 index 000000000..fd1312bee Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/95.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/96.webp b/files/assets/CHRISTMAS/images/defaultpictures/96.webp new file mode 100644 index 000000000..9ace7a390 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/96.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/97.webp b/files/assets/CHRISTMAS/images/defaultpictures/97.webp new file mode 100644 index 000000000..980c55db9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/97.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/98.webp b/files/assets/CHRISTMAS/images/defaultpictures/98.webp new file mode 100644 index 000000000..9e6824541 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/98.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/99.webp b/files/assets/CHRISTMAS/images/defaultpictures/99.webp new file mode 100644 index 000000000..77d01e699 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/99.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/1.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/1.webp new file mode 100644 index 000000000..be4722781 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/1.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/10.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/10.webp new file mode 100644 index 000000000..47199463a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/10.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/11.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/11.webp new file mode 100644 index 000000000..007699a70 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/11.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/12.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/12.webp new file mode 100644 index 000000000..3df8b52e7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/12.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/13.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/13.webp new file mode 100644 index 000000000..a979a6482 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/13.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/14.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/14.webp new file mode 100644 index 000000000..e4711026d Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/14.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/15.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/15.webp new file mode 100644 index 000000000..63cae7796 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/15.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/16.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/16.webp new file mode 100644 index 000000000..35bc9e281 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/16.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/17.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/17.webp new file mode 100644 index 000000000..663b34c07 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/17.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/18.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/18.webp new file mode 100644 index 000000000..f154132d2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/18.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/19.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/19.webp new file mode 100644 index 000000000..bcae5b29c Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/19.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/2.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/2.webp new file mode 100644 index 000000000..01e465880 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/2.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/20.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/20.webp new file mode 100644 index 000000000..60f982062 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/20.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/21.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/21.webp new file mode 100644 index 000000000..646fd5358 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/21.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/22.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/22.webp new file mode 100644 index 000000000..f1f1f4bb6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/22.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/23.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/23.webp new file mode 100644 index 000000000..58ca30918 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/23.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/24.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/24.webp new file mode 100644 index 000000000..974eb15c8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/24.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/25.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/25.webp new file mode 100644 index 000000000..ddede4037 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/25.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/26.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/26.webp new file mode 100644 index 000000000..b79299ae8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/26.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/27.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/27.webp new file mode 100644 index 000000000..749b14cab Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/27.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/28.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/28.webp new file mode 100644 index 000000000..f274eedee Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/28.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/29.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/29.webp new file mode 100644 index 000000000..169444c25 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/29.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/3.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/3.webp new file mode 100644 index 000000000..64e55e756 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/3.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/30.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/30.webp new file mode 100644 index 000000000..8feec4431 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/30.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/31.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/31.webp new file mode 100644 index 000000000..4ab71709e Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/31.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/32.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/32.webp new file mode 100644 index 000000000..929029e54 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/32.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/33.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/33.webp new file mode 100644 index 000000000..5b6e8ec0f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/33.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/34.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/34.webp new file mode 100644 index 000000000..2d4b13e4f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/34.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/35.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/35.webp new file mode 100644 index 000000000..728745ab3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/35.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/36.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/36.webp new file mode 100644 index 000000000..9c8d6debc Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/36.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/37.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/37.webp new file mode 100644 index 000000000..b8d014f1a Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/37.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/38.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/38.webp new file mode 100644 index 000000000..12f4cf4d6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/38.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/39.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/39.webp new file mode 100644 index 000000000..ad75eba76 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/39.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/4.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/4.webp new file mode 100644 index 000000000..3e27b161d Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/4.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/40.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/40.webp new file mode 100644 index 000000000..c9d83032b Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/40.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/41.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/41.webp new file mode 100644 index 000000000..0782e09b4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/41.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/42.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/42.webp new file mode 100644 index 000000000..fc1a31669 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/42.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/43.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/43.webp new file mode 100644 index 000000000..7b30be3f9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/43.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/44.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/44.webp new file mode 100644 index 000000000..a2660ed93 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/44.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/45.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/45.webp new file mode 100644 index 000000000..260fa8d41 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/45.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/46.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/46.webp new file mode 100644 index 000000000..260314b45 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/46.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/47.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/47.webp new file mode 100644 index 000000000..5f879258f Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/47.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/48.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/48.webp new file mode 100644 index 000000000..a33252494 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/48.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/49.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/49.webp new file mode 100644 index 000000000..3212867e7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/49.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/5.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/5.webp new file mode 100644 index 000000000..c6d5619d8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/5.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/50.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/50.webp new file mode 100644 index 000000000..08d10609e Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/50.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/6.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/6.webp new file mode 100644 index 000000000..9bb63afd5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/6.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/7.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/7.webp new file mode 100644 index 000000000..3206657ea Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/7.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/8.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/8.webp new file mode 100644 index 000000000..20fbe7a4e Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/8.webp differ diff --git a/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/9.webp b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/9.webp new file mode 100644 index 000000000..26eb759af Binary files /dev/null and b/files/assets/CHRISTMAS/images/defaultpictures/agendaposter/9.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/2thumbsup.webp b/files/assets/CHRISTMAS/images/emojis/2thumbsup.webp new file mode 100644 index 000000000..815b7cfd2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/2thumbsup.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/abusivewife.webp b/files/assets/CHRISTMAS/images/emojis/abusivewife.webp new file mode 100644 index 000000000..792479755 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/abusivewife.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/aliendj.webp b/files/assets/CHRISTMAS/images/emojis/aliendj.webp new file mode 100644 index 000000000..e1b18a1ed Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/aliendj.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ambulance.webp b/files/assets/CHRISTMAS/images/emojis/ambulance.webp new file mode 100644 index 000000000..319b0cc93 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ambulance.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ancap.webp b/files/assets/CHRISTMAS/images/emojis/ancap.webp new file mode 100644 index 000000000..07c7193a8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ancap.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/angry.webp b/files/assets/CHRISTMAS/images/emojis/angry.webp new file mode 100644 index 000000000..ccdb270a2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/angry.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/angrywhip.webp b/files/assets/CHRISTMAS/images/emojis/angrywhip.webp new file mode 100644 index 000000000..47842d57e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/angrywhip.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/animesexual.webp b/files/assets/CHRISTMAS/images/emojis/animesexual.webp new file mode 100644 index 000000000..342727628 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/animesexual.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/argue.webp b/files/assets/CHRISTMAS/images/emojis/argue.webp new file mode 100644 index 000000000..7862cb8f4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/argue.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/aroused.webp b/files/assets/CHRISTMAS/images/emojis/aroused.webp new file mode 100644 index 000000000..6e69a0bd5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/aroused.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ashamed.webp b/files/assets/CHRISTMAS/images/emojis/ashamed.webp new file mode 100644 index 000000000..63a2dbfea Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ashamed.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/autism.webp b/files/assets/CHRISTMAS/images/emojis/autism.webp new file mode 100644 index 000000000..a9c8c6c5f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/autism.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/badass.webp b/files/assets/CHRISTMAS/images/emojis/badass.webp new file mode 100644 index 000000000..87124f087 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/badass.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/banana.webp b/files/assets/CHRISTMAS/images/emojis/banana.webp new file mode 100644 index 000000000..03cdb13ad Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/banana.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/band.webp b/files/assets/CHRISTMAS/images/emojis/band.webp new file mode 100644 index 000000000..bf1a4fa7a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/band.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/banghead.webp b/files/assets/CHRISTMAS/images/emojis/banghead.webp new file mode 100644 index 000000000..d1fbb4e8e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/banghead.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bardfinn.webp b/files/assets/CHRISTMAS/images/emojis/bardfinn.webp new file mode 100644 index 000000000..ab4d597e8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bardfinn.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/batman.webp b/files/assets/CHRISTMAS/images/emojis/batman.webp new file mode 100644 index 000000000..d101aaf6e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/batman.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bigeyes.webp b/files/assets/CHRISTMAS/images/emojis/bigeyes.webp new file mode 100644 index 000000000..e83023ed6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bigeyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bitchplease.webp b/files/assets/CHRISTMAS/images/emojis/bitchplease.webp new file mode 100644 index 000000000..ca20c9e7a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bitchplease.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bite.webp b/files/assets/CHRISTMAS/images/emojis/bite.webp new file mode 100644 index 000000000..52fd2c05e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bite.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/blacknation.webp b/files/assets/CHRISTMAS/images/emojis/blacknation.webp new file mode 100644 index 000000000..832db8b16 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/blacknation.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/blind.webp b/files/assets/CHRISTMAS/images/emojis/blind.webp new file mode 100644 index 000000000..8b3f121d5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/blind.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/blm.webp b/files/assets/CHRISTMAS/images/emojis/blm.webp new file mode 100644 index 000000000..f2c3b9d60 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/blm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bloomer.webp b/files/assets/CHRISTMAS/images/emojis/bloomer.webp new file mode 100644 index 000000000..8e4baa2b1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bloomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/blowkiss.webp b/files/assets/CHRISTMAS/images/emojis/blowkiss.webp new file mode 100644 index 000000000..b919a8157 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/blowkiss.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/blueline.webp b/files/assets/CHRISTMAS/images/emojis/blueline.webp new file mode 100644 index 000000000..18ca7a841 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/blueline.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/blush.webp b/files/assets/CHRISTMAS/images/emojis/blush.webp new file mode 100644 index 000000000..9f56fbd67 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/blush.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bong.webp b/files/assets/CHRISTMAS/images/emojis/bong.webp new file mode 100644 index 000000000..e5e711dcf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bong.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/boomer.webp b/files/assets/CHRISTMAS/images/emojis/boomer.webp new file mode 100644 index 000000000..cbe5a4050 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/boomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/boomermonster.webp b/files/assets/CHRISTMAS/images/emojis/boomermonster.webp new file mode 100644 index 000000000..eed6a40b1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/boomermonster.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/boomerportrait.webp b/files/assets/CHRISTMAS/images/emojis/boomerportrait.webp new file mode 100644 index 000000000..948686f47 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/boomerportrait.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bounce.webp b/files/assets/CHRISTMAS/images/emojis/bounce.webp new file mode 100644 index 000000000..2acef75ce Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bounce.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bow.webp b/files/assets/CHRISTMAS/images/emojis/bow.webp new file mode 100644 index 000000000..75b9cc120 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/brainletbush.webp b/files/assets/CHRISTMAS/images/emojis/brainletbush.webp new file mode 100644 index 000000000..e17bfd772 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/brainletbush.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/brainletcaved.webp b/files/assets/CHRISTMAS/images/emojis/brainletcaved.webp new file mode 100644 index 000000000..0831c119f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/brainletcaved.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/brainletchair.webp b/files/assets/CHRISTMAS/images/emojis/brainletchair.webp new file mode 100644 index 000000000..d24b2b746 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/brainletchair.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/brainletchest.webp b/files/assets/CHRISTMAS/images/emojis/brainletchest.webp new file mode 100644 index 000000000..24dc8fd98 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/brainletchest.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/brainletmaga.webp b/files/assets/CHRISTMAS/images/emojis/brainletmaga.webp new file mode 100644 index 000000000..1ad108677 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/brainletmaga.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/brainletpit.webp b/files/assets/CHRISTMAS/images/emojis/brainletpit.webp new file mode 100644 index 000000000..19fec57ab Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/brainletpit.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/breakheart.webp b/files/assets/CHRISTMAS/images/emojis/breakheart.webp new file mode 100644 index 000000000..34c231b65 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/breakheart.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bruh.webp b/files/assets/CHRISTMAS/images/emojis/bruh.webp new file mode 100644 index 000000000..91e96cefb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bruh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/bs.webp b/files/assets/CHRISTMAS/images/emojis/bs.webp new file mode 100644 index 000000000..484e3fc18 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/bs.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/cartwheel.webp b/files/assets/CHRISTMAS/images/emojis/cartwheel.webp new file mode 100644 index 000000000..e84e0e2b2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/cartwheel.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/cat.webp b/files/assets/CHRISTMAS/images/emojis/cat.webp new file mode 100644 index 000000000..e61bb5a13 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/cat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/celebrate.webp b/files/assets/CHRISTMAS/images/emojis/celebrate.webp new file mode 100644 index 000000000..73ed685c1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/celebrate.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chad.webp b/files/assets/CHRISTMAS/images/emojis/chad.webp new file mode 100644 index 000000000..34468565e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadarab.webp b/files/assets/CHRISTMAS/images/emojis/chadarab.webp new file mode 100644 index 000000000..0257c0391 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadarab.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadasian.webp b/files/assets/CHRISTMAS/images/emojis/chadasian.webp new file mode 100644 index 000000000..089c0c2c2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadasian.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadblack.webp b/files/assets/CHRISTMAS/images/emojis/chadblack.webp new file mode 100644 index 000000000..5f30834ce Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadblack.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadjesus.webp b/files/assets/CHRISTMAS/images/emojis/chadjesus.webp new file mode 100644 index 000000000..d9ded97d6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadjesus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadjew.webp b/files/assets/CHRISTMAS/images/emojis/chadjew.webp new file mode 100644 index 000000000..1aaee6d22 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadjew.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadjihadi.webp b/files/assets/CHRISTMAS/images/emojis/chadjihadi.webp new file mode 100644 index 000000000..c30612442 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadjihadi.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadlatino.webp b/files/assets/CHRISTMAS/images/emojis/chadlatino.webp new file mode 100644 index 000000000..107093f4f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadlatino.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadlibleft.webp b/files/assets/CHRISTMAS/images/emojis/chadlibleft.webp new file mode 100644 index 000000000..cf4e59ca1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadlibleft.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadno.webp b/files/assets/CHRISTMAS/images/emojis/chadno.webp new file mode 100644 index 000000000..293f83ee9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadno.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadnordic.webp b/files/assets/CHRISTMAS/images/emojis/chadnordic.webp new file mode 100644 index 000000000..80d097740 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadnordic.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadsikh.webp b/files/assets/CHRISTMAS/images/emojis/chadsikh.webp new file mode 100644 index 000000000..1eb5693f9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadsikh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadusa.webp b/files/assets/CHRISTMAS/images/emojis/chadusa.webp new file mode 100644 index 000000000..2c3877b58 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadusa.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadyes.webp b/files/assets/CHRISTMAS/images/emojis/chadyes.webp new file mode 100644 index 000000000..39ad1b630 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chadyescapy.webp b/files/assets/CHRISTMAS/images/emojis/chadyescapy.webp new file mode 100644 index 000000000..00becb5c8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chadyescapy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chainsaw.webp b/files/assets/CHRISTMAS/images/emojis/chainsaw.webp new file mode 100644 index 000000000..a6cddae93 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chainsaw.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/challengeaccepted.webp b/files/assets/CHRISTMAS/images/emojis/challengeaccepted.webp new file mode 100644 index 000000000..ca1979279 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/challengeaccepted.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/cheers.webp b/files/assets/CHRISTMAS/images/emojis/cheers.webp new file mode 100644 index 000000000..a03427969 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/cheers.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/chudsey.webp b/files/assets/CHRISTMAS/images/emojis/chudsey.webp new file mode 100644 index 000000000..007699a70 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/chudsey.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/clap.webp b/files/assets/CHRISTMAS/images/emojis/clap.webp new file mode 100644 index 000000000..4ed2d9361 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/clap.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/clueless.webp b/files/assets/CHRISTMAS/images/emojis/clueless.webp new file mode 100644 index 000000000..c2d3ab559 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/clueless.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/cold.webp b/files/assets/CHRISTMAS/images/emojis/cold.webp new file mode 100644 index 000000000..70f3b626c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/cold.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/confused.webp b/files/assets/CHRISTMAS/images/emojis/confused.webp new file mode 100644 index 000000000..6a587bab7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/confused.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/contentiouscereal.webp b/files/assets/CHRISTMAS/images/emojis/contentiouscereal.webp new file mode 100644 index 000000000..306078b19 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/contentiouscereal.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/coomer.webp b/files/assets/CHRISTMAS/images/emojis/coomer.webp new file mode 100644 index 000000000..51873b22f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/coomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/crazyeyes.webp b/files/assets/CHRISTMAS/images/emojis/crazyeyes.webp new file mode 100644 index 000000000..81d450431 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/crazyeyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/cry.webp b/files/assets/CHRISTMAS/images/emojis/cry.webp new file mode 100644 index 000000000..78aaa5691 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/cry.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/cryingatcuteness.webp b/files/assets/CHRISTMAS/images/emojis/cryingatcuteness.webp new file mode 100644 index 000000000..9f3ea40fb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/cryingatcuteness.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/cthulhu.webp b/files/assets/CHRISTMAS/images/emojis/cthulhu.webp new file mode 100644 index 000000000..50490b47a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/cthulhu.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/cute.webp b/files/assets/CHRISTMAS/images/emojis/cute.webp new file mode 100644 index 000000000..3b11706cc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/cute.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/d.webp b/files/assets/CHRISTMAS/images/emojis/d.webp new file mode 100644 index 000000000..2803c0259 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/d.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/daydream.webp b/files/assets/CHRISTMAS/images/emojis/daydream.webp new file mode 100644 index 000000000..b2f1f6ddf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/daydream.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ddr.webp b/files/assets/CHRISTMAS/images/emojis/ddr.webp new file mode 100644 index 000000000..708fa6a54 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ddr.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/deadpool.webp b/files/assets/CHRISTMAS/images/emojis/deadpool.webp new file mode 100644 index 000000000..beb81829b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/deadpool.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derp.webp b/files/assets/CHRISTMAS/images/emojis/derp.webp new file mode 100644 index 000000000..29e62e6e5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpcornsyrup.webp b/files/assets/CHRISTMAS/images/emojis/derpcornsyrup.webp new file mode 100644 index 000000000..ad3f39244 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpcornsyrup.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpcrying.webp b/files/assets/CHRISTMAS/images/emojis/derpcrying.webp new file mode 100644 index 000000000..173ed9442 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpcrying.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpcute.webp b/files/assets/CHRISTMAS/images/emojis/derpcute.webp new file mode 100644 index 000000000..481b1f8fe Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpcute.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpdumb.webp b/files/assets/CHRISTMAS/images/emojis/derpdumb.webp new file mode 100644 index 000000000..a6362bad6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpdumb.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpeuphoria.webp b/files/assets/CHRISTMAS/images/emojis/derpeuphoria.webp new file mode 100644 index 000000000..e98d1514f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpeuphoria.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpinahd.webp b/files/assets/CHRISTMAS/images/emojis/derpinahd.webp new file mode 100644 index 000000000..1404ce907 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpinahd.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpinapokerface.webp b/files/assets/CHRISTMAS/images/emojis/derpinapokerface.webp new file mode 100644 index 000000000..16204c484 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpinapokerface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpinasnickering.webp b/files/assets/CHRISTMAS/images/emojis/derpinasnickering.webp new file mode 100644 index 000000000..31c687940 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpinasnickering.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpprocessing.webp b/files/assets/CHRISTMAS/images/emojis/derpprocessing.webp new file mode 100644 index 000000000..ecc0f0495 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpprocessing.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derprealization.webp b/files/assets/CHRISTMAS/images/emojis/derprealization.webp new file mode 100644 index 000000000..0c5b8a9a3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derprealization.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpsnickering.webp b/files/assets/CHRISTMAS/images/emojis/derpsnickering.webp new file mode 100644 index 000000000..5de2b3966 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpsnickering.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derptalking.webp b/files/assets/CHRISTMAS/images/emojis/derptalking.webp new file mode 100644 index 000000000..9cb9555e4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derptalking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpthinking.webp b/files/assets/CHRISTMAS/images/emojis/derpthinking.webp new file mode 100644 index 000000000..db5c0d76c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpthinking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpthumbsup.webp b/files/assets/CHRISTMAS/images/emojis/derpthumbsup.webp new file mode 100644 index 000000000..6fe2810e7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpthumbsup.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpunimpressed.webp b/files/assets/CHRISTMAS/images/emojis/derpunimpressed.webp new file mode 100644 index 000000000..587d3c0e1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpunimpressed.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/derpwhy.webp b/files/assets/CHRISTMAS/images/emojis/derpwhy.webp new file mode 100644 index 000000000..68ae9d6ba Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/derpwhy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/devilsmile.webp b/files/assets/CHRISTMAS/images/emojis/devilsmile.webp new file mode 100644 index 000000000..7bebbf7bb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/devilsmile.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/diddle.webp b/files/assets/CHRISTMAS/images/emojis/diddle.webp new file mode 100644 index 000000000..6e04d58d1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/diddle.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/die.webp b/files/assets/CHRISTMAS/images/emojis/die.webp new file mode 100644 index 000000000..e277e8b16 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/die.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/distress.webp b/files/assets/CHRISTMAS/images/emojis/distress.webp new file mode 100644 index 000000000..c7ba0a52c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/distress.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/disturbing.webp b/files/assets/CHRISTMAS/images/emojis/disturbing.webp new file mode 100644 index 000000000..8d4226dc1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/disturbing.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/dizzy.webp b/files/assets/CHRISTMAS/images/emojis/dizzy.webp new file mode 100644 index 000000000..d87a3dc7d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/dizzy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/domo.webp b/files/assets/CHRISTMAS/images/emojis/domo.webp new file mode 100644 index 000000000..000333295 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/domo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/donotwant.webp b/files/assets/CHRISTMAS/images/emojis/donotwant.webp new file mode 100644 index 000000000..f74211026 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/donotwant.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/doomer.webp b/files/assets/CHRISTMAS/images/emojis/doomer.webp new file mode 100644 index 000000000..52f24c45c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/doomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/doomerfront.webp b/files/assets/CHRISTMAS/images/emojis/doomerfront.webp new file mode 100644 index 000000000..0c89986a4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/doomerfront.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/doomergirl.webp b/files/assets/CHRISTMAS/images/emojis/doomergirl.webp new file mode 100644 index 000000000..7481ab987 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/doomergirl.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/doot.webp b/files/assets/CHRISTMAS/images/emojis/doot.webp new file mode 100644 index 000000000..75b5a9821 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/doot.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/doughboy.webp b/files/assets/CHRISTMAS/images/emojis/doughboy.webp new file mode 100644 index 000000000..4e63e133c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/doughboy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/dreamgender.webp b/files/assets/CHRISTMAS/images/emojis/dreamgender.webp new file mode 100644 index 000000000..07bbdcd0d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/dreamgender.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/drink.webp b/files/assets/CHRISTMAS/images/emojis/drink.webp new file mode 100644 index 000000000..70f3a6b2a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/drink.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/drool.webp b/files/assets/CHRISTMAS/images/emojis/drool.webp new file mode 100644 index 000000000..5db0ff909 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/drool.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/dudeweedlmao.webp b/files/assets/CHRISTMAS/images/emojis/dudeweedlmao.webp new file mode 100644 index 000000000..f25a04953 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/dudeweedlmao.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/edward.webp b/files/assets/CHRISTMAS/images/emojis/edward.webp new file mode 100644 index 000000000..e3c59b5e9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/edward.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/electro.webp b/files/assets/CHRISTMAS/images/emojis/electro.webp new file mode 100644 index 000000000..9cc30d1d7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/electro.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/elephant.webp b/files/assets/CHRISTMAS/images/emojis/elephant.webp new file mode 100644 index 000000000..5425fb749 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/elephant.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/embarrassed.webp b/files/assets/CHRISTMAS/images/emojis/embarrassed.webp new file mode 100644 index 000000000..13f467562 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/embarrassed.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/emo.webp b/files/assets/CHRISTMAS/images/emojis/emo.webp new file mode 100644 index 000000000..132bfbe16 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/emo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/emo2.webp b/files/assets/CHRISTMAS/images/emojis/emo2.webp new file mode 100644 index 000000000..14b1db24a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/emo2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/epicfacefeatures.webp b/files/assets/CHRISTMAS/images/emojis/epicfacefeatures.webp new file mode 100644 index 000000000..30b401ef2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/epicfacefeatures.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ethot.webp b/files/assets/CHRISTMAS/images/emojis/ethot.webp new file mode 100644 index 000000000..2e0276882 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ethot.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/evil.webp b/files/assets/CHRISTMAS/images/emojis/evil.webp new file mode 100644 index 000000000..cb819e0b3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/evil.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/evilclown.webp b/files/assets/CHRISTMAS/images/emojis/evilclown.webp new file mode 100644 index 000000000..f35ffa4ac Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/evilclown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/evilgrin.webp b/files/assets/CHRISTMAS/images/emojis/evilgrin.webp new file mode 100644 index 000000000..ad414cfa6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/evilgrin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/facepalm.webp b/files/assets/CHRISTMAS/images/emojis/facepalm.webp new file mode 100644 index 000000000..78fba16e7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/facepalm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/fancywithwine.webp b/files/assets/CHRISTMAS/images/emojis/fancywithwine.webp new file mode 100644 index 000000000..d32e23583 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/fancywithwine.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/fap.webp b/files/assets/CHRISTMAS/images/emojis/fap.webp new file mode 100644 index 000000000..8a75b5d15 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/fap.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/fatbrain.webp b/files/assets/CHRISTMAS/images/emojis/fatbrain.webp new file mode 100644 index 000000000..0e7392ab3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/fatbrain.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/fatpride.webp b/files/assets/CHRISTMAS/images/emojis/fatpride.webp new file mode 100644 index 000000000..c27e5aa5d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/fatpride.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/fatpriest.webp b/files/assets/CHRISTMAS/images/emojis/fatpriest.webp new file mode 100644 index 000000000..fc4f67f0b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/fatpriest.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/femboy.webp b/files/assets/CHRISTMAS/images/emojis/femboy.webp new file mode 100644 index 000000000..92ae2bbad Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/femboy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/fffffffuuuuuuuuuuuu.webp b/files/assets/CHRISTMAS/images/emojis/fffffffuuuuuuuuuuuu.webp new file mode 100644 index 000000000..9cd6c46ac Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/fffffffuuuuuuuuuuuu.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/firecat.webp b/files/assets/CHRISTMAS/images/emojis/firecat.webp new file mode 100644 index 000000000..99e4e976a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/firecat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/flamethrower.webp b/files/assets/CHRISTMAS/images/emojis/flamethrower.webp new file mode 100644 index 000000000..58f57ce8d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/flamethrower.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/flipbird.webp b/files/assets/CHRISTMAS/images/emojis/flipbird.webp new file mode 100644 index 000000000..4ba0e7455 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/flipbird.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/flipthetable.webp b/files/assets/CHRISTMAS/images/emojis/flipthetable.webp new file mode 100644 index 000000000..96f29e741 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/flipthetable.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/flirt.webp b/files/assets/CHRISTMAS/images/emojis/flirt.webp new file mode 100644 index 000000000..8bc736e6a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/flirt.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/foreveralone.webp b/files/assets/CHRISTMAS/images/emojis/foreveralone.webp new file mode 100644 index 000000000..ff0b7f172 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/foreveralone.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/foreveralonehappy.webp b/files/assets/CHRISTMAS/images/emojis/foreveralonehappy.webp new file mode 100644 index 000000000..c553e3b00 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/foreveralonehappy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/frown.webp b/files/assets/CHRISTMAS/images/emojis/frown.webp new file mode 100644 index 000000000..04edf2364 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/frown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/fuckoffcarp.webp b/files/assets/CHRISTMAS/images/emojis/fuckoffcarp.webp new file mode 100644 index 000000000..5299b0a43 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/fuckoffcarp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/gasp.webp b/files/assets/CHRISTMAS/images/emojis/gasp.webp new file mode 100644 index 000000000..6c4653c81 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/gasp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/gigachad.webp b/files/assets/CHRISTMAS/images/emojis/gigachad.webp new file mode 100644 index 000000000..430d994ef Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/gigachad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/gigachad2.webp b/files/assets/CHRISTMAS/images/emojis/gigachad2.webp new file mode 100644 index 000000000..486531c6e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/gigachad2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/gigachad3.webp b/files/assets/CHRISTMAS/images/emojis/gigachad3.webp new file mode 100644 index 000000000..b05dbcbc6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/gigachad3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/gigachadglow.webp b/files/assets/CHRISTMAS/images/emojis/gigachadglow.webp new file mode 100644 index 000000000..6f1ebb575 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/gigachadglow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/gigachadorthodox.webp b/files/assets/CHRISTMAS/images/emojis/gigachadorthodox.webp new file mode 100644 index 000000000..7aa0938f7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/gigachadorthodox.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/glomp.webp b/files/assets/CHRISTMAS/images/emojis/glomp.webp new file mode 100644 index 000000000..2a01bf0f8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/glomp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/go.webp b/files/assets/CHRISTMAS/images/emojis/go.webp new file mode 100644 index 000000000..65a138435 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/go.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/gogetter.webp b/files/assets/CHRISTMAS/images/emojis/gogetter.webp new file mode 100644 index 000000000..4965ab3bb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/gogetter.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/gooby.webp b/files/assets/CHRISTMAS/images/emojis/gooby.webp new file mode 100644 index 000000000..69d4ef7e6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/gooby.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/grr.webp b/files/assets/CHRISTMAS/images/emojis/grr.webp new file mode 100644 index 000000000..a5c8f8187 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/grr.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/grug.webp b/files/assets/CHRISTMAS/images/emojis/grug.webp new file mode 100644 index 000000000..6aa29bc56 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/grug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/gtfo.webp b/files/assets/CHRISTMAS/images/emojis/gtfo.webp new file mode 100644 index 000000000..8b215372d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/gtfo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/guitar.webp b/files/assets/CHRISTMAS/images/emojis/guitar.webp new file mode 100644 index 000000000..d83ebef5c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/guitar.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/haha.webp b/files/assets/CHRISTMAS/images/emojis/haha.webp new file mode 100644 index 000000000..3936fae93 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/haha.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/handshake.webp b/files/assets/CHRISTMAS/images/emojis/handshake.webp new file mode 100644 index 000000000..fb9f2a3e6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/handshake.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/happydance.webp b/files/assets/CHRISTMAS/images/emojis/happydance.webp new file mode 100644 index 000000000..9e1b8ffbe Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/happydance.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/headbang.webp b/files/assets/CHRISTMAS/images/emojis/headbang.webp new file mode 100644 index 000000000..48ddfcc02 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/headbang.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/heart.webp b/files/assets/CHRISTMAS/images/emojis/heart.webp new file mode 100644 index 000000000..d43bbf8c8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/heart.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/heartbeat.webp b/files/assets/CHRISTMAS/images/emojis/heartbeat.webp new file mode 100644 index 000000000..5c3496507 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/heartbeat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/hearts.webp b/files/assets/CHRISTMAS/images/emojis/hearts.webp new file mode 100644 index 000000000..9d13d2a79 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/hearts.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/hewillnever.webp b/files/assets/CHRISTMAS/images/emojis/hewillnever.webp new file mode 100644 index 000000000..ff649a34d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/hewillnever.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/highfive.webp b/files/assets/CHRISTMAS/images/emojis/highfive.webp new file mode 100644 index 000000000..8a8210a68 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/highfive.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/hmm.webp b/files/assets/CHRISTMAS/images/emojis/hmm.webp new file mode 100644 index 000000000..9c13c05c8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/hmm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/hmph.webp b/files/assets/CHRISTMAS/images/emojis/hmph.webp new file mode 100644 index 000000000..ba5a07493 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/hmph.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/holdhands.webp b/files/assets/CHRISTMAS/images/emojis/holdhands.webp new file mode 100644 index 000000000..855f266fc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/holdhands.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/horny.webp b/files/assets/CHRISTMAS/images/emojis/horny.webp new file mode 100644 index 000000000..9f91d2303 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/horny.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/hug.webp b/files/assets/CHRISTMAS/images/emojis/hug.webp new file mode 100644 index 000000000..b7e397460 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/hug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/hugging.webp b/files/assets/CHRISTMAS/images/emojis/hugging.webp new file mode 100644 index 000000000..9ad501f94 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/hugging.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/hugs.webp b/files/assets/CHRISTMAS/images/emojis/hugs.webp new file mode 100644 index 000000000..7a5e225d6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/hugs.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/hump.webp b/files/assets/CHRISTMAS/images/emojis/hump.webp new file mode 100644 index 000000000..c6e8bef6f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/hump.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/humpbed.webp b/files/assets/CHRISTMAS/images/emojis/humpbed.webp new file mode 100644 index 000000000..36245512e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/humpbed.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/hysterical.webp b/files/assets/CHRISTMAS/images/emojis/hysterical.webp new file mode 100644 index 000000000..f1b7c9c3a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/hysterical.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/idhitit.webp b/files/assets/CHRISTMAS/images/emojis/idhitit.webp new file mode 100644 index 000000000..2755ad988 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/idhitit.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/idontknow.webp b/files/assets/CHRISTMAS/images/emojis/idontknow.webp new file mode 100644 index 000000000..b1158df1c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/idontknow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ily.webp b/files/assets/CHRISTMAS/images/emojis/ily.webp new file mode 100644 index 000000000..cb87feabf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ily.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/incelpride.webp b/files/assets/CHRISTMAS/images/emojis/incelpride.webp new file mode 100644 index 000000000..6bca01924 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/incelpride.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/inlove.webp b/files/assets/CHRISTMAS/images/emojis/inlove.webp new file mode 100644 index 000000000..cfb4258a7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/inlove.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/interuptedreading.webp b/files/assets/CHRISTMAS/images/emojis/interuptedreading.webp new file mode 100644 index 000000000..8751e208c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/interuptedreading.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/iseewhatyoudidthere.webp b/files/assets/CHRISTMAS/images/emojis/iseewhatyoudidthere.webp new file mode 100644 index 000000000..ee39f4985 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/iseewhatyoudidthere.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/israel.webp b/files/assets/CHRISTMAS/images/emojis/israel.webp new file mode 100644 index 000000000..b535e3c66 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/israel.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/jason.webp b/files/assets/CHRISTMAS/images/emojis/jason.webp new file mode 100644 index 000000000..89a429c64 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/jason.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/jawdrop.webp b/files/assets/CHRISTMAS/images/emojis/jawdrop.webp new file mode 100644 index 000000000..2f6cad2e4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/jawdrop.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/jedi.webp b/files/assets/CHRISTMAS/images/emojis/jedi.webp new file mode 100644 index 000000000..5c4f3d74d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/jedi.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/jester.webp b/files/assets/CHRISTMAS/images/emojis/jester.webp new file mode 100644 index 000000000..e3842d260 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/jester.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/kaboom.webp b/files/assets/CHRISTMAS/images/emojis/kaboom.webp new file mode 100644 index 000000000..d438b52c9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/kaboom.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/karlmarxey.webp b/files/assets/CHRISTMAS/images/emojis/karlmarxey.webp new file mode 100644 index 000000000..b97496da1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/karlmarxey.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/kazakhstan.webp b/files/assets/CHRISTMAS/images/emojis/kazakhstan.webp new file mode 100644 index 000000000..23423ad03 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/kazakhstan.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/kick.webp b/files/assets/CHRISTMAS/images/emojis/kick.webp new file mode 100644 index 000000000..c33eed59d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/kick.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/killherkillher.webp b/files/assets/CHRISTMAS/images/emojis/killherkillher.webp new file mode 100644 index 000000000..5603e7a70 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/killherkillher.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/kiss.webp b/files/assets/CHRISTMAS/images/emojis/kiss.webp new file mode 100644 index 000000000..76a09fb7d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/kiss.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/kitty.webp b/files/assets/CHRISTMAS/images/emojis/kitty.webp new file mode 100644 index 000000000..b4291f52d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/kitty.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/kyleface.webp b/files/assets/CHRISTMAS/images/emojis/kyleface.webp new file mode 100644 index 000000000..7e0e376e8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/kyleface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/kylieface.webp b/files/assets/CHRISTMAS/images/emojis/kylieface.webp new file mode 100644 index 000000000..7e0e376e8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/kylieface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/landlordlove.webp b/files/assets/CHRISTMAS/images/emojis/landlordlove.webp new file mode 100644 index 000000000..c4c123bb6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/landlordlove.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/laughchair.webp b/files/assets/CHRISTMAS/images/emojis/laughchair.webp new file mode 100644 index 000000000..4bbb87a6f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/laughchair.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ledesire.webp b/files/assets/CHRISTMAS/images/emojis/ledesire.webp new file mode 100644 index 000000000..b03a770ab Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ledesire.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/leexcited.webp b/files/assets/CHRISTMAS/images/emojis/leexcited.webp new file mode 100644 index 000000000..54ae32d2d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/leexcited.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/legenius.webp b/files/assets/CHRISTMAS/images/emojis/legenius.webp new file mode 100644 index 000000000..44f1989a0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/legenius.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lelolidk.webp b/files/assets/CHRISTMAS/images/emojis/lelolidk.webp new file mode 100644 index 000000000..ce8bc7b17 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lelolidk.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lemiddlefinger.webp b/files/assets/CHRISTMAS/images/emojis/lemiddlefinger.webp new file mode 100644 index 000000000..5eacd2cc9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lemiddlefinger.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lemindblown.webp b/files/assets/CHRISTMAS/images/emojis/lemindblown.webp new file mode 100644 index 000000000..279b0a9a9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lemindblown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/leokay.webp b/files/assets/CHRISTMAS/images/emojis/leokay.webp new file mode 100644 index 000000000..922ac2c19 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/leokay.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lepanicrunning.webp b/files/assets/CHRISTMAS/images/emojis/lepanicrunning.webp new file mode 100644 index 000000000..53bb80050 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lepanicrunning.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lepokerface.webp b/files/assets/CHRISTMAS/images/emojis/lepokerface.webp new file mode 100644 index 000000000..e601537ec Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lepokerface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lepokerface2.webp b/files/assets/CHRISTMAS/images/emojis/lepokerface2.webp new file mode 100644 index 000000000..8939a6f1b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lepokerface2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lerageface.webp b/files/assets/CHRISTMAS/images/emojis/lerageface.webp new file mode 100644 index 000000000..13393ed85 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lerageface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/leseriousface.webp b/files/assets/CHRISTMAS/images/emojis/leseriousface.webp new file mode 100644 index 000000000..d43be724e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/leseriousface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lgbt.webp b/files/assets/CHRISTMAS/images/emojis/lgbt.webp new file mode 100644 index 000000000..556af45dc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lgbt.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lick.webp b/files/assets/CHRISTMAS/images/emojis/lick.webp new file mode 100644 index 000000000..390965d95 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lick.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/likeaboss.webp b/files/assets/CHRISTMAS/images/emojis/likeaboss.webp new file mode 100644 index 000000000..c2918ab1d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/likeaboss.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/link.webp b/files/assets/CHRISTMAS/images/emojis/link.webp new file mode 100644 index 000000000..05282cef3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/link.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lol.webp b/files/assets/CHRISTMAS/images/emojis/lol.webp new file mode 100644 index 000000000..809291d56 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lol.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lolbeat.webp b/files/assets/CHRISTMAS/images/emojis/lolbeat.webp new file mode 100644 index 000000000..ccf76a0b9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lolbeat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/lolface.webp b/files/assets/CHRISTMAS/images/emojis/lolface.webp new file mode 100644 index 000000000..c30cfa847 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/lolface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/longwhiskers.webp b/files/assets/CHRISTMAS/images/emojis/longwhiskers.webp new file mode 100644 index 000000000..ceefe6041 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/longwhiskers.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/loving.webp b/files/assets/CHRISTMAS/images/emojis/loving.webp new file mode 100644 index 000000000..e2fafea12 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/loving.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/makeout.webp b/files/assets/CHRISTMAS/images/emojis/makeout.webp new file mode 100644 index 000000000..bb1b623b6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/makeout.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/manymiddlefingers.webp b/files/assets/CHRISTMAS/images/emojis/manymiddlefingers.webp new file mode 100644 index 000000000..7b0518673 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/manymiddlefingers.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marcerberus.webp b/files/assets/CHRISTMAS/images/emojis/marcerberus.webp new file mode 100644 index 000000000..88ea63ad9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marcerberus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marchipmunk.webp b/files/assets/CHRISTMAS/images/emojis/marchipmunk.webp new file mode 100644 index 000000000..71922f49a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marchipmunk.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marchipmunklove.webp b/files/assets/CHRISTMAS/images/emojis/marchipmunklove.webp new file mode 100644 index 000000000..cbaddce8b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marchipmunklove.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marcusfootball.webp b/files/assets/CHRISTMAS/images/emojis/marcusfootball.webp new file mode 100644 index 000000000..39c48a31a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marcusfootball.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marfield.webp b/files/assets/CHRISTMAS/images/emojis/marfield.webp new file mode 100644 index 000000000..f7fa9f0c1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marfield.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marje.webp b/files/assets/CHRISTMAS/images/emojis/marje.webp new file mode 100644 index 000000000..70d552c5e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marje.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marlion.webp b/files/assets/CHRISTMAS/images/emojis/marlion.webp new file mode 100644 index 000000000..68daa63d4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marlion.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marmsey.webp b/files/assets/CHRISTMAS/images/emojis/marmsey.webp new file mode 100644 index 000000000..54662eae7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marmsey.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marppy.webp b/files/assets/CHRISTMAS/images/emojis/marppy.webp new file mode 100644 index 000000000..09bf959f2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marppy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marscientist.webp b/files/assets/CHRISTMAS/images/emojis/marscientist.webp new file mode 100644 index 000000000..a9c949e8c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marscientist.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsey173.webp b/files/assets/CHRISTMAS/images/emojis/marsey173.webp new file mode 100644 index 000000000..e8ee7b3c4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsey173.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsey1984.webp b/files/assets/CHRISTMAS/images/emojis/marsey1984.webp new file mode 100644 index 000000000..eceaa280e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsey1984.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsey300.webp b/files/assets/CHRISTMAS/images/emojis/marsey300.webp new file mode 100644 index 000000000..474a8c44b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsey300.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsey40k.webp b/files/assets/CHRISTMAS/images/emojis/marsey40k.webp new file mode 100644 index 000000000..2fc3c51c9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsey40k.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsey420.webp b/files/assets/CHRISTMAS/images/emojis/marsey420.webp new file mode 100644 index 000000000..a9e6dd8eb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsey420.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsey4chan.webp b/files/assets/CHRISTMAS/images/emojis/marsey4chan.webp new file mode 100644 index 000000000..6738eb4a6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsey4chan.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsey666.webp b/files/assets/CHRISTMAS/images/emojis/marsey666.webp new file mode 100644 index 000000000..ba6038cc3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsey666.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsey666black.webp b/files/assets/CHRISTMAS/images/emojis/marsey666black.webp new file mode 100644 index 000000000..d68e2d683 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsey666black.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsey69.webp b/files/assets/CHRISTMAS/images/emojis/marsey69.webp new file mode 100644 index 000000000..6c68de76a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsey69.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyagree.webp b/files/assets/CHRISTMAS/images/emojis/marseyagree.webp new file mode 100644 index 000000000..78121f458 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyagree.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyairquotes.webp b/files/assets/CHRISTMAS/images/emojis/marseyairquotes.webp new file mode 100644 index 000000000..aeb6e6932 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyairquotes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyakshually.webp b/files/assets/CHRISTMAS/images/emojis/marseyakshually.webp new file mode 100644 index 000000000..0601798dd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyakshually.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyakumu.webp b/files/assets/CHRISTMAS/images/emojis/marseyakumu.webp new file mode 100644 index 000000000..f1d9caeae Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyakumu.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyalice.webp b/files/assets/CHRISTMAS/images/emojis/marseyalice.webp new file mode 100644 index 000000000..ee5217095 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyalice.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyalien.webp b/files/assets/CHRISTMAS/images/emojis/marseyalien.webp new file mode 100644 index 000000000..a283a875e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyalien.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyamazon.webp b/files/assets/CHRISTMAS/images/emojis/marseyamazon.webp new file mode 100644 index 000000000..6b5933a8d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyamazon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyandmarcus.webp b/files/assets/CHRISTMAS/images/emojis/marseyandmarcus.webp new file mode 100644 index 000000000..6408a63e1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyandmarcus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyangel.webp b/files/assets/CHRISTMAS/images/emojis/marseyangel.webp new file mode 100644 index 000000000..a55c25fa1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyangel.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyangel2.webp b/files/assets/CHRISTMAS/images/emojis/marseyangel2.webp new file mode 100644 index 000000000..e98c3e39d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyangel2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyanime.webp b/files/assets/CHRISTMAS/images/emojis/marseyanime.webp new file mode 100644 index 000000000..c70956394 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyanime.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyannoyed.webp b/files/assets/CHRISTMAS/images/emojis/marseyannoyed.webp new file mode 100644 index 000000000..95eef3aaa Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyannoyed.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyanticarp.webp b/files/assets/CHRISTMAS/images/emojis/marseyanticarp.webp new file mode 100644 index 000000000..1ee93bb6b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyanticarp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyantiwork.webp b/files/assets/CHRISTMAS/images/emojis/marseyantiwork.webp new file mode 100644 index 000000000..129a16f67 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyantiwork.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyaoc.webp b/files/assets/CHRISTMAS/images/emojis/marseyaoc.webp new file mode 100644 index 000000000..80905a874 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyaoc.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyargentina.webp b/files/assets/CHRISTMAS/images/emojis/marseyargentina.webp new file mode 100644 index 000000000..ac3d66e72 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyargentina.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyarmy.webp b/files/assets/CHRISTMAS/images/emojis/marseyarmy.webp new file mode 100644 index 000000000..f3acfedfb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyarmy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyascii.webp b/files/assets/CHRISTMAS/images/emojis/marseyascii.webp new file mode 100644 index 000000000..9e94a7a2b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyascii.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyascii2.webp b/files/assets/CHRISTMAS/images/emojis/marseyascii2.webp new file mode 100644 index 000000000..8f0413f4b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyascii2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyasian.webp b/files/assets/CHRISTMAS/images/emojis/marseyasian.webp new file mode 100644 index 000000000..5936fc405 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyasian.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyatsume.webp b/files/assets/CHRISTMAS/images/emojis/marseyatsume.webp new file mode 100644 index 000000000..7bb4437a6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyatsume.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyauthleft.webp b/files/assets/CHRISTMAS/images/emojis/marseyauthleft.webp new file mode 100644 index 000000000..96b0f0828 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyauthleft.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyauthright.webp b/files/assets/CHRISTMAS/images/emojis/marseyauthright.webp new file mode 100644 index 000000000..f2ab541bd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyauthright.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyautism.webp b/files/assets/CHRISTMAS/images/emojis/marseyautism.webp new file mode 100644 index 000000000..c90e790a8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyautism.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyaward.webp b/files/assets/CHRISTMAS/images/emojis/marseyaward.webp new file mode 100644 index 000000000..5ab61fe20 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyaward.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyayy.webp b/files/assets/CHRISTMAS/images/emojis/marseyayy.webp new file mode 100644 index 000000000..b0d74629f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyayy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybaby.webp b/files/assets/CHRISTMAS/images/emojis/marseybaby.webp new file mode 100644 index 000000000..864b228d0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybaby.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybackstab.webp b/files/assets/CHRISTMAS/images/emojis/marseybackstab.webp new file mode 100644 index 000000000..36ff0bc10 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybackstab.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybadger.webp b/files/assets/CHRISTMAS/images/emojis/marseybadger.webp new file mode 100644 index 000000000..fb24a85b7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybadger.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybadluck.webp b/files/assets/CHRISTMAS/images/emojis/marseybadluck.webp new file mode 100644 index 000000000..df23eb574 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybadluck.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybait.webp b/files/assets/CHRISTMAS/images/emojis/marseybait.webp new file mode 100644 index 000000000..a07677c86 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybait.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybaited.webp b/files/assets/CHRISTMAS/images/emojis/marseybaited.webp new file mode 100644 index 000000000..bf2c24028 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybaited.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyballerina.webp b/files/assets/CHRISTMAS/images/emojis/marseyballerina.webp new file mode 100644 index 000000000..762e5c16f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyballerina.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyban.webp b/files/assets/CHRISTMAS/images/emojis/marseyban.webp new file mode 100644 index 000000000..6b2150912 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyban.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybane.webp b/files/assets/CHRISTMAS/images/emojis/marseybane.webp new file mode 100644 index 000000000..59410a8d4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybane.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybaphomet.webp b/files/assets/CHRISTMAS/images/emojis/marseybaphomet.webp new file mode 100644 index 000000000..a9b2869a7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybaphomet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybased.webp b/files/assets/CHRISTMAS/images/emojis/marseybased.webp new file mode 100644 index 000000000..d29a883df Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybased.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybateman.webp b/files/assets/CHRISTMAS/images/emojis/marseybateman.webp new file mode 100644 index 000000000..bd9067495 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybateman.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybath.webp b/files/assets/CHRISTMAS/images/emojis/marseybath.webp new file mode 100644 index 000000000..d8a608eb9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybath.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybattered.webp b/files/assets/CHRISTMAS/images/emojis/marseybattered.webp new file mode 100644 index 000000000..4ef701413 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybattered.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybear.webp b/files/assets/CHRISTMAS/images/emojis/marseybear.webp new file mode 100644 index 000000000..af31afcac Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybear.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybear2.webp b/files/assets/CHRISTMAS/images/emojis/marseybear2.webp new file mode 100644 index 000000000..3d50ef3e0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybear2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybeggar.webp b/files/assets/CHRISTMAS/images/emojis/marseybeggar.webp new file mode 100644 index 000000000..152a165f7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybeggar.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybegging.webp b/files/assets/CHRISTMAS/images/emojis/marseybegging.webp new file mode 100644 index 000000000..6889fa751 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybegging.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyben10.webp b/files/assets/CHRISTMAS/images/emojis/marseyben10.webp new file mode 100644 index 000000000..cd4d9e2ae Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyben10.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybiden.webp b/files/assets/CHRISTMAS/images/emojis/marseybiden.webp new file mode 100644 index 000000000..88759c58b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybiden.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybigbrain.webp b/files/assets/CHRISTMAS/images/emojis/marseybigbrain.webp new file mode 100644 index 000000000..3cc5bf53a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybigbrain.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybigdog.webp b/files/assets/CHRISTMAS/images/emojis/marseybigdog.webp new file mode 100644 index 000000000..5592aa9d2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybigdog.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybiker.webp b/files/assets/CHRISTMAS/images/emojis/marseybiker.webp new file mode 100644 index 000000000..1553f32ba Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybiker.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybingus.webp b/files/assets/CHRISTMAS/images/emojis/marseybingus.webp new file mode 100644 index 000000000..3c5c6e1ed Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybingus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybinladen.webp b/files/assets/CHRISTMAS/images/emojis/marseybinladen.webp new file mode 100644 index 000000000..209a29dbf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybinladen.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybiting.webp b/files/assets/CHRISTMAS/images/emojis/marseybiting.webp new file mode 100644 index 000000000..68e170535 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybiting.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyblack.webp b/files/assets/CHRISTMAS/images/emojis/marseyblack.webp new file mode 100644 index 000000000..b7e2ecd48 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyblack.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyblackface.webp b/files/assets/CHRISTMAS/images/emojis/marseyblackface.webp new file mode 100644 index 000000000..d9d2a99c6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyblackface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyblackfacexmas.webp b/files/assets/CHRISTMAS/images/emojis/marseyblackfacexmas.webp new file mode 100644 index 000000000..8021ff4d8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyblackfacexmas.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyblm.webp b/files/assets/CHRISTMAS/images/emojis/marseyblm.webp new file mode 100644 index 000000000..c10af1751 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyblm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyblowkiss.webp b/files/assets/CHRISTMAS/images/emojis/marseyblowkiss.webp new file mode 100644 index 000000000..370a833f0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyblowkiss.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyblueanime.webp b/files/assets/CHRISTMAS/images/emojis/marseyblueanime.webp new file mode 100644 index 000000000..773e54e5c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyblueanime.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybluecheck.webp b/files/assets/CHRISTMAS/images/emojis/marseybluecheck.webp new file mode 100644 index 000000000..6d74e7e52 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybluecheck.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybluehands.webp b/files/assets/CHRISTMAS/images/emojis/marseybluehands.webp new file mode 100644 index 000000000..a50d8e204 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybluehands.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyblush.webp b/files/assets/CHRISTMAS/images/emojis/marseyblush.webp new file mode 100644 index 000000000..f3703b521 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyblush.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybog.webp b/files/assets/CHRISTMAS/images/emojis/marseybog.webp new file mode 100644 index 000000000..abc7e6eb4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybog.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybong.webp b/files/assets/CHRISTMAS/images/emojis/marseybong.webp new file mode 100644 index 000000000..db955413c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybong.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybongo.webp b/files/assets/CHRISTMAS/images/emojis/marseybongo.webp new file mode 100644 index 000000000..bb92300ce Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybongo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybongosnoo.webp b/files/assets/CHRISTMAS/images/emojis/marseybongosnoo.webp new file mode 100644 index 000000000..0640b1a5a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybongosnoo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybongosrdine.webp b/files/assets/CHRISTMAS/images/emojis/marseybongosrdine.webp new file mode 100644 index 000000000..6f0285de9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybongosrdine.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybooba.webp b/files/assets/CHRISTMAS/images/emojis/marseybooba.webp new file mode 100644 index 000000000..cc6afd9e5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybooba.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyboomer.webp b/files/assets/CHRISTMAS/images/emojis/marseyboomer.webp new file mode 100644 index 000000000..a481952c4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyboomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybountyhunter.webp b/files/assets/CHRISTMAS/images/emojis/marseybountyhunter.webp new file mode 100644 index 000000000..3839bbca6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybountyhunter.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybowl.webp b/files/assets/CHRISTMAS/images/emojis/marseybowl.webp new file mode 100644 index 000000000..ea449fb8c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybowl.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybrainlet.webp b/files/assets/CHRISTMAS/images/emojis/marseybrainlet.webp new file mode 100644 index 000000000..91eb46d6d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybrainlet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybrap.webp b/files/assets/CHRISTMAS/images/emojis/marseybrap.webp new file mode 100644 index 000000000..c4deaceda Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybrap.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybrave.webp b/files/assets/CHRISTMAS/images/emojis/marseybrave.webp new file mode 100644 index 000000000..544c2ae15 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybrave.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybrianna.webp b/files/assets/CHRISTMAS/images/emojis/marseybrianna.webp new file mode 100644 index 000000000..e873453ef Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybrianna.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybrianna2.webp b/files/assets/CHRISTMAS/images/emojis/marseybrianna2.webp new file mode 100644 index 000000000..a5ee6d2cb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybrianna2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybride.webp b/files/assets/CHRISTMAS/images/emojis/marseybride.webp new file mode 100644 index 000000000..73849daaf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybride.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybruh.webp b/files/assets/CHRISTMAS/images/emojis/marseybruh.webp new file mode 100644 index 000000000..20cef73d1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybruh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybuff.webp b/files/assets/CHRISTMAS/images/emojis/marseybuff.webp new file mode 100644 index 000000000..57bddf88e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybuff.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybug.webp b/files/assets/CHRISTMAS/images/emojis/marseybug.webp new file mode 100644 index 000000000..a20e2a021 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybug2.webp b/files/assets/CHRISTMAS/images/emojis/marseybug2.webp new file mode 100644 index 000000000..851ba7b9d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybug2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybunny.webp b/files/assets/CHRISTMAS/images/emojis/marseybunny.webp new file mode 100644 index 000000000..422f169e2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybunny.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyburger.webp b/files/assets/CHRISTMAS/images/emojis/marseyburger.webp new file mode 100644 index 000000000..ded20f32e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyburger.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybush.webp b/files/assets/CHRISTMAS/images/emojis/marseybush.webp new file mode 100644 index 000000000..f3e2fc65c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybush.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybux.webp b/files/assets/CHRISTMAS/images/emojis/marseybux.webp new file mode 100644 index 000000000..fbed5c59f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybux.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybye.webp b/files/assets/CHRISTMAS/images/emojis/marseybye.webp new file mode 100644 index 000000000..4212ea660 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybye.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseybyeceps.webp b/files/assets/CHRISTMAS/images/emojis/marseybyeceps.webp new file mode 100644 index 000000000..73db48773 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseybyeceps.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycalarts.webp b/files/assets/CHRISTMAS/images/emojis/marseycalarts.webp new file mode 100644 index 000000000..b0b82a2d2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycalarts.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycamus.webp b/files/assets/CHRISTMAS/images/emojis/marseycamus.webp new file mode 100644 index 000000000..908d09365 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycamus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycanned.webp b/files/assets/CHRISTMAS/images/emojis/marseycanned.webp new file mode 100644 index 000000000..e20051cad Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycanned.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycapitalistmanlet.webp b/files/assets/CHRISTMAS/images/emojis/marseycapitalistmanlet.webp new file mode 100644 index 000000000..3adbbc763 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycapitalistmanlet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycapy.webp b/files/assets/CHRISTMAS/images/emojis/marseycapy.webp new file mode 100644 index 000000000..6cb25a0a5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycapy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycapypat.webp b/files/assets/CHRISTMAS/images/emojis/marseycapypat.webp new file mode 100644 index 000000000..03a1ad946 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycapypat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycapywalking.webp b/files/assets/CHRISTMAS/images/emojis/marseycapywalking.webp new file mode 100644 index 000000000..62b40dd33 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycapywalking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycarp.webp b/files/assets/CHRISTMAS/images/emojis/marseycarp.webp new file mode 100644 index 000000000..488793963 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycarp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycarp2.webp b/files/assets/CHRISTMAS/images/emojis/marseycarp2.webp new file mode 100644 index 000000000..2576dc559 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycarp2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycarp3.webp b/files/assets/CHRISTMAS/images/emojis/marseycarp3.webp new file mode 100644 index 000000000..1bb00c381 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycarp3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycarpcrying.webp b/files/assets/CHRISTMAS/images/emojis/marseycarpcrying.webp new file mode 100644 index 000000000..c2efc2a58 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycarpcrying.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycarppat.webp b/files/assets/CHRISTMAS/images/emojis/marseycarppat.webp new file mode 100644 index 000000000..851861197 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycarppat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycat.webp b/files/assets/CHRISTMAS/images/emojis/marseycat.webp new file mode 100644 index 000000000..95fb1f197 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycatgirl.webp b/files/assets/CHRISTMAS/images/emojis/marseycatgirl.webp new file mode 100644 index 000000000..cdb74e806 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycatgirl.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycatgirl2.webp b/files/assets/CHRISTMAS/images/emojis/marseycatgirl2.webp new file mode 100644 index 000000000..398edc19f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycatgirl2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycatgirl3.webp b/files/assets/CHRISTMAS/images/emojis/marseycatgirl3.webp new file mode 100644 index 000000000..25524b111 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycatgirl3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycatgirljanny.webp b/files/assets/CHRISTMAS/images/emojis/marseycatgirljanny.webp new file mode 100644 index 000000000..8a9838e14 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycatgirljanny.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyceiling.webp b/files/assets/CHRISTMAS/images/emojis/marseyceiling.webp new file mode 100644 index 000000000..e829e0b72 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyceiling.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycensored.webp b/files/assets/CHRISTMAS/images/emojis/marseycensored.webp new file mode 100644 index 000000000..08c2132fd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycensored.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycenter.webp b/files/assets/CHRISTMAS/images/emojis/marseycenter.webp new file mode 100644 index 000000000..478b7851c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycenter.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychad.webp b/files/assets/CHRISTMAS/images/emojis/marseychad.webp new file mode 100644 index 000000000..682054565 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycheeky.webp b/files/assets/CHRISTMAS/images/emojis/marseycheeky.webp new file mode 100644 index 000000000..7160de905 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycheeky.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycheerup.webp b/files/assets/CHRISTMAS/images/emojis/marseycheerup.webp new file mode 100644 index 000000000..16f85ceff Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycheerup.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycheesehead.webp b/files/assets/CHRISTMAS/images/emojis/marseycheesehead.webp new file mode 100644 index 000000000..368261eab Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycheesehead.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychef.webp b/files/assets/CHRISTMAS/images/emojis/marseychef.webp new file mode 100644 index 000000000..e1a25dfc1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychef.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycherokee.webp b/files/assets/CHRISTMAS/images/emojis/marseycherokee.webp new file mode 100644 index 000000000..2844680dc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycherokee.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychonker.webp b/files/assets/CHRISTMAS/images/emojis/marseychonker.webp new file mode 100644 index 000000000..d85bde32e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychonker.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychonker2.webp b/files/assets/CHRISTMAS/images/emojis/marseychonker2.webp new file mode 100644 index 000000000..a5b2e9262 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychonker2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmas.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmas.webp new file mode 100644 index 000000000..dcfc36aa6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmas.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmasbulb.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmasbulb.webp new file mode 100644 index 000000000..e78241b54 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmasbulb.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmasbulb2.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmasbulb2.webp new file mode 100644 index 000000000..9c842a177 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmasbulb2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmaself.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmaself.webp new file mode 100644 index 000000000..7980459db Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmaself.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmaself2.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmaself2.webp new file mode 100644 index 000000000..eb6234eb9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmaself2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmasgift.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmasgift.webp new file mode 100644 index 000000000..c2fee4e98 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmasgift.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmaslove.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmaslove.webp new file mode 100644 index 000000000..86b53c357 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmaslove.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmasparty.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmasparty.webp new file mode 100644 index 000000000..124e1c780 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmasparty.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmasscarf.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmasscarf.webp new file mode 100644 index 000000000..2b49518bd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmasscarf.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychristmastree.webp b/files/assets/CHRISTMAS/images/emojis/marseychristmastree.webp new file mode 100644 index 000000000..7055fa26f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychristmastree.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychucky.webp b/files/assets/CHRISTMAS/images/emojis/marseychucky.webp new file mode 100644 index 000000000..c9dfcdfc7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychucky.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseychungus.webp b/files/assets/CHRISTMAS/images/emojis/marseychungus.webp new file mode 100644 index 000000000..c64519f89 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseychungus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyclapping.webp b/files/assets/CHRISTMAS/images/emojis/marseyclapping.webp new file mode 100644 index 000000000..c13958821 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyclapping.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycleonpeterson.webp b/files/assets/CHRISTMAS/images/emojis/marseycleonpeterson.webp new file mode 100644 index 000000000..879f43447 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycleonpeterson.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyclown.webp b/files/assets/CHRISTMAS/images/emojis/marseyclown.webp new file mode 100644 index 000000000..b14211a17 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyclown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyclown2.webp b/files/assets/CHRISTMAS/images/emojis/marseyclown2.webp new file mode 100644 index 000000000..c0739812e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyclown2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyclown3.webp b/files/assets/CHRISTMAS/images/emojis/marseyclown3.webp new file mode 100644 index 000000000..2375e86c7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyclown3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycoal.webp b/files/assets/CHRISTMAS/images/emojis/marseycoal.webp new file mode 100644 index 000000000..2e3d0ddec Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycoal.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycock.webp b/files/assets/CHRISTMAS/images/emojis/marseycock.webp new file mode 100644 index 000000000..021ef2275 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycock.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycoin.webp b/files/assets/CHRISTMAS/images/emojis/marseycoin.webp new file mode 100644 index 000000000..745b182fe Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycoin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycolossal.webp b/files/assets/CHRISTMAS/images/emojis/marseycolossal.webp new file mode 100644 index 000000000..d9b382cbb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycolossal.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycommitted.webp b/files/assets/CHRISTMAS/images/emojis/marseycommitted.webp new file mode 100644 index 000000000..b058e00c4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycommitted.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycomrade.webp b/files/assets/CHRISTMAS/images/emojis/marseycomrade.webp new file mode 100644 index 000000000..7b29a3afc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycomrade.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycomradehandshake.webp b/files/assets/CHRISTMAS/images/emojis/marseycomradehandshake.webp new file mode 100644 index 000000000..76cd18310 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycomradehandshake.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyconfused.webp b/files/assets/CHRISTMAS/images/emojis/marseyconfused.webp new file mode 100644 index 000000000..aae662bca Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyconfused.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycontemplate.webp b/files/assets/CHRISTMAS/images/emojis/marseycontemplate.webp new file mode 100644 index 000000000..92a9504e3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycontemplate.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycontryclub.webp b/files/assets/CHRISTMAS/images/emojis/marseycontryclub.webp new file mode 100644 index 000000000..bce542326 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycontryclub.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycool.webp b/files/assets/CHRISTMAS/images/emojis/marseycool.webp new file mode 100644 index 000000000..5942ca508 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycool.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycool2.webp b/files/assets/CHRISTMAS/images/emojis/marseycool2.webp new file mode 100644 index 000000000..bda85400f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycool2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycoomer.webp b/files/assets/CHRISTMAS/images/emojis/marseycoomer.webp new file mode 100644 index 000000000..7187c69ac Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycoomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycoonass.webp b/files/assets/CHRISTMAS/images/emojis/marseycoonass.webp new file mode 100644 index 000000000..e400d5180 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycoonass.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycop.webp b/files/assets/CHRISTMAS/images/emojis/marseycop.webp new file mode 100644 index 000000000..e564b8bea Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycop.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycope.webp b/files/assets/CHRISTMAS/images/emojis/marseycope.webp new file mode 100644 index 000000000..be62d976d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycope.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycopeseethedilate.webp b/files/assets/CHRISTMAS/images/emojis/marseycopeseethedilate.webp new file mode 100644 index 000000000..d20e23657 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycopeseethedilate.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycorn.webp b/files/assets/CHRISTMAS/images/emojis/marseycorn.webp new file mode 100644 index 000000000..90e561284 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycorn.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycountryclub.webp b/files/assets/CHRISTMAS/images/emojis/marseycountryclub.webp new file mode 100644 index 000000000..e4462d62b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycountryclub.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycow.webp b/files/assets/CHRISTMAS/images/emojis/marseycow.webp new file mode 100644 index 000000000..a3edc8b3d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycowboy.webp b/files/assets/CHRISTMAS/images/emojis/marseycowboy.webp new file mode 100644 index 000000000..e265f0525 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycowboy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycreepy.webp b/files/assets/CHRISTMAS/images/emojis/marseycreepy.webp new file mode 100644 index 000000000..26f784386 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycreepy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycrucified.webp b/files/assets/CHRISTMAS/images/emojis/marseycrucified.webp new file mode 100644 index 000000000..4d710e50e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycrucified.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycrusader.webp b/files/assets/CHRISTMAS/images/emojis/marseycrusader.webp new file mode 100644 index 000000000..ffdaed744 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycrusader.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycry.webp b/files/assets/CHRISTMAS/images/emojis/marseycry.webp new file mode 100644 index 000000000..07c78b9fd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycry.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycrying.webp b/files/assets/CHRISTMAS/images/emojis/marseycrying.webp new file mode 100644 index 000000000..79bf7f048 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycrying.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycrying2.webp b/files/assets/CHRISTMAS/images/emojis/marseycrying2.webp new file mode 100644 index 000000000..79bf7f048 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycrying2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycthulhu.webp b/files/assets/CHRISTMAS/images/emojis/marseycthulhu.webp new file mode 100644 index 000000000..1042685f3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycthulhu.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycuck.webp b/files/assets/CHRISTMAS/images/emojis/marseycuck.webp new file mode 100644 index 000000000..de33576e9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycuck.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycumjar1.webp b/files/assets/CHRISTMAS/images/emojis/marseycumjar1.webp new file mode 100644 index 000000000..6b3060bdf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycumjar1.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycumjar2.webp b/files/assets/CHRISTMAS/images/emojis/marseycumjar2.webp new file mode 100644 index 000000000..1d0b55854 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycumjar2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycumjar3.webp b/files/assets/CHRISTMAS/images/emojis/marseycumjar3.webp new file mode 100644 index 000000000..a3ff4b346 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycumjar3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycut.webp b/files/assets/CHRISTMAS/images/emojis/marseycut.webp new file mode 100644 index 000000000..40dc8115c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycut.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseycwc.webp b/files/assets/CHRISTMAS/images/emojis/marseycwc.webp new file mode 100644 index 000000000..37d8e7120 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseycwc.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydab.webp b/files/assets/CHRISTMAS/images/emojis/marseydab.webp new file mode 100644 index 000000000..42d208a42 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydab.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydaemon.webp b/files/assets/CHRISTMAS/images/emojis/marseydaemon.webp new file mode 100644 index 000000000..d2e75c658 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydaemon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydarwin.webp b/files/assets/CHRISTMAS/images/emojis/marseydarwin.webp new file mode 100644 index 000000000..99eb44255 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydarwin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydawnbreaker.webp b/files/assets/CHRISTMAS/images/emojis/marseydawnbreaker.webp new file mode 100644 index 000000000..46d09e7c6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydawnbreaker.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydead.webp b/files/assets/CHRISTMAS/images/emojis/marseydead.webp new file mode 100644 index 000000000..5199fb617 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydead.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydeadhorse.webp b/files/assets/CHRISTMAS/images/emojis/marseydeadhorse.webp new file mode 100644 index 000000000..7bb4e203b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydeadhorse.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydeadinside.webp b/files/assets/CHRISTMAS/images/emojis/marseydeadinside.webp new file mode 100644 index 000000000..0e27b88a3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydeadinside.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydealwithit.webp b/files/assets/CHRISTMAS/images/emojis/marseydealwithit.webp new file mode 100644 index 000000000..56e77597a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydealwithit.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydepressed.webp b/files/assets/CHRISTMAS/images/emojis/marseydepressed.webp new file mode 100644 index 000000000..d2bfe1277 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydepressed.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyderp.webp b/files/assets/CHRISTMAS/images/emojis/marseyderp.webp new file mode 100644 index 000000000..290bbcf9a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyderp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydespair.webp b/files/assets/CHRISTMAS/images/emojis/marseydespair.webp new file mode 100644 index 000000000..d85a7c857 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydespair.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydetective.webp b/files/assets/CHRISTMAS/images/emojis/marseydetective.webp new file mode 100644 index 000000000..69fad8958 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydetective.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydeux.webp b/files/assets/CHRISTMAS/images/emojis/marseydeux.webp new file mode 100644 index 000000000..9b41e6c12 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydeux.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydeuxfoid.webp b/files/assets/CHRISTMAS/images/emojis/marseydeuxfoid.webp new file mode 100644 index 000000000..b87e551eb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydeuxfoid.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydevil.webp b/files/assets/CHRISTMAS/images/emojis/marseydevil.webp new file mode 100644 index 000000000..51dd547f1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydevil.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydicklet.webp b/files/assets/CHRISTMAS/images/emojis/marseydicklet.webp new file mode 100644 index 000000000..72edfc359 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydicklet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydiehard.webp b/files/assets/CHRISTMAS/images/emojis/marseydiehard.webp new file mode 100644 index 000000000..f56170bc9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydiehard.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydildo.webp b/files/assets/CHRISTMAS/images/emojis/marseydildo.webp new file mode 100644 index 000000000..077f59fbc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydildo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydio.webp b/files/assets/CHRISTMAS/images/emojis/marseydio.webp new file mode 100644 index 000000000..4db010fae Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydio.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydisabled.webp b/files/assets/CHRISTMAS/images/emojis/marseydisabled.webp new file mode 100644 index 000000000..9156957ee Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydisabled.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydisagree.webp b/files/assets/CHRISTMAS/images/emojis/marseydisagree.webp new file mode 100644 index 000000000..a5f99469e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydisagree.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydisgust.webp b/files/assets/CHRISTMAS/images/emojis/marseydisgust.webp new file mode 100644 index 000000000..f5321aa52 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydisgust.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyditzy.webp b/files/assets/CHRISTMAS/images/emojis/marseyditzy.webp new file mode 100644 index 000000000..6b06a2e51 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyditzy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydizzy.webp b/files/assets/CHRISTMAS/images/emojis/marseydizzy.webp new file mode 100644 index 000000000..6082f523d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydizzy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydog.webp b/files/assets/CHRISTMAS/images/emojis/marseydog.webp new file mode 100644 index 000000000..501eef9d1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydog.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydolphin.webp b/files/assets/CHRISTMAS/images/emojis/marseydolphin.webp new file mode 100644 index 000000000..4a8a29683 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydolphin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydoomer.webp b/files/assets/CHRISTMAS/images/emojis/marseydoomer.webp new file mode 100644 index 000000000..d67d6feda Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydoomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydoubt.webp b/files/assets/CHRISTMAS/images/emojis/marseydoubt.webp new file mode 100644 index 000000000..bab5f95e2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydoubt.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydoubtit.webp b/files/assets/CHRISTMAS/images/emojis/marseydoubtit.webp new file mode 100644 index 000000000..ddafe8e1a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydoubtit.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydracula.webp b/files/assets/CHRISTMAS/images/emojis/marseydracula.webp new file mode 100644 index 000000000..d5fbf0f41 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydracula.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydragon.webp b/files/assets/CHRISTMAS/images/emojis/marseydragon.webp new file mode 100644 index 000000000..fa204bee5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydragon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydrama.webp b/files/assets/CHRISTMAS/images/emojis/marseydrama.webp new file mode 100644 index 000000000..4d19d99a1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydrama.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydream.webp b/files/assets/CHRISTMAS/images/emojis/marseydream.webp new file mode 100644 index 000000000..681b1e855 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydream.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydrone.webp b/files/assets/CHRISTMAS/images/emojis/marseydrone.webp new file mode 100644 index 000000000..5d56347a5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydrone.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydrunk.webp b/files/assets/CHRISTMAS/images/emojis/marseydrunk.webp new file mode 100644 index 000000000..4e44c90bb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydrunk.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyduck.webp b/files/assets/CHRISTMAS/images/emojis/marseyduck.webp new file mode 100644 index 000000000..72fb30b44 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyduck.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyduck2.webp b/files/assets/CHRISTMAS/images/emojis/marseyduck2.webp new file mode 100644 index 000000000..85a16e132 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyduck2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseydynamite.webp b/files/assets/CHRISTMAS/images/emojis/marseydynamite.webp new file mode 100644 index 000000000..b6af1b56a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseydynamite.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyegg_irl.webp b/files/assets/CHRISTMAS/images/emojis/marseyegg_irl.webp new file mode 100644 index 000000000..246c05cee Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyegg_irl.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyeldritch.webp b/files/assets/CHRISTMAS/images/emojis/marseyeldritch.webp new file mode 100644 index 000000000..188c2565d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyeldritch.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyeldritch2.webp b/files/assets/CHRISTMAS/images/emojis/marseyeldritch2.webp new file mode 100644 index 000000000..f892788bd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyeldritch2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyelephant.webp b/files/assets/CHRISTMAS/images/emojis/marseyelephant.webp new file mode 100644 index 000000000..306c25638 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyelephant.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyemo.webp b/files/assets/CHRISTMAS/images/emojis/marseyemo.webp new file mode 100644 index 000000000..121a5f046 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyemo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyemperor.webp b/files/assets/CHRISTMAS/images/emojis/marseyemperor.webp new file mode 100644 index 000000000..b7d0150fc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyemperor.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyespeon.webp b/files/assets/CHRISTMAS/images/emojis/marseyespeon.webp new file mode 100644 index 000000000..5bbb612ab Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyespeon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyespeonheadpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyespeonheadpat.webp new file mode 100644 index 000000000..09a4c3003 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyespeonheadpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyexcited.webp b/files/assets/CHRISTMAS/images/emojis/marseyexcited.webp new file mode 100644 index 000000000..e24bcd75c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyexcited.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyextinction.webp b/files/assets/CHRISTMAS/images/emojis/marseyextinction.webp new file mode 100644 index 000000000..2bc088d78 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyextinction.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyeyeroll.webp b/files/assets/CHRISTMAS/images/emojis/marseyeyeroll.webp new file mode 100644 index 000000000..5cef03337 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyeyeroll.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyeyes.webp b/files/assets/CHRISTMAS/images/emojis/marseyeyes.webp new file mode 100644 index 000000000..1990a7e9e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyeyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyface.webp b/files/assets/CHRISTMAS/images/emojis/marseyface.webp new file mode 100644 index 000000000..576525882 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfacepalm.webp b/files/assets/CHRISTMAS/images/emojis/marseyfacepalm.webp new file mode 100644 index 000000000..8d70171a1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfacepalm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfamily.webp b/files/assets/CHRISTMAS/images/emojis/marseyfamily.webp new file mode 100644 index 000000000..5f34233dc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfamily.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfans.webp b/files/assets/CHRISTMAS/images/emojis/marseyfans.webp new file mode 100644 index 000000000..58d470500 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfans.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfatherjoseph.webp b/files/assets/CHRISTMAS/images/emojis/marseyfatherjoseph.webp new file mode 100644 index 000000000..9bb7c058a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfatherjoseph.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfattie.webp b/files/assets/CHRISTMAS/images/emojis/marseyfattie.webp new file mode 100644 index 000000000..06d3f37a1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfattie.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfbi.webp b/files/assets/CHRISTMAS/images/emojis/marseyfbi.webp new file mode 100644 index 000000000..1bad0e8ed Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfbi.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfeelsgood.webp b/files/assets/CHRISTMAS/images/emojis/marseyfeelsgood.webp new file mode 100644 index 000000000..7ad0d1821 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfeelsgood.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfeet.webp b/files/assets/CHRISTMAS/images/emojis/marseyfeet.webp new file mode 100644 index 000000000..def158fd5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfeet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfellowkids.webp b/files/assets/CHRISTMAS/images/emojis/marseyfellowkids.webp new file mode 100644 index 000000000..5aec7abba Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfellowkids.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfeminist.webp b/files/assets/CHRISTMAS/images/emojis/marseyfeminist.webp new file mode 100644 index 000000000..d1de70710 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfeminist.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfeynman.webp b/files/assets/CHRISTMAS/images/emojis/marseyfeynman.webp new file mode 100644 index 000000000..34f2e2016 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfeynman.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfine.webp b/files/assets/CHRISTMAS/images/emojis/marseyfine.webp new file mode 100644 index 000000000..2c137b5ed Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfine.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfinger.webp b/files/assets/CHRISTMAS/images/emojis/marseyfinger.webp new file mode 100644 index 000000000..f58659a63 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfinger.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyflamethrower.webp b/files/assets/CHRISTMAS/images/emojis/marseyflamethrower.webp new file mode 100644 index 000000000..1b51892c2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyflamethrower.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyflamewar.webp b/files/assets/CHRISTMAS/images/emojis/marseyflamewar.webp new file mode 100644 index 000000000..3911c4962 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyflamewar.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyflareon.webp b/files/assets/CHRISTMAS/images/emojis/marseyflareon.webp new file mode 100644 index 000000000..b5fa6f416 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyflareon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyflareonpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyflareonpat.webp new file mode 100644 index 000000000..5ad161135 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyflareonpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfloyd.webp b/files/assets/CHRISTMAS/images/emojis/marseyfloyd.webp new file mode 100644 index 000000000..5df05ea7b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfloyd.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfocault.webp b/files/assets/CHRISTMAS/images/emojis/marseyfocault.webp new file mode 100644 index 000000000..c7696c173 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfocault.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfox.webp b/files/assets/CHRISTMAS/images/emojis/marseyfox.webp new file mode 100644 index 000000000..0069ac469 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfox.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfreezepeach.webp b/files/assets/CHRISTMAS/images/emojis/marseyfreezepeach.webp new file mode 100644 index 000000000..1999080da Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfreezepeach.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfrog.webp b/files/assets/CHRISTMAS/images/emojis/marseyfrog.webp new file mode 100644 index 000000000..42e4e9d6a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfrog.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfrog2.webp b/files/assets/CHRISTMAS/images/emojis/marseyfrog2.webp new file mode 100644 index 000000000..2fb8b52ed Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfrog2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfrozen.webp b/files/assets/CHRISTMAS/images/emojis/marseyfrozen.webp new file mode 100644 index 000000000..3ab828ba4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfrozen.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfrozenchosen.webp b/files/assets/CHRISTMAS/images/emojis/marseyfrozenchosen.webp new file mode 100644 index 000000000..58fcff371 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfrozenchosen.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfrozenpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyfrozenpat.webp new file mode 100644 index 000000000..59abf7af8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfrozenpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfry.webp b/files/assets/CHRISTMAS/images/emojis/marseyfry.webp new file mode 100644 index 000000000..33214b8d6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfry.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfuckoffcarp.webp b/files/assets/CHRISTMAS/images/emojis/marseyfuckoffcarp.webp new file mode 100644 index 000000000..5299b0a43 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfuckoffcarp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfuckyou.webp b/files/assets/CHRISTMAS/images/emojis/marseyfuckyou.webp new file mode 100644 index 000000000..9dd6bc2eb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfuckyou.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfug.webp b/files/assets/CHRISTMAS/images/emojis/marseyfug.webp new file mode 100644 index 000000000..aaa76d628 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfunko.webp b/files/assets/CHRISTMAS/images/emojis/marseyfunko.webp new file mode 100644 index 000000000..e8ea33bfe Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfunko.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyfurry.webp b/files/assets/CHRISTMAS/images/emojis/marseyfurry.webp new file mode 100644 index 000000000..946e68364 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyfurry.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygagging.webp b/files/assets/CHRISTMAS/images/emojis/marseygagging.webp new file mode 100644 index 000000000..82f6bf67d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygagging.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygandalf.webp b/files/assets/CHRISTMAS/images/emojis/marseygandalf.webp new file mode 100644 index 000000000..ef076ba93 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygandalf.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygangbang.webp b/files/assets/CHRISTMAS/images/emojis/marseygangbang.webp new file mode 100644 index 000000000..ee5a2623f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygangbang.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygarfield.webp b/files/assets/CHRISTMAS/images/emojis/marseygarfield.webp new file mode 100644 index 000000000..381769134 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygarfield.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygasp.webp b/files/assets/CHRISTMAS/images/emojis/marseygasp.webp new file mode 100644 index 000000000..af9a55c6b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygasp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyghost.webp b/files/assets/CHRISTMAS/images/emojis/marseyghost.webp new file mode 100644 index 000000000..b8a3dc0d2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyghost.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygift.webp b/files/assets/CHRISTMAS/images/emojis/marseygift.webp new file mode 100644 index 000000000..6d7a1d42b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygift.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygigachad.webp b/files/assets/CHRISTMAS/images/emojis/marseygigachad.webp new file mode 100644 index 000000000..afb84dd7b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygigachad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygigaretard.webp b/files/assets/CHRISTMAS/images/emojis/marseygigaretard.webp new file mode 100644 index 000000000..9403ea3e0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygigaretard.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygigavaxxer.webp b/files/assets/CHRISTMAS/images/emojis/marseygigavaxxer.webp new file mode 100644 index 000000000..b43fcc43b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygigavaxxer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygingerbread.webp b/files/assets/CHRISTMAS/images/emojis/marseygingerbread.webp new file mode 100644 index 000000000..402ec0414 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygingerbread.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygingerbread2.webp b/files/assets/CHRISTMAS/images/emojis/marseygingerbread2.webp new file mode 100644 index 000000000..dce5e1b58 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygingerbread2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygingerbread3.webp b/files/assets/CHRISTMAS/images/emojis/marseygingerbread3.webp new file mode 100644 index 000000000..329abb7ec Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygingerbread3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygivecrown.webp b/files/assets/CHRISTMAS/images/emojis/marseygivecrown.webp new file mode 100644 index 000000000..fe8c0f567 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygivecrown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygiveup.webp b/files/assets/CHRISTMAS/images/emojis/marseygiveup.webp new file mode 100644 index 000000000..9d3597c49 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygiveup.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyglaceon.webp b/files/assets/CHRISTMAS/images/emojis/marseyglaceon.webp new file mode 100644 index 000000000..6824adc2e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyglaceon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyglaceonpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyglaceonpat.webp new file mode 100644 index 000000000..e561f453d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyglaceonpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyglam.webp b/files/assets/CHRISTMAS/images/emojis/marseyglam.webp new file mode 100644 index 000000000..1e6462422 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyglam.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyglancing.webp b/files/assets/CHRISTMAS/images/emojis/marseyglancing.webp new file mode 100644 index 000000000..4c6e57037 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyglancing.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyglow.webp b/files/assets/CHRISTMAS/images/emojis/marseyglow.webp new file mode 100644 index 000000000..d80792121 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyglow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyglow2.webp b/files/assets/CHRISTMAS/images/emojis/marseyglow2.webp new file mode 100644 index 000000000..453a123d9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyglow2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyglowaward.webp b/files/assets/CHRISTMAS/images/emojis/marseyglowaward.webp new file mode 100644 index 000000000..2e067a2f2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyglowaward.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygodel.webp b/files/assets/CHRISTMAS/images/emojis/marseygodel.webp new file mode 100644 index 000000000..6f1e59a3f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygodel.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygodfather.webp b/files/assets/CHRISTMAS/images/emojis/marseygodfather.webp new file mode 100644 index 000000000..8c5882258 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygodfather.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygodzilla.webp b/files/assets/CHRISTMAS/images/emojis/marseygodzilla.webp new file mode 100644 index 000000000..bfc01b4c0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygodzilla.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygold.webp b/files/assets/CHRISTMAS/images/emojis/marseygold.webp new file mode 100644 index 000000000..8fdfebf72 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygold.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygondola.webp b/files/assets/CHRISTMAS/images/emojis/marseygondola.webp new file mode 100644 index 000000000..632d81883 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygondola.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygoodnight.webp b/files/assets/CHRISTMAS/images/emojis/marseygoodnight.webp new file mode 100644 index 000000000..5f66899bc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygoodnight.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygossip.webp b/files/assets/CHRISTMAS/images/emojis/marseygossip.webp new file mode 100644 index 000000000..bc6d17915 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygossip.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygrass.webp b/files/assets/CHRISTMAS/images/emojis/marseygrass.webp new file mode 100644 index 000000000..f1440814a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygrass.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygrilling.webp b/files/assets/CHRISTMAS/images/emojis/marseygrilling.webp new file mode 100644 index 000000000..cb7927e0f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygrilling.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygrilling2.webp b/files/assets/CHRISTMAS/images/emojis/marseygrilling2.webp new file mode 100644 index 000000000..ff9b091ee Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygrilling2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygroomer.webp b/files/assets/CHRISTMAS/images/emojis/marseygroomer.webp new file mode 100644 index 000000000..e1246c37b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygroomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygroomer2.webp b/files/assets/CHRISTMAS/images/emojis/marseygroomer2.webp new file mode 100644 index 000000000..d07f3f4c7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygroomer2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseygunned.webp b/files/assets/CHRISTMAS/images/emojis/marseygunned.webp new file mode 100644 index 000000000..b8fea4e43 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseygunned.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhacker.webp b/files/assets/CHRISTMAS/images/emojis/marseyhacker.webp new file mode 100644 index 000000000..5f6479dc7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhacker.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhacker2.webp b/files/assets/CHRISTMAS/images/emojis/marseyhacker2.webp new file mode 100644 index 000000000..1c9ce8f09 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhacker2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhandsup.webp b/files/assets/CHRISTMAS/images/emojis/marseyhandsup.webp new file mode 100644 index 000000000..240bb3174 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhandsup.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhannibal.webp b/files/assets/CHRISTMAS/images/emojis/marseyhannibal.webp new file mode 100644 index 000000000..631c8dacb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhannibal.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhappening.webp b/files/assets/CHRISTMAS/images/emojis/marseyhappening.webp new file mode 100644 index 000000000..7a91ad0e3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhappening.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhappy.webp b/files/assets/CHRISTMAS/images/emojis/marseyhappy.webp new file mode 100644 index 000000000..540af9025 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhappy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhappytears.webp b/files/assets/CHRISTMAS/images/emojis/marseyhappytears.webp new file mode 100644 index 000000000..c58e755ce Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhappytears.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhead.webp b/files/assets/CHRISTMAS/images/emojis/marseyhead.webp new file mode 100644 index 000000000..21acec2a9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhead.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhealthy.webp b/files/assets/CHRISTMAS/images/emojis/marseyhealthy.webp new file mode 100644 index 000000000..df2caf5b5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhealthy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhearts.webp b/files/assets/CHRISTMAS/images/emojis/marseyhearts.webp new file mode 100644 index 000000000..2a8212b21 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhearts.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyheathcliff.webp b/files/assets/CHRISTMAS/images/emojis/marseyheathcliff.webp new file mode 100644 index 000000000..94d4da7f8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyheathcliff.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyheavymetal.webp b/files/assets/CHRISTMAS/images/emojis/marseyheavymetal.webp new file mode 100644 index 000000000..1e5d8eb25 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyheavymetal.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhellraiser.webp b/files/assets/CHRISTMAS/images/emojis/marseyhellraiser.webp new file mode 100644 index 000000000..21724501c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhellraiser.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhillary.webp b/files/assets/CHRISTMAS/images/emojis/marseyhillary.webp new file mode 100644 index 000000000..5752b8dfe Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhillary.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhippo.webp b/files/assets/CHRISTMAS/images/emojis/marseyhippo.webp new file mode 100644 index 000000000..cb6b9eb5d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhippo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhmm.webp b/files/assets/CHRISTMAS/images/emojis/marseyhmm.webp new file mode 100644 index 000000000..11fb55b48 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhmm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhmmm.webp b/files/assets/CHRISTMAS/images/emojis/marseyhmmm.webp new file mode 100644 index 000000000..2d671c367 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhmmm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhomofascist.webp b/files/assets/CHRISTMAS/images/emojis/marseyhomofascist.webp new file mode 100644 index 000000000..293c3e788 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhomofascist.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhomosupremacist.webp b/files/assets/CHRISTMAS/images/emojis/marseyhomosupremacist.webp new file mode 100644 index 000000000..70b03c4ef Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhomosupremacist.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhoodwink.webp b/files/assets/CHRISTMAS/images/emojis/marseyhoodwink.webp new file mode 100644 index 000000000..a7e751f0e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhoodwink.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhope.webp b/files/assets/CHRISTMAS/images/emojis/marseyhope.webp new file mode 100644 index 000000000..f91d379c3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhope.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhorseshoe.webp b/files/assets/CHRISTMAS/images/emojis/marseyhorseshoe.webp new file mode 100644 index 000000000..b5942fb63 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhorseshoe.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhotep.webp b/files/assets/CHRISTMAS/images/emojis/marseyhotep.webp new file mode 100644 index 000000000..4c226682e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhotep.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhungry.webp b/files/assets/CHRISTMAS/images/emojis/marseyhungry.webp new file mode 100644 index 000000000..13be010db Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhungry.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyhypno.webp b/files/assets/CHRISTMAS/images/emojis/marseyhypno.webp new file mode 100644 index 000000000..397543eaa Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyhypno.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyicecream.webp b/files/assets/CHRISTMAS/images/emojis/marseyicecream.webp new file mode 100644 index 000000000..1daa65bd7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyicecream.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyilluminati.webp b/files/assets/CHRISTMAS/images/emojis/marseyilluminati.webp new file mode 100644 index 000000000..882b39732 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyilluminati.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyimmaculate.webp b/files/assets/CHRISTMAS/images/emojis/marseyimmaculate.webp new file mode 100644 index 000000000..f7bedd205 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyimmaculate.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyimpossibru.webp b/files/assets/CHRISTMAS/images/emojis/marseyimpossibru.webp new file mode 100644 index 000000000..9424b31fb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyimpossibru.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyimposter.webp b/files/assets/CHRISTMAS/images/emojis/marseyimposter.webp new file mode 100644 index 000000000..ad5956854 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyimposter.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyinabox.webp b/files/assets/CHRISTMAS/images/emojis/marseyinabox.webp new file mode 100644 index 000000000..0b0615849 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyinabox.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyinshallah.webp b/files/assets/CHRISTMAS/images/emojis/marseyinshallah.webp new file mode 100644 index 000000000..41aad7cc1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyinshallah.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyinvisible.webp b/files/assets/CHRISTMAS/images/emojis/marseyinvisible.webp new file mode 100644 index 000000000..74c0ed507 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyinvisible.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyira.webp b/files/assets/CHRISTMAS/images/emojis/marseyira.webp new file mode 100644 index 000000000..07c297a04 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyira.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyisis.webp b/files/assets/CHRISTMAS/images/emojis/marseyisis.webp new file mode 100644 index 000000000..42edf6f2a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyisis.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyit.webp b/files/assets/CHRISTMAS/images/emojis/marseyit.webp new file mode 100644 index 000000000..694210037 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyit.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjam.webp b/files/assets/CHRISTMAS/images/emojis/marseyjam.webp new file mode 100644 index 000000000..c52f150b3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjam.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjamming.webp b/files/assets/CHRISTMAS/images/emojis/marseyjamming.webp new file mode 100644 index 000000000..f5e85fee9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjamming.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjanny.webp b/files/assets/CHRISTMAS/images/emojis/marseyjanny.webp new file mode 100644 index 000000000..877e3cb43 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjanny.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjanny2.webp b/files/assets/CHRISTMAS/images/emojis/marseyjanny2.webp new file mode 100644 index 000000000..4ed76d71f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjanny2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjapanese.webp b/files/assets/CHRISTMAS/images/emojis/marseyjapanese.webp new file mode 100644 index 000000000..d0ae8c7bb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjapanese.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjapenese.webp b/files/assets/CHRISTMAS/images/emojis/marseyjapenese.webp new file mode 100644 index 000000000..d0ae8c7bb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjapenese.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjason.webp b/files/assets/CHRISTMAS/images/emojis/marseyjason.webp new file mode 100644 index 000000000..a6e7deae2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjason.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjeans.webp b/files/assets/CHRISTMAS/images/emojis/marseyjeans.webp new file mode 100644 index 000000000..292b72cf6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjeans.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjesus.webp b/files/assets/CHRISTMAS/images/emojis/marseyjesus.webp new file mode 100644 index 000000000..2d9d1663c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjesus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjiangshi.webp b/files/assets/CHRISTMAS/images/emojis/marseyjiangshi.webp new file mode 100644 index 000000000..9268b8a0a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjiangshi.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjohnson.webp b/files/assets/CHRISTMAS/images/emojis/marseyjohnson.webp new file mode 100644 index 000000000..f6a331ed0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjohnson.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjoint.webp b/files/assets/CHRISTMAS/images/emojis/marseyjoint.webp new file mode 100644 index 000000000..27dc7a117 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjoint.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjolteon.webp b/files/assets/CHRISTMAS/images/emojis/marseyjolteon.webp new file mode 100644 index 000000000..99fdcde65 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjolteon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjolteonpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyjolteonpat.webp new file mode 100644 index 000000000..da776331f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjolteonpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjones.webp b/files/assets/CHRISTMAS/images/emojis/marseyjones.webp new file mode 100644 index 000000000..878ebcdcc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjones.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjourno.webp b/files/assets/CHRISTMAS/images/emojis/marseyjourno.webp new file mode 100644 index 000000000..4ed08133c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjourno.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjudge.webp b/files/assets/CHRISTMAS/images/emojis/marseyjudge.webp new file mode 100644 index 000000000..f4c770017 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjudge.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyjunkie.webp b/files/assets/CHRISTMAS/images/emojis/marseyjunkie.webp new file mode 100644 index 000000000..41b3ecc0a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyjunkie.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykaiser.webp b/files/assets/CHRISTMAS/images/emojis/marseykaiser.webp new file mode 100644 index 000000000..aad497651 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykaiser.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykamikaze.webp b/files/assets/CHRISTMAS/images/emojis/marseykamikaze.webp new file mode 100644 index 000000000..45c085e08 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykamikaze.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykfc.webp b/files/assets/CHRISTMAS/images/emojis/marseykfc.webp new file mode 100644 index 000000000..72fc7b0c5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykfc.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyking.webp b/files/assets/CHRISTMAS/images/emojis/marseyking.webp new file mode 100644 index 000000000..31ae048ff Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykingcrown.webp b/files/assets/CHRISTMAS/images/emojis/marseykingcrown.webp new file mode 100644 index 000000000..5a189b2b4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykingcrown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykink.webp b/files/assets/CHRISTMAS/images/emojis/marseykink.webp new file mode 100644 index 000000000..bce074033 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykink.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykitty.webp b/files/assets/CHRISTMAS/images/emojis/marseykitty.webp new file mode 100644 index 000000000..eacfe44e5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykitty.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykiwi.webp b/files/assets/CHRISTMAS/images/emojis/marseykiwi.webp new file mode 100644 index 000000000..f1b2b98a8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykiwi.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykiwi2.webp b/files/assets/CHRISTMAS/images/emojis/marseykiwi2.webp new file mode 100644 index 000000000..422c6798a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykiwi2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykiwipat.webp b/files/assets/CHRISTMAS/images/emojis/marseykiwipat.webp new file mode 100644 index 000000000..78bfdd605 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykiwipat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykkk.webp b/files/assets/CHRISTMAS/images/emojis/marseykkk.webp new file mode 100644 index 000000000..0f8ef1928 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykkk.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykkkblm.webp b/files/assets/CHRISTMAS/images/emojis/marseykkkblm.webp new file mode 100644 index 000000000..e6cc9e803 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykkkblm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyklenny.webp b/files/assets/CHRISTMAS/images/emojis/marseyklenny.webp new file mode 100644 index 000000000..464cfb7ce Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyklenny.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykneel.webp b/files/assets/CHRISTMAS/images/emojis/marseykneel.webp new file mode 100644 index 000000000..e31ee6b30 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykneel.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykrampus2.webp b/files/assets/CHRISTMAS/images/emojis/marseykrampus2.webp new file mode 100644 index 000000000..e8f086f88 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykrampus2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykvlt.webp b/files/assets/CHRISTMAS/images/emojis/marseykvlt.webp new file mode 100644 index 000000000..3533dd467 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykvlt.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykween.webp b/files/assets/CHRISTMAS/images/emojis/marseykween.webp new file mode 100644 index 000000000..8d285aa11 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykween.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykweenxmas.webp b/files/assets/CHRISTMAS/images/emojis/marseykweenxmas.webp new file mode 100644 index 000000000..debe95ff7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykweenxmas.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykyle.webp b/files/assets/CHRISTMAS/images/emojis/marseykyle.webp new file mode 100644 index 000000000..7c85dd59f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykyle.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykys.webp b/files/assets/CHRISTMAS/images/emojis/marseykys.webp new file mode 100644 index 000000000..2b023864d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykys.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseykys2.webp b/files/assets/CHRISTMAS/images/emojis/marseykys2.webp new file mode 100644 index 000000000..decbbd446 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseykys2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylaptop.webp b/files/assets/CHRISTMAS/images/emojis/marseylaptop.webp new file mode 100644 index 000000000..0a05bb32a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylaptop.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylaugh.webp b/files/assets/CHRISTMAS/images/emojis/marseylaugh.webp new file mode 100644 index 000000000..1dfecec6f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylaugh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylawlz.webp b/files/assets/CHRISTMAS/images/emojis/marseylawlz.webp new file mode 100644 index 000000000..185f33d96 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylawlz.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyleafeon.webp b/files/assets/CHRISTMAS/images/emojis/marseyleafeon.webp new file mode 100644 index 000000000..559cb2dcc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyleafeon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyleafeonpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyleafeonpat.webp new file mode 100644 index 000000000..0078a4f18 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyleafeonpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylibleft.webp b/files/assets/CHRISTMAS/images/emojis/marseylibleft.webp new file mode 100644 index 000000000..2a69524ca Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylibleft.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylibright.webp b/files/assets/CHRISTMAS/images/emojis/marseylibright.webp new file mode 100644 index 000000000..f83c45d02 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylibright.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylifting.webp b/files/assets/CHRISTMAS/images/emojis/marseylifting.webp new file mode 100644 index 000000000..f3357a57b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylifting.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylion.webp b/files/assets/CHRISTMAS/images/emojis/marseylion.webp new file mode 100644 index 000000000..90ae5c4e4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylion.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyliondanc.webp b/files/assets/CHRISTMAS/images/emojis/marseyliondanc.webp new file mode 100644 index 000000000..3ae6ff251 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyliondanc.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyliondance.webp b/files/assets/CHRISTMAS/images/emojis/marseyliondance.webp new file mode 100644 index 000000000..3ae6ff251 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyliondance.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyliquidator.webp b/files/assets/CHRISTMAS/images/emojis/marseyliquidator.webp new file mode 100644 index 000000000..c3e3958cc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyliquidator.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylizard.webp b/files/assets/CHRISTMAS/images/emojis/marseylizard.webp new file mode 100644 index 000000000..138c3668e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylizard.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyllama.webp b/files/assets/CHRISTMAS/images/emojis/marseyllama.webp new file mode 100644 index 000000000..64abbad1f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyllama.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyllama1.webp b/files/assets/CHRISTMAS/images/emojis/marseyllama1.webp new file mode 100644 index 000000000..9aa52cdc8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyllama1.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyllama2.webp b/files/assets/CHRISTMAS/images/emojis/marseyllama2.webp new file mode 100644 index 000000000..5c4ff487e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyllama2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyllama3.webp b/files/assets/CHRISTMAS/images/emojis/marseyllama3.webp new file mode 100644 index 000000000..ed5a10e98 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyllama3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylois.webp b/files/assets/CHRISTMAS/images/emojis/marseylois.webp new file mode 100644 index 000000000..7a46ad9de Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylois.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylolcow.webp b/files/assets/CHRISTMAS/images/emojis/marseylolcow.webp new file mode 100644 index 000000000..e4f9170a0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylolcow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylong1.webp b/files/assets/CHRISTMAS/images/emojis/marseylong1.webp new file mode 100644 index 000000000..dd02c02de Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylong1.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylong2.webp b/files/assets/CHRISTMAS/images/emojis/marseylong2.webp new file mode 100644 index 000000000..885e55e7a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylong2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylong3.webp b/files/assets/CHRISTMAS/images/emojis/marseylong3.webp new file mode 100644 index 000000000..3234319d6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylong3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylongpost.webp b/files/assets/CHRISTMAS/images/emojis/marseylongpost.webp new file mode 100644 index 000000000..ba2d9832b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylongpost.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylongpost2.webp b/files/assets/CHRISTMAS/images/emojis/marseylongpost2.webp new file mode 100644 index 000000000..7609f3f3d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylongpost2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylove.webp b/files/assets/CHRISTMAS/images/emojis/marseylove.webp new file mode 100644 index 000000000..38bbf1ec2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylove.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylovedrama.webp b/files/assets/CHRISTMAS/images/emojis/marseylovedrama.webp new file mode 100644 index 000000000..e61797fd5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylovedrama.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyloveyou.webp b/files/assets/CHRISTMAS/images/emojis/marseyloveyou.webp new file mode 100644 index 000000000..64a74cdd6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyloveyou.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseylowpoly.webp b/files/assets/CHRISTMAS/images/emojis/marseylowpoly.webp new file mode 100644 index 000000000..3598815e5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseylowpoly.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyluther.webp b/files/assets/CHRISTMAS/images/emojis/marseyluther.webp new file mode 100644 index 000000000..a2747491b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyluther.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymad.webp b/files/assets/CHRISTMAS/images/emojis/marseymad.webp new file mode 100644 index 000000000..61e115a03 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymalding.webp b/files/assets/CHRISTMAS/images/emojis/marseymalding.webp new file mode 100644 index 000000000..7bd4cbcc4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymalding.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymancer.webp b/files/assets/CHRISTMAS/images/emojis/marseymancer.webp new file mode 100644 index 000000000..4747467d7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymancer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymanlet.webp b/files/assets/CHRISTMAS/images/emojis/marseymanlet.webp new file mode 100644 index 000000000..1f9b78dae Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymanlet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymao.webp b/files/assets/CHRISTMAS/images/emojis/marseymao.webp new file mode 100644 index 000000000..ef0fc92f6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymao.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymaoist.webp b/files/assets/CHRISTMAS/images/emojis/marseymaoist.webp new file mode 100644 index 000000000..e1ec02c23 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymaoist.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymask.webp b/files/assets/CHRISTMAS/images/emojis/marseymask.webp new file mode 100644 index 000000000..b0f63f62f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymask.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymati.webp b/files/assets/CHRISTMAS/images/emojis/marseymati.webp new file mode 100644 index 000000000..b2e6242f6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymati.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymayo.webp b/files/assets/CHRISTMAS/images/emojis/marseymayo.webp new file mode 100644 index 000000000..7bb7710cc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymayo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymcarthur.webp b/files/assets/CHRISTMAS/images/emojis/marseymcarthur.webp new file mode 100644 index 000000000..6766ba34c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymcarthur.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymeds.webp b/files/assets/CHRISTMAS/images/emojis/marseymeds.webp new file mode 100644 index 000000000..c067f8f4d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymeds.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymerchant.webp b/files/assets/CHRISTMAS/images/emojis/marseymerchant.webp new file mode 100644 index 000000000..995d9a722 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymerchant.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymerchantelf.webp b/files/assets/CHRISTMAS/images/emojis/marseymerchantelf.webp new file mode 100644 index 000000000..82c7eedd2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymerchantelf.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymermaid.webp b/files/assets/CHRISTMAS/images/emojis/marseymermaid.webp new file mode 100644 index 000000000..50abb7a85 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymermaid.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymexican.webp b/files/assets/CHRISTMAS/images/emojis/marseymexican.webp new file mode 100644 index 000000000..7d19aa2e2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymexican.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymini.webp b/files/assets/CHRISTMAS/images/emojis/marseymini.webp new file mode 100644 index 000000000..d0ac817df Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymini.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyminigun.webp b/files/assets/CHRISTMAS/images/emojis/marseyminigun.webp new file mode 100644 index 000000000..d0ac817df Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyminigun.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyminimalism.webp b/files/assets/CHRISTMAS/images/emojis/marseyminimalism.webp new file mode 100644 index 000000000..d7751a353 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyminimalism.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyminimalism2.webp b/files/assets/CHRISTMAS/images/emojis/marseyminimalism2.webp new file mode 100644 index 000000000..9a34949e5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyminimalism2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyminion.webp b/files/assets/CHRISTMAS/images/emojis/marseyminion.webp new file mode 100644 index 000000000..877603d30 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyminion.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymissing.webp b/files/assets/CHRISTMAS/images/emojis/marseymissing.webp new file mode 100644 index 000000000..8e8c6d172 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymissing.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymodelo.webp b/files/assets/CHRISTMAS/images/emojis/marseymodelo.webp new file mode 100644 index 000000000..79768d321 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymodelo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymodelo2.webp b/files/assets/CHRISTMAS/images/emojis/marseymodelo2.webp new file mode 100644 index 000000000..e584a181c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymodelo2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymommy.webp b/files/assets/CHRISTMAS/images/emojis/marseymommy.webp new file mode 100644 index 000000000..adcb58859 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymommy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymonk.webp b/files/assets/CHRISTMAS/images/emojis/marseymonk.webp new file mode 100644 index 000000000..df3c64488 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymonk.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymonke.webp b/files/assets/CHRISTMAS/images/emojis/marseymonke.webp new file mode 100644 index 000000000..204b1a040 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymonke.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymoose.webp b/files/assets/CHRISTMAS/images/emojis/marseymoose.webp new file mode 100644 index 000000000..e844f267e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymoose.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymorph.webp b/files/assets/CHRISTMAS/images/emojis/marseymorph.webp new file mode 100644 index 000000000..34ff05c59 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymorph.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymothermary.webp b/files/assets/CHRISTMAS/images/emojis/marseymothermary.webp new file mode 100644 index 000000000..716ae32d6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymothermary.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymouse.webp b/files/assets/CHRISTMAS/images/emojis/marseymouse.webp new file mode 100644 index 000000000..480aba8f1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymouse.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymugshot.webp b/files/assets/CHRISTMAS/images/emojis/marseymugshot.webp new file mode 100644 index 000000000..9a9745259 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymugshot.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymummy.webp b/files/assets/CHRISTMAS/images/emojis/marseymummy.webp new file mode 100644 index 000000000..00cd223d6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymummy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymummy2.webp b/files/assets/CHRISTMAS/images/emojis/marseymummy2.webp new file mode 100644 index 000000000..24e47c2a9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymummy2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymutt.webp b/files/assets/CHRISTMAS/images/emojis/marseymutt.webp new file mode 100644 index 000000000..86739ac03 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymutt.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymyeisha.webp b/files/assets/CHRISTMAS/images/emojis/marseymyeisha.webp new file mode 100644 index 000000000..8e87c0f94 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymyeisha.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseymyspacetom.webp b/files/assets/CHRISTMAS/images/emojis/marseymyspacetom.webp new file mode 100644 index 000000000..e1a40ddb2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseymyspacetom.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyn8.webp b/files/assets/CHRISTMAS/images/emojis/marseyn8.webp new file mode 100644 index 000000000..7b305fc67 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyn8.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynails.webp b/files/assets/CHRISTMAS/images/emojis/marseynails.webp new file mode 100644 index 000000000..fd85a5a85 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynails.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynapoleon.webp b/files/assets/CHRISTMAS/images/emojis/marseynapoleon.webp new file mode 100644 index 000000000..f86277d0e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynapoleon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyneat.webp b/files/assets/CHRISTMAS/images/emojis/marseyneat.webp new file mode 100644 index 000000000..6d272d62a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyneat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyneckbeard.webp b/files/assets/CHRISTMAS/images/emojis/marseyneckbeard.webp new file mode 100644 index 000000000..032d0e324 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyneckbeard.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyneet.webp b/files/assets/CHRISTMAS/images/emojis/marseyneet.webp new file mode 100644 index 000000000..5f196a650 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyneet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyneon.webp b/files/assets/CHRISTMAS/images/emojis/marseyneon.webp new file mode 100644 index 000000000..68d9c1695 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyneon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynerd.webp b/files/assets/CHRISTMAS/images/emojis/marseynerd.webp new file mode 100644 index 000000000..5b1dbb8b4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynerd.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynietzsche.webp b/files/assets/CHRISTMAS/images/emojis/marseynietzsche.webp new file mode 100644 index 000000000..c0bdf3b11 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynietzsche.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyniggawut.webp b/files/assets/CHRISTMAS/images/emojis/marseyniggawut.webp new file mode 100644 index 000000000..177762870 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyniggawut.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynightmare.webp b/files/assets/CHRISTMAS/images/emojis/marseynightmare.webp new file mode 100644 index 000000000..961d8c082 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynightmare.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynintendo.webp b/files/assets/CHRISTMAS/images/emojis/marseynintendo.webp new file mode 100644 index 000000000..fa05125be Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynintendo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyniqab.webp b/files/assets/CHRISTMAS/images/emojis/marseyniqab.webp new file mode 100644 index 000000000..e4b19ef4f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyniqab.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyno.webp b/files/assets/CHRISTMAS/images/emojis/marseyno.webp new file mode 100644 index 000000000..9df2d3851 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyno.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynooo.webp b/files/assets/CHRISTMAS/images/emojis/marseynooo.webp new file mode 100644 index 000000000..e36612831 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynooo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynosleep.webp b/files/assets/CHRISTMAS/images/emojis/marseynosleep.webp new file mode 100644 index 000000000..02b3c7dfc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynosleep.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynoyou.webp b/files/assets/CHRISTMAS/images/emojis/marseynoyou.webp new file mode 100644 index 000000000..6e196b699 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynoyou.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynoyouglow.webp b/files/assets/CHRISTMAS/images/emojis/marseynoyouglow.webp new file mode 100644 index 000000000..c004f9923 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynoyouglow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynpc.webp b/files/assets/CHRISTMAS/images/emojis/marseynpc.webp new file mode 100644 index 000000000..71c14422f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynpc.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynpc2.webp b/files/assets/CHRISTMAS/images/emojis/marseynpc2.webp new file mode 100644 index 000000000..aa67fa20c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynpc2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynun.webp b/files/assets/CHRISTMAS/images/emojis/marseynun.webp new file mode 100644 index 000000000..f9bcbbc2c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynun.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynut.webp b/files/assets/CHRISTMAS/images/emojis/marseynut.webp new file mode 100644 index 000000000..767f442a2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynut.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynutcracker.webp b/files/assets/CHRISTMAS/images/emojis/marseynutcracker.webp new file mode 100644 index 000000000..b90e475d7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynutcracker.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseynyan.webp b/files/assets/CHRISTMAS/images/emojis/marseynyan.webp new file mode 100644 index 000000000..46f2fdc85 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseynyan.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyobama.webp b/files/assets/CHRISTMAS/images/emojis/marseyobama.webp new file mode 100644 index 000000000..d21ff8c43 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyobama.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyobese.webp b/files/assets/CHRISTMAS/images/emojis/marseyobese.webp new file mode 100644 index 000000000..eaefa8f67 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyobese.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyobesescale.webp b/files/assets/CHRISTMAS/images/emojis/marseyobesescale.webp new file mode 100644 index 000000000..b37c8b9f6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyobesescale.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyobey.webp b/files/assets/CHRISTMAS/images/emojis/marseyobey.webp new file mode 100644 index 000000000..6c1029712 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyobey.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyoceania.webp b/files/assets/CHRISTMAS/images/emojis/marseyoceania.webp new file mode 100644 index 000000000..cd2d6d020 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyoceania.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyoctopus.webp b/files/assets/CHRISTMAS/images/emojis/marseyoctopus.webp new file mode 100644 index 000000000..e70395a39 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyoctopus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyoctopus2.webp b/files/assets/CHRISTMAS/images/emojis/marseyoctopus2.webp new file mode 100644 index 000000000..b1fe3dddb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyoctopus2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyoctopus3.webp b/files/assets/CHRISTMAS/images/emojis/marseyoctopus3.webp new file mode 100644 index 000000000..7efaa1d17 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyoctopus3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyohno.webp b/files/assets/CHRISTMAS/images/emojis/marseyohno.webp new file mode 100644 index 000000000..3ead788b8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyohno.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyonacid.webp b/files/assets/CHRISTMAS/images/emojis/marseyonacid.webp new file mode 100644 index 000000000..d04303ef1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyonacid.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyorthodox.webp b/files/assets/CHRISTMAS/images/emojis/marseyorthodox.webp new file mode 100644 index 000000000..d489a670d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyorthodox.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyorthodoxpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyorthodoxpat.webp new file mode 100644 index 000000000..53b089529 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyorthodoxpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyowow.webp b/files/assets/CHRISTMAS/images/emojis/marseyowow.webp new file mode 100644 index 000000000..cee604467 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyowow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypaint.webp b/files/assets/CHRISTMAS/images/emojis/marseypaint.webp new file mode 100644 index 000000000..7189350a5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypaint.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypainter.webp b/files/assets/CHRISTMAS/images/emojis/marseypainter.webp new file mode 100644 index 000000000..ebe8e9240 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypainter.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypanda.webp b/files/assets/CHRISTMAS/images/emojis/marseypanda.webp new file mode 100644 index 000000000..4d94a6225 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypanda.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypanda2.webp b/files/assets/CHRISTMAS/images/emojis/marseypanda2.webp new file mode 100644 index 000000000..2aee4e9ed Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypanda2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypanties.webp b/files/assets/CHRISTMAS/images/emojis/marseypanties.webp new file mode 100644 index 000000000..7763017dd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypanties.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyparty.webp b/files/assets/CHRISTMAS/images/emojis/marseyparty.webp new file mode 100644 index 000000000..136954d1f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyparty.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyparty1.webp b/files/assets/CHRISTMAS/images/emojis/marseyparty1.webp new file mode 100644 index 000000000..f4bae0e08 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyparty1.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyparty2.webp b/files/assets/CHRISTMAS/images/emojis/marseyparty2.webp new file mode 100644 index 000000000..677dede03 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyparty2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyparty3.webp b/files/assets/CHRISTMAS/images/emojis/marseyparty3.webp new file mode 100644 index 000000000..65e489852 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyparty3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypartymaxx.webp b/files/assets/CHRISTMAS/images/emojis/marseypartymaxx.webp new file mode 100644 index 000000000..b7ef2a89c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypartymaxx.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypartyxmas.webp b/files/assets/CHRISTMAS/images/emojis/marseypartyxmas.webp new file mode 100644 index 000000000..c5b091640 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypartyxmas.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypartyzoom.webp b/files/assets/CHRISTMAS/images/emojis/marseypartyzoom.webp new file mode 100644 index 000000000..330c95936 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypartyzoom.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypat.webp b/files/assets/CHRISTMAS/images/emojis/marseypat.webp new file mode 100644 index 000000000..4682983d6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypatriot.webp b/files/assets/CHRISTMAS/images/emojis/marseypatriot.webp new file mode 100644 index 000000000..185ef7385 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypatriot.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypeacekeeper.webp b/files/assets/CHRISTMAS/images/emojis/marseypeacekeeper.webp new file mode 100644 index 000000000..e795f0749 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypeacekeeper.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypearlclutch.webp b/files/assets/CHRISTMAS/images/emojis/marseypearlclutch.webp new file mode 100644 index 000000000..efea2f6a0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypearlclutch.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypearlclutch2.webp b/files/assets/CHRISTMAS/images/emojis/marseypearlclutch2.webp new file mode 100644 index 000000000..00013ca6e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypearlclutch2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypedo.webp b/files/assets/CHRISTMAS/images/emojis/marseypedo.webp new file mode 100644 index 000000000..3fd3b3a75 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypedo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypedobear.webp b/files/assets/CHRISTMAS/images/emojis/marseypedobear.webp new file mode 100644 index 000000000..22066f791 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypedobear.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypenguin.webp b/files/assets/CHRISTMAS/images/emojis/marseypenguin.webp new file mode 100644 index 000000000..0fe3b66de Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypenguin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypepe.webp b/files/assets/CHRISTMAS/images/emojis/marseypepe.webp new file mode 100644 index 000000000..992c0aabd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypepe.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypepe2.webp b/files/assets/CHRISTMAS/images/emojis/marseypepe2.webp new file mode 100644 index 000000000..9c84045c7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypepe2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypharaoh.webp b/files/assets/CHRISTMAS/images/emojis/marseypharaoh.webp new file mode 100644 index 000000000..635b2bbd2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypharaoh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypharaoh2.webp b/files/assets/CHRISTMAS/images/emojis/marseypharaoh2.webp new file mode 100644 index 000000000..5b89d133d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypharaoh2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypharoah.webp b/files/assets/CHRISTMAS/images/emojis/marseypharoah.webp new file mode 100644 index 000000000..635b2bbd2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypharoah.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypharoah2.webp b/files/assets/CHRISTMAS/images/emojis/marseypharoah2.webp new file mode 100644 index 000000000..5b89d133d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypharoah2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypickle.webp b/files/assets/CHRISTMAS/images/emojis/marseypickle.webp new file mode 100644 index 000000000..050b9df8a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypickle.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypig.webp b/files/assets/CHRISTMAS/images/emojis/marseypig.webp new file mode 100644 index 000000000..8f9f32c42 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypig.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypikachu.webp b/files/assets/CHRISTMAS/images/emojis/marseypikachu.webp new file mode 100644 index 000000000..fcab67e11 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypikachu.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypikachu2.webp b/files/assets/CHRISTMAS/images/emojis/marseypikachu2.webp new file mode 100644 index 000000000..9e33106c5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypikachu2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypilgrim.webp b/files/assets/CHRISTMAS/images/emojis/marseypilgrim.webp new file mode 100644 index 000000000..e7ac2eba9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypilgrim.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypimp.webp b/files/assets/CHRISTMAS/images/emojis/marseypimp.webp new file mode 100644 index 000000000..3da7558f3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypimp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypin.webp b/files/assets/CHRISTMAS/images/emojis/marseypin.webp new file mode 100644 index 000000000..9d67bb6a4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypinochet.webp b/files/assets/CHRISTMAS/images/emojis/marseypinochet.webp new file mode 100644 index 000000000..a273b574e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypinochet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypipe.webp b/files/assets/CHRISTMAS/images/emojis/marseypipe.webp new file mode 100644 index 000000000..6891445fd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypipe.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypirate.webp b/files/assets/CHRISTMAS/images/emojis/marseypirate.webp new file mode 100644 index 000000000..737483af5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypirate.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypirate2.webp b/files/assets/CHRISTMAS/images/emojis/marseypirate2.webp new file mode 100644 index 000000000..fd962fd57 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypirate2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypixel.webp b/files/assets/CHRISTMAS/images/emojis/marseypixel.webp new file mode 100644 index 000000000..738a89d43 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypixel.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypizzashill.webp b/files/assets/CHRISTMAS/images/emojis/marseypizzashill.webp new file mode 100644 index 000000000..a26fac6d1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypizzashill.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyplanecrash.webp b/files/assets/CHRISTMAS/images/emojis/marseyplanecrash.webp new file mode 100644 index 000000000..5c2fbad9a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyplanecrash.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyplaty.webp b/files/assets/CHRISTMAS/images/emojis/marseyplaty.webp new file mode 100644 index 000000000..ead7addc8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyplaty.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyplaying.webp b/files/assets/CHRISTMAS/images/emojis/marseyplaying.webp new file mode 100644 index 000000000..5737ae818 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyplaying.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyplaying2.webp b/files/assets/CHRISTMAS/images/emojis/marseyplaying2.webp new file mode 100644 index 000000000..23dbacc4e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyplaying2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypleading.webp b/files/assets/CHRISTMAS/images/emojis/marseypleading.webp new file mode 100644 index 000000000..e0e458fd4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypleading.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyplugged.webp b/files/assets/CHRISTMAS/images/emojis/marseyplugged.webp new file mode 100644 index 000000000..dab58a04a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyplugged.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyplush.webp b/files/assets/CHRISTMAS/images/emojis/marseyplush.webp new file mode 100644 index 000000000..4af947a4a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyplush.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypoggers.webp b/files/assets/CHRISTMAS/images/emojis/marseypoggers.webp new file mode 100644 index 000000000..e11747462 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypoggers.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypokerface.webp b/files/assets/CHRISTMAS/images/emojis/marseypokerface.webp new file mode 100644 index 000000000..26a3145b2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypokerface.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyponder.webp b/files/assets/CHRISTMAS/images/emojis/marseyponder.webp new file mode 100644 index 000000000..48d24ca15 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyponder.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypony.webp b/files/assets/CHRISTMAS/images/emojis/marseypony.webp new file mode 100644 index 000000000..68c647db1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypony.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypoor.webp b/files/assets/CHRISTMAS/images/emojis/marseypoor.webp new file mode 100644 index 000000000..0fd8ef0b6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypoor.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypop.webp b/files/assets/CHRISTMAS/images/emojis/marseypop.webp new file mode 100644 index 000000000..05a0c3b9e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypop.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypop2.webp b/files/assets/CHRISTMAS/images/emojis/marseypop2.webp new file mode 100644 index 000000000..c9723ee9d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypop2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypopcorn.webp b/files/assets/CHRISTMAS/images/emojis/marseypopcorn.webp new file mode 100644 index 000000000..0503e84b2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypopcorn.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypopcorntime.webp b/files/assets/CHRISTMAS/images/emojis/marseypopcorntime.webp new file mode 100644 index 000000000..826172f24 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypopcorntime.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypope.webp b/files/assets/CHRISTMAS/images/emojis/marseypope.webp new file mode 100644 index 000000000..3e1f1db11 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypope.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypostmodern.webp b/files/assets/CHRISTMAS/images/emojis/marseypostmodern.webp new file mode 100644 index 000000000..a666bca66 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypostmodern.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypredator.webp b/files/assets/CHRISTMAS/images/emojis/marseypredator.webp new file mode 100644 index 000000000..80461959d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypredator.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypresents.webp b/files/assets/CHRISTMAS/images/emojis/marseypresents.webp new file mode 100644 index 000000000..cc407d67b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypresents.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypretty.webp b/files/assets/CHRISTMAS/images/emojis/marseypretty.webp new file mode 100644 index 000000000..c8d36b9f3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypretty.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypride.webp b/files/assets/CHRISTMAS/images/emojis/marseypride.webp new file mode 100644 index 000000000..93a4d0bea Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypride.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyprisma.webp b/files/assets/CHRISTMAS/images/emojis/marseyprisma.webp new file mode 100644 index 000000000..fdb0315d9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyprisma.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyproctologist.webp b/files/assets/CHRISTMAS/images/emojis/marseyproctologist.webp new file mode 100644 index 000000000..aa7d852b3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyproctologist.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyprotestno.webp b/files/assets/CHRISTMAS/images/emojis/marseyprotestno.webp new file mode 100644 index 000000000..01692ad81 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyprotestno.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyprotestyes.webp b/files/assets/CHRISTMAS/images/emojis/marseyprotestyes.webp new file mode 100644 index 000000000..75ee972a3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyprotestyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypsycho.webp b/files/assets/CHRISTMAS/images/emojis/marseypsycho.webp new file mode 100644 index 000000000..a5ea326c7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypsycho.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypuke.webp b/files/assets/CHRISTMAS/images/emojis/marseypuke.webp new file mode 100644 index 000000000..ae21f0eff Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypuke.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypumpkin.webp b/files/assets/CHRISTMAS/images/emojis/marseypumpkin.webp new file mode 100644 index 000000000..c0e24cf73 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypumpkin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypumpkin2.webp b/files/assets/CHRISTMAS/images/emojis/marseypumpkin2.webp new file mode 100644 index 000000000..aa0903371 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypumpkin2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypumpkin3.webp b/files/assets/CHRISTMAS/images/emojis/marseypumpkin3.webp new file mode 100644 index 000000000..a66c9c085 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypumpkin3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypumpkin4.webp b/files/assets/CHRISTMAS/images/emojis/marseypumpkin4.webp new file mode 100644 index 000000000..adf55e218 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypumpkin4.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypumpkincloak.webp b/files/assets/CHRISTMAS/images/emojis/marseypumpkincloak.webp new file mode 100644 index 000000000..c68887331 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypumpkincloak.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypumpking.webp b/files/assets/CHRISTMAS/images/emojis/marseypumpking.webp new file mode 100644 index 000000000..57c4f5eb9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypumpking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypumpkinglow.webp b/files/assets/CHRISTMAS/images/emojis/marseypumpkinglow.webp new file mode 100644 index 000000000..081386e70 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypumpkinglow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypunching.webp b/files/assets/CHRISTMAS/images/emojis/marseypunching.webp new file mode 100644 index 000000000..1db969334 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypunching.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseypunisher.webp b/files/assets/CHRISTMAS/images/emojis/marseypunisher.webp new file mode 100644 index 000000000..0fa35cd64 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseypunisher.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyqoomer.webp b/files/assets/CHRISTMAS/images/emojis/marseyqoomer.webp new file mode 100644 index 000000000..576919bba Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyqoomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyquadmagyar.webp b/files/assets/CHRISTMAS/images/emojis/marseyquadmagyar.webp new file mode 100644 index 000000000..84013e2d7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyquadmagyar.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyqueen.webp b/files/assets/CHRISTMAS/images/emojis/marseyqueen.webp new file mode 100644 index 000000000..8364ebec9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyqueen.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyqueenlizard.webp b/files/assets/CHRISTMAS/images/emojis/marseyqueenlizard.webp new file mode 100644 index 000000000..557c02b25 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyqueenlizard.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyraccoon.webp b/files/assets/CHRISTMAS/images/emojis/marseyraccoon.webp new file mode 100644 index 000000000..b11b454f4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyraccoon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyracist.webp b/files/assets/CHRISTMAS/images/emojis/marseyracist.webp new file mode 100644 index 000000000..1e78a9a7c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyracist.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyracistgrandpa.webp b/files/assets/CHRISTMAS/images/emojis/marseyracistgrandpa.webp new file mode 100644 index 000000000..6e371e006 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyracistgrandpa.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyradioactive.webp b/files/assets/CHRISTMAS/images/emojis/marseyradioactive.webp new file mode 100644 index 000000000..819eaad60 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyradioactive.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrage.webp b/files/assets/CHRISTMAS/images/emojis/marseyrage.webp new file mode 100644 index 000000000..b7123b705 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrage.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyraging.webp b/files/assets/CHRISTMAS/images/emojis/marseyraging.webp new file mode 100644 index 000000000..4928d4e0e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyraging.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrain.webp b/files/assets/CHRISTMAS/images/emojis/marseyrain.webp new file mode 100644 index 000000000..926b802f3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrain.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrake.webp b/files/assets/CHRISTMAS/images/emojis/marseyrake.webp new file mode 100644 index 000000000..4bdbac896 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrake.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyramen.webp b/files/assets/CHRISTMAS/images/emojis/marseyramen.webp new file mode 100644 index 000000000..0485b1797 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyramen.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrare.webp b/files/assets/CHRISTMAS/images/emojis/marseyrare.webp new file mode 100644 index 000000000..6507cc9a0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrare.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrasta.webp b/files/assets/CHRISTMAS/images/emojis/marseyrasta.webp new file mode 100644 index 000000000..959c325dd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrasta.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrat.webp b/files/assets/CHRISTMAS/images/emojis/marseyrat.webp new file mode 100644 index 000000000..0ef677d79 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrave.webp b/files/assets/CHRISTMAS/images/emojis/marseyrave.webp new file mode 100644 index 000000000..23f5a53cb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrave.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyreading.webp b/files/assets/CHRISTMAS/images/emojis/marseyreading.webp new file mode 100644 index 000000000..4cbf71045 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyreading.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyready.webp b/files/assets/CHRISTMAS/images/emojis/marseyready.webp new file mode 100644 index 000000000..a91149df3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyready.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrealwork.webp b/files/assets/CHRISTMAS/images/emojis/marseyrealwork.webp new file mode 100644 index 000000000..b91dc0038 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrealwork.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyreich.webp b/files/assets/CHRISTMAS/images/emojis/marseyreich.webp new file mode 100644 index 000000000..0085e8011 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyreich.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyreindeer.webp b/files/assets/CHRISTMAS/images/emojis/marseyreindeer.webp new file mode 100644 index 000000000..c13ea241d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyreindeer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyreindeer2.webp b/files/assets/CHRISTMAS/images/emojis/marseyreindeer2.webp new file mode 100644 index 000000000..fc9000554 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyreindeer2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyreindeer3.webp b/files/assets/CHRISTMAS/images/emojis/marseyreindeer3.webp new file mode 100644 index 000000000..a8c8e447c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyreindeer3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyreindeer4.webp b/files/assets/CHRISTMAS/images/emojis/marseyreindeer4.webp new file mode 100644 index 000000000..da2855d55 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyreindeer4.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrentfree.webp b/files/assets/CHRISTMAS/images/emojis/marseyrentfree.webp new file mode 100644 index 000000000..1a6c4c8e7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrentfree.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyreportercnn.webp b/files/assets/CHRISTMAS/images/emojis/marseyreportercnn.webp new file mode 100644 index 000000000..9ba90bc93 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyreportercnn.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyreporterfox.webp b/files/assets/CHRISTMAS/images/emojis/marseyreporterfox.webp new file mode 100644 index 000000000..016a4f625 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyreporterfox.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyretard.webp b/files/assets/CHRISTMAS/images/emojis/marseyretard.webp new file mode 100644 index 000000000..b70fb4cdc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyretard.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrevolution.webp b/files/assets/CHRISTMAS/images/emojis/marseyrevolution.webp new file mode 100644 index 000000000..40b6b6dce Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrevolution.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrick.webp b/files/assets/CHRISTMAS/images/emojis/marseyrick.webp new file mode 100644 index 000000000..42ba32a73 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrick.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyroo.webp b/files/assets/CHRISTMAS/images/emojis/marseyroo.webp new file mode 100644 index 000000000..00364bff3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyroo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrope.webp b/files/assets/CHRISTMAS/images/emojis/marseyrope.webp new file mode 100644 index 000000000..5674b4a91 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrope.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyropeyourself.webp b/files/assets/CHRISTMAS/images/emojis/marseyropeyourself.webp new file mode 100644 index 000000000..3e4f3b5cd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyropeyourself.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyropeyourself2.webp b/files/assets/CHRISTMAS/images/emojis/marseyropeyourself2.webp new file mode 100644 index 000000000..12202f8ec Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyropeyourself2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrowling.webp b/files/assets/CHRISTMAS/images/emojis/marseyrowling.webp new file mode 100644 index 000000000..2ac3a59d3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrowling.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrpgcharacter.webp b/files/assets/CHRISTMAS/images/emojis/marseyrpgcharacter.webp new file mode 100644 index 000000000..1c9fe56e3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrpgcharacter.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrs.webp b/files/assets/CHRISTMAS/images/emojis/marseyrs.webp new file mode 100644 index 000000000..842b5b974 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrs.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrussel.webp b/files/assets/CHRISTMAS/images/emojis/marseyrussel.webp new file mode 100644 index 000000000..6a7ea814a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrussel.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyrussiadolls.webp b/files/assets/CHRISTMAS/images/emojis/marseyrussiadolls.webp new file mode 100644 index 000000000..c665a8c09 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyrussiadolls.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysad.webp b/files/assets/CHRISTMAS/images/emojis/marseysad.webp new file mode 100644 index 000000000..7e8b0762a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysad2.webp b/files/assets/CHRISTMAS/images/emojis/marseysad2.webp new file mode 100644 index 000000000..3de13c6d3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysad2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysadcat.webp b/files/assets/CHRISTMAS/images/emojis/marseysadcat.webp new file mode 100644 index 000000000..817d1ed68 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysadcat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysadge.webp b/files/assets/CHRISTMAS/images/emojis/marseysadge.webp new file mode 100644 index 000000000..b98e7ad70 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysadge.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysaint.webp b/files/assets/CHRISTMAS/images/emojis/marseysaint.webp new file mode 100644 index 000000000..7ec96c837 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysaint.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysalad.webp b/files/assets/CHRISTMAS/images/emojis/marseysalad.webp new file mode 100644 index 000000000..fdbd5d154 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysalad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysalat.webp b/files/assets/CHRISTMAS/images/emojis/marseysalat.webp new file mode 100644 index 000000000..fcf45ce91 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysalat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysalty.webp b/files/assets/CHRISTMAS/images/emojis/marseysalty.webp new file mode 100644 index 000000000..352dfa54b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysalty.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysalutearmy.webp b/files/assets/CHRISTMAS/images/emojis/marseysalutearmy.webp new file mode 100644 index 000000000..8f1854a4f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysalutearmy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysalutecop.webp b/files/assets/CHRISTMAS/images/emojis/marseysalutecop.webp new file mode 100644 index 000000000..566216ca0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysalutecop.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysalutenavy.webp b/files/assets/CHRISTMAS/images/emojis/marseysalutenavy.webp new file mode 100644 index 000000000..157ed61f9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysalutenavy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysanders.webp b/files/assets/CHRISTMAS/images/emojis/marseysanders.webp new file mode 100644 index 000000000..943b5dd18 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysanders.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysanta.webp b/files/assets/CHRISTMAS/images/emojis/marseysanta.webp new file mode 100644 index 000000000..63238a6b8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysanta.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysanta2.webp b/files/assets/CHRISTMAS/images/emojis/marseysanta2.webp new file mode 100644 index 000000000..114a5fe11 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysanta2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysanta3.webp b/files/assets/CHRISTMAS/images/emojis/marseysanta3.webp new file mode 100644 index 000000000..705cb8a27 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysanta3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysartre.webp b/files/assets/CHRISTMAS/images/emojis/marseysartre.webp new file mode 100644 index 000000000..b934fc4d2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysartre.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysaw.webp b/files/assets/CHRISTMAS/images/emojis/marseysaw.webp new file mode 100644 index 000000000..a6b9c5991 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysaw.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyscared.webp b/files/assets/CHRISTMAS/images/emojis/marseyscared.webp new file mode 100644 index 000000000..b5713077f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyscared.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyscarf.webp b/files/assets/CHRISTMAS/images/emojis/marseyscarf.webp new file mode 100644 index 000000000..901d600f2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyscarf.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyschizo.webp b/files/assets/CHRISTMAS/images/emojis/marseyschizo.webp new file mode 100644 index 000000000..7f673033b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyschizo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyschrodinger.webp b/files/assets/CHRISTMAS/images/emojis/marseyschrodinger.webp new file mode 100644 index 000000000..8f6a68ab5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyschrodinger.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyseethe.webp b/files/assets/CHRISTMAS/images/emojis/marseyseethe.webp new file mode 100644 index 000000000..38cf4e937 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyseethe.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyseven.webp b/files/assets/CHRISTMAS/images/emojis/marseyseven.webp new file mode 100644 index 000000000..40800ab96 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyseven.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysexy.webp b/files/assets/CHRISTMAS/images/emojis/marseysexy.webp new file mode 100644 index 000000000..cac2359ef Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysexy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysexylibrarian.webp b/files/assets/CHRISTMAS/images/emojis/marseysexylibrarian.webp new file mode 100644 index 000000000..11310a6e6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysexylibrarian.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshapiro.webp b/files/assets/CHRISTMAS/images/emojis/marseyshapiro.webp new file mode 100644 index 000000000..19bf6dbf7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshapiro.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysharingan.webp b/files/assets/CHRISTMAS/images/emojis/marseysharingan.webp new file mode 100644 index 000000000..3b4a07e4f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysharingan.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshark.webp b/files/assets/CHRISTMAS/images/emojis/marseyshark.webp new file mode 100644 index 000000000..5a168bcb5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshark.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysheep.webp b/files/assets/CHRISTMAS/images/emojis/marseysheep.webp new file mode 100644 index 000000000..c89689afa Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysheep.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysheepdog.webp b/files/assets/CHRISTMAS/images/emojis/marseysheepdog.webp new file mode 100644 index 000000000..9fd6b295a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysheepdog.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshiftyeyes.webp b/files/assets/CHRISTMAS/images/emojis/marseyshiftyeyes.webp new file mode 100644 index 000000000..7c2175a09 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshiftyeyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshisha.webp b/files/assets/CHRISTMAS/images/emojis/marseyshisha.webp new file mode 100644 index 000000000..d1080a1c7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshisha.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshook.webp b/files/assets/CHRISTMAS/images/emojis/marseyshook.webp new file mode 100644 index 000000000..24e2b9848 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshook.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshooting.webp b/files/assets/CHRISTMAS/images/emojis/marseyshooting.webp new file mode 100644 index 000000000..ebad85cf4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshooting.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshroom.webp b/files/assets/CHRISTMAS/images/emojis/marseyshroom.webp new file mode 100644 index 000000000..5fde383c3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshroom.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshrug.webp b/files/assets/CHRISTMAS/images/emojis/marseyshrug.webp new file mode 100644 index 000000000..a6e83c5e2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshrug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshutitdown.webp b/files/assets/CHRISTMAS/images/emojis/marseyshutitdown.webp new file mode 100644 index 000000000..01bbd4fe5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshutitdown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyshy.webp b/files/assets/CHRISTMAS/images/emojis/marseyshy.webp new file mode 100644 index 000000000..2009e1f74 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyshy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysick.webp b/files/assets/CHRISTMAS/images/emojis/marseysick.webp new file mode 100644 index 000000000..44c8752e5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysick.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysigh.webp b/files/assets/CHRISTMAS/images/emojis/marseysigh.webp new file mode 100644 index 000000000..28f576fe5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysigh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysipping.webp b/files/assets/CHRISTMAS/images/emojis/marseysipping.webp new file mode 100644 index 000000000..173eca43c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysipping.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysjw.webp b/files/assets/CHRISTMAS/images/emojis/marseysjw.webp new file mode 100644 index 000000000..8ea4c7556 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysjw.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyskater.webp b/files/assets/CHRISTMAS/images/emojis/marseyskater.webp new file mode 100644 index 000000000..3c0e90e9c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyskater.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyskeleton.webp b/files/assets/CHRISTMAS/images/emojis/marseyskeleton.webp new file mode 100644 index 000000000..9d8b37022 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyskeleton.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyskeleton2.webp b/files/assets/CHRISTMAS/images/emojis/marseyskeleton2.webp new file mode 100644 index 000000000..fbd9964d5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyskeleton2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyskeletor.webp b/files/assets/CHRISTMAS/images/emojis/marseyskeletor.webp new file mode 100644 index 000000000..da74ab134 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyskeletor.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyski.webp b/files/assets/CHRISTMAS/images/emojis/marseyski.webp new file mode 100644 index 000000000..c99bb2ed8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyski.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysleep.webp b/files/assets/CHRISTMAS/images/emojis/marseysleep.webp new file mode 100644 index 000000000..7270da2ad Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysleep.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysmirk.webp b/files/assets/CHRISTMAS/images/emojis/marseysmirk.webp new file mode 100644 index 000000000..8934471b0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysmirk.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysmoothbrain.webp b/files/assets/CHRISTMAS/images/emojis/marseysmoothbrain.webp new file mode 100644 index 000000000..138e6716b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysmoothbrain.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysmudge.webp b/files/assets/CHRISTMAS/images/emojis/marseysmudge.webp new file mode 100644 index 000000000..9590c960f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysmudge.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysmug.webp b/files/assets/CHRISTMAS/images/emojis/marseysmug.webp new file mode 100644 index 000000000..19ed5c64b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysmug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysmug2.webp b/files/assets/CHRISTMAS/images/emojis/marseysmug2.webp new file mode 100644 index 000000000..dfcd11450 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysmug2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysmug3.webp b/files/assets/CHRISTMAS/images/emojis/marseysmug3.webp new file mode 100644 index 000000000..3b665a741 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysmug3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysnappypat.webp b/files/assets/CHRISTMAS/images/emojis/marseysnappypat.webp new file mode 100644 index 000000000..ad8cf81d2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysnappypat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysneed.webp b/files/assets/CHRISTMAS/images/emojis/marseysneed.webp new file mode 100644 index 000000000..4f74f3604 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysneed.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysnek.webp b/files/assets/CHRISTMAS/images/emojis/marseysnek.webp new file mode 100644 index 000000000..cfd1b9e9b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysnek.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysniff.webp b/files/assets/CHRISTMAS/images/emojis/marseysniff.webp new file mode 100644 index 000000000..72ed0c66e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysniff.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysnoo.webp b/files/assets/CHRISTMAS/images/emojis/marseysnoo.webp new file mode 100644 index 000000000..ba3af010d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysnoo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysnow.webp b/files/assets/CHRISTMAS/images/emojis/marseysnow.webp new file mode 100644 index 000000000..c5d9a4984 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysnow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysnowman.webp b/files/assets/CHRISTMAS/images/emojis/marseysnowman.webp new file mode 100644 index 000000000..50c0fad15 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysnowman.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysnowman2.webp b/files/assets/CHRISTMAS/images/emojis/marseysnowman2.webp new file mode 100644 index 000000000..5d5bb3422 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysnowman2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysob.webp b/files/assets/CHRISTMAS/images/emojis/marseysob.webp new file mode 100644 index 000000000..779a5eb7c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysob.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysociety.webp b/files/assets/CHRISTMAS/images/emojis/marseysociety.webp new file mode 100644 index 000000000..ab038cfd4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysociety.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysombrero.webp b/files/assets/CHRISTMAS/images/emojis/marseysombrero.webp new file mode 100644 index 000000000..c918f99a4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysombrero.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysonic.webp b/files/assets/CHRISTMAS/images/emojis/marseysonic.webp new file mode 100644 index 000000000..a0a56e849 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysonic.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysonofman.webp b/files/assets/CHRISTMAS/images/emojis/marseysonofman.webp new file mode 100644 index 000000000..b8fb063e5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysonofman.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysoypoint.webp b/files/assets/CHRISTMAS/images/emojis/marseysoypoint.webp new file mode 100644 index 000000000..ea51b81ed Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysoypoint.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyspecial.webp b/files/assets/CHRISTMAS/images/emojis/marseyspecial.webp new file mode 100644 index 000000000..d59749f63 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyspecial.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyspecialpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyspecialpat.webp new file mode 100644 index 000000000..9b5de7760 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyspecialpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyspider.webp b/files/assets/CHRISTMAS/images/emojis/marseyspider.webp new file mode 100644 index 000000000..423a829e4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyspider.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyspider2.webp b/files/assets/CHRISTMAS/images/emojis/marseyspider2.webp new file mode 100644 index 000000000..523b58af1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyspider2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyspirit.webp b/files/assets/CHRISTMAS/images/emojis/marseyspirit.webp new file mode 100644 index 000000000..f866afe8c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyspirit.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyspit.webp b/files/assets/CHRISTMAS/images/emojis/marseyspit.webp new file mode 100644 index 000000000..301790db9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyspit.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyspittake.webp b/files/assets/CHRISTMAS/images/emojis/marseyspittake.webp new file mode 100644 index 000000000..8ee159358 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyspittake.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyspooky.webp b/files/assets/CHRISTMAS/images/emojis/marseyspooky.webp new file mode 100644 index 000000000..f15805469 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyspooky.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyspookysmile.webp b/files/assets/CHRISTMAS/images/emojis/marseyspookysmile.webp new file mode 100644 index 000000000..3e39a930f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyspookysmile.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysrdine.webp b/files/assets/CHRISTMAS/images/emojis/marseysrdine.webp new file mode 100644 index 000000000..53247d09c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysrdine.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysrdine2.webp b/files/assets/CHRISTMAS/images/emojis/marseysrdine2.webp new file mode 100644 index 000000000..bba735122 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysrdine2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseystars.webp b/files/assets/CHRISTMAS/images/emojis/marseystars.webp new file mode 100644 index 000000000..a5e8ea51d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseystars.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysteer.webp b/files/assets/CHRISTMAS/images/emojis/marseysteer.webp new file mode 100644 index 000000000..f850b23a4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysteer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseystein.webp b/files/assets/CHRISTMAS/images/emojis/marseystein.webp new file mode 100644 index 000000000..72d5c8e67 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseystein.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseystinky.webp b/files/assets/CHRISTMAS/images/emojis/marseystinky.webp new file mode 100644 index 000000000..af6193d0e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseystinky.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseystonetoss.webp b/files/assets/CHRISTMAS/images/emojis/marseystonetoss.webp new file mode 100644 index 000000000..025fdd464 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseystonetoss.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseystroke.webp b/files/assets/CHRISTMAS/images/emojis/marseystroke.webp new file mode 100644 index 000000000..0ab6001f6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseystroke.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysuffragette.webp b/files/assets/CHRISTMAS/images/emojis/marseysuffragette.webp new file mode 100644 index 000000000..82f0f06a6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysuffragette.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysulk.webp b/files/assets/CHRISTMAS/images/emojis/marseysulk.webp new file mode 100644 index 000000000..ca5e60f8d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysulk.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysuper.webp b/files/assets/CHRISTMAS/images/emojis/marseysuper.webp new file mode 100644 index 000000000..ec1db65de Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysuper.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysurprised.webp b/files/assets/CHRISTMAS/images/emojis/marseysurprised.webp new file mode 100644 index 000000000..d1fa16474 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysurprised.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysus.webp b/files/assets/CHRISTMAS/images/emojis/marseysus.webp new file mode 100644 index 000000000..59318d4fc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysweating.webp b/files/assets/CHRISTMAS/images/emojis/marseysweating.webp new file mode 100644 index 000000000..cd1256ed1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysweating.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysylveon.webp b/files/assets/CHRISTMAS/images/emojis/marseysylveon.webp new file mode 100644 index 000000000..ba71e181f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysylveon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseysylveonpat.webp b/files/assets/CHRISTMAS/images/emojis/marseysylveonpat.webp new file mode 100644 index 000000000..29445fa61 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseysylveonpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytaliban.webp b/files/assets/CHRISTMAS/images/emojis/marseytaliban.webp new file mode 100644 index 000000000..be629c9b0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytaliban.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytalibanpat.webp b/files/assets/CHRISTMAS/images/emojis/marseytalibanpat.webp new file mode 100644 index 000000000..a9202accd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytalibanpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytank.webp b/files/assets/CHRISTMAS/images/emojis/marseytank.webp new file mode 100644 index 000000000..206585757 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytank.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytankushanka.webp b/files/assets/CHRISTMAS/images/emojis/marseytankushanka.webp new file mode 100644 index 000000000..ddd4bf6d5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytankushanka.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytea.webp b/files/assets/CHRISTMAS/images/emojis/marseytea.webp new file mode 100644 index 000000000..ee837f104 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytea.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyteaparty.webp b/files/assets/CHRISTMAS/images/emojis/marseyteaparty.webp new file mode 100644 index 000000000..02e471de5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyteaparty.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytears.webp b/files/assets/CHRISTMAS/images/emojis/marseytears.webp new file mode 100644 index 000000000..67e97787a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytears.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyteruteru.webp b/files/assets/CHRISTMAS/images/emojis/marseyteruteru.webp new file mode 100644 index 000000000..de834781f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyteruteru.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseythegrey.webp b/files/assets/CHRISTMAS/images/emojis/marseythegrey.webp new file mode 100644 index 000000000..522ed8d28 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseythegrey.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytheorist.webp b/files/assets/CHRISTMAS/images/emojis/marseytheorist.webp new file mode 100644 index 000000000..09cb80ed3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytheorist.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseything.webp b/files/assets/CHRISTMAS/images/emojis/marseything.webp new file mode 100644 index 000000000..9576913bc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseything.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseythinkorino.webp b/files/assets/CHRISTMAS/images/emojis/marseythinkorino.webp new file mode 100644 index 000000000..80ade4d7d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseythinkorino.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseythomas.webp b/files/assets/CHRISTMAS/images/emojis/marseythomas.webp new file mode 100644 index 000000000..5ad212098 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseythomas.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseythonk.webp b/files/assets/CHRISTMAS/images/emojis/marseythonk.webp new file mode 100644 index 000000000..75bd25e79 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseythonk.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseythroatsinging.webp b/files/assets/CHRISTMAS/images/emojis/marseythroatsinging.webp new file mode 100644 index 000000000..844b054f3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseythroatsinging.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseythumbsup.webp b/files/assets/CHRISTMAS/images/emojis/marseythumbsup.webp new file mode 100644 index 000000000..b9dcddb21 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseythumbsup.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytiger.webp b/files/assets/CHRISTMAS/images/emojis/marseytiger.webp new file mode 100644 index 000000000..9b839f7bf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytiger.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytime.webp b/files/assets/CHRISTMAS/images/emojis/marseytime.webp new file mode 100644 index 000000000..0986ef7cb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytime.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytinfoil.webp b/files/assets/CHRISTMAS/images/emojis/marseytinfoil.webp new file mode 100644 index 000000000..49d6d787e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytinfoil.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytinfoil2.webp b/files/assets/CHRISTMAS/images/emojis/marseytinfoil2.webp new file mode 100644 index 000000000..3b447a4f6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytinfoil2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytoilet.webp b/files/assets/CHRISTMAS/images/emojis/marseytoilet.webp new file mode 100644 index 000000000..9b7e296fc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytoilet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytrad.webp b/files/assets/CHRISTMAS/images/emojis/marseytrad.webp new file mode 100644 index 000000000..d4a69edd2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytrad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytrain.webp b/files/assets/CHRISTMAS/images/emojis/marseytrain.webp new file mode 100644 index 000000000..6f1d7cb4d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytrain.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytrans.webp b/files/assets/CHRISTMAS/images/emojis/marseytrans.webp new file mode 100644 index 000000000..5704e6dba Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytrans.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytrans2.webp b/files/assets/CHRISTMAS/images/emojis/marseytrans2.webp new file mode 100644 index 000000000..ff94ce563 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytrans2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytransflag.webp b/files/assets/CHRISTMAS/images/emojis/marseytransflag.webp new file mode 100644 index 000000000..d901f2a17 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytransflag.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytrickortreat.webp b/files/assets/CHRISTMAS/images/emojis/marseytrickortreat.webp new file mode 100644 index 000000000..6f88ed03f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytrickortreat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytroll.webp b/files/assets/CHRISTMAS/images/emojis/marseytroll.webp new file mode 100644 index 000000000..d59197817 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytroll.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytroll2.webp b/files/assets/CHRISTMAS/images/emojis/marseytroll2.webp new file mode 100644 index 000000000..37bbf599c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytroll2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytrollcrazy.webp b/files/assets/CHRISTMAS/images/emojis/marseytrollcrazy.webp new file mode 100644 index 000000000..50096b2f6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytrollcrazy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytrollgun.webp b/files/assets/CHRISTMAS/images/emojis/marseytrollgun.webp new file mode 100644 index 000000000..4225d0967 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytrollgun.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytrollolol.webp b/files/assets/CHRISTMAS/images/emojis/marseytrollolol.webp new file mode 100644 index 000000000..32b1d20bf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytrollolol.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytroublemaker.webp b/files/assets/CHRISTMAS/images/emojis/marseytroublemaker.webp new file mode 100644 index 000000000..8a4bb7a76 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytroublemaker.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytrump.webp b/files/assets/CHRISTMAS/images/emojis/marseytrump.webp new file mode 100644 index 000000000..b4f59eaf3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytrump.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytunaktunak.webp b/files/assets/CHRISTMAS/images/emojis/marseytunaktunak.webp new file mode 100644 index 000000000..b8c335ec2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytunaktunak.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyturkey.webp b/files/assets/CHRISTMAS/images/emojis/marseyturkey.webp new file mode 100644 index 000000000..bcb42bded Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyturkey.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytv.webp b/files/assets/CHRISTMAS/images/emojis/marseytv.webp new file mode 100644 index 000000000..b383dfdc0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytv.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytwerking.webp b/files/assets/CHRISTMAS/images/emojis/marseytwerking.webp new file mode 100644 index 000000000..89ae36b67 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytwerking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseytwins.webp b/files/assets/CHRISTMAS/images/emojis/marseytwins.webp new file mode 100644 index 000000000..461617654 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseytwins.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyuglyxmasweater.webp b/files/assets/CHRISTMAS/images/emojis/marseyuglyxmasweater.webp new file mode 100644 index 000000000..69c412965 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyuglyxmasweater.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyumbreon.webp b/files/assets/CHRISTMAS/images/emojis/marseyumbreon.webp new file mode 100644 index 000000000..63445d4cd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyumbreon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyumbreonpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyumbreonpat.webp new file mode 100644 index 000000000..b6783cfec Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyumbreonpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyunabomber.webp b/files/assets/CHRISTMAS/images/emojis/marseyunabomber.webp new file mode 100644 index 000000000..806e48b03 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyunabomber.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyunpettable.webp b/files/assets/CHRISTMAS/images/emojis/marseyunpettable.webp new file mode 100644 index 000000000..49ca952de Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyunpettable.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyuwuw.webp b/files/assets/CHRISTMAS/images/emojis/marseyuwuw.webp new file mode 100644 index 000000000..363f48136 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyuwuw.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvampire.webp b/files/assets/CHRISTMAS/images/emojis/marseyvampire.webp new file mode 100644 index 000000000..fd8263f63 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvampire.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvan.webp b/files/assets/CHRISTMAS/images/emojis/marseyvan.webp new file mode 100644 index 000000000..363686b06 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvan.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvaporeon.webp b/files/assets/CHRISTMAS/images/emojis/marseyvaporeon.webp new file mode 100644 index 000000000..313a9965c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvaporeon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvaporeonpat.webp b/files/assets/CHRISTMAS/images/emojis/marseyvaporeonpat.webp new file mode 100644 index 000000000..10a725f42 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvaporeonpat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvaporwave.webp b/files/assets/CHRISTMAS/images/emojis/marseyvaporwave.webp new file mode 100644 index 000000000..4d075f38c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvaporwave.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvaxmaxx.webp b/files/assets/CHRISTMAS/images/emojis/marseyvaxmaxx.webp new file mode 100644 index 000000000..51bea7576 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvaxmaxx.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvengeance.webp b/files/assets/CHRISTMAS/images/emojis/marseyvengeance.webp new file mode 100644 index 000000000..6d9e1c24e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvengeance.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvibing.webp b/files/assets/CHRISTMAS/images/emojis/marseyvibing.webp new file mode 100644 index 000000000..e9ebd3fbb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvibing.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvietnam.webp b/files/assets/CHRISTMAS/images/emojis/marseyvietnam.webp new file mode 100644 index 000000000..764632f07 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvietnam.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyvirus.webp b/files/assets/CHRISTMAS/images/emojis/marseyvirus.webp new file mode 100644 index 000000000..4b5bc1b4a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyvirus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywagie.webp b/files/assets/CHRISTMAS/images/emojis/marseywagie.webp new file mode 100644 index 000000000..97a2f53f7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywagie.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywalking.webp b/files/assets/CHRISTMAS/images/emojis/marseywalking.webp new file mode 100644 index 000000000..fbb4baeee Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywalking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywallst.webp b/files/assets/CHRISTMAS/images/emojis/marseywallst.webp new file mode 100644 index 000000000..ee14fc308 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywallst.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywarhol.webp b/files/assets/CHRISTMAS/images/emojis/marseywarhol.webp new file mode 100644 index 000000000..3643901c1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywarhol.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywave.webp b/files/assets/CHRISTMAS/images/emojis/marseywave.webp new file mode 100644 index 000000000..f9e448f22 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywave.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyweeb.webp b/files/assets/CHRISTMAS/images/emojis/marseyweeb.webp new file mode 100644 index 000000000..b5a85b242 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyweeb.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywendy.webp b/files/assets/CHRISTMAS/images/emojis/marseywendy.webp new file mode 100644 index 000000000..3cb66c5fb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywendy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywheredrama.webp b/files/assets/CHRISTMAS/images/emojis/marseywheredrama.webp new file mode 100644 index 000000000..d73e5b829 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywheredrama.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywheredrama2.webp b/files/assets/CHRISTMAS/images/emojis/marseywheredrama2.webp new file mode 100644 index 000000000..d5bacc6a4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywheredrama2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywhirlyhat.webp b/files/assets/CHRISTMAS/images/emojis/marseywhirlyhat.webp new file mode 100644 index 000000000..1d80fe2bb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywhirlyhat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywholesome.webp b/files/assets/CHRISTMAS/images/emojis/marseywholesome.webp new file mode 100644 index 000000000..e5f0df160 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywholesome.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywinner.webp b/files/assets/CHRISTMAS/images/emojis/marseywinner.webp new file mode 100644 index 000000000..6dcd5c9a8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywinner.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywise.webp b/files/assets/CHRISTMAS/images/emojis/marseywise.webp new file mode 100644 index 000000000..5aaa5911a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywise.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywitch.webp b/files/assets/CHRISTMAS/images/emojis/marseywitch.webp new file mode 100644 index 000000000..b1b256f80 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywitch.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywitch2.webp b/files/assets/CHRISTMAS/images/emojis/marseywitch2.webp new file mode 100644 index 000000000..a419f2b88 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywitch2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywitch3.webp b/files/assets/CHRISTMAS/images/emojis/marseywitch3.webp new file mode 100644 index 000000000..a56447e51 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywitch3.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywoah.webp b/files/assets/CHRISTMAS/images/emojis/marseywoah.webp new file mode 100644 index 000000000..703333578 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywoah.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywolf.webp b/files/assets/CHRISTMAS/images/emojis/marseywolf.webp new file mode 100644 index 000000000..d2d3ac669 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywolf.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywords.webp b/files/assets/CHRISTMAS/images/emojis/marseywords.webp new file mode 100644 index 000000000..a57726403 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywords.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywords2.webp b/files/assets/CHRISTMAS/images/emojis/marseywords2.webp new file mode 100644 index 000000000..5468558e7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywords2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyworried.webp b/files/assets/CHRISTMAS/images/emojis/marseyworried.webp new file mode 100644 index 000000000..d92439e3c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyworried.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywtf.webp b/files/assets/CHRISTMAS/images/emojis/marseywtf.webp new file mode 100644 index 000000000..1b1e62138 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywtf.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywtf2.webp b/files/assets/CHRISTMAS/images/emojis/marseywtf2.webp new file mode 100644 index 000000000..ee0bdba25 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywtf2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseywut.webp b/files/assets/CHRISTMAS/images/emojis/marseywut.webp new file mode 100644 index 000000000..14e7ac336 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseywut.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyxd.webp b/files/assets/CHRISTMAS/images/emojis/marseyxd.webp new file mode 100644 index 000000000..ae796d5d3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyxd.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyxoxo.webp b/files/assets/CHRISTMAS/images/emojis/marseyxoxo.webp new file mode 100644 index 000000000..43924361e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyxoxo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyyass.webp b/files/assets/CHRISTMAS/images/emojis/marseyyass.webp new file mode 100644 index 000000000..55765b70f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyyass.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyyawn.webp b/files/assets/CHRISTMAS/images/emojis/marseyyawn.webp new file mode 100644 index 000000000..86cba0489 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyyawn.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyyeezus.webp b/files/assets/CHRISTMAS/images/emojis/marseyyeezus.webp new file mode 100644 index 000000000..fb812068d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyyeezus.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyyes.webp b/files/assets/CHRISTMAS/images/emojis/marseyyes.webp new file mode 100644 index 000000000..c5b217ee2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyyikes.webp b/files/assets/CHRISTMAS/images/emojis/marseyyikes.webp new file mode 100644 index 000000000..f12383cf2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyyikes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyza.webp b/files/assets/CHRISTMAS/images/emojis/marseyza.webp new file mode 100644 index 000000000..0f99e563b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyza.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyzombie.webp b/files/assets/CHRISTMAS/images/emojis/marseyzombie.webp new file mode 100644 index 000000000..7046fffd4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyzombie.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyzoomer.webp b/files/assets/CHRISTMAS/images/emojis/marseyzoomer.webp new file mode 100644 index 000000000..4c3f0d16a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyzoomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marseyzwei.webp b/files/assets/CHRISTMAS/images/emojis/marseyzwei.webp new file mode 100644 index 000000000..8cbb2c4e3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marseyzwei.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsheen.webp b/files/assets/CHRISTMAS/images/emojis/marsheen.webp new file mode 100644 index 000000000..33401b2b3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsheen.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsheep.webp b/files/assets/CHRISTMAS/images/emojis/marsheep.webp new file mode 100644 index 000000000..84d0ebbcb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsheep.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsheepnpc.webp b/files/assets/CHRISTMAS/images/emojis/marsheepnpc.webp new file mode 100644 index 000000000..10373c899 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsheepnpc.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsoy.webp b/files/assets/CHRISTMAS/images/emojis/marsoy.webp new file mode 100644 index 000000000..08d8a7e49 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsoy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/marsoyhype.webp b/files/assets/CHRISTMAS/images/emojis/marsoyhype.webp new file mode 100644 index 000000000..4be611d25 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/marsoyhype.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/mcmarsey.webp b/files/assets/CHRISTMAS/images/emojis/mcmarsey.webp new file mode 100644 index 000000000..1d0a2b402 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/mcmarsey.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/medal.webp b/files/assets/CHRISTMAS/images/emojis/medal.webp new file mode 100644 index 000000000..a282ec9a0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/medal.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/megaman.webp b/files/assets/CHRISTMAS/images/emojis/megaman.webp new file mode 100644 index 000000000..1539e9e97 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/megaman.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/megamanguitar.webp b/files/assets/CHRISTMAS/images/emojis/megamanguitar.webp new file mode 100644 index 000000000..90a2e250e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/megamanguitar.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/megusta.webp b/files/assets/CHRISTMAS/images/emojis/megusta.webp new file mode 100644 index 000000000..99ff5a286 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/megusta.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/meow.webp b/files/assets/CHRISTMAS/images/emojis/meow.webp new file mode 100644 index 000000000..98b3913a5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/meow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/mersya.webp b/files/assets/CHRISTMAS/images/emojis/mersya.webp new file mode 100644 index 000000000..04d5fccc4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/mersya.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/mersya2.webp b/files/assets/CHRISTMAS/images/emojis/mersya2.webp new file mode 100644 index 000000000..248845e64 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/mersya2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/mersyapat.webp b/files/assets/CHRISTMAS/images/emojis/mersyapat.webp new file mode 100644 index 000000000..ed609dbea Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/mersyapat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/metime.webp b/files/assets/CHRISTMAS/images/emojis/metime.webp new file mode 100644 index 000000000..46847b75e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/metime.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/mlm.webp b/files/assets/CHRISTMAS/images/emojis/mlm.webp new file mode 100644 index 000000000..4499d41b0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/mlm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/monke.webp b/files/assets/CHRISTMAS/images/emojis/monke.webp new file mode 100644 index 000000000..519ff192c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/monke.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/mooning.webp b/files/assets/CHRISTMAS/images/emojis/mooning.webp new file mode 100644 index 000000000..a8acd468b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/mooning.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/motherfucker.webp b/files/assets/CHRISTMAS/images/emojis/motherfucker.webp new file mode 100644 index 000000000..561ab51d7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/motherfucker.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/motherofgod.webp b/files/assets/CHRISTMAS/images/emojis/motherofgod.webp new file mode 100644 index 000000000..07e6f94cd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/motherofgod.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/mummy.webp b/files/assets/CHRISTMAS/images/emojis/mummy.webp new file mode 100644 index 000000000..8c52d50c7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/mummy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/mysides.webp b/files/assets/CHRISTMAS/images/emojis/mysides.webp new file mode 100644 index 000000000..c1cea6669 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/mysides.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/na.webp b/files/assets/CHRISTMAS/images/emojis/na.webp new file mode 100644 index 000000000..80b41ed74 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/na.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/nauseous.webp b/files/assets/CHRISTMAS/images/emojis/nauseous.webp new file mode 100644 index 000000000..91b7b9b13 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/nauseous.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/nazijak.webp b/files/assets/CHRISTMAS/images/emojis/nazijak.webp new file mode 100644 index 000000000..6d3b3fa08 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/nazijak.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/nervous.webp b/files/assets/CHRISTMAS/images/emojis/nervous.webp new file mode 100644 index 000000000..22f79b38c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/nervous.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/niger.webp b/files/assets/CHRISTMAS/images/emojis/niger.webp new file mode 100644 index 000000000..17349e463 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/niger.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ninja.webp b/files/assets/CHRISTMAS/images/emojis/ninja.webp new file mode 100644 index 000000000..660e8cdb6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ninja.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/nod.webp b/files/assets/CHRISTMAS/images/emojis/nod.webp new file mode 100644 index 000000000..0434489c4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/nod.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/nono.webp b/files/assets/CHRISTMAS/images/emojis/nono.webp new file mode 100644 index 000000000..6c7c38d86 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/nono.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/npc.webp b/files/assets/CHRISTMAS/images/emojis/npc.webp new file mode 100644 index 000000000..53d253d1f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/npc.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/npcfront.webp b/files/assets/CHRISTMAS/images/emojis/npcfront.webp new file mode 100644 index 000000000..b71eaa453 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/npcfront.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/npcmaga.webp b/files/assets/CHRISTMAS/images/emojis/npcmaga.webp new file mode 100644 index 000000000..0d8cfd5f9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/npcmaga.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ohgodwhy.webp b/files/assets/CHRISTMAS/images/emojis/ohgodwhy.webp new file mode 100644 index 000000000..718c7e71c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ohgodwhy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/omg.webp b/files/assets/CHRISTMAS/images/emojis/omg.webp new file mode 100644 index 000000000..b0906a0a5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/omg.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/onfire.webp b/files/assets/CHRISTMAS/images/emojis/onfire.webp new file mode 100644 index 000000000..d22ed7441 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/onfire.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ooo.webp b/files/assets/CHRISTMAS/images/emojis/ooo.webp new file mode 100644 index 000000000..d6cd8440f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ooo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/orly.webp b/files/assets/CHRISTMAS/images/emojis/orly.webp new file mode 100644 index 000000000..efe1855f3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/orly.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/owlsey.webp b/files/assets/CHRISTMAS/images/emojis/owlsey.webp new file mode 100644 index 000000000..94235aeb7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/owlsey.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/p.webp b/files/assets/CHRISTMAS/images/emojis/p.webp new file mode 100644 index 000000000..84f6d86fd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/p.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/paddle.webp b/files/assets/CHRISTMAS/images/emojis/paddle.webp new file mode 100644 index 000000000..8c95ce73f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/paddle.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/panda.webp b/files/assets/CHRISTMAS/images/emojis/panda.webp new file mode 100644 index 000000000..7d70dcf1c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/panda.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/pandabutt.webp b/files/assets/CHRISTMAS/images/emojis/pandabutt.webp new file mode 100644 index 000000000..684f53b8b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/pandabutt.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/paranoid.webp b/files/assets/CHRISTMAS/images/emojis/paranoid.webp new file mode 100644 index 000000000..b1a582b5b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/paranoid.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/party.webp b/files/assets/CHRISTMAS/images/emojis/party.webp new file mode 100644 index 000000000..14a521af3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/party.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/pat.webp b/files/assets/CHRISTMAS/images/emojis/pat.webp new file mode 100644 index 000000000..617c55e9b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/pat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/peek.webp b/files/assets/CHRISTMAS/images/emojis/peek.webp new file mode 100644 index 000000000..2e7e17978 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/peek.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/pervertedspiderman.webp b/files/assets/CHRISTMAS/images/emojis/pervertedspiderman.webp new file mode 100644 index 000000000..94cceba69 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/pervertedspiderman.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/picard.webp b/files/assets/CHRISTMAS/images/emojis/picard.webp new file mode 100644 index 000000000..e741e051d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/picard.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/pikachu.webp b/files/assets/CHRISTMAS/images/emojis/pikachu.webp new file mode 100644 index 000000000..872512bda Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/pikachu.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/pimp.webp b/files/assets/CHRISTMAS/images/emojis/pimp.webp new file mode 100644 index 000000000..12c2b21ef Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/pimp.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/plarsy.webp b/files/assets/CHRISTMAS/images/emojis/plarsy.webp new file mode 100644 index 000000000..e91aac83b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/plarsy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyabused.webp b/files/assets/CHRISTMAS/images/emojis/platyabused.webp new file mode 100644 index 000000000..59f9e5a0e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyabused.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyblizzard.webp b/files/assets/CHRISTMAS/images/emojis/platyblizzard.webp new file mode 100644 index 000000000..6bd9f65a3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyblizzard.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyblush.webp b/files/assets/CHRISTMAS/images/emojis/platyblush.webp new file mode 100644 index 000000000..d97d30bc0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyblush.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyboxer.webp b/files/assets/CHRISTMAS/images/emojis/platyboxer.webp new file mode 100644 index 000000000..1c9bc810a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyboxer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platybruh.webp b/files/assets/CHRISTMAS/images/emojis/platybruh.webp new file mode 100644 index 000000000..7f77e2a2c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platybruh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platycaveman.webp b/files/assets/CHRISTMAS/images/emojis/platycaveman.webp new file mode 100644 index 000000000..f55f9041a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platycaveman.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platycheer.webp b/files/assets/CHRISTMAS/images/emojis/platycheer.webp new file mode 100644 index 000000000..feccddf45 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platycheer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platydevil.webp b/files/assets/CHRISTMAS/images/emojis/platydevil.webp new file mode 100644 index 000000000..fd0421d86 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platydevil.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platydown.webp b/files/assets/CHRISTMAS/images/emojis/platydown.webp new file mode 100644 index 000000000..83eb8d0b7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platydown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyeyes.webp b/files/assets/CHRISTMAS/images/emojis/platyeyes.webp new file mode 100644 index 000000000..1a8fbd22f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyeyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyfear.webp b/files/assets/CHRISTMAS/images/emojis/platyfear.webp new file mode 100644 index 000000000..416e97c90 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyfear.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platygirlmagic.webp b/files/assets/CHRISTMAS/images/emojis/platygirlmagic.webp new file mode 100644 index 000000000..3d7ebd3d0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platygirlmagic.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platygolong.webp b/files/assets/CHRISTMAS/images/emojis/platygolong.webp new file mode 100644 index 000000000..dee121b4b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platygolong.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyhaes.webp b/files/assets/CHRISTMAS/images/emojis/platyhaes.webp new file mode 100644 index 000000000..426ae3f22 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyhaes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyheart.webp b/files/assets/CHRISTMAS/images/emojis/platyheart.webp new file mode 100644 index 000000000..c8c0026a8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyheart.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyking.webp b/files/assets/CHRISTMAS/images/emojis/platyking.webp new file mode 100644 index 000000000..097383a2d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platylol.webp b/files/assets/CHRISTMAS/images/emojis/platylol.webp new file mode 100644 index 000000000..eb0f40092 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platylol.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platylove.webp b/files/assets/CHRISTMAS/images/emojis/platylove.webp new file mode 100644 index 000000000..1ce2943f6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platylove.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platymicdrop.webp b/files/assets/CHRISTMAS/images/emojis/platymicdrop.webp new file mode 100644 index 000000000..f64cd4aa8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platymicdrop.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyneet.webp b/files/assets/CHRISTMAS/images/emojis/platyneet.webp new file mode 100644 index 000000000..48c436db4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyneet.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platynooo.webp b/files/assets/CHRISTMAS/images/emojis/platynooo.webp new file mode 100644 index 000000000..4da549293 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platynooo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyold.webp b/files/assets/CHRISTMAS/images/emojis/platyold.webp new file mode 100644 index 000000000..7044aa129 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyold.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platypatience.webp b/files/assets/CHRISTMAS/images/emojis/platypatience.webp new file mode 100644 index 000000000..a04e9f922 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platypatience.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platypopcorn.webp b/files/assets/CHRISTMAS/images/emojis/platypopcorn.webp new file mode 100644 index 000000000..59b24e4bb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platypopcorn.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyrich.webp b/files/assets/CHRISTMAS/images/emojis/platyrich.webp new file mode 100644 index 000000000..27f758586 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyrich.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platysalute.webp b/files/assets/CHRISTMAS/images/emojis/platysalute.webp new file mode 100644 index 000000000..bc6f5a084 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platysalute.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platysarcasm.webp b/files/assets/CHRISTMAS/images/emojis/platysarcasm.webp new file mode 100644 index 000000000..66059e8d3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platysarcasm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platyseethe.webp b/files/assets/CHRISTMAS/images/emojis/platyseethe.webp new file mode 100644 index 000000000..662bdfcac Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platyseethe.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platysilly.webp b/files/assets/CHRISTMAS/images/emojis/platysilly.webp new file mode 100644 index 000000000..ed36cb9f1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platysilly.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platysleeping.webp b/files/assets/CHRISTMAS/images/emojis/platysleeping.webp new file mode 100644 index 000000000..d51ed4a54 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platysleeping.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platythink.webp b/files/assets/CHRISTMAS/images/emojis/platythink.webp new file mode 100644 index 000000000..04930e48e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platythink.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platythumbsup.webp b/files/assets/CHRISTMAS/images/emojis/platythumbsup.webp new file mode 100644 index 000000000..0658ca802 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platythumbsup.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platytired.webp b/files/assets/CHRISTMAS/images/emojis/platytired.webp new file mode 100644 index 000000000..93b8ec3b0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platytired.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platytuxedomask.webp b/files/assets/CHRISTMAS/images/emojis/platytuxedomask.webp new file mode 100644 index 000000000..c6a415b64 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platytuxedomask.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/platywave.webp b/files/assets/CHRISTMAS/images/emojis/platywave.webp new file mode 100644 index 000000000..056ada3c7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/platywave.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/plzdie.webp b/files/assets/CHRISTMAS/images/emojis/plzdie.webp new file mode 100644 index 000000000..a44faf89d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/plzdie.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/poke.webp b/files/assets/CHRISTMAS/images/emojis/poke.webp new file mode 100644 index 000000000..e58b266cb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/poke.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/popcorn.webp b/files/assets/CHRISTMAS/images/emojis/popcorn.webp new file mode 100644 index 000000000..57e8d6362 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/popcorn.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/pout.webp b/files/assets/CHRISTMAS/images/emojis/pout.webp new file mode 100644 index 000000000..8ee30854b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/pout.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/probe.webp b/files/assets/CHRISTMAS/images/emojis/probe.webp new file mode 100644 index 000000000..0f5975a96 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/probe.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/psychojak.webp b/files/assets/CHRISTMAS/images/emojis/psychojak.webp new file mode 100644 index 000000000..d0690a2e3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/psychojak.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/puke.webp b/files/assets/CHRISTMAS/images/emojis/puke.webp new file mode 100644 index 000000000..36c160199 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/puke.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/punch.webp b/files/assets/CHRISTMAS/images/emojis/punch.webp new file mode 100644 index 000000000..154480dff Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/punch.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/punchjak.webp b/files/assets/CHRISTMAS/images/emojis/punchjak.webp new file mode 100644 index 000000000..d9a87680d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/punchjak.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/queenyes.webp b/files/assets/CHRISTMAS/images/emojis/queenyes.webp new file mode 100644 index 000000000..e0c671308 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/queenyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/quote.webp b/files/assets/CHRISTMAS/images/emojis/quote.webp new file mode 100644 index 000000000..d930429f9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/quote.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/raccoon.webp b/files/assets/CHRISTMAS/images/emojis/raccoon.webp new file mode 100644 index 000000000..c59fb7566 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/raccoon.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ragejak.webp b/files/assets/CHRISTMAS/images/emojis/ragejak.webp new file mode 100644 index 000000000..ecf6b7b2e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ragejak.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ragemask.webp b/files/assets/CHRISTMAS/images/emojis/ragemask.webp new file mode 100644 index 000000000..6b54a5e2f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ragemask.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ragestrangle.webp b/files/assets/CHRISTMAS/images/emojis/ragestrangle.webp new file mode 100644 index 000000000..ca8426a17 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ragestrangle.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/ramonajak.webp b/files/assets/CHRISTMAS/images/emojis/ramonajak.webp new file mode 100644 index 000000000..68b5eeb4b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/ramonajak.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/retardedchildren.webp b/files/assets/CHRISTMAS/images/emojis/retardedchildren.webp new file mode 100644 index 000000000..cfa06e03c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/retardedchildren.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/roar.webp b/files/assets/CHRISTMAS/images/emojis/roar.webp new file mode 100644 index 000000000..1cfe83291 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/roar.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/rofl.webp b/files/assets/CHRISTMAS/images/emojis/rofl.webp new file mode 100644 index 000000000..a3cb4804c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/rofl.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/roflmao.webp b/files/assets/CHRISTMAS/images/emojis/roflmao.webp new file mode 100644 index 000000000..ad2864135 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/roflmao.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/rolleyes.webp b/files/assets/CHRISTMAS/images/emojis/rolleyes.webp new file mode 100644 index 000000000..6c43f3701 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/rolleyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/rukiddingme.webp b/files/assets/CHRISTMAS/images/emojis/rukiddingme.webp new file mode 100644 index 000000000..00cfc6a95 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/rukiddingme.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/sad.webp b/files/assets/CHRISTMAS/images/emojis/sad.webp new file mode 100644 index 000000000..43cc5b55f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/sad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/sadeyes.webp b/files/assets/CHRISTMAS/images/emojis/sadeyes.webp new file mode 100644 index 000000000..43a5992a6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/sadeyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/sadhug.webp b/files/assets/CHRISTMAS/images/emojis/sadhug.webp new file mode 100644 index 000000000..542e8a934 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/sadhug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/samurai.webp b/files/assets/CHRISTMAS/images/emojis/samurai.webp new file mode 100644 index 000000000..578d8bee5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/samurai.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/sarcasm.webp b/files/assets/CHRISTMAS/images/emojis/sarcasm.webp new file mode 100644 index 000000000..2c7dc3524 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/sarcasm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/saudi.webp b/files/assets/CHRISTMAS/images/emojis/saudi.webp new file mode 100644 index 000000000..ed9f78a8f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/saudi.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/scalperpride.webp b/files/assets/CHRISTMAS/images/emojis/scalperpride.webp new file mode 100644 index 000000000..4e9cba311 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/scalperpride.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/scoot.webp b/files/assets/CHRISTMAS/images/emojis/scoot.webp new file mode 100644 index 000000000..c79e6c2fe Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/scoot.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/scream.webp b/files/assets/CHRISTMAS/images/emojis/scream.webp new file mode 100644 index 000000000..851c4fbdd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/scream.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/seethejak.webp b/files/assets/CHRISTMAS/images/emojis/seethejak.webp new file mode 100644 index 000000000..1b44ac426 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/seethejak.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/shmoopy.webp b/files/assets/CHRISTMAS/images/emojis/shmoopy.webp new file mode 100644 index 000000000..67b988903 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/shmoopy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/shrug.webp b/files/assets/CHRISTMAS/images/emojis/shrug.webp new file mode 100644 index 000000000..8451275ae Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/shrug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/skull.webp b/files/assets/CHRISTMAS/images/emojis/skull.webp new file mode 100644 index 000000000..21b2ce3ac Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/skull.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/slap.webp b/files/assets/CHRISTMAS/images/emojis/slap.webp new file mode 100644 index 000000000..d1ffd2863 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/slap.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/slapfight.webp b/files/assets/CHRISTMAS/images/emojis/slapfight.webp new file mode 100644 index 000000000..e4d1c3310 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/slapfight.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/sleepy.webp b/files/assets/CHRISTMAS/images/emojis/sleepy.webp new file mode 100644 index 000000000..f5c215895 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/sleepy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/smackfish.webp b/files/assets/CHRISTMAS/images/emojis/smackfish.webp new file mode 100644 index 000000000..cded0bb3b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/smackfish.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/smackhead.webp b/files/assets/CHRISTMAS/images/emojis/smackhead.webp new file mode 100644 index 000000000..1fc1bcd9b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/smackhead.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/smh.webp b/files/assets/CHRISTMAS/images/emojis/smh.webp new file mode 100644 index 000000000..620ffdef1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/smh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/smile.webp b/files/assets/CHRISTMAS/images/emojis/smile.webp new file mode 100644 index 000000000..8358efb8f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/smile.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/smoke.webp b/files/assets/CHRISTMAS/images/emojis/smoke.webp new file mode 100644 index 000000000..30f57343c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/smoke.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/sonic.webp b/files/assets/CHRISTMAS/images/emojis/sonic.webp new file mode 100644 index 000000000..274d5261a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/sonic.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/soycry.webp b/files/assets/CHRISTMAS/images/emojis/soycry.webp new file mode 100644 index 000000000..46aa90f46 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/soycry.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/soyjackwow.webp b/files/assets/CHRISTMAS/images/emojis/soyjackwow.webp new file mode 100644 index 000000000..fb6b5b38d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/soyjackwow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/soyjak.webp b/files/assets/CHRISTMAS/images/emojis/soyjak.webp new file mode 100644 index 000000000..a2e2716e7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/soyjak.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/soyjakfront.webp b/files/assets/CHRISTMAS/images/emojis/soyjakfront.webp new file mode 100644 index 000000000..05b1f2148 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/soyjakfront.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/soyjakhipster.webp b/files/assets/CHRISTMAS/images/emojis/soyjakhipster.webp new file mode 100644 index 000000000..75a7fc975 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/soyjakhipster.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/soyjakmaga.webp b/files/assets/CHRISTMAS/images/emojis/soyjakmaga.webp new file mode 100644 index 000000000..156a7eb6a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/soyjakmaga.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/soyjakyell.webp b/files/assets/CHRISTMAS/images/emojis/soyjakyell.webp new file mode 100644 index 000000000..c8252057e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/soyjakyell.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/soymad.webp b/files/assets/CHRISTMAS/images/emojis/soymad.webp new file mode 100644 index 000000000..460b24a08 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/soymad.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/spank.webp b/files/assets/CHRISTMAS/images/emojis/spank.webp new file mode 100644 index 000000000..187807d19 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/spank.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/sparta.webp b/files/assets/CHRISTMAS/images/emojis/sparta.webp new file mode 100644 index 000000000..4cd1e281a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/sparta.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/sperm.webp b/files/assets/CHRISTMAS/images/emojis/sperm.webp new file mode 100644 index 000000000..4ed2424a1 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/sperm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/spiderman.webp b/files/assets/CHRISTMAS/images/emojis/spiderman.webp new file mode 100644 index 000000000..971032d40 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/spiderman.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/spit.webp b/files/assets/CHRISTMAS/images/emojis/spit.webp new file mode 100644 index 000000000..31d3f825c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/spit.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/stab.webp b/files/assets/CHRISTMAS/images/emojis/stab.webp new file mode 100644 index 000000000..b94cbb846 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/stab.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/star.webp b/files/assets/CHRISTMAS/images/emojis/star.webp new file mode 100644 index 000000000..d9c9e20e0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/star.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/stare.webp b/files/assets/CHRISTMAS/images/emojis/stare.webp new file mode 100644 index 000000000..886995d8a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/stare.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/stfu.webp b/files/assets/CHRISTMAS/images/emojis/stfu.webp new file mode 100644 index 000000000..869daacdf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/stfu.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/suicide.webp b/files/assets/CHRISTMAS/images/emojis/suicide.webp new file mode 100644 index 000000000..ece75b917 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/suicide.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/superstraight.webp b/files/assets/CHRISTMAS/images/emojis/superstraight.webp new file mode 100644 index 000000000..5abcd6b50 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/superstraight.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/surprisehug.webp b/files/assets/CHRISTMAS/images/emojis/surprisehug.webp new file mode 100644 index 000000000..b7d9693cf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/surprisehug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/suspicious.webp b/files/assets/CHRISTMAS/images/emojis/suspicious.webp new file mode 100644 index 000000000..181d70709 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/suspicious.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/sweat.webp b/files/assets/CHRISTMAS/images/emojis/sweat.webp new file mode 100644 index 000000000..3a9897f53 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/sweat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/swordfight.webp b/files/assets/CHRISTMAS/images/emojis/swordfight.webp new file mode 100644 index 000000000..f63c77e3b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/swordfight.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taco.webp b/files/assets/CHRISTMAS/images/emojis/taco.webp new file mode 100644 index 000000000..87f1d2f24 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taco.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/talk2hand.webp b/files/assets/CHRISTMAS/images/emojis/talk2hand.webp new file mode 100644 index 000000000..0268c4769 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/talk2hand.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tantrum.webp b/files/assets/CHRISTMAS/images/emojis/tantrum.webp new file mode 100644 index 000000000..586c7cfb5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tantrum.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayaaa.webp b/files/assets/CHRISTMAS/images/emojis/tayaaa.webp new file mode 100644 index 000000000..473317c98 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayaaa.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayadmire.webp b/files/assets/CHRISTMAS/images/emojis/tayadmire.webp new file mode 100644 index 000000000..3140e4ef2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayadmire.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taycat.webp b/files/assets/CHRISTMAS/images/emojis/taycat.webp new file mode 100644 index 000000000..5af288ce8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taycat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taycelebrate.webp b/files/assets/CHRISTMAS/images/emojis/taycelebrate.webp new file mode 100644 index 000000000..e935ea1ef Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taycelebrate.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taychefkiss.webp b/files/assets/CHRISTMAS/images/emojis/taychefkiss.webp new file mode 100644 index 000000000..2cbf1b9ba Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taychefkiss.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taychristmas.webp b/files/assets/CHRISTMAS/images/emojis/taychristmas.webp new file mode 100644 index 000000000..0d2e73781 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taychristmas.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayclap.webp b/files/assets/CHRISTMAS/images/emojis/tayclap.webp new file mode 100644 index 000000000..9d02ac3ca Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayclap.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taycold.webp b/files/assets/CHRISTMAS/images/emojis/taycold.webp new file mode 100644 index 000000000..cf31c0e71 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taycold.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taycrown.webp b/files/assets/CHRISTMAS/images/emojis/taycrown.webp new file mode 100644 index 000000000..e2fc8f648 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taycrown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayflex.webp b/files/assets/CHRISTMAS/images/emojis/tayflex.webp new file mode 100644 index 000000000..251174527 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayflex.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayflirt.webp b/files/assets/CHRISTMAS/images/emojis/tayflirt.webp new file mode 100644 index 000000000..99fa0e40f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayflirt.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taygrimacing.webp b/files/assets/CHRISTMAS/images/emojis/taygrimacing.webp new file mode 100644 index 000000000..81114934f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taygrimacing.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayhappy.webp b/files/assets/CHRISTMAS/images/emojis/tayhappy.webp new file mode 100644 index 000000000..3d9bd5836 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayhappy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayheart.webp b/files/assets/CHRISTMAS/images/emojis/tayheart.webp new file mode 100644 index 000000000..2b418a5f5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayheart.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayhmm.webp b/files/assets/CHRISTMAS/images/emojis/tayhmm.webp new file mode 100644 index 000000000..b192f0f96 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayhmm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayhuh.webp b/files/assets/CHRISTMAS/images/emojis/tayhuh.webp new file mode 100644 index 000000000..864df4344 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayhuh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayhyperdab.webp b/files/assets/CHRISTMAS/images/emojis/tayhyperdab.webp new file mode 100644 index 000000000..aeaeb9cf9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayhyperdab.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayjammin.webp b/files/assets/CHRISTMAS/images/emojis/tayjammin.webp new file mode 100644 index 000000000..1504bcc75 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayjammin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taylaugh.webp b/files/assets/CHRISTMAS/images/emojis/taylaugh.webp new file mode 100644 index 000000000..d06482cdf Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taylaugh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taylove.webp b/files/assets/CHRISTMAS/images/emojis/taylove.webp new file mode 100644 index 000000000..fd6dac889 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taylove.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taymindblown.webp b/files/assets/CHRISTMAS/images/emojis/taymindblown.webp new file mode 100644 index 000000000..b5d2a0bf2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taymindblown.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayno.webp b/files/assets/CHRISTMAS/images/emojis/tayno.webp new file mode 100644 index 000000000..476406892 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayno.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taynod.webp b/files/assets/CHRISTMAS/images/emojis/taynod.webp new file mode 100644 index 000000000..59882d91c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taynod.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taypeace.webp b/files/assets/CHRISTMAS/images/emojis/taypeace.webp new file mode 100644 index 000000000..69163e0c9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taypeace.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taypray.webp b/files/assets/CHRISTMAS/images/emojis/taypray.webp new file mode 100644 index 000000000..bb48a914d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taypray.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayrun.webp b/files/assets/CHRISTMAS/images/emojis/tayrun.webp new file mode 100644 index 000000000..3e629d9f7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayrun.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayscrunch.webp b/files/assets/CHRISTMAS/images/emojis/tayscrunch.webp new file mode 100644 index 000000000..84a35995b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayscrunch.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayshake.webp b/files/assets/CHRISTMAS/images/emojis/tayshake.webp new file mode 100644 index 000000000..497764e62 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayshake.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayshrug.webp b/files/assets/CHRISTMAS/images/emojis/tayshrug.webp new file mode 100644 index 000000000..30c6369eb Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayshrug.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taysilly.webp b/files/assets/CHRISTMAS/images/emojis/taysilly.webp new file mode 100644 index 000000000..74012b43b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taysilly.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayslide.webp b/files/assets/CHRISTMAS/images/emojis/tayslide.webp new file mode 100644 index 000000000..25d978b22 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayslide.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taysmart.webp b/files/assets/CHRISTMAS/images/emojis/taysmart.webp new file mode 100644 index 000000000..bddfe9a4d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taysmart.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taystop.webp b/files/assets/CHRISTMAS/images/emojis/taystop.webp new file mode 100644 index 000000000..213dda498 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taystop.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taytantrum.webp b/files/assets/CHRISTMAS/images/emojis/taytantrum.webp new file mode 100644 index 000000000..c64fbbcf2 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taytantrum.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taytea.webp b/files/assets/CHRISTMAS/images/emojis/taytea.webp new file mode 100644 index 000000000..f618428f5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taytea.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taythink.webp b/files/assets/CHRISTMAS/images/emojis/taythink.webp new file mode 100644 index 000000000..4ba58ede5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taythink.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayvibin.webp b/files/assets/CHRISTMAS/images/emojis/tayvibin.webp new file mode 100644 index 000000000..5e512f230 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayvibin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taywhat.webp b/files/assets/CHRISTMAS/images/emojis/taywhat.webp new file mode 100644 index 000000000..99b4c04da Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taywhat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taywine.webp b/files/assets/CHRISTMAS/images/emojis/taywine.webp new file mode 100644 index 000000000..208017fb3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taywine.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taywine2.webp b/files/assets/CHRISTMAS/images/emojis/taywine2.webp new file mode 100644 index 000000000..aea66a0a5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taywine2.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/taywink.webp b/files/assets/CHRISTMAS/images/emojis/taywink.webp new file mode 100644 index 000000000..153041b8a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/taywink.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tayyes.webp b/files/assets/CHRISTMAS/images/emojis/tayyes.webp new file mode 100644 index 000000000..eb9397569 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tayyes.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/teehee.webp b/files/assets/CHRISTMAS/images/emojis/teehee.webp new file mode 100644 index 000000000..810d097d4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/teehee.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tfwyougettrolled.webp b/files/assets/CHRISTMAS/images/emojis/tfwyougettrolled.webp new file mode 100644 index 000000000..99ae4dcf6 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tfwyougettrolled.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/thinbluefeline.webp b/files/assets/CHRISTMAS/images/emojis/thinbluefeline.webp new file mode 100644 index 000000000..00546b58e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/thinbluefeline.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/thinking.webp b/files/assets/CHRISTMAS/images/emojis/thinking.webp new file mode 100644 index 000000000..925fdfe1b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/thinking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/threesome.webp b/files/assets/CHRISTMAS/images/emojis/threesome.webp new file mode 100644 index 000000000..3bd00313a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/threesome.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/throw.webp b/files/assets/CHRISTMAS/images/emojis/throw.webp new file mode 100644 index 000000000..52cf22f05 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/throw.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/throwaway.webp b/files/assets/CHRISTMAS/images/emojis/throwaway.webp new file mode 100644 index 000000000..cba6ff41a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/throwaway.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tickle.webp b/files/assets/CHRISTMAS/images/emojis/tickle.webp new file mode 100644 index 000000000..cd2cdc738 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tickle.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/tomboy.webp b/files/assets/CHRISTMAS/images/emojis/tomboy.webp new file mode 100644 index 000000000..ca943f841 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/tomboy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/trans.webp b/files/assets/CHRISTMAS/images/emojis/trans.webp new file mode 100644 index 000000000..02e2cb574 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/trans.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/translord.webp b/files/assets/CHRISTMAS/images/emojis/translord.webp new file mode 100644 index 000000000..37b05f22b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/translord.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/transracial.webp b/files/assets/CHRISTMAS/images/emojis/transracial.webp new file mode 100644 index 000000000..f74c87b2e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/transracial.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/troll.webp b/files/assets/CHRISTMAS/images/emojis/troll.webp new file mode 100644 index 000000000..5c21874a3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/troll.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/trolldespair.webp b/files/assets/CHRISTMAS/images/emojis/trolldespair.webp new file mode 100644 index 000000000..a7c8dc8c4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/trolldespair.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/trollolol.webp b/files/assets/CHRISTMAS/images/emojis/trollolol.webp new file mode 100644 index 000000000..7aeafc64d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/trollolol.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/truestorybro.webp b/files/assets/CHRISTMAS/images/emojis/truestorybro.webp new file mode 100644 index 000000000..3606b4cce Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/truestorybro.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/typing.webp b/files/assets/CHRISTMAS/images/emojis/typing.webp new file mode 100644 index 000000000..5cd34251e Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/typing.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/uhuh.webp b/files/assets/CHRISTMAS/images/emojis/uhuh.webp new file mode 100644 index 000000000..c29f23a47 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/uhuh.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/usa.webp b/files/assets/CHRISTMAS/images/emojis/usa.webp new file mode 100644 index 000000000..ca19b3c1d Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/usa.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/vampbat.webp b/files/assets/CHRISTMAS/images/emojis/vampbat.webp new file mode 100644 index 000000000..8b66f70a5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/vampbat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/viking.webp b/files/assets/CHRISTMAS/images/emojis/viking.webp new file mode 100644 index 000000000..5a6515274 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/viking.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/violin.webp b/files/assets/CHRISTMAS/images/emojis/violin.webp new file mode 100644 index 000000000..994cc56a4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/violin.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/vulgar.webp b/files/assets/CHRISTMAS/images/emojis/vulgar.webp new file mode 100644 index 000000000..836bd920b Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/vulgar.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/wah.webp b/files/assets/CHRISTMAS/images/emojis/wah.webp new file mode 100644 index 000000000..1e2d1ca29 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/wah.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/wat.webp b/files/assets/CHRISTMAS/images/emojis/wat.webp new file mode 100644 index 000000000..0b11cd85a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/wat.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/whip.webp b/files/assets/CHRISTMAS/images/emojis/whip.webp new file mode 100644 index 000000000..51b25d52a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/whip.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/whipping.webp b/files/assets/CHRISTMAS/images/emojis/whipping.webp new file mode 100644 index 000000000..f5255f6e3 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/whipping.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/wholesomeseal.webp b/files/assets/CHRISTMAS/images/emojis/wholesomeseal.webp new file mode 100644 index 000000000..b9ceb3852 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/wholesomeseal.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/wink.webp b/files/assets/CHRISTMAS/images/emojis/wink.webp new file mode 100644 index 000000000..7db7efccd Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/wink.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/witch.webp b/files/assets/CHRISTMAS/images/emojis/witch.webp new file mode 100644 index 000000000..98eb0e091 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/witch.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/wizard.webp b/files/assets/CHRISTMAS/images/emojis/wizard.webp new file mode 100644 index 000000000..050ed1015 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/wizard.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/woah.webp b/files/assets/CHRISTMAS/images/emojis/woah.webp new file mode 100644 index 000000000..e1b182f7a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/woah.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/woo.webp b/files/assets/CHRISTMAS/images/emojis/woo.webp new file mode 100644 index 000000000..bb7ed5d60 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/woo.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/work.webp b/files/assets/CHRISTMAS/images/emojis/work.webp new file mode 100644 index 000000000..394bff504 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/work.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/worm.webp b/files/assets/CHRISTMAS/images/emojis/worm.webp new file mode 100644 index 000000000..2f747201a Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/worm.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/worship.webp b/files/assets/CHRISTMAS/images/emojis/worship.webp new file mode 100644 index 000000000..5767c208f Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/worship.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/wow.webp b/files/assets/CHRISTMAS/images/emojis/wow.webp new file mode 100644 index 000000000..cd7d4cea9 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/wow.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/xallthey.webp b/files/assets/CHRISTMAS/images/emojis/xallthey.webp new file mode 100644 index 000000000..f624cbe49 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/xallthey.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/xd.webp b/files/assets/CHRISTMAS/images/emojis/xd.webp new file mode 100644 index 000000000..63beeed7c Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/xd.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/yay.webp b/files/assets/CHRISTMAS/images/emojis/yay.webp new file mode 100644 index 000000000..7924d5da8 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/yay.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/yuno.webp b/files/assets/CHRISTMAS/images/emojis/yuno.webp new file mode 100644 index 000000000..1ba3f4401 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/yuno.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/zoomer.webp b/files/assets/CHRISTMAS/images/emojis/zoomer.webp new file mode 100644 index 000000000..fe4de55ef Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/zoomer.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/zoomersoy.webp b/files/assets/CHRISTMAS/images/emojis/zoomersoy.webp new file mode 100644 index 000000000..d8c98cbdc Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/zoomersoy.webp differ diff --git a/files/assets/CHRISTMAS/images/emojis/zzz.webp b/files/assets/CHRISTMAS/images/emojis/zzz.webp new file mode 100644 index 000000000..028f9d5c0 Binary files /dev/null and b/files/assets/CHRISTMAS/images/emojis/zzz.webp differ diff --git a/files/assets/CHRISTMAS/images/fireflies.webp b/files/assets/CHRISTMAS/images/fireflies.webp new file mode 100644 index 000000000..3f9ce4381 Binary files /dev/null and b/files/assets/CHRISTMAS/images/fireflies.webp differ diff --git a/files/assets/CHRISTMAS/images/fly-sprite.webp b/files/assets/CHRISTMAS/images/fly-sprite.webp new file mode 100644 index 000000000..d7c0b8691 Binary files /dev/null and b/files/assets/CHRISTMAS/images/fly-sprite.webp differ diff --git a/files/assets/CHRISTMAS/images/grinch.webp b/files/assets/CHRISTMAS/images/grinch.webp new file mode 100644 index 000000000..05c755061 Binary files /dev/null and b/files/assets/CHRISTMAS/images/grinch.webp differ diff --git a/files/assets/images/icons/reddit.gif b/files/assets/CHRISTMAS/images/icons/reddit.gif similarity index 100% rename from files/assets/images/icons/reddit.gif rename to files/assets/CHRISTMAS/images/icons/reddit.gif diff --git a/files/assets/images/icons/reddit.png b/files/assets/CHRISTMAS/images/icons/reddit.png similarity index 100% rename from files/assets/images/icons/reddit.png rename to files/assets/CHRISTMAS/images/icons/reddit.png diff --git a/files/assets/images/icons/rss.png b/files/assets/CHRISTMAS/images/icons/rss.png similarity index 100% rename from files/assets/images/icons/rss.png rename to files/assets/CHRISTMAS/images/icons/rss.png diff --git a/files/assets/images/icons/twitter.gif b/files/assets/CHRISTMAS/images/icons/twitter.gif similarity index 100% rename from files/assets/images/icons/twitter.gif rename to files/assets/CHRISTMAS/images/icons/twitter.gif diff --git a/files/assets/images/icons/twitter.png b/files/assets/CHRISTMAS/images/icons/twitter.png similarity index 100% rename from files/assets/images/icons/twitter.png rename to files/assets/CHRISTMAS/images/icons/twitter.png diff --git a/files/assets/CHRISTMAS/images/loading.webp b/files/assets/CHRISTMAS/images/loading.webp new file mode 100644 index 000000000..8d5af1b45 Binary files /dev/null and b/files/assets/CHRISTMAS/images/loading.webp differ diff --git a/files/assets/images/logos/winter/logo-1.png b/files/assets/CHRISTMAS/images/logos/winter/logo-1.png similarity index 100% rename from files/assets/images/logos/winter/logo-1.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-1.png diff --git a/files/assets/images/logos/winter/logo-10.png b/files/assets/CHRISTMAS/images/logos/winter/logo-10.png similarity index 100% rename from files/assets/images/logos/winter/logo-10.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-10.png diff --git a/files/assets/images/logos/winter/logo-11.png b/files/assets/CHRISTMAS/images/logos/winter/logo-11.png similarity index 100% rename from files/assets/images/logos/winter/logo-11.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-11.png diff --git a/files/assets/images/logos/winter/logo-12.png b/files/assets/CHRISTMAS/images/logos/winter/logo-12.png similarity index 100% rename from files/assets/images/logos/winter/logo-12.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-12.png diff --git a/files/assets/images/logos/winter/logo-13.png b/files/assets/CHRISTMAS/images/logos/winter/logo-13.png similarity index 100% rename from files/assets/images/logos/winter/logo-13.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-13.png diff --git a/files/assets/images/logos/winter/logo-2.png b/files/assets/CHRISTMAS/images/logos/winter/logo-2.png similarity index 100% rename from files/assets/images/logos/winter/logo-2.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-2.png diff --git a/files/assets/images/logos/winter/logo-3.png b/files/assets/CHRISTMAS/images/logos/winter/logo-3.png similarity index 100% rename from files/assets/images/logos/winter/logo-3.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-3.png diff --git a/files/assets/images/logos/winter/logo-4.png b/files/assets/CHRISTMAS/images/logos/winter/logo-4.png similarity index 100% rename from files/assets/images/logos/winter/logo-4.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-4.png diff --git a/files/assets/images/logos/winter/logo-5.png b/files/assets/CHRISTMAS/images/logos/winter/logo-5.png similarity index 100% rename from files/assets/images/logos/winter/logo-5.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-5.png diff --git a/files/assets/images/logos/winter/logo-6.png b/files/assets/CHRISTMAS/images/logos/winter/logo-6.png similarity index 100% rename from files/assets/images/logos/winter/logo-6.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-6.png diff --git a/files/assets/images/logos/winter/logo-7.png b/files/assets/CHRISTMAS/images/logos/winter/logo-7.png similarity index 100% rename from files/assets/images/logos/winter/logo-7.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-7.png diff --git a/files/assets/images/logos/winter/logo-8.png b/files/assets/CHRISTMAS/images/logos/winter/logo-8.png similarity index 100% rename from files/assets/images/logos/winter/logo-8.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-8.png diff --git a/files/assets/images/logos/winter/logo-9.png b/files/assets/CHRISTMAS/images/logos/winter/logo-9.png similarity index 100% rename from files/assets/images/logos/winter/logo-9.png rename to files/assets/CHRISTMAS/images/logos/winter/logo-9.png diff --git a/files/assets/CHRISTMAS/images/nsfw.webp b/files/assets/CHRISTMAS/images/nsfw.webp new file mode 100644 index 000000000..94c44c26e Binary files /dev/null and b/files/assets/CHRISTMAS/images/nsfw.webp differ diff --git a/files/assets/CHRISTMAS/images/quadrants/AuthCenter.webp b/files/assets/CHRISTMAS/images/quadrants/AuthCenter.webp new file mode 100644 index 000000000..0696e5572 Binary files /dev/null and b/files/assets/CHRISTMAS/images/quadrants/AuthCenter.webp differ diff --git a/files/assets/CHRISTMAS/images/quadrants/AuthLeft.webp b/files/assets/CHRISTMAS/images/quadrants/AuthLeft.webp new file mode 100644 index 000000000..db529e254 Binary files /dev/null and b/files/assets/CHRISTMAS/images/quadrants/AuthLeft.webp differ diff --git a/files/assets/CHRISTMAS/images/quadrants/AuthRight.webp b/files/assets/CHRISTMAS/images/quadrants/AuthRight.webp new file mode 100644 index 000000000..7419b5980 Binary files /dev/null and b/files/assets/CHRISTMAS/images/quadrants/AuthRight.webp differ diff --git a/files/assets/CHRISTMAS/images/quadrants/Centrist.webp b/files/assets/CHRISTMAS/images/quadrants/Centrist.webp new file mode 100644 index 000000000..f2698b375 Binary files /dev/null and b/files/assets/CHRISTMAS/images/quadrants/Centrist.webp differ diff --git a/files/assets/CHRISTMAS/images/quadrants/Left.webp b/files/assets/CHRISTMAS/images/quadrants/Left.webp new file mode 100644 index 000000000..464608167 Binary files /dev/null and b/files/assets/CHRISTMAS/images/quadrants/Left.webp differ diff --git a/files/assets/CHRISTMAS/images/quadrants/LibCenter.webp b/files/assets/CHRISTMAS/images/quadrants/LibCenter.webp new file mode 100644 index 000000000..0e78889f7 Binary files /dev/null and b/files/assets/CHRISTMAS/images/quadrants/LibCenter.webp differ diff --git a/files/assets/CHRISTMAS/images/quadrants/LibLeft.webp b/files/assets/CHRISTMAS/images/quadrants/LibLeft.webp new file mode 100644 index 000000000..befa0cd39 Binary files /dev/null and b/files/assets/CHRISTMAS/images/quadrants/LibLeft.webp differ diff --git a/files/assets/CHRISTMAS/images/quadrants/LibRight.webp b/files/assets/CHRISTMAS/images/quadrants/LibRight.webp new file mode 100644 index 000000000..7c25c5025 Binary files /dev/null and b/files/assets/CHRISTMAS/images/quadrants/LibRight.webp differ diff --git a/files/assets/CHRISTMAS/images/quadrants/Right.webp b/files/assets/CHRISTMAS/images/quadrants/Right.webp new file mode 100644 index 000000000..e2a415ec4 Binary files /dev/null and b/files/assets/CHRISTMAS/images/quadrants/Right.webp differ diff --git a/files/assets/CHRISTMAS/images/ruckus.webp b/files/assets/CHRISTMAS/images/ruckus.webp new file mode 100644 index 000000000..51113174a Binary files /dev/null and b/files/assets/CHRISTMAS/images/ruckus.webp differ diff --git a/files/assets/CHRISTMAS/images/shop.webp b/files/assets/CHRISTMAS/images/shop.webp new file mode 100644 index 000000000..45688a472 Binary files /dev/null and b/files/assets/CHRISTMAS/images/shop.webp differ diff --git a/files/assets/CHRISTMAS/images/spider-sprite.webp b/files/assets/CHRISTMAS/images/spider-sprite.webp new file mode 100644 index 000000000..19e08ee82 Binary files /dev/null and b/files/assets/CHRISTMAS/images/spider-sprite.webp differ diff --git a/files/assets/CHRISTMAS/images/youtube.webp b/files/assets/CHRISTMAS/images/youtube.webp new file mode 100644 index 000000000..1094ad0d5 Binary files /dev/null and b/files/assets/CHRISTMAS/images/youtube.webp differ diff --git a/files/assets/js/agendaposter.js b/files/assets/CHRISTMAS/js/agendaposter.js similarity index 99% rename from files/assets/js/agendaposter.js rename to files/assets/CHRISTMAS/js/agendaposter.js index 9f6a13d6e..31f8df243 100644 --- a/files/assets/js/agendaposter.js +++ b/files/assets/CHRISTMAS/js/agendaposter.js @@ -32,14 +32,14 @@ this.random(50,300)},bug_near_window_edge:function(){this.near_edge=0;this.bug.t this.bug&&this.bug.style?{top:parseInt(this.bug.top,10),left:parseInt(this.bug.left,10)}:null}},SpawnBug=function(){var a={},b;for(b in Bug)Bug.hasOwnProperty(b)&&(a[b]=Bug[b]);return a},mergeOptions=function(a,b,c){"undefined"==typeof c&&(c=!0);a=c?cloneOf(a):a;for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a},cloneOf=function(a){if(null==a||"object"!=typeof a)return a;var b=a.constructor(),c;for(c in a)a.hasOwnProperty(c)&&(b[c]=cloneOf(a[c]));return b}; window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a,b){window.setTimeout(a,1E3/60)}}(); new BugController({ - imageSprite: "/assets/images/fly-sprite.gif", + imageSprite: "/assets/CHRISTMAS/images/fly-sprite.gif", canDie: false, minBugs: 5, maxBugs: 30, mouseOver: "fly" }); new SpiderController({ - imageSprite: "/assets/images/spider-sprite.gif", + imageSprite: "/assets/CHRISTMAS/images/spider-sprite.gif", canDie: false, minBugs: 2, maxBugs: 20, diff --git a/files/assets/CHRISTMAS/js/award_modal.js b/files/assets/CHRISTMAS/js/award_modal.js new file mode 100644 index 000000000..bdbfd00f3 --- /dev/null +++ b/files/assets/CHRISTMAS/js/award_modal.js @@ -0,0 +1,95 @@ +function vote(type, id, dir) { + var upvote = document.getElementById(type + '-' + id + '-up'); + var downvote = document.getElementById(type + '-' + id + '-down'); + var scoretext = document.getElementById(type + '-score-' + id); + + var score = Number(scoretext.textContent); + + if (dir == "1") { + if (upvote.classList.contains('active')) { + upvote.classList.remove('active') + scoretext.textContent = score - 1 + votedirection = "0" + } else if (downvote.classList.contains('active')) { + upvote.classList.add('active') + downvote.classList.remove('active') + scoretext.textContent = score + 2 + votedirection = "1" + } else { + upvote.classList.add('active') + scoretext.textContent = score + 1 + votedirection = "1" + } + + if (upvote.classList.contains('active')) { + scoretext.classList.add('score-up') + scoretext.classList.remove('score-down') + scoretext.classList.remove('score') + } else if (downvote.classList.contains('active')) { + scoretext.classList.add('score-down') + scoretext.classList.remove('score-up') + scoretext.classList.remove('score') + } else { + scoretext.classList.add('score') + scoretext.classList.remove('score-up') + scoretext.classList.remove('score-down') + } + } + else { + if (downvote.classList.contains('active')) { + downvote.classList.remove('active') + scoretext.textContent = score + 1 + votedirection = "0" + } else if (upvote.classList.contains('active')) { + downvote.classList.add('active') + upvote.classList.remove('active') + scoretext.textContent = score - 2 + votedirection = "-1" + } else { + downvote.classList.add('active') + scoretext.textContent = score - 1 + votedirection = "-1" + } + + if (upvote.classList.contains('active')) { + scoretext.classList.add('score-up') + scoretext.classList.remove('score-down') + scoretext.classList.remove('score') + } else if (downvote.classList.contains('active')) { + scoretext.classList.add('score-down') + scoretext.classList.remove('score-up') + scoretext.classList.remove('score') + } else { + scoretext.classList.add('score') + scoretext.classList.remove('score-up') + scoretext.classList.remove('score-down') + } + } + + var xhr = new XMLHttpRequest(); + xhr.open("POST", "/vote/" + type.replace('-mobile','') + "/" + id + "/" + votedirection, true); + var form = new FormData() + form.append("formkey", formkey()); + xhr.withCredentials=true; + xhr.send(form); +} + +function awardModal(link) { + var target = document.getElementById("awardTarget"); + target.action = link; +} + +function bruh(kind) { + document.getElementById('giveaward').disabled=false; + // document.getElementById('kind').value=kind; + // try {document.getElementsByClassName('bg-green-400')[0].classList.toggle('bg-green-400');} catch(e) {} + // document.getElementById(kind).classList.toggle('bg-green-400') + if (kind == "flairlock") { + document.getElementById('notelabel').innerHTML = "New flair:"; + document.getElementById('note').placeholder = "Insert new flair here..."; + } + else { + document.getElementById('notelabel').innerHTML = "Note (optional):"; + document.getElementById('note').placeholder = "Note to include in award notification"; + } +} \ No newline at end of file diff --git a/files/assets/js/awards.js b/files/assets/CHRISTMAS/js/awards.js similarity index 100% rename from files/assets/js/awards.js rename to files/assets/CHRISTMAS/js/awards.js diff --git a/files/assets/CHRISTMAS/js/ban_modal.js b/files/assets/CHRISTMAS/js/ban_modal.js new file mode 100644 index 000000000..c5d22f901 --- /dev/null +++ b/files/assets/CHRISTMAS/js/ban_modal.js @@ -0,0 +1,22 @@ +function banModal(link, id, name) { + document.getElementById("banModalTitle").innerHTML = `Ban @${name}`; + document.getElementById("ban-modal-link").value = link; + document.getElementById("banUserButton").innerHTML = `Ban @${name}`; + + document.getElementById("banUserButton").onclick = function() { + let fd = new FormData(document.getElementById("banModalForm")); + fd.append("formkey", formkey()); + + let xhr = new XMLHttpRequest(); + xhr.open("POST", `/ban_user/${id}?form`, true); + xhr.withCredentials = true; + + xhr.onload = function(){ + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.show(); + document.getElementById('toast-post-success-text').innerHTML = `@${name} banned`; + } + + xhr.send(fd); + } +}; \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/bootstrap.js b/files/assets/CHRISTMAS/js/bootstrap.js new file mode 100644 index 000000000..b045941de --- /dev/null +++ b/files/assets/CHRISTMAS/js/bootstrap.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).bootstrap=e()}(this,(function(){"use strict";const t=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?i.trim():null}return e},e=e=>{const i=t(e);return i&&document.querySelector(i)?i:null},i=e=>{const i=t(e);return i?document.querySelector(i):null},n=t=>{t.dispatchEvent(new Event("transitionend"))},s=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),o=t=>s(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,r=(t,e,i)=>{Object.keys(i).forEach(n=>{const o=i[n],r=e[n],a=r&&s(r)?"element":null==(l=r)?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(o).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${o}".`)})},a=t=>!(!s(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),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=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t: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",()=>{f.forEach(t=>t())}),f.push(e)):e()},g=t=>{"function"==typeof t&&t()},_=(t,e,i=!0)=>{if(!i)return void g(t);const s=(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 o=!1;const r=({target:i})=>{i===e&&(o=!0,e.removeEventListener("transitionend",r),g(t))};e.addEventListener("transitionend",r),setTimeout(()=>{o||n(e)},s)},b=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,E={};let A=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},O=/^(mouseenter|mouseleave)/i,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 k(t,e){return e&&`${e}::${A++}`||t.uidEvent||A++}function L(t){const e=k(t);return t.uidEvent=e,E[e]=E[e]||{},E[e]}function x(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;sfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=D(e,i,n),l=L(t),c=l[a]||(l[a]={}),h=x(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=k(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(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function N(t,e,i,n,s){const o=x(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t){return t=t.replace(y,""),T[t]||t}const P={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]=D(e,i,n),a=r!==e,l=L(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void N(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach(i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach(o=>{if(o.includes(n)){const n=s[o];N(t,e,i,n.originalHandler,n.delegationSelector)}})}(t,l,i,e.slice(1))});const h=l[r]||{};Object.keys(h).forEach(i=>{const n=i.replace(w,"");if(!a||e.includes(n)){const e=h[i];N(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u(),s=I(e),o=e!==s,r=C.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach(t=>{Object.defineProperty(d,t,{get:()=>i[t]})}),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},j=new Map;var M={set(t,e,i){j.has(t)||j.set(t,new Map);const n=j.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>j.has(t)&&j.get(t).get(e)||null,remove(t,e){if(!j.has(t))return;const i=j.get(t);i.delete(e),0===i.size&&j.delete(t)}};class H{constructor(t){(t=o(t))&&(this._element=t,M.set(this._element,this.constructor.DATA_KEY,this))}dispose(){M.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(t=>{this[t]=null})}_queueCallback(t,e,i=!0){_(t,e,i)}static getInstance(t){return M.get(o(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.1.1"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}const B=(t,e="hide")=>{const n="click.dismiss"+t.EVENT_KEY,s=t.NAME;P.on(document,n,`[data-bs-dismiss="${s}"]`,(function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),l(this))return;const o=i(this)||this.closest("."+s);t.getOrCreateInstance(o)[e]()}))};class R extends H{static get NAME(){return"alert"}close(){if(P.trigger(this._element,"close.bs.alert").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(),P.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=R.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)}}))}}B(R,"close"),m(R);class W extends H{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=W.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function z(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function q(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}P.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');W.getOrCreateInstance(e).toggle()}),m(W);const F={setDataAttribute(t,e,i){t.setAttribute("data-bs-"+q(e),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+q(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=z(t.dataset[i])}),e},getDataAttribute:(t,e)=>z(t.getAttribute("data-bs-"+q(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},U={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;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;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))}},$={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},V={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",X="prev",Y="left",Q="right",G={ArrowLeft:Q,ArrowRight:Y};class Z extends H{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=U.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return $}static get NAME(){return"carousel"}next(){this._slide(K)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(X)}pause(t){t||(this._isPaused=!0),U.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(n(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=U.findOne(".active.carousel-item",this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,"slid.bs.carousel",()=>this.to(t));if(e===t)return this.pause(),void this.cycle();const i=t>e?K:X;this._slide(i,this._items[t])}_getConfig(t){return t={...$,...F.getDataAttributes(this._element),..."object"==typeof t?t:{}},r("carousel",t,V),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?Q:Y)}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),P.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};U.find(".carousel-item img",this._element).forEach(t=>{P.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(P.on(this._element,"pointerdown.bs.carousel",t=>e(t)),P.on(this._element,"pointerup.bs.carousel",t=>n(t)),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.carousel",t=>e(t)),P.on(this._element,"touchmove.bs.carousel",t=>i(t)),P.on(this._element,"touchend.bs.carousel",t=>n(t)))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=G[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?U.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===K;return b(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),n=this._getItemIndex(U.findOne(".active.carousel-item",this._element));return P.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=U.findOne(".active",this._indicatorsElement);e.classList.remove("active"),e.removeAttribute("aria-current");const i=U.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{P.trigger(this._element,"slid.bs.carousel",{relatedTarget:o,direction:u,from:s,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),d(o),n.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add("active"),n.classList.remove("active",h,c),this._isSliding=!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove("active"),o.classList.add("active"),this._isSliding=!1,f();a&&this.cycle()}_directionToOrder(t){return[Q,Y].includes(t)?p()?t===Y?X:K:t===Y?K:X:t}_orderToDirection(t){return[K,X].includes(t)?p()?t===X?Y:Q:t===X?Q:Y:t}static carouselInterface(t,e){const i=Z.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){Z.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=i(this);if(!e||!e.classList.contains("carousel"))return;const n={...F.getDataAttributes(e),...F.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(n.interval=!1),Z.carouselInterface(e,n),s&&Z.getInstance(e).to(s),t.preventDefault()}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",Z.dataApiClickHandler),P.on(window,"load.bs.carousel.data-api",()=>{const t=U.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element);null!==s&&o.length&&(this._selector=s,this._triggerArray.push(i))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return J}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=U.find(".collapse .collapse",this._config.parent);e=U.find(".collapse.show, .collapse.collapsing",this._config.parent).filter(e=>!t.includes(e))}const i=U.findOne(this._selector);if(e.length){const n=e.find(t=>i!==t);if(t=n?et.getInstance(n):null,t&&t._isTransitioning)return}if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach(e=>{i!==e&&et.getOrCreateInstance(e,{toggle:!1}).hide(),t||M.set(e,"bs.collapse",null)});const n=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s="scroll"+(n[0].toUpperCase()+n.slice(1));this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[n]="",P.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[n]=this._element[s]+"px"}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",d(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),P.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}_isShown(t=this._element){return t.classList.contains("show")}_getConfig(t){return(t={...J,...F.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=o(t.parent),r("collapse",t,tt),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=U.find(".collapse .collapse",this._config.parent);U.find('[data-bs-toggle="collapse"]',this._config.parent).filter(e=>!t.includes(e)).forEach(t=>{const e=i(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))})}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach(t=>{e?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",e)})}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=et.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}P.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const i=e(this);U.find(i).forEach(t=>{et.getOrCreateInstance(t,{toggle:!1}).toggle()})})),m(et);var it="top",nt="bottom",st="right",ot="left",rt=[it,nt,st,ot],at="end",lt=rt.reduce((function(t,e){return t.concat([e+"-start",e+"-"+at])}),[]),ct=[].concat(rt,["auto"]).reduce((function(t,e){return t.concat([e,e+"-start",e+"-"+at])}),[]),ht=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function dt(t){return t?(t.nodeName||"").toLowerCase():null}function ut(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function ft(t){return t instanceof ut(t).Element||t instanceof Element}function pt(t){return t instanceof ut(t).HTMLElement||t instanceof HTMLElement}function mt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ut(t).ShadowRoot||t instanceof ShadowRoot)}var gt={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];pt(s)&&dt(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}),{});pt(n)&&dt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function _t(t){return t.split("-")[0]}var bt=Math.round;function vt(t,e){void 0===e&&(e=!1);var i=t.getBoundingClientRect(),n=1,s=1;if(pt(t)&&e){var o=t.offsetHeight,r=t.offsetWidth;r>0&&(n=i.width/r||1),o>0&&(s=i.height/o||1)}return{width:bt(i.width/n),height:bt(i.height/s),top:bt(i.top/s),right:bt(i.right/n),bottom:bt(i.bottom/s),left:bt(i.left/n),x:bt(i.left/n),y:bt(i.top/s)}}function yt(t){var e=vt(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 wt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&mt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Et(t){return ut(t).getComputedStyle(t)}function At(t){return["table","td","th"].indexOf(dt(t))>=0}function Tt(t){return((ft(t)?t.ownerDocument:t.document)||window.document).documentElement}function Ot(t){return"html"===dt(t)?t:t.assignedSlot||t.parentNode||(mt(t)?t.host:null)||Tt(t)}function Ct(t){return pt(t)&&"fixed"!==Et(t).position?t.offsetParent:null}function kt(t){for(var e=ut(t),i=Ct(t);i&&At(i)&&"static"===Et(i).position;)i=Ct(i);return i&&("html"===dt(i)||"body"===dt(i)&&"static"===Et(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&pt(t)&&"fixed"===Et(t).position)return null;for(var i=Ot(t);pt(i)&&["html","body"].indexOf(dt(i))<0;){var n=Et(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 Lt(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var xt=Math.max,Dt=Math.min,St=Math.round;function Nt(t,e,i){return xt(t,Dt(e,i))}function It(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Pt(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var jt={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=_t(i.placement),l=Lt(a),c=[ot,st].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return It("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Pt(t,rt))}(s.padding,i),d=yt(o),u="y"===l?it:ot,f="y"===l?nt:st,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=kt(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,E=Nt(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-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)))&&wt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Mt(t){return t.split("-")[1]}var Ht={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Bt(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=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:St(St(e*n)/n)||0,y:St(St(i*n)/n)||0}}(r):"function"==typeof h?h(r):r,u=d.x,f=void 0===u?0:u,p=d.y,m=void 0===p?0:p,g=r.hasOwnProperty("x"),_=r.hasOwnProperty("y"),b=ot,v=it,y=window;if(c){var w=kt(i),E="clientHeight",A="clientWidth";w===ut(i)&&"static"!==Et(w=Tt(i)).position&&"absolute"===a&&(E="scrollHeight",A="scrollWidth"),w=w,s!==it&&(s!==ot&&s!==st||o!==at)||(v=nt,m-=w[E]-n.height,m*=l?1:-1),s!==ot&&(s!==it&&s!==nt||o!==at)||(b=st,f-=w[A]-n.width,f*=l?1:-1)}var T,O=Object.assign({position:a},c&&Ht);return l?Object.assign({},O,((T={})[v]=_?"0":"",T[b]=g?"0":"",T.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",T)):Object.assign({},O,((e={})[v]=_?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}var Rt={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:_t(e.placement),variation:Mt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Bt(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,Bt(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:{}},Wt={passive:!0},zt={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=ut(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,Wt)})),a&&l.addEventListener("resize",i.update,Wt),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,Wt)})),a&&l.removeEventListener("resize",i.update,Wt)}},data:{}},qt={left:"right",right:"left",bottom:"top",top:"bottom"};function Ft(t){return t.replace(/left|right|bottom|top/g,(function(t){return qt[t]}))}var Ut={start:"end",end:"start"};function $t(t){return t.replace(/start|end/g,(function(t){return Ut[t]}))}function Vt(t){var e=ut(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Kt(t){return vt(Tt(t)).left+Vt(t).scrollLeft}function Xt(t){var e=Et(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Yt(t,e){var i;void 0===e&&(e=[]);var n=function t(e){return["html","body","#document"].indexOf(dt(e))>=0?e.ownerDocument.body:pt(e)&&Xt(e)?e:t(Ot(e))}(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=ut(n),r=s?[o].concat(o.visualViewport||[],Xt(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Yt(Ot(r)))}function Qt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Gt(t,e){return"viewport"===e?Qt(function(t){var e=ut(t),i=Tt(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+Kt(t),y:a}}(t)):pt(e)?function(t){var e=vt(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Qt(function(t){var e,i=Tt(t),n=Vt(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=xt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=xt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Kt(t),l=-n.scrollTop;return"rtl"===Et(s||i).direction&&(a+=xt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Tt(t)))}function Zt(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?_t(s):null,r=s?Mt(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case it:e={x:a,y:i.y-n.height};break;case nt:e={x:a,y:i.y+i.height};break;case st:e={x:i.x+i.width,y:l};break;case ot:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Lt(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case"start":e[c]=e[c]-(i[h]/2-n[h]/2);break;case at:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Jt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?"clippingParents":o,a=i.rootBoundary,l=void 0===a?"viewport":a,c=i.elementContext,h=void 0===c?"popper":c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=It("number"!=typeof p?p:Pt(p,rt)),g="popper"===h?"reference":"popper",_=t.rects.popper,b=t.elements[u?g:h],v=function(t,e,i){var n="clippingParents"===e?function(t){var e=Yt(Ot(t)),i=["absolute","fixed"].indexOf(Et(t).position)>=0&&pt(t)?kt(t):t;return ft(i)?e.filter((function(t){return ft(t)&&wt(t,i)&&"body"!==dt(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Gt(t,i);return e.top=xt(n.top,e.top),e.right=Dt(n.right,e.right),e.bottom=Dt(n.bottom,e.bottom),e.left=xt(n.left,e.left),e}),Gt(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}(ft(b)?b:b.contextElement||Tt(t.elements.popper),r,l),y=vt(t.elements.reference),w=Zt({reference:y,element:_,strategy:"absolute",placement:s}),E=Qt(Object.assign({},_,w)),A="popper"===h?E:y,T={top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O=t.modifiersData.offset;if("popper"===h&&O){var C=O[s];Object.keys(T).forEach((function(t){var e=[st,nt].indexOf(t)>=0?1:-1,i=[it,nt].indexOf(t)>=0?"y":"x";T[t]+=C[i]*e}))}return T}function te(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?ct:l,h=Mt(n),d=h?a?lt:lt.filter((function(t){return Mt(t)===h})):rt,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]=Jt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[_t(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}var ee={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,_=_t(g),b=l||(_!==g&&p?function(t){if("auto"===_t(t))return[];var e=Ft(t);return[$t(t),e,$t(e)]}(g):[Ft(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat("auto"===_t(i)?te(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O=0,D=x?"width":"height",S=Jt(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N=x?L?st:ot:L?nt:it;y[D]>w[D]&&(N=Ft(N));var I=Ft(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[I]<=0),P.every((function(t){return t}))){T=C,A=!1;break}E.set(C,P)}if(A)for(var j=function(t){var e=v.find((function(e){var i=E.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"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ie(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 ne(t){return[it,st,nt,ot].some((function(e){return t[e]>=0}))}var se={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=Jt(e,{elementContext:"reference"}),a=Jt(e,{altBoundary:!0}),l=ie(r,n),c=ie(a,s,o),h=ne(l),d=ne(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})}},oe={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=ct.reduce((function(t,i){return t[i]=function(t,e,i){var n=_t(t),s=[ot,it].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,[ot,st].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}},re={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Zt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},ae={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=Jt(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=_t(e.placement),b=Mt(e.placement),v=!b,y=Lt(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?it:ot,L="y"===y?nt:st,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],N=E[y]-g[L],I=f?-T[x]/2:0,P="start"===b?A[x]:T[x],j="start"===b?-T[x]:-A[x],M=e.elements.arrow,H=f&&M?yt(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=B[k],W=B[L],z=Nt(0,A[x],H[x]),q=v?A[x]/2-I-z-R-O:P-z-R-O,F=v?-A[x]/2+I+z+W+O:j+z+W+O,U=e.elements.arrow&&kt(e.elements.arrow),$=U?"y"===y?U.clientTop||0:U.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+q-V-$,X=E[y]+F-V;if(o){var Y=Nt(f?Dt(S,K):S,D,f?xt(N,X):N);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?it:ot,G="x"===y?nt:st,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=Nt(f?Dt(J,K):J,Z,f?xt(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function le(t,e,i){void 0===i&&(i=!1);var n,s,o=pt(e),r=pt(e)&&function(t){var e=t.getBoundingClientRect(),i=e.width/t.offsetWidth||1,n=e.height/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Tt(e),l=vt(t,r),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==dt(e)||Xt(a))&&(c=(n=e)!==ut(n)&&pt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Vt(n)),pt(e)?((h=vt(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Kt(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}var ce={placement:"bottom",modifiers:[],strategy:"absolute"};function he(){for(var t=arguments.length,e=new Array(t),i=0;iP.on(t,"mouseover",h)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add("show"),this._element.classList.add("show"),P.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(l(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){P.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",h)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),F.removeDataAttribute(this._menu,"popper"),P.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...F.getDataAttributes(this._element),...t},r("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!s(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_createPopper(t){if(void 0===me)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:s(this._config.reference)?e=o(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find(t=>"applyStyles"===t.name&&!1===t.enabled);this._popper=pe(e,this._menu,i),n&&F.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains("show")}_getMenuElement(){return U.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return we;if(t.classList.contains("dropstart"))return Ee;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?be:_e:e?ye:ve}_detectNavbar(){return null!==this._element.closest(".navbar")}_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}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=U.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(a);i.length&&b(i,e,"ArrowDown"===t,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Oe.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(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=U.find('[data-bs-toggle="dropdown"]');for(let i=0,n=e.length;ie+t),this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",e=>e+t),this._setElementAttributes(".sticky-top","marginRight",e=>e-t)}_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)[e];t.style[e]=i(Number.parseFloat(s))+"px"})}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=F.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(F.removeDataAttribute(t,e),t.style[e]=i)})}_applyManipulationCallback(t,e){s(t)?e(t):U.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const ke={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},Le={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"};class xe{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&d(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{g(t)})):g(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),g(t)})):g(t)}_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}_getConfig(t){return(t={...ke,..."object"==typeof t?t:{}}).rootElement=o(t.rootElement),r("backdrop",t,Le),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),P.on(this._getElement(),"mousedown.bs.backdrop",()=>{g(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(P.off(this._element,"mousedown.bs.backdrop"),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const De={trapElement:null,autofocus:!0},Se={trapElement:"element",autofocus:"boolean"};class Ne{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),P.off(document,".bs.focustrap"),P.on(document,"focusin.bs.focustrap",t=>this._handleFocusin(t)),P.on(document,"keydown.tab.bs.focustrap",t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,".bs.focustrap"))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const n=U.focusableChildren(i);0===n.length?i.focus():"backward"===this._lastTabNavDirection?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?"backward":"forward")}_getConfig(t){return t={...De,..."object"==typeof t?t:{}},r("focustrap",t,Se),t}}const Ie={backdrop:!0,keyboard:!0,focus:!0},Pe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class je extends H{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=U.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new Ce}static get Default(){return Ie}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,"show.bs.modal",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),P.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{P.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(){if(!this._isShown||this._isTransitioning)return;if(P.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove("show"),P.off(this._element,"click.dismiss.bs.modal"),P.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,t)}dispose(){[window,this._dialog].forEach(t=>P.off(t,".bs.modal")),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new xe({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ne({trapElement:this._element})}_getConfig(t){return t={...Ie,...F.getDataAttributes(this._element),..."object"==typeof t?t:{}},r("modal",t,Pe),t}_showElement(t){const e=this._isAnimated(),i=U.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||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,i&&(i.scrollTop=0),e&&d(this._element),this._element.classList.add("show"),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:t})},this._dialog,e)}_setEscapeEvent(){this._isShown?P.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):P.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?P.on(window,"resize.bs.modal",()=>this._adjustDialog()):P.off(window,"resize.bs.modal")}_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("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(t){P.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains("modal-static")||(n||(i.overflowY="hidden"),t.add("modal-static"),this._queueCallback(()=>{t.remove("modal-static"),n||this._queueCallback(()=>{i.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!p()||i&&!t&&p())&&(this._element.style.paddingLeft=e+"px"),(i&&!t&&!p()||!i&&t&&p())&&(this._element.style.paddingRight=e+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=je.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=i(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,"show.bs.modal",t=>{t.defaultPrevented||P.one(e,"hidden.bs.modal",()=>{a(this)&&this.focus()})});const n=U.findOne(".modal.show");n&&je.getInstance(n).hide(),je.getOrCreateInstance(e).toggle(this)})),B(je),m(je);const Me={backdrop:!0,keyboard:!0,scroll:!1},He={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Be extends H{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return Me}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new Ce).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{this._config.scroll||this._focustrap.activate(),P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new Ce).reset(),P.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...Me,...F.getDataAttributes(this._element),..."object"==typeof t?t:{}},r("offcanvas",t,He),t}_initializeBackDrop(){return new xe({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Ne({trapElement:this._element})}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.offcanvas",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()})}static jQueryInterface(t){return this.each((function(){const e=Be.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)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=i(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;P.one(e,"hidden.bs.offcanvas",()=>{a(this)&&this.focus()});const n=U.findOne(".offcanvas.show");n&&n!==e&&Be.getInstance(n).hide(),Be.getOrCreateInstance(e).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",()=>U.find(".offcanvas.show").forEach(t=>Be.getOrCreateInstance(t).show())),B(Be),m(Be);const Re=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),We=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,ze=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,qe=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!Re.has(i)||Boolean(We.test(t.nodeValue)||ze.test(t.nodeValue));const n=e.filter(t=>t instanceof RegExp);for(let t=0,e=n.length;t{qe(t,a)||i.removeAttribute(t.nodeName)})}return n.body.innerHTML}const Ue=new Set(["sanitize","allowList","sanitizeFn"]),$e={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ve={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},Ke={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["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:[]},popperConfig:null},Xe={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Ye extends H{constructor(t,e){if(void 0===me)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return Ke}static get NAME(){return"tooltip"}static get Event(){return Xe}static get DefaultType(){return $e}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),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=P.trigger(this._element,this.constructor.Event.SHOW),e=c(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(".tooltip-inner").innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",s),this._element.setAttribute("aria-describedby",s),this._config.animation&&n.classList.add("fade");const o="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r=this._getAttachment(o);this._addAttachmentClass(r);const{container:a}=this._config;M.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),P.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=pe(this._element,n,this._getPopperConfig(r)),n.classList.add("show");const l=this._resolvePossibleFunction(this._config.customClass);l&&n.classList.add(...l.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{P.on(t,"mouseover",h)});const d=this.tip.classList.contains("fade");this._queueCallback(()=>{const t=this._hoverState;this._hoverState=null,P.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)},this.tip,d)}hide(){if(!this._popper)return;const t=this.getTipElement();if(P.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",h)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())},this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove("fade","show"),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".tooltip-inner")}_sanitizeAndSetContent(t,e,i){const n=U.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!==t)return s(e)?(e=o(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Fe(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_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"function"==typeof t?t.call(this._element):t}_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:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ve[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(t=>{if("click"===t)P.on(this._element,this.constructor.Event.CLICK,this._config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;P.on(this._element,e,this._config.selector,t=>this._enter(t)),P.on(this._element,i,this._config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e._config.delay&&e._config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e._config.delay&&e._config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=F.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{Ue.has(t)&&delete e[t]}),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:o(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()),r("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=Fe(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=Ye.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(Ye);const Qe={...Ye.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},Ge={...Ye.DefaultType,content:"(string|element|function)"},Ze={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Je extends Ye{static get Default(){return Qe}static get NAME(){return"popover"}static get Event(){return Ze}static get DefaultType(){return Ge}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=Je.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(Je);const ti={offset:10,method:"auto",target:""},ei={offset:"number",method:"string",target:"(string|element)"},ii=".nav-link, .list-group-item, .dropdown-item";class ni extends H{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,P.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return ti}static get NAME(){return"scrollspy"}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?t:this._config.method,n="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),U.find(ii,this._config.target).map(t=>{const s=e(t),o=s?U.findOne(s):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[F[i](o).top+n,s]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){P.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...ti,...F.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=o(t.target)||document.documentElement,r("scrollspy",t,ei),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`),i=U.findOne(e.join(","),this._config.target);i.classList.add("active"),i.classList.contains("dropdown-item")?U.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add("active"):U.parents(i,".nav, .list-group").forEach(t=>{U.prev(t,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),U.prev(t,".nav-item").forEach(t=>{U.children(t,".nav-link").forEach(t=>t.classList.add("active"))})}),P.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){U.find(ii,this._config.target).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){const e=ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",()=>{U.find('[data-bs-spy="scroll"]').forEach(t=>new ni(t))}),m(ni);class si extends H{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let t;const e=i(this._element),n=this._element.closest(".nav, .list-group");if(n){const e="UL"===n.nodeName||"OL"===n.nodeName?":scope > li > .active":".active";t=U.find(e,n),t=t[t.length-1]}const s=t?P.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(P.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,n);const o=()=>{P.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),P.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?U.children(e,".active"):U.find(":scope > li > .active",e))[0],s=i&&n&&n.classList.contains("fade"),o=()=>this._transitionComplete(t,n,i);n&&s?(n.classList.remove("show"),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove("active");const t=U.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d(t),t.classList.contains("fade")&&t.classList.add("show");let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&U.find(".dropdown-toggle",e).forEach(t=>t.classList.add("active")),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=si.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||si.getOrCreateInstance(this).show()})),m(si);const oi={animation:"boolean",autohide:"boolean",delay:"number"},ri={animation:!0,autohide:!0,delay:5e3};class ai extends H{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return oi}static get Default(){return ri}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),d(this._element),this._element.classList.add("show"),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing"),this._element.classList.remove("show"),P.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(t){return t={...ri,...F.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},r("toast",t,this.constructor.DefaultType),t}_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(){P.on(this._element,"mouseover.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"mouseout.bs.toast",t=>this._onInteraction(t,!1)),P.on(this._element,"focusin.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"focusout.bs.toast",t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ai.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return B(ai),m(ai),{Alert:R,Button:W,Carousel:Z,Collapse:et,Dropdown:Oe,Modal:je,Offcanvas:Be,Popover:Je,ScrollSpy:ni,Tab:si,Toast:ai,Tooltip:Ye}})); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/bugs.js b/files/assets/CHRISTMAS/js/bugs.js new file mode 100644 index 000000000..9d4151f69 --- /dev/null +++ b/files/assets/CHRISTMAS/js/bugs.js @@ -0,0 +1,7 @@ +new BugController({ + imageSprite: "/assets/CHRISTMAS/images/fly-sprite.webp", + canDie: false, + minBugs: 10, + maxBugs: 20, + mouseOver: "multiply" +}); \ No newline at end of file diff --git a/files/assets/js/christmas/deanmartin.js b/files/assets/CHRISTMAS/js/christmas/deanmartin.js similarity index 82% rename from files/assets/js/christmas/deanmartin.js rename to files/assets/CHRISTMAS/js/christmas/deanmartin.js index c1e042cd5..933b17397 100644 --- a/files/assets/js/christmas/deanmartin.js +++ b/files/assets/CHRISTMAS/js/christmas/deanmartin.js @@ -1,4 +1,4 @@ -const audio = new Audio('/assets/christmas/songs/cold.mp3'); +const audio = new Audio('/assets/CHRISTMAS/songs/cold.mp3'); audio.loop=true; function play() { diff --git a/files/assets/js/christmas/fireplace.js b/files/assets/CHRISTMAS/js/christmas/fireplace.js similarity index 81% rename from files/assets/js/christmas/fireplace.js rename to files/assets/CHRISTMAS/js/christmas/fireplace.js index 82a47977a..329192211 100644 --- a/files/assets/js/christmas/fireplace.js +++ b/files/assets/CHRISTMAS/js/christmas/fireplace.js @@ -1,4 +1,4 @@ -const audio = new Audio('/assets/christmas/songs/fireplace.mp3'); +const audio = new Audio('/assets/CHRISTMAS/songs/fireplace.mp3'); audio.loop=true; function play() { diff --git a/files/assets/js/christmas/mistletoe.js b/files/assets/CHRISTMAS/js/christmas/mistletoe.js similarity index 100% rename from files/assets/js/christmas/mistletoe.js rename to files/assets/CHRISTMAS/js/christmas/mistletoe.js diff --git a/files/assets/js/christmas/playlist.js b/files/assets/CHRISTMAS/js/christmas/playlist.js similarity index 95% rename from files/assets/js/christmas/playlist.js rename to files/assets/CHRISTMAS/js/christmas/playlist.js index b3301fb39..06116eb81 100644 --- a/files/assets/js/christmas/playlist.js +++ b/files/assets/CHRISTMAS/js/christmas/playlist.js @@ -71,7 +71,7 @@ const trackList = [ ]; const selected = trackList[Math.floor(Math.random() * trackList.length)]; -const audio = new Audio(`/assets/christmas/songs/${selected}.mp3`); +const audio = new Audio(`/assets/CHRISTMAS/songs/${selected}.mp3`); audio.loop=true; function play() { diff --git a/files/assets/js/christmas/snow.js b/files/assets/CHRISTMAS/js/christmas/snow.js similarity index 100% rename from files/assets/js/christmas/snow.js rename to files/assets/CHRISTMAS/js/christmas/snow.js diff --git a/files/assets/CHRISTMAS/js/clipboard.js b/files/assets/CHRISTMAS/js/clipboard.js new file mode 100644 index 000000000..02cc75894 --- /dev/null +++ b/files/assets/CHRISTMAS/js/clipboard.js @@ -0,0 +1,7 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={134:function(t,e,n){"use strict";n.d(e,{default:function(){return r}});var e=n(279),i=n.n(e),e=n(370),a=n.n(e),e=n(817),o=n.n(e);function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var n=0;n` + } + popover_new.getElementsByClassName('pop-banner')[0].src = author["bannerurl"] + popover_new.getElementsByClassName('pop-picture')[0].src = author["profile_url"] + popover_new.getElementsByClassName('pop-username')[0].innerHTML = author["username"] + popover_new.getElementsByClassName('pop-bio')[0].innerHTML = author["bio_html"] + popover_new.getElementsByClassName('pop-postcount')[0].innerHTML = author["post_count"] + popover_new.getElementsByClassName('pop-commentcount')[0].innerHTML = author["comment_count"] + popover_new.getElementsByClassName('pop-coins')[0].innerHTML = author["coins"] + popover_new.getElementsByClassName('pop-viewmore')[0].href = author["url"] + popover_new.getElementsByClassName('pop-badges')[0].innerHTML = badges + + document.body.appendChild(popover_new); + document.body.removeChild(popover_old); +} + +document.addEventListener("click", function(){ + active = document.activeElement.getAttributeNode("class"); + if (!(active && active.nodeValue == "user-name text-decoration-none")){ + let popfix = document.getElementById("popover-fix") + if (popfix) document.body.removeChild(popfix); + } +}); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/comments.js b/files/assets/CHRISTMAS/js/comments.js new file mode 100644 index 000000000..94db69e9f --- /dev/null +++ b/files/assets/CHRISTMAS/js/comments.js @@ -0,0 +1,51 @@ +function timestamp(str, ti) { + date = new Date(ti*1000); + document.getElementById(str).setAttribute("data-bs-original-title", date.toString()); +}; + +function collapse_comment(comment_id) { + const comment = document.getElementById(`comment-${comment_id}`) + const top = comment.getBoundingClientRect().y; + + const toggler = document.getElementById(`comment-collapse-${comment_id}`); + + ['hidden', 'pointer-events-none'].map(x=> toggler.classList.toggle(x)); + + ['items-center', 'opacity-50', 'md:hover:opacity-100', 'collapsed'].map(y=> comment.classList.toggle(y)); // apply flex alignment and opacity to comment parent wrapping div + + const isClosed = comment.classList.contains("collapsed"); + + const icon = document.getElementsByClassName(`comment-toggle-icon-${comment_id}`); + for (let i = 0; i < icon.length; i++) { + //icon[i].innerText = isClosed ? '[+]' : '[-]'; // text fallback if we don't want to use icons + icon[i].classList.toggle('fa-minus-circle'); + icon[i].classList.toggle('fa-plus-circle'); + } + + if (isClosed && top < 0) { + comment.scrollIntoView() + window.scrollBy(0, - 100) + } +}; + +function loadMoreReplies(cid,id,trigger) { + const btn = document.getElementById(trigger) // trigger button + const el = document.getElementById(id) // target element to populate + const form = new FormData(); + const xhr = new XMLHttpRequest(); + + btn.classList.toggle('animate-pulse'); + + xhr.open("post", `/morecomments/${cid}`); + xhr.withCredentials=true; + xhr.onload=function(){ + if (xhr.status==200) { + btn.style.display = "none"; // hide button + el.innerHTML += xhr.response.replace(/data-src/g, 'src').replace(/data-cfsrc/g, 'src').replace(/style="display:none;visibility:hidden;"/g, ''); // replace desired element with response html + initializeBootstrap() + } else { + btn.disabled = false; // enable our button if GET fails + } + } + xhr.send(form) +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/comments_admin.js b/files/assets/CHRISTMAS/js/comments_admin.js new file mode 100644 index 000000000..d8128131e --- /dev/null +++ b/files/assets/CHRISTMAS/js/comments_admin.js @@ -0,0 +1,74 @@ +function removeComment(post_id,button1,button2) { + url="/ban_comment/"+post_id + + post(url) + + try { + document.getElementById("comment-"+post_id+"-only").classList.add("bg-red-200"); + } catch(e) { + document.getElementById("context").classList.add("bg-red-200"); + } + + const button=document.getElementById("remove-"+post_id); + button.onclick=function(){approveComment(post_id)}; + button.innerHTML='Approve' + + if (typeof button1 !== 'undefined') { + document.getElementById(button1).classList.toggle("md:block"); + document.getElementById(button2).classList.toggle("md:block"); + } +}; + +function approveComment(post_id,button1,button2) { + url="/unban_comment/"+post_id + + post(url) + + try { + document.getElementById("comment-"+post_id+"-only").classList.remove("bg-red-200"); + } catch(e) { + document.getElementById("context").classList.remove("bg-red-200"); + } + + const button=document.getElementById("remove-"+post_id); + button.onclick=function(){removeComment(post_id)}; + button.innerHTML='Remove' + + if (typeof button1 !== 'undefined') { + document.getElementById(button1).classList.toggle("md:block"); + document.getElementById(button2).classList.toggle("md:block"); + } +} + + +function removeComment2(post_id,button1,button2) { + url="/ban_comment/"+post_id + + post(url) + + document.getElementById("comment-"+post_id+"-only").classList.add("bg-red-200"); + const button=document.getElementById("remove-"+post_id); + button.onclick=function(){approveComment(post_id)}; + button.innerHTML='Approve' + + if (typeof button1 !== 'undefined') { + document.getElementById(button1).classList.toggle("hidden"); + document.getElementById(button2).classList.toggle("hidden"); + } +}; + +function approveComment2(post_id,button1,button2) { + url="/unban_comment/"+post_id + + post(url) + + document.getElementById("comment-"+post_id+"-only").classList.remove("bg-red-200"); + const button=document.getElementById("remove-"+post_id); + button.onclick=function(){removeComment(post_id)}; + button.innerHTML='Remove' + + if (typeof button1 !== 'undefined') { + document.getElementById(button1).classList.toggle("hidden"); + document.getElementById(button2).classList.toggle("hidden"); + } +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/comments_v.js b/files/assets/CHRISTMAS/js/comments_v.js new file mode 100644 index 000000000..bb5c021da --- /dev/null +++ b/files/assets/CHRISTMAS/js/comments_v.js @@ -0,0 +1,264 @@ +function post(url) { + var xhr = new XMLHttpRequest(); + xhr.open("POST", url, true); + var form = new FormData() + form.append("formkey", formkey()); + xhr.withCredentials=true; + xhr.send(form); +}; + +function post_toast3(url, button1, button2) { + var xhr = new XMLHttpRequest(); + xhr.open("POST", url, true); + var form = new FormData() + form.append("formkey", formkey()); + + if(typeof data === 'object' && data !== null) { + for(let k of Object.keys(data)) { + form.append(k, data[k]); + } + } + + + form.append("formkey", formkey()); + xhr.withCredentials=true; + + xhr.onload = function() { + if (xhr.status >= 200 && xhr.status < 300) { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.show(); + try { + document.getElementById('toast-post-success-text').innerText = JSON.parse(xhr.response)["message"]; + } catch(e) { + document.getElementById('toast-post-success-text').innerText = "Action successful!"; + } + return true + + } else if (xhr.status >= 300 && xhr.status < 400) { + window.location.href = JSON.parse(xhr.response)["redirect"] + } else { + + try { + data=JSON.parse(xhr.response); + } catch(e) {} + + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + return false + } + }; + + xhr.send(form); + + document.getElementById(button1).classList.toggle("md:block"); + document.getElementById(button2).classList.toggle("md:block"); +} + +function report_commentModal(id, author) { + + document.getElementById("comment-author").textContent = author; + + document.getElementById("reportCommentButton").onclick = function() { + + this.innerHTML='Reporting comment'; + this.disabled = true; + var xhr = new XMLHttpRequest(); + xhr.open("POST", '/report/comment/'+id, true); + var form = new FormData() + form.append("formkey", formkey()); + form.append("reason", document.getElementById("reason-comment").value); + + xhr.withCredentials=true; + + xhr.onload=function() { + document.getElementById("reportCommentFormBefore").classList.add('hidden'); + document.getElementById("reportCommentFormAfter").classList.remove('hidden'); + }; + + xhr.onerror=function(){alert(errortext)}; + xhr.send(form); +} + +}; + +function openReplyBox(id) { + const element = document.getElementById(`reply-to-${id}`); + element.classList.remove('hidden') + + element.getElementsByTagName('textarea')[0].focus() +} + +function toggleEdit(id){ + comment=document.getElementById("comment-text-"+id); + form=document.getElementById("comment-edit-"+id); + box=document.getElementById('comment-edit-body-'+id); + actions = document.getElementById('comment-' + id +'-actions'); + + comment.classList.toggle("hidden"); + form.classList.toggle("hidden"); + actions.classList.toggle("hidden"); + autoExpand(box); +}; + + +function delete_commentModal(id) { + + document.getElementById("deleteCommentButton").onclick = function() { + + this.innerHTML='Deleting comment'; + this.disabled = true; + + var url = '/delete/comment/' + id + var xhr = new XMLHttpRequest(); + xhr.open("POST", url, true); + var form = new FormData() + form.append("formkey", formkey()); + xhr.withCredentials=true; + xhr.onload = function() {location.reload(true);}; + xhr.send(form); +} + +}; + +function post_reply(id){ + + var form = new FormData(); + + form.append('formkey', formkey()); + form.append('parent_id', id); + form.append('body', document.getElementById('reply-form-body-'+id).value); + var xhr = new XMLHttpRequest(); + xhr.open("post", "/reply"); + xhr.withCredentials=true; + xhr.onload=function(){ + if (xhr.status==200) { + commentForm=document.getElementById('comment-form-space-'+id); + commentForm.innerHTML = xhr.response.replace(/data-src/g, 'src').replace(/data-cfsrc/g, 'src').replace(/style="display:none;visibility:hidden;"/g, ''); + } + else { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + try {document.getElementById('toast-post-error-text').innerText = JSON.parse(xhr.response)["error"];} + catch {} + } + } + xhr.send(form) +} + +function comment_edit(id){ + + var form = new FormData(); + + form.append('formkey', formkey()); + form.append('body', document.getElementById('comment-edit-body-'+id).value); + form.append('file', document.getElementById('file-edit-reply-'+id).files[0]); + + var xhr = new XMLHttpRequest(); + xhr.open("post", "/edit_comment/"+id); + xhr.withCredentials=true; + xhr.onload=function(){ + if (xhr.status==200) { + commentForm=document.getElementById('comment-text-'+id); + commentForm.innerHTML = xhr.response.replace(/data-src/g, 'src').replace(/data-cfsrc/g, 'src').replace(/style="display:none;visibility:hidden;"/g, ''); + document.getElementById('cancel-edit-'+id).click() + } + else { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + try {document.getElementById('toast-post-error-text').innerText = JSON.parse(xhr.response)["error"];} + catch {} + } + } + xhr.send(form) +} + +function post_comment(fullname){ + const btn = document.getElementById('save-reply-to-'+fullname) + btn.classList.add('disabled'); + + var form = new FormData(); + + form.append('formkey', formkey()); + form.append('parent_fullname', fullname); + form.append('submission', document.getElementById('reply-form-submission-'+fullname).value); + form.append('body', document.getElementById('reply-form-body-'+fullname).value); + form.append('file', document.getElementById('file-upload-reply-'+fullname).files[0]); + + var xhr = new XMLHttpRequest(); + xhr.open("post", "/comment"); + xhr.withCredentials=true; + xhr.onload=function(){ + if (xhr.status==200) { + commentForm=document.getElementById('comment-form-space-'+fullname); + commentForm.innerHTML = xhr.response.replace(/data-src/g, 'src').replace(/data-cfsrc/g, 'src').replace(/style="display:none;visibility:hidden;"/g, ''); + } + else { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + try {document.getElementById('toast-post-error-text').innerText = JSON.parse(xhr.response)["error"];} + catch {} + btn.classList.remove('disabled'); + } + } + xhr.send(form) +} + +document.onpaste = function(event) { + var focused = document.activeElement; + if (focused.id.includes('reply-form-body-')) { + var fullname = focused.dataset.fullname; + f=document.getElementById('file-upload-reply-' + fullname); + files = event.clipboardData.files + filename = files[0].name.toLowerCase() + if (filename.endsWith(".jpg") || filename.endsWith(".jpeg") || filename.endsWith(".png") || filename.endsWith(".webp") || filename.endsWith(".gif")) + { + f.files = files; + document.getElementById('filename-show-reply-' + fullname).textContent = filename; + } + } + else if (focused.id.includes('comment-edit-body-')) { + var id = focused.dataset.id; + f=document.getElementById('file-edit-reply-' + id); + files = event.clipboardData.files + filename = files[0].name.toLowerCase() + if (filename.endsWith(".jpg") || filename.endsWith(".jpeg") || filename.endsWith(".png") || filename.endsWith(".webp") || filename.endsWith(".gif")) + { + f.files = files; + document.getElementById('filename-edit-reply-' + id).textContent = filename; + } + } + else if (focused.id.includes('post-edit-box-')) { + var id = focused.dataset.id; + f=document.getElementById('file-upload-edit-' + id); + files = event.clipboardData.files + filename = files[0].name.toLowerCase() + if (filename.endsWith(".jpg") || filename.endsWith(".jpeg") || filename.endsWith(".png") || filename.endsWith(".webp") || filename.endsWith(".gif")) + { + f.files = files; + document.getElementById('filename-show-edit-' + id).textContent = filename; + } + } +} + +function poll_vote(cid, parentid) { + for(let el of document.getElementsByClassName('presult-'+parentid)) { + el.classList.remove('d-none'); + } + for(let el of document.getElementsByClassName('presult')) { + el.classList.remove('d-none'); + } + var type = document.getElementById(cid).checked; + var scoretext = document.getElementById('poll-' + cid); + var score = Number(scoretext.textContent); + if (type == true) scoretext.textContent = score + 1; + else scoretext.textContent = score - 1; + post('/vote/poll/' + cid + '?vote=' + type); +} diff --git a/files/assets/CHRISTMAS/js/critters.js b/files/assets/CHRISTMAS/js/critters.js new file mode 100644 index 000000000..6a773f778 --- /dev/null +++ b/files/assets/CHRISTMAS/js/critters.js @@ -0,0 +1,33 @@ +var BugDispatch={options:{minDelay:500,maxDelay:1E4,minBugs:2,maxBugs:20,minSpeed:5,maxSpeed:10,maxLargeTurnDeg:150,maxSmallTurnDeg:10,maxWiggleDeg:5,imageSprite:"fireflies.webp",bugWidth:13,bugHeight:14,num_frames:5,zoom:10,canFly:!0,canDie:!0,numDeathTypes:3,monitorMouseMovement:!1,eventDistanceToBug:40,minTimeBetweenMultipy:1E3,mouseOver:"random"},initialize:function(a){this.options=mergeOptions(this.options,a);this.options.minBugs>this.options.maxBugs&&(this.options.minBugs=this.options.maxBugs); +this.modes=["multiply","nothing"];this.options.canFly&&this.modes.push("fly","flyoff");this.options.canDie&&this.modes.push("die");-1==this.modes.indexOf(this.options.mouseOver)&&(this.options.mouseOver="random");this.transform=null;this.transforms={Moz:function(a){this.bug.style.MozTransform=a},webkit:function(a){this.bug.style.webkitTransform=a},O:function(a){this.bug.style.OTransform=a},ms:function(a){this.bug.style.msTransform=a},Khtml:function(a){this.bug.style.KhtmlTransform=a},w3c:function(a){this.bug.style.transform= +a}};if("transform"in document.documentElement.style)this.transform=this.transforms.w3c;else{var b=["Moz","webkit","O","ms","Khtml"],c=0;for(c=0;cb?d=b:dc||(200=--this.toggle_stationary_counter&&this.toggleStationary(),this.stationary))){if(0>=--this.edge_test_counter&&this.bug_near_window_edge()&&(this.angle_deg%=360,0>this.angle_deg&&(this.angle_deg+=360),15=--this.large_turn_counter&&(this.large_turn_angle_deg=this.random(1,this.options.maxLargeTurnDeg,!0),this.next_large_turn());if(0>=--this.small_turn_counter)this.angle_deg+=this.random(1,this.options.maxSmallTurnDeg),this.next_small_turn();else{a=this.random(1,this.options.maxWiggleDeg,!0);if(0a||0>this.large_turn_angle_deg&&0=this.options.num_frames&&(this.walkIndex=0)},fly:function(a){var b=this.bug.top,c=this.bug.left,d=c-a.left,e=b-a.top,f=Math.atan(e/d);50>Math.abs(d)+Math.abs(e)&&(this.bug.style.backgroundPosition=-2*this.options.bugWidth+ +"px -"+2*this.options.bugHeight+"px");30>Math.abs(d)+Math.abs(e)&&(this.bug.style.backgroundPosition=-1*this.options.bugWidth+"px -"+2*this.options.bugHeight+"px");if(10>Math.abs(d)+Math.abs(e))this.bug.style.backgroundPosition="0 0",this.stop(),this.go();else{var g=Math.cos(f)*this.options.flySpeed;f=Math.sin(f)*this.options.flySpeed;if(c>a.left&&0a.left&&0>g)g*=-1,Math.abs(d)f||b>a.top&&0a&&(a=0);0===a?(a=-2*this.options.bugHeight,b*=Math.random()):1===a?(a=Math.random()*c,b+=2*this.options.bugWidth): +2===a?(a=c+2*this.options.bugHeight,b*=Math.random()):(a=Math.random()*c,b=-3*this.options.bugWidth);this.bug.style.backgroundPosition=-3*this.options.bugWidth+"px "+(this.wingsOpen?"0":"-"+this.options.bugHeight+"px");this.bug.top=a;this.bug.left=b;this.drawBug();a={};a.top=this.random(this.options.edge_resistance,document.documentElement.clientHeight-this.options.edge_resistance);a.left=this.random(this.options.edge_resistance,document.documentElement.clientWidth-this.options.edge_resistance);this.startFlying(a)}}, +walkIn:function(){this.bug||this.makeBug();if(this.bug){this.stop();var a=Math.round(4*Math.random()-.5),b=document,c=b.documentElement,d=b.getElementsByTagName("body")[0];b=window.innerWidth||c.clientWidth||d.clientWidth;c=window.innerHeight||c.clientHeight||d.clientHeight;3a&&(a=0);0===a?(a=-1.3*this.options.bugHeight,b*=Math.random()):1===a?(a=Math.random()*c,b+=.3*this.options.bugWidth):2===a?(a=c+.3*this.options.bugHeight,b*=Math.random()):(a=Math.random()*c,b=-1.3*this.options.bugWidth); +this.bug.style.backgroundPosition=-3*this.options.bugWidth+"px "+(this.wingsOpen?"0":"-"+this.options.bugHeight+"px");this.bug.top=a;this.bug.left=b;this.drawBug();this.go()}},flyOff:function(){this.stop();var a=this.random(0,3),b={},c=document,d=c.documentElement,e=c.getElementsByTagName("body")[0];c=window.innerWidth||d.clientWidth||e.clientWidth;d=window.innerHeight||d.clientHeight||e.clientHeight;0===a?(b.top=-200,b.left=Math.random()*c):1===a?(b.top=Math.random()*d,b.left=c+200):2===a?(b.top= +d+200,b.left=Math.random()*c):(b.top=Math.random()*d,b.left=-200);this.startFlying(b)},die:function(){this.stop();var a=this.random(0,this.options.numDeathTypes-1);this.alive=!1;this.drop(a)},drop:function(a){var b=this.bug.top,c=document,d=c.documentElement;c=c.getElementsByTagName("body")[0];var e=window.innerHeight||d.clientHeight||c.clientHeight;e-=this.options.bugHeight;var f=this.random(0,20,!0);Date.now();var g=this;this.bug.classList.add("bug-dead");this.dropTimer=requestAnimFrame(function(c){g._lastTimestamp= +c;g.dropping(c,b,e,f,a)})},dropping:function(a,b,c,d,e){a-=this._lastTimestamp;var f=b+.002*a*a,g=this;f>=c?(f=c,clearTimeout(this.dropTimer),this.angle_deg=0,this.angle_rad=this.deg2rad(this.angle_deg),this.transform("rotate("+(90-this.angle_deg)+"deg) scale("+this.zoom+")"),this.bug.style.top=null,this.bug.style.bottom=Math.ceil((this.options.bugWidth*this.zoom-this.options.bugHeight*this.zoom)/2-this.options.bugHeight/2*(1-this.zoom))+"px",this.bug.style.left=this.bug.left+"px",this.bug.style.backgroundPosition= +"-"+2*e*this.options.bugWidth+"px 100%",this.twitch(e)):(this.dropTimer=requestAnimFrame(function(a){g.dropping(a,b,c,d,e)}),20>a||(this.angle_deg=(this.angle_deg+d)%360,this.angle_rad=this.deg2rad(this.angle_deg),this.moveBug(this.bug.left,f,this.angle_deg)))},twitch:function(a,b){b||(b=0);var c=this;if(0===a||1===a)c.twitchTimer=setTimeout(function(){c.bug.style.backgroundPosition="-"+(2*a+b%2)*c.options.bugWidth+"px 100%";c.twitchTimer=setTimeout(function(){b++;c.bug.style.backgroundPosition="-"+ +(2*a+b%2)*c.options.bugWidth+"px 100%";c.twitch(a,++b)},c.random(300,800))},this.random(1E3,1E4))},rad2deg:function(a){return a*this.rad2deg_k},deg2rad:function(a){return a*this.deg2rad_k},random:function(a,b,c){if(a==b)return a;a=Math.round(a-.5+Math.random()*(b-a+1));return c?.5document.documentElement.clientHeight-this.options.edge_resistance&&(this.near_edge|=this.NEAR_BOTTOM_EDGE);this.bug.leftdocument.documentElement.clientWidth-this.options.edge_resistance&&(this.near_edge|=this.NEAR_RIGHT_EDGE);return this.near_edge},getPos:function(){return this.inserted&& +this.bug&&this.bug.style?{top:parseInt(this.bug.top,10),left:parseInt(this.bug.left,10)}:null}},SpawnBug=function(){var a={},b;for(b in Bug)Bug.hasOwnProperty(b)&&(a[b]=Bug[b]);return a},mergeOptions=function(a,b,c){"undefined"==typeof c&&(c=!0);a=c?cloneOf(a):a;for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a},cloneOf=function(a){if(null==a||"object"!=typeof a)return a;var b=a.constructor(),c;for(c in a)a.hasOwnProperty(c)&&(b[c]=cloneOf(a[c]));return b}; +window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a,b){window.setTimeout(a,1E3/60)}}(); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/default.js b/files/assets/CHRISTMAS/js/default.js new file mode 100644 index 000000000..f9cd33ef1 --- /dev/null +++ b/files/assets/CHRISTMAS/js/default.js @@ -0,0 +1,147 @@ +function formkey() { + return document.getElementById("formkey").innerHTML; +} + +function makeBold(form) { + var text = document.getElementById(form); + var startIndex = text.selectionStart, + endIndex = text.selectionEnd; + var selectedText = text.value.substring(startIndex, endIndex); + + var format = '**' + + if (selectedText.includes('**')) { + text.value = selectedText.replace(/\*/g, ''); + } + else if (selectedText.length == 0) { + text.value = text.value.substring(0, startIndex) + selectedText + text.value.substring(endIndex); + } + else { + text.value = text.value.substring(0, startIndex) + format + selectedText + format + text.value.substring(endIndex); + } +} + +function makeItalics(form) { + var text = document.getElementById(form); + var startIndex = text.selectionStart, + endIndex = text.selectionEnd; + var selectedText = text.value.substring(startIndex, endIndex); + + var format = '*' + + if (selectedText.includes('*')) { + text.value = selectedText.replace(/\*/g, ''); + } + else if (selectedText.length == 0) { + text.value = text.value.substring(0, startIndex) + selectedText + text.value.substring(endIndex); + } + else { + text.value = text.value.substring(0, startIndex) + format + selectedText + format + text.value.substring(endIndex); + } +} + +makeQuote = function (form) { + var text = document.getElementById(form); + var startIndex = text.selectionStart, + endIndex = text.selectionEnd; + var selectedText = text.value.substring(startIndex, endIndex); + + var format = '>' + + if (selectedText.includes('>')) { + text.value = text.value.substring(0, startIndex) + selectedText.replace(/\>/g, '') + text.value.substring(endIndex); + } + else if (selectedText.length == 0) { + text.value = text.value.substring(0, startIndex) + selectedText + text.value.substring(endIndex); + } + else { + text.value = text.value.substring(0, startIndex) + format + selectedText + text.value.substring(endIndex); + } +} + +function autoExpand (field) { + + xpos=window.scrollX; + ypos=window.scrollY; + + field.style.height = 'inherit'; + + var computed = window.getComputedStyle(field); + + var height = parseInt(computed.getPropertyValue('border-top-width'), 10) + + parseInt(computed.getPropertyValue('padding-top'), 10) + + field.scrollHeight + + parseInt(computed.getPropertyValue('padding-bottom'), 10) + + parseInt(computed.getPropertyValue('border-bottom-width'), 10) + + 32; + + field.style.height = height + 'px'; + + window.scrollTo(xpos,ypos); + +}; + + +document.addEventListener('input', function (event) { + if (event.target.tagName.toLowerCase() !== 'textarea') return; + autoExpand(event.target); +}, false); + +function post_toast2(url, button1, button2) { + var xhr = new XMLHttpRequest(); + xhr.open("POST", url, true); + var form = new FormData() + form.append("formkey", formkey()); + + if(typeof data === 'object' && data !== null) { + for(let k of Object.keys(data)) { + form.append(k, data[k]); + } + } + + + form.append("formkey", formkey()); + xhr.withCredentials=true; + + xhr.onload = function() { + if (xhr.status >= 200 && xhr.status < 300) { + try { + document.getElementById('toast-post-success-text').innerText = JSON.parse(xhr.response)["message"]; + } catch(e) { + document.getElementById('toast-post-success-text').innerText = "Action successful!"; + } + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.show(); + return true + + } else if (xhr.status >= 300 && xhr.status < 400) { + window.location.href = JSON.parse(xhr.response)["redirect"] + } else { + try { + data=JSON.parse(xhr.response); + + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + document.getElementById('toast-post-error-text').innerText = data["error"]; + return false + } catch(e) { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + return false + } + } + }; + + xhr.send(form); + + document.getElementById(button1).classList.toggle("hidden"); + document.getElementById(button2).classList.toggle("hidden"); +} + +function expandDesktopImage(image) { + document.getElementById("desktop-expanded-image").src = image.replace("200w_d.webp", "giphy.webp"); + document.getElementById("desktop-expanded-image-link").href = image; + document.getElementById("desktop-expanded-image-wrap-link").href=image; +}; \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/delete_post_modal.js b/files/assets/CHRISTMAS/js/delete_post_modal.js new file mode 100644 index 000000000..244ce894f --- /dev/null +++ b/files/assets/CHRISTMAS/js/delete_post_modal.js @@ -0,0 +1,22 @@ +function delete_postModal(id) { + + function delete_post(){ + + this.innerHTML='Deleting post'; + this.disabled = true; + + var url = '/delete_post/' + id + var xhr = new XMLHttpRequest(); + xhr.open("POST", url, true); + var form = new FormData() + form.append("formkey", formkey()); + xhr.withCredentials=true; + xhr.onload = function() {location.reload(true);}; + xhr.send(form); + } + + document.getElementById("deletePostButton-mobile").onclick = delete_post; + + document.getElementById("deletePostButton").onclick = delete_post; + +}; \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/emoji_modal.js b/files/assets/CHRISTMAS/js/emoji_modal.js new file mode 100644 index 000000000..02030176c --- /dev/null +++ b/files/assets/CHRISTMAS/js/emoji_modal.js @@ -0,0 +1,934 @@ +var commentFormID; + +function commentForm(form) { + commentFormID = form; +}; + +const TEXTAREA_POS_ATTR = 'data-curr-pos' +const EMOJI_BOX_ID = 'EMOJIS_favorite' +const EMOJI_FORM_DESTINATION_ATTR = 'data-form-destination' +const EMOJIS_STRINGS = [ + { + type:'marsey', + emojis: { + marseylaugh: 'lmao reaction point funny haha lol judgment', + marseyblowkiss: 'heart wink reaction muah loving mwah love', + marseyshook: 'reaction surprised shocked gasp astonished', + marseythumbsup: 'cool good job good one agree reaction nice work yes great job', + marseylove: 'heart reaction adoration loving adore', + marseyjamming: 'mp3 headphones beat ipod music happy', + marseyready: 'concerned worried waiting prepared reaction', + marseyscarf: 'winter chilly cold ill sick brr flu', + marseymad: 'pissed annoyed furious reaction angry irritated livid', + marseycry: 'tear upset crying reaction sobbing sob tears sad', + marseyinabox: 'hiding hide box cardboard happy cute', + marseysad: 'annoyed staring reaction disappointed stare uh huh bored', + marseyexcited: 'eager ready hype amped reaction excitement happy thrilled', + marseysleep: 'bed bedtime zzz boring reaction tired bored', + marseyangel: 'reaction angelic happy innocent', + marseydead: 'murdered dead killed reaction victim die rip', + marseyparty: 'excite excitement celebrate happy celebrating', + marseyrain: 'cloud upset reaction disappointed storm depressed sad', + marseyagree: 'concur nodding nod reaction affirmative yes yeah uh huh animated judgment', + marseydisagree: 'nah uh nod nuh uh reaction wrong no way no negative animated judgment', + marseyjam: 'animated bopping excited trippy excitement tejanx dancing rainbow rave happy dance', + marseygasp: 'wow woah what how why whoa reaction appalled', + marseytwerking: 'tailspin animated butt backside dancing spin booty ass dance', + marseysipping: 'drinking root drink reaction stare thirsty purple drank juice bored', + marseyshrug: 'hands up idk ig idc dunno i guess', + marseyglow: 'fbi mossad cop feds animated glownigger glowie secret service fed atf police cia nsa kgb', + marseycope: 'dilate mask seethe copium reaction', + marseyseethe: 'dilate mask crying seething smug cope', + marseymerchant: 'arran kike hebrew shopkeeper yid banker jew moneylender jewish greedy israel', + marseyno: 'denied refuse rejection reaction ugh deny hand', + marseywalking: 'stroll walk strut gallivant animated', + marseyhearts: 'reaction flirt loving adoration love happy cute crush', + marseybegging: 'pls plz pleading reaction tears in eyes animated', + marseytrans: 'pitty transgender pitbull dog pibble transsexual', + marseygigaretard: 'idiot neurodivergent dumb stupid drooling moron puddle', + marseysneed: 'feed farmer reaction chuck simpsons', + marseybaited: 'laser pointer trolled gullible reaction animated', + marseyeyeroll: 'rolleyes rolling eyes mock animated reaction roll eyes duh', + marseydepressed: 'smoke kms doomer cigarette despair reaction depression suicide suicidal smoking hopeless sad', + marseypat: 'petting reaction animated cute patting', + marseyking: 'based queen prince reaction crown princess', + marseylong1: 'top meme', + marseylong2: 'middle meme', + marseylong3: 'bottom meme', + + marsey40k: 'warhammer 40k 40000 space space marine marine ultramarine smurf', + marseyangel2: 'angelic horn trumpet halo wings', + marseyblack: 'basketball black african american bipoc coon fade jersey sports kang gang jogger', + marseybongo: 'bongo drums music meme jam', + marseybongosnoo: 'bongo drums music meme jam reddit snoo', + marseybongosrdine: 'bongo drums music meme jam srdine', + marseychonker2: 'fat obese pig disgusting fatty fattie', + marseyski: 'skier skiing sking winter snow', + marseychristmasbulb2: 'ornament holiday christmas', + marseychristmaself2: 'elf santa northpole north pole christmas holiday', + marseychristmasgift: 'present christmas box unwrapping holiday', + marseychristmaslove: 'christmas holiday present gift present love hearts affection', + marseychristmasparty: 'christmas holiday celebrate party wooo', + marseychristmasscarf: 'christmas holiday candy cane cold winter candycane', + marseydiehard: 'die hard christmas holiday terrorist gun bruce willis', + marseydoubtit: 'dumpster defender redneck boomer shooting doubt it cocksucker', + marseyextinction: 'extinction button women misogyny mayocide kazakhstan', + marseyfatherjoseph: 'christian christmas jesus immaculate god father joseph xmas pray', + marseyfuckyou: 'middlefinger middle finger flipping off fuck you nigga', + marseygangbang: 'blacked sex orgy', + marseygingerbread: 'cookie christmas holiday', + marseygingerbread2: 'cookie christmas holiday', + marseygingerbread3: 'cookie christmas holiday', + marseygold: 'gold award reddit', + marseyhotep: 'party meme parrot vibing jam dance', + marseyicecream: 'ice cream sad disappoint pout cry.', + marseyimmaculate: 'christian christmas jesus immaculate god mother mary xmas pray', + marseyimpossibru: 'revulsion gross yuck yikes mad icky impossible disgusted disgusting', + marseykamikaze: 'kamikaze japanese nip pilot ww2 wwii world war', + marseykkkblm: 'ku klux klan racist nigger jogger coon jiggaboo cracker crackkka', + marseyklenny: 'klenvastergan jenna thorne grunderchin vidunderchin clapping applause animated', + marseykrampus2: 'demon monster christmas', + marseykys2: 'keep yourself safe', + marseylois: 'familyguy familyman family guy family man peter griffin', + marseymerchantelf: 'jew christmas elf santa greedy money chosen worker holiday xmas seth rogen sarah silverman holocaust coin kike', + marseymothermary: 'christian christmas jesus immaculate god mother mary xmas pray', + marseynutcracker: 'soldier halberd pike christmas holiday', + marseyobama: 'obama president black drone reaper predator', + marseyoctopus2: 'consume product epic win communities no bait too obvious globe patch', + marseyoctopus3: 'consume product epic win communities no bait too obvious globe patch', + marseypartymaxx: 'party meme parrot vibing jam dance', + marseypartyxmas: 'christmas holiday santa hat beard rainbow animated', + marseypartyzoom: 'party meme parrot vibing jam dance', + marseypin: 'pinned sticky', + marseyplaying: 'fish playful mischief srdine animated', + marseyplaying2: 'fish playful mischief srdine animated', + marseyplugged: 'electric technology gif animated plug', + marseyponder: 'ponder orb wizard magician crystal ball', + marseypredator: 'predator drone obama wedding military', + marseyraccoon: 'trashpanda trash panda', + marseyrake: 'canada canadian day of the rake leaf leaves fall autumn genocide', + marseyreindeer3: 'rudolf Dasher Dancer Prancer Vixen Comet Cupid Donner Blitzen santa sleigh sled christmas winter holiday', + marseyreindeer4: 'rudolf Dasher Dancer Prancer Vixen Comet Cupid Donner Blitzen santa sleigh sled christmas winter holiday', + marseysanta3: 'claus christmas presents gifts holiday', + marseysexy: 'ned flanders stupid sexy flanders skiier skiing winter simpsons', + marseyshutitdown: 'cop glownigger fed glowie agent federal mossad israel idf the goyim know kikes radio walkie talkie', + marseysnow: 'snowman snowmarsey cold winter christmas holiday', + marseysnowman: 'christmas cold snow winter', + marseysnowman2: 'christmas cold snow winter', + marseytransflag: 'trans flag then consumeproduct', + marseyvirus: 'phage infect infection plagued', + marseywholesome:'seal award reddit tene', + chudsey: '4chan virgin pol rightoid', + firecat: 'firefox browser marsey', + karlmarxey: 'marxist communist history communism socialism', + marcerberus: 'threeheadeddog horror halloween holiday greek three headed dog monster', + marchipmunk: 'rodent squirrel wuzizname', + marchipmunklove: 'chipmonk adoration loving rodent heart eyes adore acorn', + marcusfootball: 'sport handegg hand egg athlete helmet', + marfield: 'mondays garfield lasagna', + marje: 'juicebox juice box madje marsey', + marlion: 'animated flippers wave fins waving mermaid', + marmsey: 'rodent happy marmot', + marppy: 'cyborg sentient snapshillbot android snappy robot', + marscientist: 'beaker goggles glass crazy chemicals science', + marsey173: 'horror spooky halloween spc holiday', + marsey1984: 'orwell book ingsoc big brother fascist', + marsey300: 'leonidas shield armor thermopylae spear greek spartan', + marsey420: 'marijuana weed dude weed lmao ganja drugs pot reggae joint jamaican', + marsey4chan: 'neckbeard anonymous loser hacker', + marsey666: 'wings hell halloween demon satan holiday devil animated', + marsey666black: 'wings hell halloween demon satan holiday devil animated', + marsey69: '6ix9ine snitch tattooed tattoos rapper', + marseyairquotes: 'reaction patronizing animated uh huh', + marseyakshually: 'contrarian false disagree meme neckbeard nerd wrong correction actually weeb', + marseyakumu: 'simp love loving weebshit', + marseyalien: 'green man martian scepter', + marseyamazon: 'warehouse piss bottle driver wagecuck piss jug pissbottle pissjug wagie', + marseyandmarcus: 'bed sleeping cuddling cuddle marseyismywaifu', + marseyanime: 'sayian weeb', + marseyannoyed: 'pissed irritation reaction annoyance angry mad irritated stfu grr', + marseyanticarp: 'reaction fish carpathianflorist', + marseyantiwork: 'lazy laze bum unemployed animated', + marseyaoc: 'latina latino hispanic cortez mexican puerto rican ocasio congress alexandria', + marseyargentina: 'south america argentinian sudamericano', + marseyarmy: 'soldiers o7 salute saluting', + marseyascii: 'blurry', + marseyascii2: 'oldschool', + marseyasian: 'chinese china srdine sardine', + marseyatsume: 'kitten kitty weebshit', + marseyauthleft: 'marxist ussr marxism ccp communist khmer rouge leftoid communism juche', + marseyauthright: 'rightoid national socialism ss national socialist nazi wehrmacht hitler fascist', + marseyautism: 'retarded neurodivergent hat sped aspergers', + marseyaward: 'medal good job good work retard reaction great job great work nice', + marseyayy: 'wop tone guido wooden doors sopranos greaser dego', + marseybaby: 'pacifier bb little', + marseybackstab: 'betrayal kill knife caesar assassinate betrayer murder', + marseybadger: 'animal marmot', + marseybadluck: 'unlucky black cat poc nigger blackcat', + marseybait: 'trolled baited trolling redditor', + marseyballerina: 'dress ballet tutu dancer dancing', + marseyban: 'jannie janitor banhammer moderator banned', + marseybane: 'soy mask batman capeshit', + marseybaphomet: 'halloween demon satan holiday evil devil', + marseybased: 'basado king chiobu redpilled reaction animated', + marseybateman: 'bret easton ellis serial halloween patrick american psycho killer holiday blood murderer', + marseybath: 'shower tub rubber duck', + marseybattered: 'blackeye domestic violence black eye marseyismywaifu beaten bruised housewife', + marseybear: 'brian gabby murderer brianna', + marseybear2: 'ursine bear fursona skin animal costume furry fursuit', + marseybeggar: 'poor busking panhandler gofundme busker', + marseyben10: 'ten anime cartoon lawlz', + marseybiden: 'ddd dementia daddy president sleepy joe', + marseybigbrain: 'high iq highiq smart genius', + marseybigdog: 'bussy big dog poster', + marseybiker: 'motorcycle harley bicycle helmet', + marseybingus: 'floppa shaved hairless', + marseybinladen: 'turban al qaeda terrorist islam beard osama martyr muslim', + marseybiting: 'reaction datass lip bite dat ass', + marseyblackface: 'moon cricket jogger nigger racism coon racist minstrelsy jigaboo', + marseyblackfacexmas: 'uncle tom moon cricket christmas santa beard nigger racist claus coon', + marseyblm: 'social justice black lives matter sjw', + marseyblueanime: 'cirno touhou weebshit', + marseybluecheck: 'journoid checkmark verified journalist drolling drool twitter', + marseyblush: 'shy flirting reaction blushing happy cute embarrassed', + marseybog: 'rich brothers bogdanoff', + marseybong: 'england walkers britain english chips british bad teeth crisps', + marseybooba: 'awooga tits titties boobs eyes animated tiddies', + marseyboomer: 'sipping shades sunglasses old yup vape', + marseybountyhunter: 'abortion leather vest cowboy gunslinger texas revolver', + marseybowl: 'marijuana weed dude weed lmao ganja drugs reaction pot pipe', + marseybrainlet: 'idiot imbecile smoothbrain crushed head retard caved in head sped dumb stupid drooling moron', + marseybrap: 'brap sniff smell huff gas fart animated', + marseybrave: 'bat browser', + marseybrianna: 'trans bear laundrie gabby', + marseybrianna2: 'trans bear laundrie gabby', + marseybride: 'dress tiara married wedding veil marseyismywaifu marriage', + marseybruh: 'bruhfunny funny or ban', + marseybuff: 'ripped muscular 6pack swole 6 pack sixpack abs six pack muscles', + marseybug: 'beetle glitch error insect roach', + marseybug2: 'glitch code error', + marseybunny: 'furonsa bunny usagi skin animal costume furry fursuit', + marseyburger: 'burgerstan hamburger cheeseburger mutt american', + marseybush: 'genocide president mission accomplished victory george bush we did it', + marseybux: 'money paypig currency dollar bill primo premium dollarbill cash', + marseybye: 'farewell cya l8r wave reaction waving animated so long', + marseybyeceps: 'crying kyle gaige grosskreutz rioter sad', + marseycalarts: 'excited eager happy thrilled', + marseycamus: 'philosophy history', + marseycanned: 'srdine sleeping tin fish sardine', + marseycapitalistmanlet: 'money top hat rich landlord cigar llm tophat', + marseycapy: 'capybara rodent aevann happy cute', + marseycapypat: 'petting capybara aevann animated patting', + marseycapywalking: 'capybara animated aevann', + marseycarp: 'beard mohawk reaction carpathianflorist monster', + marseycarp2: 'harm cutting selfharm cutter reaction carpathianflorist self animated', + marseycarp3: 'reaction fish carpathianflorist catfish', + marseycarpcrying: 'tear reaction carpathianflorist fish sob tears sad', + marseycarppat: 'petting carpathianflorist fish animated patting', + marseycat: 'fursona skin animal costume furry neko fursuit cat', + marseycatgirl: 'uwu waifu anime fursona furry owo weebshit fursuit', + marseycatgirl2: 'anime weebsit', + marseycatgirl3: 'anthro anime weebshit', + marseycatgirljanny: 'anime maid weebshit', + marseyceiling: 'spy masturbate watching peeping', + marseycensored: '1984 memory hole censorship repressed', + marseycenter: 'reaction grilling boomer centrist', + marseychad: 'canthal tilt jaw hunter eyes', + marseycheeky: 'stick tongue brat reaction taunt na tongue out tease', + marseycheerup: 'pat animated depressed comforting grieving reaction depression there there console comfort pet', + marseycheesehead: 'packers greenbay green bay football', + marseychef: 'mustache cooking', + marseycherokee: 'savage pocahontas elizabeth warren injun indian redskin liz warren', + marseychonker: 'brap rolls fat obese reaction fds heifer', + marseychristmas: 'candy cane santa christmas holiday', + marseychristmasbulb: 'ornament christmas happy holiday', + marseychristmaself: 'christmas xmas santa holiday happy worker', + marseychristmastree: 'christmas retard special holiday', + marseychucky: 'doll halloween kill stab knife holiday possessed monster', + marseychungus: 'bugs bunny meme fat chonker big', + marseyclapping: 'good job animated good work reaction great job well done applaud applause great work nice celebrate approve judgment', + marseycleonpeterson: 'wtf scary art', + marseyclown: 'makeup joker', + marseyclown2: 'joker', + marseyclown3: 'unicycle animated', + marseycoal: 'christmas naughty santa cigarette present gift holiday doom', + marseycoin: 'dramacoin money dc spinning rich payment gold dinero animated dollars', + marseycolossal: 'halloween skin holiday scary mouths', + marseycommitted: 'psycho crazy insane straitjacket asylum reaction loony bin straightjacket', + marseycomrade: 'marxist ussr ccp communist authleft communism juche soviet kgb', + marseycomradehandshake: 'ussr russia communist shaking hand communism soviet', + marseyconfused: 'questionmark reaction question mark idgi confusion', + marseycontemplate: 'reaction consternation thinking hmm', + marseycool: 'finger gun shades sunglasses reaction judgment', + marseycool2: 'cigarette hip shades sunglasses jacket smoking', + marseycoomer: 'masturbation goon cumbrain porn masturbate', + marseycoonass: 'student lsu university louisana state', + marseycop: 'acab thin blue line chauvin police officer', + marseycopeseethedilate: 'dilate seethe coping seething reaction angry mad dilating cope malding', + marseycorn: 'iowa vegetable', + marseycountryclub: 'golfer elite rich golfing cc elitist preppy', + marseycow: 'cow fursona skin animal costume furry heifer fursuit', + marseycowboy: 'western pardner reaction hat tootin yeehaw rootin', + marseycreepy: 'pervert pedophile weird reaction chomo creeper sketchy molester', + marseycrucified: 'jesus jesus christ crucifix cross christian', + marseycrusader: 'knight deusvult templar crusades catholic', + marseycrying: 'tear cried despair weeping reaction depression sob tears sadness depressed animated sad', + marseycthulhu: 'horror halloween lovecraftian holiday eldritch evil scary monster', + marseycuck: 'soyboy funko redditor neckbeard loser', + marseycumjar1: 'semen jizz sperm spunk bukkake', + marseycumjar2: 'semen jizz sperm spunk bukkake', + marseycumjar3: 'semen jizz sperm spunk bukkake', + marseycut: 'cutting selfharm emo self harm cutter reaction depressed', + marseycwc: 'sonichu chan chris chan chandler sweater chrischan medallion striped chris', + marseydab: 'reaction haters', + marseydaemon: 'pitchfork hell halloween demon satan devil scary holiday', + marseydarwin: 'history darwinian euphoric atheist charles', + marseydawnbreaker: 'gamer video game warhammer', + marseydeadhorse: 'drowned pony drowning', + marseydeadinside: 'reaction depression suicide dark suicidal depressed shadow sad', + marseydealwithit: 'cool shades sunglasses reaction animated', + marseyderp: 'hehe teehee troll animated durr giggle', + marseydespair: 'doomer reaction depression horrified suicidal depressed judgment', + marseydetective: 'holmes sherlock magnifying glass bowtie', + marseydeux: 'frenchman deuxrama baguette frog frenchie', + marseydeuxfoid: 'deuxrama asian azn hardislife hil', + marseydevil: 'pitchfork daemon hell halloween demon mischievous satan holiday heck evil', + marseydicklet: 'babydick penis micro dick reaction laugh point and laugh micropenis judgment', + marseydildo: 'horse', + marseydio: 'diogenesjr diogenesjunior meme cat', + marseydisabled: 'retarded handicapable handicapped wheelchair crippled', + marseydisgust: 'pissed gross eww angry mad disturbing disturbed yuck', + marseyditzy: 'pokemon', + marseydizzy: 'puke nausea spinning vomit reaction nauseous sick rolling barf animated', + marseydog: 'puppy doggo fursona skin animal costume dog furry fursuit', + marseydolphin: 'ocean goggles rainbow', + marseydoomer: 'cigarette smoker despair depression alcoholic suicidal smoking depressing', + marseydoubt: 'suspicious sussy reaction sarcastic sarcasm', + marseydracula: 'halloween fangs cape holiday vampire', + marseydragon: 'smaug rich hoard gold treasure', + marseydrama: 'agendapost where drama seriouspost drama where', + marseydream: 'spirals trippy swirls rainbow', + marseydrone: 'obama rotors', + marseydrunk: 'drinking shitfaced alcoholic liquor happy beer', + marseyduck: 'bird beak', + marseyduck2: 'onesie', + marseydynamite: 'dynomite black afro gun', + marseyegg_irl: 'troomer tranny transgender lgbt groomer troid transsexual', + marseyeldritch: 'lovecraft horror halloween tentacles holiday scary monster', + marseyeldritch2: 'horror halloween lovecraftian holiday scary', + marseyelephant: 'oliphant dumbo', + marseyemo: 'girl goth scene', + marseyemperor: 'gold', + marseyespeon: 'trick or treat pokemon halloween eevee costume holiday', + marseyespeonheadpat: 'trick or treat pokemon petting halloween eevee reaction costume holiday animated patting', + marseyface: 'mask psycho face horror halloween kill killer stab knife holiday evil murder scary murderer', + marseyfacepalm: 'reaction omfg judgment', + marseyfamily: 'family guy family man peter griffin griffin peter', + marseyfans: 'of thot taxpayer slut onlyfans whore', + marseyfattie: 'brap fatass chonker pig lorg', + marseyfbi: 'cop glownigger fed glowie agent federal', + marseyfeelsgood: 'meme frog feels good man pepe feelsgoodman happy', + marseyfeet: 'foot frozenchosen fetish', + marseyfellowkids: 'groomer adult buscemi skateboard', + marseyfeminist: 'misandry fds scrotes moids', + marseyfeynman: 'history', + marseyfine: 'this is fine meme thisisfine burning fire', + marseyfinger: 'flipping middle finger bird reaction flicking judgment', + marseyflamethrower: 'vietname soldier fire', + marseyflamewar: 'troll fight fire reaction gasoline', + marseyflareon: 'trick or treat pokemon halloween eevee costume holiday', + marseyflareonpat: 'trick or treat pokemon petting halloween eevee reaction costume holiday animated patting', + marseyfloyd: 'dead blm chauvin fentanyl george', + marseyfocault: 'philosophy history', + marseyfox: 'fursona furry fursuit kitsune', + marseyfreezepeach: '1984 censorship free speech reaction freespeech ruqqus', + marseyfrog: 'scaley fursona furry scalie amphibian fursuit', + marseyfrog2: 'scaley fursona furry scalie amphibian toad fursuit', + marseyfrozen: 'dead ice reaction cold frozen', + marseyfrozenchosen: 'blonde girl', + marseyfrozenpat: 'petting staring unhappy reaction stare animated patting', + marseyfry: 'phillip fry take my money futurama', + marseyfuckoffcarp: 'reaction carpathianflorist rude snappy animated robot', + marseyfug: 'benis mustache snallygaster meme', + marseyfunko: 'action figure doll funko toy soy', + marseyfurry: 'fursona furry fursuit kitsune', + marseygandalf: 'lord of the rings magic lotr mage wizard warlock', + marseygarfield: 'mondays lasagna', + marseyghost: 'spooky halloween costume holiday scary sheet', + marseygift: 'present christmas wrapping paper holiday', + marseygigachad: 'reaction hunter eyes canthal tilt jawline', + marseygigavaxxer: 'covid vaccine coronavirus vaccination', + marseygivecrown: 'king based swole reaction muscles', + marseygiveup: 'despair reaction depression miserable fall over depressed falling over animated sad', + marseyglaceon: 'trick or treat pokemon halloween eevee costume holiday', + marseyglaceonpat: 'trick or treat pokemon petting halloween eevee reaction costume holiday animated patting', + marseyglam: 'rocker pretty glamorous beautiful', + marseyglancing: 'eyes animated nervous paranoid', + marseyglow2: 'fbi mossad feds agent glownigger reaction glowie fed atf cia nsa', + marseyglowaward: 'medal fbi ribbon animated glownigger retard glowie fed atf cia nsa', + marseygodel: 'old philosophy glasses history', + marseygodfather: 'wop italy italian dego mafia', + marseygodzilla: 'raptor halloween dinosaur gojira evil bug', + marseygondola: 'mustache meme long legs', + marseygoodnight: 'kazakhstan flag reaction kazakh i hate women women', + marseygossip: 'tea rotary phone popcorn gabbing', + marseygrass: 'reaction outside touchgrass touch grass', + marseygrilling: 'barbecue bbq centrist boomer barbeque', + marseygrilling2: 'bbq boomer barbecue barbeque', + marseygroomer: 'pedobear discord pedophile pedo chomo molest pedocord', + marseygroomer2: 'molest discord chomo snoo pedo pedocord reddit', + marseyhacker: 'nerd matrix reaction computer animated', + marseyhacker2: 'dox anonymous computer', + marseyhandsup: 'hands up pawsup arrested arresting reaction paws up under arrest', + marseyhannibal: 'flesh psycho horror halloween cannibal eat holiday', + marseyhappening: 'ronpaul s happening it ron paul itshappening animated', + marseyhappy: 'pleased contented reaction contentment satisfied', + marseyhappytears: 'tears of joy crying', + marseyhead: 'blood spurting headless horror halloween animated', + marseyhealthy: 'burger king fat fast food crown unhealthy junk food', + marseyheathcliff: 'heathecliff', + marseyheavymetal: 'rocker musician rock guitar', + marseyhellraiser: 'pinhead halloween holiday evil monster', + marseyhillary: 'president her turn hilary hilldawg clinton', + marseyhippo: 'hippopotamus hippo fursona furry skin animal costume fursuit', + marseyhmm: 'confused reaction thinking thunk thonk judgment', + marseyhmmm: 'confused reaction thinking thunk thonk judgment', + marseyhomofascist: 'lgbt faggot ss fash nazi homocracy gay queer sodomy wholesome kiss', + marseyhomosupremacist: 'klan lgbt faggot kkk homocracy sodomy queer gay wholesome', + marseyhoodwink: 'cloak crossbow', + marseyhope: 'mask whitepill reaction happy hopium', + marseyhorseshoe: 'rightoid leftoid theory', + marseyhungry: 'food hunger dish feed me bowl animated', + marseyhypno: 'hypnosis spiral brainwash animated hypnotoad', + marseyilluminati: 'eye egypt pyramid big brother watching', + marseyimposter: 'amogus baka among us sussy', + marseyinshallah: 'begging muslim animated please', + marseyinvisible: 'stealth', + marseyira: 'car bomb irish ireland', + marseyisis: 'daesh terrorist islam muslim', + marseyit: 'balloon halloween pennywise clown holiday evil', + marseyjanny: 'jannie unpaid volunteer administrator janitor free moderator', + marseyjanny2: 'jannie unpaid volunteer administrator janitor free moderator', + marseyjapanese: 'nippon rising sun weeb japan animated', + marseyjason: 'hockey mask horror halloween kill fridaythe13th knife stab voorheys friday the 13th evil monster holiday', + marseyjeans: 'denim trousers pants', + marseyjesus: 'christian', + marseyjiangshi: 'ghost chinese halloween holiday china scary', + marseyjohnson: 'wig history', + marseyjoint: 'smoke weed marijuana reefer drugs smoking 420 pot', + marseyjolteon: 'trick or treat pokemon halloween eevee costume holiday', + marseyjolteonpat: 'trick or treat pokemon petting halloween eevee reaction costume holiday animated patting', + marseyjones: 'tinfoil animated alex gay frogs conspiracy', + marseyjourno: 'journoid media press photo camera journalist pic', + marseyjudge: 'objection innocent hammer guilty gavel court overruled sustained', + marseyjunkie: 'needles heroin reaction shooting up addicted shoot up syringe', + marseykaiser: 'uraniumdonger prussian history wwi rifle reich wilhelm germany soldier', + marseykfc: 'col sanders colonel sanders kentucky fried chicken', + marseykingcrown: 'based animated', + marseykink: 'bdsm sex kinkster dom pervert sub creeper latex fetish dildo pvc', + marseykitty: 'hellokitty animated hello kitty', + marseykiwi: 'kf bird new zealand kiwifarms dramarama newzealand', + marseykiwi2: 'kf bird new zealand kiwifarms dramarama newzealand', + marseykiwipat: 'kf petting reaction kiwifarms dramarama animated patting', + marseykkk: 'klan kukluxklan ku klux klan racist costume klux ku sheet', + marseykneel: 'blm bow black lives matter chauvin supremacy respect supreme', + marseykvlt: 'horgh abbath black metal krieg bullet belt immortal corpsepaint', + marseykween: 'hoop earring fds black shaniqua', + marseykweenxmas: 'blm black christmas santa bipoc nigger bame hat holiday', + marseykyle: 'killer konvict rifle rittenhouse kid gun kenosha kylie', + marseykys: 'reaction keep yourself safe kill yourself suicide', + marseylaptop: 'notebook macbook computer', + marseylawlz: 'masterlawls zhcyid9 masterlawlz reaction glasses', + marseyleafeon: 'trick or treat pokemon halloween eevee costume holiday', + marseyleafeonpat: 'trick or treat pokemon petting halloween eevee reaction costume holiday animated patting', + marseylibleft: 'unemployed protest riot anarcho capitalist antifa anarchist anarchy', + marseylibright: 'libertarian anarcho wagecuck pedophile capitalist lolbert', + marseylifting: 'workout muscular work out bench swole working out gains benchpress weightlifting weights muscles', + marseylion: 'fursona furry fursuit leo', + marseyliondance: 'parade ccp chinese dancer dancing asian china animated', + marseyliquidator: 'gas mask horror exterminator halloween plague doctor holiday scary', + marseylizard: 'reptilian', + marseyllama: 'alpaca', + marseyllama1: 'top', + marseyllama2: 'middle', + marseyllama3: 'bottom', + marseylolcow: 'reaction trolled lulz judgment', + marseylongpost: 'tldr reaction wall of text wordswordswords animated words', + marseylongpost: 'reaction judgment', + marseylongpost2: 'tldr reaction wall of text scrolling wordswordswords animated words judgment', + marseylovedrama: 'hearts rdrama reaction happy animated', + marseyloveyou: 'hearts ilu reaction adoration loving ily love adore animated', + marseylowpoly: 'polygonal spinning 3d lopoly animated', + marseyluther: 'heretic lutheran theses martin luther', + marseymalding: 'dilate seethe scrote mad moid cope', + marseymancer: 'dead undead horror lich halloween necromancer zombies zombie holiday evil', + marseymanlet: 'llm short midget dwarf little king', + marseymao: 'zedong ccp chinese communist communism china', + marseymaoist: 'marxist little red book marxism ccp chinese communist authleft maoism communism china', + marseymask: 'plague coronavirus covid pandemic coof sickness love heart eyes illness', + marseymati: 'annoyed irritation top hat reaction angry irritated tophat', + marseymayo: 'yt jakubian crying cracker reaction crackkka crakkka white sad tears', + marseymcarthur: 'nuke missile nuclear bomb history', + marseymeds: 'mentally ill rightoid doctor psycho crazy mental illness reaction risperidone schizo nurse', + marseymermaid: 'merman merfolk', + marseymexican: 'latina latino hispanic fiesta sombrero latinx hombre', + marseymini: 'annihilate minigun machine gun kill destroy murder animated', + marseyminimalism: 'orange minimalist square art', + marseyminimalism2: 'minimalist polygons polygonal art', + marseyminion: 'gru pixar', + marseymissing: 'absent low effort', + marseymodelo: 'cheers alcohol drinking beer', + marseymodelo2: 'cheers alcohol beer drinking', + marseymonk: 'meditate levitating pray buddhist fish asian levitate animated', + marseymonke: 'retvrn return', + marseymoose: 'moosin antlers', + marseymorph: 'skinwalker changeling', + marseymouse: 'rodent cheesed to meet you', + marseymugshot: 'arran prison arrested criminal jail', + marseymummy: 'egyptian halloween monster holiday', + marseymummy2: 'egyptian halloween monster holiday', + marseymutt: 'american burger 56 percent mayo', + marseymyeisha: 'kween black fds', + marseymyspacetom: 'carp friend carpathianflrost anderson', + marseyn8: 'n8thegr8 nate redditor powermod powerjannie moderator', + marseynails: 'manicure emoji pedicure', + marseynapoleon: 'baguette soldier frenchman history', + marseyneat: 'photo cringe compilation camera cringe collection pic', + marseyneckbeard: 'mlady bodypillow dakimakura anime otaku fedora weebshit body pillow mra weeb', + marseyneet: 'cozy comfy wagie', + marseyneon: 'wave flashy trippy waving flashing lights animated', + marseynerd: 'dork loser dweeb geek glasses', + marseynietzsche: 'philosophy history', + marseyniggawut: 'weird reaction raised eyebrow disturbing disturbed wtf judgment', + marseynightmare: 'striped sweater freddy freddie horror halloween krueger holiday claws monster', + marseynintendo: 'mario gamer switch gaymer video game mustache soy', + marseyniqab: 'burka islam muslim burqa', + marseynooo: 'reaction snob no way', + marseynosleep: 'horror scary halloween holiday', + marseynoyou: 'nou no u pointing', + marseynoyouglow: 'fbi no u animated feds glowies glowniggers atf cia nsa', + marseynpc: 'sheeple', + marseynpc2: 'reaction idiot sheep', + marseynun: 'habit catholic', + marseynut: 'orgasm ahegao cum reaction coom', + marseynyan: 'space animated meme poptart', + marseyobese: 'fat chonker bbw chonk chunky pig lorg', + marseyobesescale: 'fat chonker bbw chonk chunky pig lorg', + marseyobey: '1984 sign ingsoc poster big brother', + marseyoceania: 'kiwi new zealand kangaroo newzealand australia', + marseyoctopus: 'tentacles kraken tentacled', + marseyohno: 'panic frightened scared horror scream afraid reaction horrified nervous shock gasp', + marseyonacid: 'tripping trippy drugs lcd animated', + marseyorthodox: 'priest schismatic', + marseyorthodoxpat: 'petting patting schismatic priest animated russian', + marseyowow: 'reaction excited owo', + marseypaint: 'low effort art', + marseypainter: 'palet reaction pallet paintbrush paints artist pallette', + marseypanda: 'red panda bear happy redpanda', + marseypanda2: 'panda bear fursona skin animal costume furry fursuit', + marseypanties: 'reaction underwear panty pantsu', + marseyparty1: 'trippy animated happy dance', + marseyparty2: 'trippy animated happy dance', + marseyparty3: 'trippy animated happy dance', + marseypatriot: 'uncle sam red white and blue burgerland holiday american 4oj patriotic', + marseypeacekeeper: 'united nations un rifle helmet gun', + marseypearlclutch: 'sensitive reaction snowflake puritanical gasp sjw', + marseypearlclutch2: 'sensitive reaction snowflake puritanical gasp sjw', + marseypedo: 'libertarian borpa male feminist discord pedophile groomer chomo lolbert toucher', + marseypedobear: 'groomer molest nonce', + marseypenguin: 'bird linux puffin', + marseypepe: 'ok rightoid mellokind frog reaction', + marseypepe2: 'reaction frog mellokind', + marseypharaoh: 'egyptian aevann pyramids', + marseypharaoh2: 'gods egyptian aevann animated', + marseypickle: 'picklerick funniest shit morty rick', + marseypig: 'fat fursona furry hog fursuit oink', + marseypikachu: 'electric pokemon yellow', + marseypikachu2: 'pokemon shoked meme reaction surprised shocked gasp', + marseypilgrim: 'thanksgiving puritan holiday', + marseypimp: 'slickback purple baller', + marseypinochet: 'fascist fash ugarte augusto chopper helicopter chile', + marseypipe: 'smoke smart mhm yes smoking tobacco intelligent', + marseypirate: 'argh eyepatch bandana uraniumdonger', + marseypirate2: 'party parrot eyepatch partyparrot', + marseypixel: 'reaction lorez lowres', + marseypizzashill: 'sex haver chad grass toucher', + marseyplanecrash: 'flying wreck jet pilot animated', + marseyplaty: 'hearts crossover platypus love', + marseypleading: 'sad eyes begging puppy dog eyes', + marseyplush: 'bow ribbon doll plushie button eyes', + marseypoggers: 'poggies twitch meme', + marseypokerface: 'small eyes reaction stare unreadable beady eyes', + marseypony: 'murmurwisper mlp my little ponies cutie mark horse furry my little pony', + marseypoor: 'homeless beggar panhandler proletariat bum', + marseypop: 'action figure doll funko toy soy', + marseypop2: 'excited blahblahblah blah blah blah animated', + marseypopcorn: 'eating entertained drama happy animated', + marseypopcorntime: 'eating popped corn drama animated watch', + marseypope: 'priest catholicism rome', + marseypostmodern: 'postmodernist obscurantist art', + marseypresents: 'christmas gifts santa holiday candy cane happy', + marseypretty: 'flirt starry eyed stars in eyes', + marseypride: 'prideflag rights', + marseyprisma: 'animated fingers anime spin dance weeb', + marseyproctologist: 'exam rectal glove reaction anus anal colonoscopy', + marseyprotestno: 'sign protester refuse reaction deny reject', + marseyprotestyes: 'agree sign protester reaction approve', + marseypsycho: 'reaction schizo crazy', + marseypuke: 'hurl throw up gross animated illness vomit nauseated reaction upchuck nauseous sickening yuck barf ralph judgment', + marseypumpkin: 'jackolantern carving halloween holiday jack o lantern', + marseypumpkin2: 'jackolantern carving halloween holiday jack o lantern', + marseypumpkin3: 'witch jackolantern carving halloween holiday jack o lantern', + marseypumpkin4: 'ghost jackolantern carving halloween holiday jack o lantern', + marseypumpkincloak: 'costume halloween holiday', + marseypumpking: 'jackolantern jack o lantern halloween holiday', + marseypumpkinglow: 'halloween drama holiday jack o lantern animated', + marseypunching: 'battle squaring up hit square up boxer fight throwdown reaction boxing fistfight fighting', + marseypunisher: 'thin blue line rightoid police cops', + marseyqoomer: 'shaman viking qanon jan6 capitol january6', + marseyquadmagyar: 'bow and arrow hungary hungarian archery bowman quadnarca', + marseyqueen: 'england bong english british elizabeth', + marseyqueenlizard: 'england bong english british reptilian elizabeth', + marseyracist: 'racing vroom racecar bigot reaction', + marseyracistgrandpa: 'thanksgiving fuck nigger holiday', + marseyradioactive: 'nuclear waste chernobyl radiation geiger', + marseyrage: 'troll anger seethe furious reaction angry mad fury', + marseyraging: 'rage angry mad fury animated', + marseyramen: 'eating noodles food bowl animated soup', + marseyrare: 'kangaroo wtf', + marseyrasta: 'marijuana weed dude weed lmao ganja drugs pot reggae joint jamaican', + marseyrat: 'rodent black', + marseyrave: 'dead animated party death sandstorm darude crab dance', + marseyreading: 'study homework learn nerd novel reaction book', + marseyreich: 'nazi pol authright fuhrer hitler fascist', + marseyreindeer: 'christmas santa rudolf capy cold aevann holiday animated walking', + marseyreindeer2: 'santa christmas rudolf holiday', + marseyrentfree: 'reaction no charge obsessed obsession', + marseyreportercnn: 'reporter journalist journoid interviewer', + marseyreporterfox: 'reporter journalist journoid interviewer', + marseyretard: 'special ed retarded reaction slow sped drooling exceptional', + marseyrevolution: 'marxist ussr marxism ccp hammer communist sickle communism proletariat juche fartbinn kgb', + marseyrick: 'smart 150iq high iq reaction 150 iq morty', + marseyroo: 'kangaroo australian', + marseyrope: 'reaction suicidal shotgun facelift suicide', + marseyropeyourself: 'kill yourself kys lynch reaction keep yourself safe hanging noose', + marseyropeyourself2: 'kill yourself kys lynch reaction keep yourself safe hanging noose', + marseyrowling: 'harry potter terf jkr', + marseyrpgcharacter: 'gamer video game gaymer', + marseyrs: 'runescape party hat phat crown lowpoly low poly', + marseyrussel: 'old pipe history', + marseyrussiadolls: 'toys ussr babushka matryoshka soviet', + marseysad2: 'reaction disappointed disappointment upset', + marseysadcat: 'upset disappointing disappointment reaction disappointed sad', + marseysadge: 'frog pepe', + marseysaint: 'wings angel blessed halo animated', + marseysalad: 'vegan cabbage vegetarian lettuce vegetable', + marseysalat: 'prayer islam muslim rug', + marseysalty: 'sodium saltshaker seethe salt shaker nacl animated', + marseysalutearmy: 'saluting o7 military soldier', + marseysalutecop: 'acab officer saluting o7 police', + marseysalutenavy: 'saluting semen o7 homosexual soldier', + marseysanders: 'bernie rich socialism socialist jewish', + marseysanta: 'christmas gifts presents claus holiday', + marseysanta2: 'christmas gifts presents claus holiday', + marseysartre: 'philosophy frenchman history', + marseysaw: 'doll horror halloween jigsaw monster evil torture game holiday', + marseyscared: 'hide halloween afraid nervous holiday traumatized fearful', + marseyschizo: 'harm burns selfharm self harm cigarette burning mermaids reaction artist self', + marseyschrodinger: 'philosophy science physics math', + marseyseven: 'vidya gamer gaymer video game assassin hitman', + marseysexylibrarian: 'books thot nerd boobs bra geek', + marseyshapiro: 'benjamin debate libtard facts and logic benny jewish ben shapiro', + marseysharingan: 'horror halloween holiday possessed animated monster', + marseyshark: 'jaws halloween fursona furry fish costume holiday fursuit', + marseysheep: 'follower wool lamb fursona bah furry fursuit', + marseysheepdog: 'shaggy scruffy woof', + marseyshiftyeyes: 'suspicious sussy paranoid weird reaction sketchy', + marseyshisha: 'weed smoker smoking hookah', + marseyshooting: 'blam blatt shotgun kill pow murder', + marseyshroom: 'smug fungus shrigma', + marseyshy: 'flirting anxious twiddle nervous flirty coy animated', + marseysick: 'puke nausea green face vomit nauseated reaction nauseous barf judgment', + marseysigh: 'breathe give up giveup reaction depression breathing depressed animated', + marseysjw: 'lgbt social justice reaction gay snowflake pride', + marseyskater: 'dope hip sk8 ill tony hawk sick skateboard not a poser rad', + marseyskeleton: 'dead bones halloween holiday skeletal', + marseyskeleton2: 'bones spooky halloween holiday skeletal', + marseyskeletor: 'skeleton mask heman 80s man halloween he man cartooon he holiday', + marseysmirk: 'reaction snicker trolling lol', + marseysmoothbrain: 'idiot big brain brainlet retard reaction fool dumbass moron', + marseysmudge: 'diogenesjr diogenesjunior meme', + marseysmug: 'reaction superior haha', + marseysmug2: 'snicker scoff mock reaction guffaw ridicule judgment', + marseysmug3: 'reaction yikes judgment oof cringe', + marseysnappypat: 'petting animated sentient reaction snapshillbot robot patting', + marseysnek: 'snake serpent', + marseysniff: 'brap huff gas reaction fart creep', + marseysnoo: 'shaking redditor scared reaction nervous schizo reddit', + marseysob: 'tear crying depressed reaction sobbing depression sad cry animated tears', + marseysociety: 'batman joker capeshit jared leto', + marseysombrero: 'mexican mexico', + marseysonic: 'hedgehog blue', + marseysoypoint: 'soyboy soy boy beard reaction pointing', + marseyspecial: 'retard reaction slow special needs sped', + marseyspecialpat: 'petting retard reaction sped fartbinn animated patting', + marseyspider: 'insect halloween arachnid holiday bug', + marseyspider2: 'insect halloween spiderweb arachnid holiday bug', + marseyspirit: 'ghost halloween holiday', + marseyspit: 'surprising reaction shocking water surprised shocked', + marseyspooky: 'art horror halloween holiday evil scary monster', + marseyspookysmile: 'horror halloween holiday evil scary monster', + marseysrdine: 'fisherman reaction fish canned fishing', + marseysrdine2: 'can animated reaction fish knife chop sardine', + marseystars: 'stareyes reaction star eyes starry eyed stareyed', + marseysteer: 'car drive nervous driving animated', + marseystein: 'undead frankenstein abomination halloween holiday monster', + marseystinky: 'smelly homeless stank poor ew yuck', + marseystonetoss: 'amogus pebblethrow nazi reaction boulderpummel', + marseystroke: 'derp retard reaction stupid drooling', + marseysuffragette: '19a foid feminist 19th terrible feminism regret woman women mistake', + marseysulk: 'crying reaction depression sobbing depressed sad', + marseysuper: 'superstraight lgbt', + marseysurprised: 'reaction shocked shook unexpected', + marseysus: 'amogus among us stonetoss sussy baka amongus', + marseysweating: 'anxiety worried wipe scared worrying reaction anxious nervous stressed', + marseysylveon: 'trick or treat pokemon halloween eevee costume holiday', + marseysylveonpat: 'trick or treat pokemon petting halloween eevee reaction costume holiday animated patting', + marseytaliban: 'mujahideen janniejihad islam afganistan shariah afghanistan muslim', + marseytalibanpat: 'mujahideen petting janniejihad terrorist islam reaction afganistan muslim animated patting', + marseytank: 'military ussr ccp communist authleft tank army communism china soviet', + marseytankushanka: 'military ussr ccp communist authleft tank army communism china soviet russian', + marseytea: 'drama spill', + marseyteaparty: 'donger arran soren carp duck', + marseytears: 'pout teary crying cried reaction sob eyes cry sad', + marseyteruteru: 'ghost flying spooky halloween holiday floating', + marseythegrey: 'lord of the rings magic gandalf lotr mage wizard warlock', + marseytheorist: 'ancient aliens meme', + marseything: 'halloween holiday scary monster teeth', + marseythinkorino: 'reaction thinking hmm thought', + marseythinkorino: 'reaction judgment', + marseythomas: 'tank engine train locomotive', + marseythonk: 'confused reaction thinking thunk thonk', + marseythroatsinging: 'mongolian music', + marseytiger: 'fursona furry fursuit', + marseytime: '10pm tock tick clock animated', + marseytinfoil: 'alex jones psycho crazy schizo alexjones conspiracy', + marseytinfoil2: 'alex jones rightoid psycho schizo alexjones conspiracy', + marseytoilet: 'flush loo bog roll toilet paper swirly', + marseytrad: 'dress foid tradwife floral girl', + marseytrain: 'troomer tranny transgender trains troid transsexual animated', + marseytrans2: 'troon tranny transgender troomer lgbt trannies troid transsexual', + marseytrickortreat: 'candy trick or treat halloween holiday', + marseytroll: 'dio trollface reaction diogenesjr diogenesjunior', + marseytroll2: 'ogre horror halloween holiday monster', + marseytrollcrazy: 'i hate killher psycho rage kill her gun', + marseytrollgun: 'kill her psycho', + marseytrollolol: 'rage trolled rageface', + marseytroublemaker: 'we do a little trolling', + marseytrump: 'cheeto hitler president history orange man', + marseytunaktunak: 'turban animated curry indian pajeet dance', + marseyturkey: 'beak bird thanksgiving holiday feathers', + marseytv: 'willy wonka telly television', + marseytwins: 'halloween holiday flashing shining scary animated', + marseyuglyxmasweater: 'santa hat christmas ugly holiday', + marseyumbreon: 'trick or treat pokemon halloween eevee costume holiday', + marseyumbreonpat: 'trick or treat pokemon petting halloween eevee reaction costume holiday animated patting', + marseyunabomber: 'package industrial society delivery mail kaczynski uncle ted', + marseyunpettable: 'fashy rightoid chud fashwave altright vaporwave', + marseyuwuw: 'fursona furry fursuit', + marseyvampire: 'undead sanguine horror spooky halloween fangs holiday monster', + marseyvan: 'libertarian pedobear free candy pedophile groomer lolbert chomo molester pedo toucher', + marseyvaporeon: 'trick or treat pokemon halloween eevee costume holiday', + marseyvaporeonpat: 'trick or treat pokemon petting halloween eevee reaction costume holiday animated patting', + marseyvaporwave: 'trippy 80s psychedelic animated retro', + marseyvaxmaxx: 'mask coronavirus covid gigavax corona vaccine vaccination hazmat', + marseyvengeance: 'gore undead shotgun horror halloween revenge monster bloody head wound holiday', + marseyvibing: 'animated bopping vibe jam dancing headbang music rainbow dance', + marseyvietnam: 'army born to kill soldier war', + marseywagie: 'crypto rightoid ancap poor wagecuck mcdonalds maccas reaction', + marseywallst: 'crypto wall street bets invest gme bitcoin wallstreetbets wsb stock', + marseywarhol: 'modern art', + marseywave: 'farewell cya hello greetings bye waving hi', + marseyweeb: 'neckbeard sword fedora kitana', + marseywendy: 'pigtails redhead pippi', + marseywheredrama: 'seriouspost reaction agendapost dramawhere animated', + marseywheredrama2: 'seriouspost animated agendapost', + marseywhirlyhat: 'idiot retard hat dumb sped slow stupid special kid', + marseywinner: 'reaction trophy gold prize first place', + marseywise: 'hood cloak wizard pipe', + marseywitch: 'spooky halloween magick holiday fartbinn evil scary', + marseywitch2: 'tranny troomer penny wvp feminist halloween bardfinn groomer magick troid steve monster', + marseywitch3: 'flying broomstick wave halloween wizard holiday', + marseywoah: 'tldr reaction wall of text wordswordswords stfu', + marseywolf: 'halloween werewolf holiday scary monster', + marseywords: 'longpost too long tldr reaction wordswordswords', + marseywords2: 'longpost too long tldr reaction wordswordswords', + marseyworried: 'anxiety sweat panic scared sweaty sweating anxious nervous stressed', + marseywtf: 'scared reaction shook surprised shocked', + marseywtf2: 'shocked reaction wth disturbing disturbed what the fuck', + marseywut: 'pathetic asuka', + marseyxd: 'lmao reaction rofl haha lol', + marseyxoxo: 'hearts wave flirt loving love animated kiss', + marseyyass: 'queen reaction fds slay girlboss kween', + marseyyawn: 'zzz boring tired sleepy bored', + marseyyeezus: 'kanye god hotep', + marseyyes: 'thumbsup agree right thumbs up reaction judgment', + marseyyikes: 'reaction judgment disgust oof cringe', + marseyza: 'antlers flowers', + marseyzombie: 'dead undead eye horror intestines halloween holiday monster', + marseyzoomer: 'child brat kid zoomie', + marseyzwei: 'drinking germany lederhosen zweirama bavarian beer', + marsheen: 'pusheen animated meme cute', + marsheepnpc: 'follower', + marsoy: 'soyboy soybeard nintendo gamer switch marsey gaymer pointing', + marsoyhype: 'soyboy soybeard nerd marsey excited wojak cuck', + mcmarsey: 'wageslave poor mcdonalds wagecuck maccas antiwork college wagie', + mersya: 'the best adorable aww marsey dramarama favorite cute', + mersya2: 'drawing art', + mersyapat: 'petting reaction dramarama animated cute patting', + mlm: 'marseylivesmatter marsey lives matter blm', + owlsey: 'bird hoot feathers', + plarsy: 'platy crossover platypus marsey plarsey', + thinbluefeline: 'cops police', + }, + }, + { + type:'platy', + emojis: ['plarsy','platyabused','platyblizzard','platyboxer','platydevil','platyfear','platygirlmagic','platygolong','platyhaes','platyking','platylove','platyneet','platyold','platypatience','platypopcorn','platyrich','platysarcasm','platysilly','platysleeping','platythink','platytired','platytuxedomask','platyblush','platybruh','platycaveman','platycheer','platydown','platyeyes','platyheart','platylol','platymicdrop','platynooo','platysalute','platyseethe','platythumbsup','platywave'] + }, + { + type: 'tay', + emojis: ['taylove','tayaaa','tayadmire','taycat','taycelebrate','taychefkiss','taychristmas','tayclap','taycold','taycrown','tayflex','tayflirt','taygrimacing','tayhappy','tayheart','tayhmm','tayhuh','tayhyperdab','tayjammin','taylaugh','taymindblown','tayno','taynod','taypeace','taypray','tayrun','tayscrunch','tayshake','tayshrug','taysilly','tayslide','taysmart','taystop','taytantrum','taytea','taythink','tayvibin','taywhat','taywine','taywine2','taywink','tayyes'] + }, + { + type: 'classic', + emojis: ['idhitit','2thumbsup','aliendj','ambulance','angry','angrywhip','argue','aroused','ashamed','badass','banana','band','banghead','batman','bigeyes','bite','blind','blowkiss','blush','bong','bounce','bow','breakheart','bs','cartwheel','cat','celebrate','chainsaw','cheers','clap','cold','confused','crazyeyes','cry','cthulhu','cute','d','daydream','ddr','deadpool','devilsmile','diddle','die','distress','disturbing','dizzy','domo','doughboy','drink','drool','dudeweedlmao','edward','electro','elephant','embarrassed','emo','emo2','evil','evilclown','evilgrin','facepalm','fap','flamethrower','flipbird','flirt','frown','gasp','glomp','go','gooby','grr','gtfo','guitar','haha','handshake','happydance','headbang','heart','heartbeat','hearts','highfive','hmm','hmph','holdhands','horny','hug','hugging','hugs','hump','humpbed','hysterical','ily','inlove','jason','jawdrop','jedi','jester','kaboom','kick','kiss','kitty','laughchair','lick','link','lol','lolbeat','loving','makeout','medal','megaman','megamanguitar','meow','metime','mooning','mummy','na','nauseous','nervous','ninja','nod','nono','omg','onfire','ooo','orly','p','paddle','panda','pandabutt','paranoid','party','pat','peek','pikachu','pimp','plzdie','poke','popcorn','pout','probe','puke','punch','quote','raccoon','roar','rofl','roflmao','rolleyes','sad','sadeyes','sadhug','samurai','sarcasm','scoot','scream','shmoopy','shrug','skull','slap','slapfight','sleepy','smackfish','smackhead','smh','smile','smoke','sonic','spank','sparta','sperm','spiderman','stab','star','stare','stfu','suicide','surprisehug','suspicious','sweat','swordfight','taco','talk2hand','tantrum','teehee','thinking','threesome','throw','throwaway','tickle','typing','uhuh','vampbat','viking','violin','vulgar','wah','wat','whip','whipping','wink','witch','wizard','woah','worm','woo','work','worship','wow','xd','yay','zzz'] + }, + { + type: 'rage', + emojis: ['trolldespair','clueless','troll','bitchplease','spit','challengeaccepted','contentiouscereal','cryingatcuteness','derp','derpcornsyrup','derpcrying','derpcute','derpdumb','derpeuphoria','derpinahd','derpinapokerface','derpinasnickering','derpprocessing','derprealization','derpsnickering','derptalking','derpthinking','derpthumbsup','derpunimpressed','derpwhy','donotwant','epicfacefeatures','fancywithwine','fffffffuuuuuuuuuuuu','flipthetable','foreveralone','foreveralonehappy','hewillnever','idontknow','interuptedreading','iseewhatyoudidthere','killherkillher','ledesire','leexcited','legenius','lelolidk','lemiddlefinger','lemindblown','leokay','lepanicrunning','lepokerface','lepokerface2','lerageface','leseriousface','likeaboss','lolface','longwhiskers','manymiddlefingers','megusta','motherfucker','motherofgod','mysides','ohgodwhy','pervertedspiderman','picard','ragestrangle','rukiddingme','tfwyougettrolled','trollolol','truestorybro','xallthey','yuno'] + }, + { + type: 'wojak', + emojis: ['soymad','boomerportrait','soycry','punchjak','seethejak','chadyes','chadno','abusivewife','ancap','bardfinn','bloomer','boomer','boomermonster','brainletbush','brainletcaved','brainletchair','brainletchest','brainletmaga','brainletpit','chad','chadarab','chadasian','chadblack','chadjesus','chadjew','chadjihadi','chadlatino','chadlibleft','chadnordic','chadsikh','chadusa','coomer','doomer','doomerfront','doomergirl','ethot','fatbrain','fatpriest','femboy','gogetter','grug','monke','nazijak','npc','npcfront','npcmaga','psychojak','ragejak','ragemask','ramonajak','soyjackwow','soyjak','soyjakfront','soyjakhipster','soyjakmaga','soyjakyell','tomboy','zoomer','zoomersoy'] + }, + { + type: 'flags', + emojis: ['niger','lgbt','saudi','animesexual','blacknation','blm','blueline','dreamgender','fatpride','incelpride','israel','kazakhstan','landlordlove','scalperpride','superstraight','trans','translord','transracial','usa'] + }, + { + type: 'misc', + emojis: ['retardedchildren','bruh','autism','doot','kylieface','queenyes','wholesomeseal','chadyescapy','gigachadglow','gigachadorthodox','gigachad','gigachad2','gigachad3'] + }, +] + +function getEmoji(searchTerm) { + const form = document.getElementById(EMOJI_BOX_ID).getAttribute(EMOJI_FORM_DESTINATION_ATTR) + const commentBox = document.getElementById(form); + const old = commentBox.value; + const curPos = parseInt(commentBox.getAttribute(TEXTAREA_POS_ATTR)); + + const firstHalf = old.slice(0, curPos) + const lastHalf = old.slice(curPos) + + let emoji = ':' + searchTerm + ':' + const previousChar = firstHalf.slice(-1) + if (firstHalf.length > 0 && previousChar !== " " && previousChar !== "\n") { + emoji = " " + emoji + } + if (lastHalf.length > 0 && lastHalf[0] !== " ") { + emoji = emoji + " " + } + + commentBox.value = firstHalf + emoji + lastHalf; + + const newPos = curPos + emoji.length + + commentBox.setAttribute(TEXTAREA_POS_ATTR, newPos.toString()); + + if (typeof checkForRequired === "function") checkForRequired(); + + const favorite_emojis = JSON.parse(localStorage.getItem("favorite_emojis")) || {} + if (favorite_emojis[searchTerm]) favorite_emojis[searchTerm] += 1 + else favorite_emojis[searchTerm] = 1 + window.localStorage.setItem("favorite_emojis", JSON.stringify(favorite_emojis)) +} + +function loadEmojis(form) { + + let search_bar = document.getElementById("emoji_search"); + let search_container = document.getElementById('emoji-tab-search') + + let container = document.getElementById(EMOJI_BOX_ID) + container.setAttribute(EMOJI_FORM_DESTINATION_ATTR, form) + + const commentBox = document.getElementById(form); + commentBox.setAttribute(TEXTAREA_POS_ATTR, commentBox.selectionStart); + + if (search_bar.value == "") { + + for (let i = 0; i < EMOJIS_STRINGS.length; i++) { + let type = EMOJIS_STRINGS[i].type + let container = document.getElementById(`EMOJIS_${type}`) + let str = '' + let arr = EMOJIS_STRINGS[i].emojis + if (i == 0) + { + for (const [key, value] of Object.entries(arr)) { + str += ``; + } + } + else { + for (let j = 0; j < arr.length; j++) { + str += ``; + } + } + + container.innerHTML = str + search_container.innerHTML = "" + } + } else { + let str = '' + for (let i = 0; i < EMOJIS_STRINGS.length; i++) { + let arr = EMOJIS_STRINGS[i].emojis + + let container = document.getElementById(`EMOJIS_${EMOJIS_STRINGS[i].type}`) + for (let j = 0; j < arr.length; j++) { + if (arr[j].match(search_bar.value.toLowerCase()) || search_bar.value.toLowerCase().match(arr[j])) { + str += ``; + } + } + + if (i == 0) + { + let arr2 = EMOJIS_STRINGS[i].emojis; + for (const [key, value] of Object.entries(arr2)) { + if (str.includes(`'${key}'`)) continue; + if (key.match(search_bar.value.toLowerCase()) || search_bar.value.toLowerCase().match(key) || value.match(search_bar.value.toLowerCase())) { + str += ``; + } + } + container.innerHTML = "" + } + } + search_container.innerHTML = str + } + search_bar.oninput = function () { + loadEmojis(form); + }; +} + +let str = "" +const favorite_emojis = JSON.parse(localStorage.getItem("favorite_emojis")) + +if (favorite_emojis) +{ + const sortable = Object.fromEntries( + Object.entries(favorite_emojis).sort(([,a],[,b]) => b-a) + ); + + for (const emoji of Object.keys(sortable)) + str += `` + + document.getElementById('EMOJIS_favorite').innerHTML = str +} diff --git a/files/assets/js/fingerprint.js b/files/assets/CHRISTMAS/js/fingerprint.js similarity index 100% rename from files/assets/js/fingerprint.js rename to files/assets/CHRISTMAS/js/fingerprint.js diff --git a/files/assets/CHRISTMAS/js/fireflies.js b/files/assets/CHRISTMAS/js/fireflies.js new file mode 100644 index 000000000..85995d09b --- /dev/null +++ b/files/assets/CHRISTMAS/js/fireflies.js @@ -0,0 +1,7 @@ +new BugController({ + imageSprite: "/assets/CHRISTMAS/images/fireflies.webp", + canDie: false, + minBugs: 10, + maxBugs: 30, + mouseOver: "multiply" +}); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/followers.js b/files/assets/CHRISTMAS/js/followers.js new file mode 100644 index 000000000..40134830b --- /dev/null +++ b/files/assets/CHRISTMAS/js/followers.js @@ -0,0 +1,5 @@ +function removeFollower(event, username) { + post_toast('/remove_follow/' + username); + let table = document.getElementById("followers-table"); + table.removeChild(event.target.parentElement.parentElement); +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/following.js b/files/assets/CHRISTMAS/js/following.js new file mode 100644 index 000000000..bb04c2815 --- /dev/null +++ b/files/assets/CHRISTMAS/js/following.js @@ -0,0 +1,5 @@ +function removeFollowing(event, username) { + post_toast('/unfollow/' + username); + let table = document.getElementById("followers-table"); + table.removeChild(event.target.parentElement.parentElement); +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/formatting.js b/files/assets/CHRISTMAS/js/formatting.js new file mode 100644 index 000000000..74f26774c --- /dev/null +++ b/files/assets/CHRISTMAS/js/formatting.js @@ -0,0 +1,57 @@ + +function makeBold(form) { + var text = document.getElementById(form); + var startIndex = text.selectionStart, + endIndex = text.selectionEnd; + var selectedText = text.value.substring(startIndex, endIndex); + + var format = '**' + + if (selectedText.includes('**')) { + text.value = selectedText.replace(/\*/g, ''); + } + else if (selectedText.length == 0) { + text.value = text.value.substring(0, startIndex) + selectedText + text.value.substring(endIndex); + } + else { + text.value = text.value.substring(0, startIndex) + format + selectedText + format + text.value.substring(endIndex); + } +} + +function makeItalics(form) { + var text = document.getElementById(form); + var startIndex = text.selectionStart, + endIndex = text.selectionEnd; + var selectedText = text.value.substring(startIndex, endIndex); + + var format = '*' + + if (selectedText.includes('*')) { + text.value = selectedText.replace(/\*/g, ''); + } + else if (selectedText.length == 0) { + text.value = text.value.substring(0, startIndex) + selectedText + text.value.substring(endIndex); + } + else { + text.value = text.value.substring(0, startIndex) + format + selectedText + format + text.value.substring(endIndex); + } +} + +function makeQuote(form) { + var text = document.getElementById(form); + var startIndex = text.selectionStart, + endIndex = text.selectionEnd; + var selectedText = text.value.substring(startIndex, endIndex); + + var format = '>' + + if (selectedText.includes('>')) { + text.value = text.value.substring(0, startIndex) + selectedText.replace(/\>/g, '') + text.value.substring(endIndex); + } + else if (selectedText.length == 0) { + text.value = text.value.substring(0, startIndex) + selectedText + text.value.substring(endIndex); + } + else { + text.value = text.value.substring(0, startIndex) + format + selectedText + text.value.substring(endIndex); + } +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/fp.js b/files/assets/CHRISTMAS/js/fp.js new file mode 100644 index 000000000..974e2c6c6 --- /dev/null +++ b/files/assets/CHRISTMAS/js/fp.js @@ -0,0 +1 @@ +var FingerprintJS=function(e){"use strict";var t=function(){return(t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]e.length)return-1;for(var n=0;n>2]+y[(3&t[i])<<4|t[i+1]>>4]+y[(15&t[i+1])<<2|t[i+2]>>6]+y[63&t[i+2]];return n%3==2?r.slice(0,-1)+"=":n%3==1?r.slice(0,-2)+"==":r}function C(e){for(var t="",n=0;n0){var r=e[n].toLowerCase();r!==e[n]?t+=" "+r:t+=e[n]}else t+=e[n].toUpperCase();return t}function _(e){return void 0===e?void 0:""+e}function I(e,t){for(var n="",r=0;r=r+n?(r=a,[4,W(0)]):[3,3]):[3,4];case 2:i.sent(),i.label=3;case 3:return++o,[3,1];case 4:return[2]}}))}))}function K(e,t){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]];var n=[0,0,0,0];return n[3]+=e[3]+t[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=e[2]+t[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=e[1]+t[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=e[0]+t[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function J(e,t){e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]],t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]];var n=[0,0,0,0];return n[3]+=e[3]*t[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=e[2]*t[3],n[1]+=n[2]>>>16,n[2]&=65535,n[2]+=e[3]*t[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=e[1]*t[3],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=e[2]*t[2],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=e[3]*t[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=e[0]*t[3]+e[1]*t[2]+e[2]*t[1]+e[3]*t[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function X(e,t){return 32===(t%=64)?[e[1],e[0]]:t<32?[e[0]<>>32-t,e[1]<>>32-t]:(t-=32,[e[1]<>>32-t,e[0]<>>32-t])}function Y(e,t){return 0===(t%=64)?e:t<32?[e[0]<>>32-t,e[1]<>>1]),e=Z(e=J(e,[4283543511,3981806797]),[0,e[0]>>>1]),e=Z(e=J(e,[3301882366,444984403]),[0,e[0]>>>1])}function ee(e){return parseInt(e)}function te(e){return parseFloat(e)}function ne(e,t){return"number"==typeof e&&isNaN(e)?t:e}function re(e){return e.reduce((function(e,t){return e+(t?1:0)}),0)}function ie(e){return e&&"object"==typeof e&&"message"in e?e:{message:e}}function oe(e,t,n){var o=Object.keys(e).filter((function(e){return!function(e,t){for(var n=0,r=e.length;n=4}function ue(){var e=window,t=navigator;return re(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!ae()}function se(){var e=window,t=navigator;return re(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,0===t.vendor.indexOf("Google"),"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function ce(){var e=window,t=navigator;return re(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,0===t.vendor.indexOf("Apple"),"getStorageUpdates"in t,"WebKitMediaKeys"in e])>=4}function le(){var e=window;return re(["safari"in e,!("DeviceMotionEvent"in e),!("ongestureend"in e),!("standalone"in navigator)])>=3}function fe(){var e,t,n=window;return re(["buildID"in navigator,"MozAppearance"in(null!==(t=null===(e=document.documentElement)||void 0===e?void 0:e.style)&&void 0!==t?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function de(){var e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function ve(){var e=se(),t=fe();if(!e&&!t)return!1;var n=window;return re(["onorientationchange"in n,"orientation"in n,e&&!("SharedWorker"in n),t&&/android/i.test(navigator.appVersion)])>=2}function he(e){var t=new Error(e);return t.name=e,t}function me(e,t,n){var o,a,u;return void 0===n&&(n=50),r(this,void 0,void 0,(function(){var r,s;return i(this,(function(i){switch(i.label){case 0:r=document,i.label=1;case 1:return r.body?[3,3]:[4,W(n)];case 2:return i.sent(),[3,1];case 3:s=r.createElement("iframe"),i.label=4;case 4:return i.trys.push([4,,10,11]),[4,new Promise((function(e,n){var i=!1,o=function(){i=!0,e()};s.onload=o,s.onerror=function(e){i=!0,n(e)};var a=s.style;a.setProperty("display","block","important"),a.position="absolute",a.top="0",a.left="0",a.visibility="hidden",t&&"srcdoc"in s?s.srcdoc=t:s.src="about:blank",r.body.appendChild(s);var u=function(){var e,t;i||("complete"===(null===(t=null===(e=s.contentWindow)||void 0===e?void 0:e.document)||void 0===t?void 0:t.readyState)?o():setTimeout(u,10))};u()}))];case 5:i.sent(),i.label=6;case 6:return(null===(a=null===(o=s.contentWindow)||void 0===o?void 0:o.document)||void 0===a?void 0:a.body)?[3,8]:[4,W(n)];case 7:return i.sent(),[3,6];case 8:return[4,e(s,s.contentWindow)];case 9:return[2,i.sent()];case 10:return null===(u=s.parentNode)||void 0===u||u.removeChild(s),[7];case 11:return[2]}}))}))}function pe(e){for(var t=function(e){for(var t,n,r="Unexpected syntax '"+e+"'",i=/^\s*([a-z-]*)(.*)$/i.exec(e),o=i[1]||void 0,a={},u=/([.:#][\w-]+|\[.+?\])/gi,s=function(e,t){a[e]=a[e]||[],a[e].push(t)};;){var c=u.exec(i[2]);if(!c)break;var l=c[0];switch(l[0]){case".":s("class",l.slice(1));break;case"#":s("id",l.slice(1));break;case"[":var f=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(l);if(!f)throw new Error(r);s(f[1],null!==(n=null!==(t=f[4])&&void 0!==t?t:f[5])&&void 0!==n?n:"");break;default:throw new Error(r)}}return[o,a]}(e),n=t[0],r=t[1],i=document.createElement(null!=n?n:"div"),o=0,a=Object.keys(r);o.6*t.length}))).sort(),[2,r]}}))}))},fontPreferences:function(){return function(e,t){void 0===t&&(t=4e3);return me((function(n,r){var i=r.document,a=i.body,u=a.style;u.width=t+"px",u.webkitTextSizeAdjust=u.textSizeAdjust="none",se()?a.style.zoom=""+1/r.devicePixelRatio:ce()&&(a.style.zoom="reset");var s=i.createElement("div");return s.textContent=o(Array(t/20<<0)).map((function(){return"word"})).join(" "),a.appendChild(s),e(i,a)}),'')}((function(e,t){for(var n={},r={},i=0,o=Object.keys(Fe);i=3}())return-1;var n=new t(1,5e3,44100),r=n.createOscillator();r.type="triangle",r.frequency.value=1e4;var i=n.createDynamicsCompressor();i.threshold.value=-50,i.knee.value=40,i.ratio.value=12,i.attack.value=0,i.release.value=.25,r.connect(i),i.connect(n.destination),r.start(0);var o=function(e){var t=3,n=500,r=500,i=5e3,o=function(){};return[new Promise((function(a,u){var s=!1,c=0,l=0;e.oncomplete=function(e){return a(e.renderedBuffer)};var f=function(){setTimeout((function(){return u(he("timeout"))}),Math.min(r,l+i-Date.now()))},d=function(){try{switch(e.startRendering(),e.state){case"running":l=Date.now(),s&&f();break;case"suspended":document.hidden||c++,s&&c>=t?u(he("suspended")):setTimeout(d,n)}}catch(r){u(r)}};d(),o=function(){s||(s=!0,l>0&&f())}})),o]}(n),a=o[0],u=o[1],s=a.then((function(e){return function(e){for(var t=0,n=0;n=1)return Math.round(e/t)*t;var n=1/t;return Math.round(e*n)/n}(e,10)})(e[0]),n(e[1]),n(e[2]),n(e[3])]]}}))}))}},osCpu:function(){return navigator.oscpu},languages:function(){var e,t=navigator,n=[],r=t.language||t.userLanguage||t.browserLanguage||t.systemLanguage;if(void 0!==r&&n.push([r]),Array.isArray(t.languages))se()&&re([!("MediaSettingsRange"in(e=window)),"RTCEncodedAudioFrame"in e,""+e.Intl=="[object Intl]",""+e.Reflect=="[object Reflect]"])>=3||n.push(t.languages);else if("string"==typeof t.languages){var i=t.languages;i&&n.push(i.split(","))}return n},colorDepth:function(){return window.screen.colorDepth},deviceMemory:function(){return ne(te(navigator.deviceMemory),void 0)},screenResolution:function(){var e=screen,t=function(e){return ne(ee(e),null)},n=[t(e.width),t(e.height)];return n.sort().reverse(),n},hardwareConcurrency:function(){return ne(ee(navigator.hardwareConcurrency),void 0)},timezone:function(){var e,t=null===(e=window.Intl)||void 0===e?void 0:e.DateTimeFormat;if(t){var n=(new t).resolvedOptions().timeZone;if(n)return n}var r,i=(r=(new Date).getFullYear(),-Math.max(te(new Date(r,0,1).getTimezoneOffset()),te(new Date(r,6,1).getTimezoneOffset())));return"UTC"+(i>=0?"+":"")+Math.abs(i)},sessionStorage:function(){try{return!!window.sessionStorage}catch(e){return!0}},localStorage:function(){try{return!!window.localStorage}catch(e){return!0}},indexedDB:function(){if(!ae()&&!ue())try{return!!window.indexedDB}catch(e){return!0}},openDatabase:function(){return!!window.openDatabase},cpuClass:function(){return navigator.cpuClass},platform:function(){var e=navigator.platform;return"MacIntel"===e&&ce()&&!le()?function(){if("iPad"===navigator.platform)return!0;var e=screen,t=e.width/e.height;return re(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}()?"iPad":"iPhone":e},plugins:function(){var e=navigator.plugins;if(e){for(var t=[],n=0;n>>0).toString(16)).slice(-8)+("00000000"+(o[1]>>>0).toString(16)).slice(-8)+("00000000"+(a[0]>>>0).toString(16)).slice(-8)+("00000000"+(a[1]>>>0).toString(16)).slice(-8)};function qe(){var e=window,t=navigator;return k(["maxTouchPoints"in t,"mediaCapabilities"in t,"PointerEvent"in e,"visualViewport"in e,"onafterprint"in e])>=4}function Ve(){var e=window;return k([!("PushManager"in e),!("AudioBuffer"in e),!("RTCPeerConnection"in e),!("geolocation"in navigator),!("ServiceWorker"in e)])>=3}var ze=function(e){return new We(e).addEvent},We=function(){function e(e){var t=this;this.onReportReady=e,this.isStopped=!1,this.pageStartTimestamp=function(){var e,t,n=performance;if(n.timeOrigin){var r=null===(t=null===(e=n.getEntriesByType)||void 0===e?void 0:e.call(n,"navigation"))||void 0===t?void 0:t[0];if(r)return n.timeOrigin+(r.responseStart||r.unloadEventEnd)}return n.timing.domLoading||n.timing.responseStart||n.timing.unloadEventEnd}(),this.events={},this.addEvent=function(e){if(!t.isStopped){var n={time:new Date,type:"agentEvent",event:e};switch(0===e.e&&(n.documentReadyState=document.readyState,n.isPageVisible=Qe(),n.isFullscreen=et(),n.network=tt()),t.storeAgentEvent(n),e.e){case 2:t.submitReport(e.agentId,void 0);break;case 4:case 5:t.submitReport(e.agentId,e.getCallId)}}};for(var n=window,r=document,i=[[r,"readystatechange",function(){return t.handleDocumentReadyStateChange()}],[r,"visibilitychange",function(){return t.handleVisibilityChange()}],[r,"pageshow",function(){return t.handlePageTransition(!0)}],[r,"pagehide",function(){return t.handlePageTransition(!1)}],[n,"unload",function(){return t.handlePageUnload()}]],o=0,a=i;o=o)break;var v=d&&d.time.getTime()<=o,h=((null==d?void 0:d.time)||i).getTime()-f.time.getTime();u.triesCount++,u.triesTotalDuration+=h,v&&(u.completeTriesCount++,u.completeTriesTotalDuration+=h)}}return u}function Xe(e,n){return e?t(t({},e),n()):void 0}function Ye(e){for(var t={},n=0,r=Object.keys(e);n1800?A(new Uint8Array(c,0,1800))+"...":A(c))}return s(t(t({},u),{body:c}))}}function at(e){if(!e||"incomplete"===e.state||"fail"===e.state)return e;e.componentDurations;var r=n(e,["componentDurations"]),i=Object.keys(e.failedComponents),o=i.length?","+i.join(",")+",":void 0;return t(t({},r),{failedComponents:o})}function ut(e,n){void 0===n&&(n="_");for(var r=t({},e),i=0,o=Object.keys(e);i=500)return t;throw t}function Mt(e,t,n,r,i){void 0===i&&(i=P);var o=i()%(n+1),a=function(e){if("function"==typeof TextEncoder)return(new TextEncoder).encode(e);for(var t=unescape(encodeURI(e)),n=new Uint8Array(t.length),r=0;r=2?function(){return r(this,void 0,void 0,(function(){var e,t,n,r,o;return i(this,(function(i){switch(i.label){case 0:return e=Gt(),t=navigator,n=t[e[3]],(r=t[e[4]])?[4,new Promise((function(t){r[e[5]]((function(e,n){return t(n)}))}))]:[3,2];case 1:return o=i.sent(),[3,4];case 2:return(null==n?void 0:n[e[6]])?[4,n[e[6]]().then((function(e){return e.quota}))]:[3,4];case 3:o=i.sent(),i.label=4;case 4:return o?[2,ot?a0?d.push(C+"("+w+")="+e.getParameter(w)):d.push(C+"="+w)}}for(var _=0,I=fn;_0&&t(n),[2]}}))}))}),30))},s.createOffer().then((function(n){var r=n.sdp;if(!r)return t(-5);for(var i=[],c=0;c=4)?[2,-2]:[4,Sn(t=An())];case 1:return n=r.sent(),null==e||e(),"number"==typeof n?[2,n]:n.length===t.length?[2,-3]:n.length>1?[2,Tn(n)]:1===n.length?[2,n[0]]:[2,-1]}var i}))}))}function _n(){var e,t,n,r=((n=new Promise((function(n,r){e=n,t=r}))).resolve=e,n.reject=t,n),i=f(le()?310:410);return h(Promise.race([r,i]).then((function(e){if(void 0!==e)return f(e+100-Date.now())})).then((function(){return-4})),(function(){return Cn((function(){return r.resolve(Date.now())}))}))}var In=["brands","mobile","platform","platformVersion","architecture","bitness","model","uaFullVersion"];function On(){var e;return r(this,void 0,void 0,(function(){var t,n,o,a=this;return i(this,(function(u){switch(u.label){case 0:return(t=navigator.userAgentData)&&"object"==typeof t?(n={},o=[],"function"!=typeof t.getHighEntropyValues?[3,2]:[4,Promise.all(In.map((function(e){return r(a,void 0,void 0,(function(){var r,a;return i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,t.getHighEntropyValues([e])];case 1:return void 0!==(r=i.sent()[e])&&(n[e]="string"==typeof r?r:JSON.stringify(r)),[3,3];case 2:if("NotAllowedError"!==(a=i.sent()).name)throw a;return o.push(e),[3,3];case 3:return[2]}}))}))})))]):[2,void 0];case 1:u.sent(),u.label=2;case 2:return[2,{b:t.brands.map((function(e){return{b:e.brand,v:e.version}})),m:t.mobile,p:null!==(e=t.platform)&&void 0!==e?e:null,h:n,nah:o}]}}))}))}function Pn(){var e=document.createElement("a").attributionsourceid;return void 0===e?void 0:String(e)}function xn(){return function(e){for(var t,n,r=[],i=e;;)try{var o=null===(t=i.location)||void 0===t?void 0:t.href,a=null===(n=i.document)||void 0===n?void 0:n.referrer;if(void 0===o||void 0===a)return{s:1,v:r};r.push({l:o,f:a});var u=i.parent;if(!u||u===i)return{s:0,v:r};i=u}catch(s){if(Dn(s))return{s:1,v:r};throw s}}(window)}function Dn(e){if(!e||"object"!=typeof e)return!1;var t=e;return!(!ae()&&!ue()||"Error"!==t.name&&"TypeError"!==t.name||"Permission denied"!==t.message)||"SecurityError"===t.name}function Mn(){return function(e){var t=e.location,n=e.origin,r=t.origin,i=t.ancestorOrigins,o=null;if(i){o=new Array(i.length);for(var a=0;a=0;--n)if(n%4096==0){var r=Math.random();e.push((t-r)*Math.pow(2,31)|0),t=r}return e}function qn(){var e;return r(this,void 0,void 0,(function(){var t,n,o,a,u,s,c=this;return i(this,(function(l){switch(l.label){case 0:if(!(t=null===(e=window.crypto)||void 0===e?void 0:e.subtle)||!t.generateKey||!t.exportKey)return[2,-1];n=function(){return r(c,void 0,void 0,(function(){var e,n;return i(this,(function(r){switch(r.label){case 0:return[4,t.generateKey({name:"AES-GCM",length:128},!0,["encrypt"])];case 1:return e=r.sent(),[4,t.exportKey("raw",e)];case 2:return n=r.sent(),[2,new Uint8Array(n)]}}))}))},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.all([n(),n()])];case 2:for(o=l.sent(),a=new Uint8Array(o[0].length),u=0;u0?e.lastIndexOf(".",n-1):-1,!1===t(e.slice(n+1)))return!1}while(n>=0);return!0}function Kn(e,t){Hn(t,e,365),function(e,t){var n;try{null===(n=null===localStorage||void 0===localStorage?void 0:localStorage.setItem)||void 0===n||n.call(localStorage,e,t)}catch(r){}}(t,e)}function Jn(e){var t,n;try{return null!==(n=null===(t=null===localStorage||void 0===localStorage?void 0:localStorage.getItem)||void 0===t?void 0:t.call(localStorage,e))&&void 0!==n?n:void 0}catch(r){}}function Xn(e,t,n,r,i){if(!t){var o=function(e,t){return t||(Object.prototype.hasOwnProperty.call(ct,e)||(e="us"),"https://tls-"+ct[e]+".fpapi.io")}(e,n);return G(i,(function(){return{e:6,endpoint:o}})),[lt(o,r,i),Date.now()]}}function Yn(e,n,o,a,u,s,c,l){var d=this,v=function(e,t,n,l,v,p,g){return r(d,void 0,void 0,(function(){var r,d,b,w,y,E,R,k,S;return i(this,(function(i){switch(i.label){case 0:return r=f(l).then((function(){throw new Error(dt)})),[4,Promise.race([r,Promise.all([m(g),h(l,n,g)])])];case 1:return d=i.sent(),b=d[0],w=d[1],E=function(e){return[zn(e),Jn(e)]}(y=c+"_t"),[4,jt({token:o,endpoint:Ft(a,u),components:b,customComponent:p,tag:e,visitorToken:E,tls:w,linkedId:t,extendedResult:v,algorithm:s},r,g)];case 2:return R=i.sent(),k=R[0],(S=R[1])&&Kn(S,y),[2,k]}}))}))},h=function(e,t,o){return r(d,void 0,void 0,(function(){var r,a,u,s,c;return i(this,(function(i){switch(i.label){case 0:if(!n||t)return[2,void 0];r=n[0],a=n[1],u=Math.min(Math.max(.1*e,a+1e4-Date.now()),.4*e),i.label=1;case 1:return i.trys.push([1,3,,4]),[4,r(f(u))];case 2:return s=i.sent(),G(o,(function(){return{e:7,result:s}})),[2,{value:s}];case 3:return c=i.sent(),G(o,(function(){return{e:8,error:c}})),[2,{error:c}];case 4:return[2]}}))}))},m=function(t){return r(d,void 0,void 0,(function(){var n,r;return i(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,e()];case 1:return n=i.sent(),G(t,(function(){return{e:13,result:n}})),[2,n];case 2:throw r=i.sent(),G(t,(function(){return{e:14,error:r}})),r;case 3:return[2]}}))}))};return{get:function(e){void 0===e&&(e={});var n=l&&function(e,n){return function(r){return e(t(t({},r),{getCallId:n}))}}(l,O(8));return q(n,(function(){return{e:3,options:e}}),(function(e){return{e:4,result:e}}),(function(e){return{e:5,error:e}}),(function(){var t=e.timeout,r=void 0===t?1e4:t,i=e.tag,o=e.linkedId,a=e.disableTls,u=e.extendedResult,s=e.environment;return v(i,_(o),a,r,u,s,n)}))}}}function Zn(e,n,o){var u,s=this,c=x([null==o?void 0:o.debug,(u=/{(.*?)}/.exec(location.hash),!!u&&1915004642===function(e){for(var t=0,n=0;n
Agree
Laugh
Confused
Sad
Happy
Awesome
Yes
No
Love
Please
Scared
Angry
Awkward
Cringe
OMG
Why
Gross
Meh
' + + backBtn.innerHTML = null; + + cancelBtn.innerHTML = null; + + noGIFs.innerHTML = null; + + loadGIFs.innerHTML = null; + } + else { + backBtn.innerHTML = ''; + + cancelBtn.innerHTML = ''; + + let response = await fetch("/giphy?searchTerm=" + searchTerm + "&limit=48"); + let data = await response.json() + var max = data.length - 1 + data = data.data + var gifURL = []; + + if (max <= 0) { + noGIFs.innerHTML = '

Aw shucks. No GIFs found...

'; + container.innerHTML = null; + loadGIFs.innerHTML = null; + } + else { + for (var i = 0; i < 48; i++) { + gifURL[i] = "https://media.giphy.com/media/" + data[i].id + "/giphy.webp"; + if (data[i].username==''){ + container.innerHTML += ('
'); + } + else { + container.innerHTML += ('
'); + } + noGIFs.innerHTML = null; + loadGIFs.innerHTML = '

You have reached the end of the list!

'; + } + } + } +} + +function insertGIF(url,form) { + + var gif = "\n\n![](" + url +")"; + + var commentBox = document.getElementById(form); + + var old = commentBox.value; + + commentBox.value = old + gif; + + if (typeof checkForRequired === "function") checkForRequired(); +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/hcaptcha.js b/files/assets/CHRISTMAS/js/hcaptcha.js new file mode 100644 index 000000000..437ff47ad --- /dev/null +++ b/files/assets/CHRISTMAS/js/hcaptcha.js @@ -0,0 +1 @@ +var hcaptcha=function(){"use strict";function e(e){var t=this.constructor;return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){return t.reject(n)}))}))}function t(e){return new this((function(t,n){if(!e||"undefined"==typeof e.length)return n(new TypeError(typeof e+" "+e+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var i=Array.prototype.slice.call(e);if(0===i.length)return t([]);var r=i.length;function o(e,n){if(n&&("object"==typeof n||"function"==typeof n)){var a=n.then;if("function"==typeof a)return void a.call(n,(function(t){o(e,t)}),(function(n){i[e]={status:"rejected",reason:n},0==--r&&t(i)}))}i[e]={status:"fulfilled",value:n},0==--r&&t(i)}for(var a=0;a>>0,o=Math.min(0|n,r);if(o<0)o=Math.max(0,r+o);else if(o>=r)return-1;if(void 0===t){for(;o!==r;++o)if(void 0===i[o]&&o in i)return o}else if(t!=t){for(;o!==r;++o)if(i[o]!=i[o])return o}else for(;o!==r;++o)if(i[o]===t)return o;return-1}}(Object)),Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),document.getElementsByClassName||(window.Element.prototype.getElementsByClassName=document.constructor.prototype.getElementsByClassName=function(e){if(document.querySelectorAll)return document.querySelectorAll("."+e);for(var t=document.getElementsByTagName("*"),n=new RegExp("(^|\\s)"+e+"(\\s|$)"),i=[],r=0;rthis.length)&&(t=this.length),this.substring(t-e.length,t)===e});try{if(Object.defineProperty&&Object.getOwnPropertyDescriptor&&Object.getOwnPropertyDescriptor(Element.prototype,"textContent")&&!Object.getOwnPropertyDescriptor(Element.prototype,"textContent").get){var m=Object.getOwnPropertyDescriptor(Element.prototype,"innerText");Object.defineProperty(Element.prototype,"textContent",{get:function(){return m.get.call(this)},set:function(e){m.set.call(this,e)}})}}catch(ln){}Function.prototype.bind||(Function.prototype.bind=function(e){if("function"!=typeof this)throw new TypeError("Function.prototype.bind: Item Can Not Be Bound.");var t=Array.prototype.slice.call(arguments,1),n=this,i=function(){},r=function(){return n.apply(this instanceof i?this:e,t.concat(Array.prototype.slice.call(arguments)))};return this.prototype&&(i.prototype=this.prototype),r.prototype=new i,r}),"function"!=typeof Object.create&&(Object.create=function(e,t){function n(){}if(n.prototype=e,"object"==typeof t)for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return new n}),Date.now||(Date.now=function(){return(new Date).getTime()}),window.console||(window.console={});for(var g,y,v,w,b,_,x=["error","info","log","show","table","trace","warn"],C=function(e){},k=x.length;--k>-1;)p=x[k],window.console[p]||(window.console[p]=C);if(window.atob)try{window.atob(" ")}catch(dn){window.atob=(g=window.atob,(y=function(e){return g(String(e).replace(/[\t\n\f\r ]+/g,""))}).original=g,y)}else{var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",O=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;window.atob=function(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!O.test(e))throw new TypeError("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");var t,n,i;e+="==".slice(2-(3&e.length));for(var r="",o=0;o>16&255):64===i?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}}if(Event.prototype.preventDefault||(Event.prototype.preventDefault=function(){this.returnValue=!1}),Event.prototype.stopPropagation||(Event.prototype.stopPropagation=function(){this.cancelBubble=!0}),window.Prototype&&Array.prototype.toJSON){console.error("[hCaptcha] Custom JSON polyfill detected, please remove to ensure hCaptcha works properly");var S=Array.prototype.toJSON,I=JSON.stringify;JSON.stringify=function(e){try{return delete Array.prototype.toJSON,I(e)}finally{Array.prototype.toJSON=S}}}Object.keys||(Object.keys=(v=Object.prototype.hasOwnProperty,w=!Object.prototype.propertyIsEnumerable.call({toString:null},"toString"),_=(b=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(e){if("function"!=typeof e&&("object"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var t,n,i=[];for(t in e)v.call(e,t)&&i.push(t);if(w)for(n=0;n<_;n++)v.call(e,b[n])&&i.push(b[n]);return i}));var P="challenge-passed",B="challenge-escaped",T="challenge-closed",M="challenge-expired",A="invalid-data",j="bundle-error",$="network-error",L="rate-limited",R="challenge-error",D="incomplete-answer",N="missing-captcha",z="missing-sitekey",W="invalid-captcha-id";function F(e,t){this.cause=e,this.message=t}function U(e){F.call(this,W,"Invalid hCaptcha id: "+e)}function J(){F.call(this,N,"No hCaptcha exists.")}function H(){F.call(this,z,"Missing sitekey - https://hcaptcha.com/docs/configuration#jsapi")}F.prototype=Error.prototype;var q=[],X=[],Y={add:function(e){q.push(e)},remove:function(e){for(var t=!1,n=q.length;--n>-1&&!1===t;)q[n].id===e.id&&(t=q[n],q.splice(n,1));return t},each:function(e){for(var t=-1;++t10&&X.splice(0,X.length-10)},getSession:function(){return X}};function G(){var e=this;this._bottom=0,this._top=0,this.storage={},this.add=function(t){return e.storage[e._top]=t,e._top++,t},this.remove=function(){if(!e.empty()){var t=e._bottom,n=e.storage[t];return e.storage[t]=null,e._bottom++,n}},this.empty=function(){return e._top===e._bottom},this.size=function(){return e._top-e._bottom}}var V={queue:G,depth:function un(e,t,n){if("object"==typeof e&&e[t]&&e[t].length>0)for(var i=e[t].length;--i>-1;)un(e[t][i],t,n);e!==undefined&&n(e)},breathe:function(e,t,n){var i=new G,r=null;for(i.add(e),r=i.remove();r;){for(var o=0;o0||navigator.msMaxTouchPoints>0),t=!1,n&&(t=["iOS","Windows Phone","Windows Mobile","Android","BlackBerry OS"].indexOf(n.name)>=0),e&&t),this.dpr=function(){return window.devicePixelRatio||1},this.mobile&&n&&"Windows"===n.family&&i.indexOf("touch")<0&&(this.mobile=!1),this.os="iOS"===n.family?"ios":"Android"===n.family?"android":"Mac OS X"===n.family?"mac":"Windows"===n.family?"windows":"Linux"===n.family?"linux":n.family.toLowerCase(),this.version=function(){if(!n)return"unknown";var e=n.major;return n.minor&&(e+="."+n.minor),n.patch&&(e+="."+n.patch),e}()}},se={host:null,file:null,sitekey:null,a11y_tfe:null,pingdom:"safari"===ae.Browser.type&&"windows"!==ae.System.os&&"mac"!==ae.System.os&&"ios"!==ae.System.os&&"android"!==ae.System.os,assetDomain:"https://newassets.hcaptcha.com",assetUrl:"https://newassets.hcaptcha.com/captcha/v1/e09e16a/static",width:null,height:null,mobile:null},he={se:null,custom:!1,tplinks:"on",language:null,reportapi:"https://accounts.hcaptcha.com",endpoint:"https://hcaptcha.com",endpointOverride:null,size:"normal",theme:"light",assethost:null,imghost:null,recaptchacompat:"true"};function ce(e,t){e.style.width="304px",e.style.height="78px",e.style.backgroundColor="#f9e5e5",e.style.position="relative",e.innerHTML="";var n=document.createElement("div");n.style.width="284px",n.style.position="absolute",n.style.top="12px",n.style.left="10px",n.style.color="#7c0a06",n.style.fontSize="14px",n.style.fontWeight="normal",n.style.lineHeight="18px",n.innerHTML=t||"Please upgrade your browser to complete this captcha.",e.appendChild(n)}var le=!0;function de(e){var t={message:e.name+": "+e.message};e.stack&&(t.stack_trace={trace:e.stack}),pe("report error","internal","debug",t),ue("internal error","error",se.file)}function ue(e,t,n,i){if(t=t||"error",le){var r="warn"===t?"warning":t;window.Raven&&Raven.captureMessage(e,{level:r,logger:n,extra:i})}}function pe(e,t,n,i){le&&window.Raven&&Raven.captureBreadcrumb({message:e,category:t,level:n,data:i})}function fe(e){var t=[].slice.call(arguments,1);"string"==typeof e?window[e]?"function"==typeof window[e]?window[e].apply(null,t):console.log("[hCaptcha] Callback '"+e+"' is not a function."):console.log("[hCaptcha] Callback '"+e+"' is not defined."):"function"==typeof e?e.apply(null,t):console.log("[hcaptcha] Invalid callback '"+e+"'.")}function me(){try{fe.apply(null,arguments)}catch(ln){console.error("[hCaptcha] There was an error in your callback."),console.error(ln)}}var ge={UUID:function(e){return/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i.test(e)||!1},UUIDv4:function(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)||!1},URL:function(e){var t=new RegExp("^(http|https)://"),n=new RegExp("^((?!(data|javascript):).)*$");return t.test(e)&&n.test(e)}};function ye(e,t){var n,i="attempts"in(t=t||{})?t.attempts:1,r=t.delay||0,o=t.onFail;return n=function(t,n,a){e().then(t,(function(e){var t=i-- >0;o&&(t=!1!==o(e)&&t),t?setTimeout(a,r):n(e)}))},new Promise((function(e,t){n(e,t,(function i(){n(e,t,i)}))}))}var ve={eventName:function(e){var t=e;return"down"===e||"up"===e||"move"===e||"over"===e||"out"===e?t=!ae.System.mobile||"down"!==e&&"up"!==e&&"move"!==e?"mouse"+e:"down"===e?"touchstart":"up"===e?"touchend":"touchmove":"enter"===e&&(t="keydown"),t},actionName:function(e){var t=e;return"touchstart"===t||"mousedown"===t?t="down":"touchmove"===t||"mousemove"===t?t="move":"touchend"===t||"mouseup"===t?t="up":"mouseover"===t?t="over":"mouseout"===t&&(t="out"),t},eventCallback:function(e,t,n){var i=ve.actionName(e);return function(r){if(r=r||window.event,"down"===i||"move"===i||"up"===i||"over"===i||"out"===i||"click"===i){var o=ve.eventCoords(r);if(!o)return;var a=n.getBoundingClientRect();r.windowX=o.x,r.windowY=o.y,r.elementX=r.windowX-(a.x||a.left),r.elementY=r.windowY-(a.y||a.top)}r.keyNum=r.which||r.keyCode||0,"enter"===e&&13!==r.keyNum&&32!==r.keyNum||(r.action=i,r.targetElement=n,t(r))}},eventCoords:function(e){if(!e)return null;var t=e;if(e.touches||e.changedTouches){var n=e.touches&&e.touches.length>=1?e.touches:e.changedTouches;n&&n[0]&&(t=n[0])}return"number"==typeof t.pageX&&"number"==typeof t.pageY?{x:t.pageX,y:t.pageY}:"number"==typeof t.clientX&&"number"==typeof t.clientY?{x:t.clientX,y:t.clientY}:null}};function we(e){this.r=255,this.g=255,this.b=255,this.a=1,this.h=1,this.s=1,this.l=1,this.parseString(e)}function be(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}we.hasAlpha=function(e){return"string"==typeof e&&(-1!==e.indexOf("rgba")||9===e.length&&"#"===e[0])},we.prototype.parseString=function(e){e&&(0===e.indexOf("#")?this.fromHex(e):0===e.indexOf("rgb")&&this.fromRGBA(e))},we.prototype.fromHex=function(e){var t=1;9===e.length&&(t=parseInt(e.substr(7,2),16)/255);var n=(e=e.substr(1,6)).replace(/^([a-f\d])([a-f\d])([a-f\d])?$/i,(function(e,t,n,i){return t+t+n+n+i+i})),i=parseInt(n,16),r=i>>16,o=i>>8&255,a=255&i;this.setRGBA(r,o,a,t)},we.prototype.fromRGBA=function(e){var t=e.indexOf("rgba"),n=e.substr(t).replace(/rgba?\(/,"").replace(/\)/,"").replace(/[\s+]/g,"").split(","),i=Math.floor(parseInt(n[0])),r=Math.floor(parseInt(n[1])),o=Math.floor(parseInt(n[2])),a=parseFloat(n[3]);this.setRGBA(i,r,o,a)},we.prototype.setRGB=function(e,t,n){this.setRGBA(e,t,n,1)},we.prototype.setRGBA=function(e,t,n,i){this.r=e,this.g=t,this.b=n,this.a=isNaN(i)?this.a:i,this.updateHSL()},we.prototype.hsl2rgb=function(e,t,n){if(0===t){var i=Math.round(255*n);return this.setRGB(i,i,i),this}var r=n<=.5?n*(1+t):n+t-n*t,o=2*n-r;return this.r=Math.round(255*be(o,r,e+1/3)),this.g=Math.round(255*be(o,r,e)),this.b=Math.round(255*be(o,r,e-1/3)),this.h=e,this.s=t,this.l=n,this},we.prototype.updateHSL=function(){var e,t=this.r/255,n=this.g/255,i=this.b/255,r=Math.max(t,n,i),o=Math.min(t,n,i),a=null,s=(r+o)/2;if(r===o)a=e=0;else{var h=r-o;switch(e=s>.5?h/(2-r-o):h/(r+o),r){case t:a=(n-i)/h+(n1&&(e/=100),this.hsl2rgb(this.h,this.s,e),this},we.prototype.saturation=function(e){return e>1&&(e/=100),this.hsl2rgb(this.h,e,this.l),this},we.prototype.hue=function(e){return this.hsl2rgb(e/360,this.s,this.l),this};var _e=["Webkit","Moz","ms"],xe=document.createElement("div").style,Ce={};function ke(e){var t=Ce[e];return t||(e in xe?e:Ce[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=_e.length;n--;)if((e=_e[n]+t)in xe)return e}(e)||e)}function Ee(e,t,n){if(this.dom=null,this._clss=[],this._nodes=[],this._listeners=[],this._frag=null,e&&"object"==typeof e){this.dom=e;var i=[],r=[];"string"==typeof e.className&&(r=e.className.split(" "));for(var o=0;o=0||e.indexOf(".")>=0))&&(e&&(t=e),e="div"),this.dom=document.createElement(e),t&&(t.indexOf("#")>=0?this.dom.id=t.split("#")[1]:(t.indexOf(".")>=0&&(t=t.split(".")[1]),this.addClass.call(this,t)));!0===n&&(this._frag=document.createDocumentFragment(),this._frag.appendChild(this.dom))}Ee.prototype.createElement=function(e,t){var n=new Ee(e,t,!1);return this.appendElement.call(this,n),this._nodes.push(n),n},Ee.prototype.appendElement=function(e){if(e===undefined)return de({name:"DomElement Add Child",message:"Child Element is undefined"});var t;t=e._frag!==undefined&&null!==e._frag?e._frag:e.dom!==undefined?e.dom:e;try{e instanceof Ee&&(e._parent=this),this.dom.appendChild(t)}catch(dn){de({name:"DomElement Add Child",message:"Failed to append child."})}return this},Ee.prototype.removeElement=function(e){try{var t;if(e._nodes)for(t=e._nodes.length;t--;)e.removeElement(e._nodes[t]);for(t=this._nodes.length;--t>-1;)this._nodes[t]===e&&this._nodes.splice(t,1);this.dom.removeChild(e.dom||e),e.__destroy&&e.__destroy()}catch(dn){de({name:"DomElement Remove Child",message:"Failed to remove child."})}},Ee.prototype.addClass=function(e){return!1===this.hasClass.call(this,e)&&(this._clss.push(e),this.dom.className=this._clss.join(" ")),this},Ee.prototype.hasClass=function(e){for(var t=-1!==this.dom.className.split(" ").indexOf(e),n=this._clss.length;n--&&!t;)t=this._clss[n]===e;return t},Ee.prototype.removeClass=function(e){for(var t=this._clss.length;--t>-1;)this._clss[t]===e&&this._clss.splice(t,1);return this.dom.className=this._clss.join(" "),this},Ee.prototype.text=function(e){if(this&&this.dom){if(!e)return this.dom.textContent;for(var t,n,i,r,o=/&(.*?);/g,a=/<[a-z][\s\S]*>/i;null!==(t=o.exec(e));){!1===a.test(t[0])?(i=t[0],r=void 0,(r=document.createElement("div")).innerHTML=i,n=r.textContent,e=e.replace(new RegExp(t[0],"g"),n)):e=e.replace(t[0],"")}return this.dom.textContent=e,this}},Ee.prototype.content=Ee.prototype.text,Ee.prototype.css=function(e){var t,n="ie"===ae.Browser.type&&8===ae.Browser.version;for(var i in e){t=e[i];try{"opacity"!==i&&"zIndex"!==i&&"fontWeight"!==i&&isFinite(t)&&parseFloat(t)===t&&(t+="px");var r=ke(i);n&&"opacity"===i?this.dom.style.filter="alpha(opacity="+100*t+")":n&&we.hasAlpha(t)?this.dom.style[r]=new we(t).getHex():this.dom.style[r]=t}catch(ln){}}return this},Ee.prototype.backgroundImage=function(e,t,n,i){var r=t!==undefined&&n!==undefined,o={"-ms-high-contrast-adjust":"none"};if("object"==typeof t&&(i=t),i===undefined&&(i={}),r){var a=e.width/e.height,s=t,h=s/a;i.cover&&hn&&(s=(h=n)*a),o.width=s,o.height=h,i.center&&(o.marginLeft=-s/2,o.marginTop=-h/2,o.position="absolute",o.left="50%",o.top="50%"),(i.left||i.right)&&(o.left=i.left||0,o.top=i.top||0)}"ie"===ae.Browser.type&&8===ae.Browser.version?o.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+e.src+"',sizingMethod='scale')":(o.background="url("+e.src+")",o.backgroundPosition="50% 50%",o.backgroundRepeat="no-repeat",o.backgroundSize=r?s+"px "+h+"px":i.cover?"cover":i.contain?"contain":"100%"),this.css.call(this,o)},Ee.prototype.setAttribute=function(e,t){var n;if("object"==typeof e)for(var i in e)n=e[i],this.dom.setAttribute(i,n);else this.dom.setAttribute(e,t)},Ee.prototype.removeAttribute=function(e,t){var n;if("object"==typeof e)for(var i in e)n=e[i],this.dom.removeAttribute(i,n);else this.dom.removeAttribute(e,t)},Ee.prototype.addEventListener=function(e,t,n){var i={event:ve.eventName(e),handler:ve.eventCallback(e,t,this.dom),callback:t};this._listeners.push(i),this.dom.addEventListener?this.dom.addEventListener(i.event,i.handler,n):this.dom.attachEvent("on"+i.event,i.handler)},Ee.prototype.removeEventListener=function(e,t,n){for(var i,r=this._listeners.length;--r>-1;)(i=this._listeners[r]).event===e&&i.callback===t&&(this._listeners.splice(r,1),this.dom.removeEventListener?this.dom.removeEventListener(i.event,i.handler,n):this.dom.detachEvent("on"+i.event,i.handler))},Ee.prototype.focus=function(){this.dom.focus()},Ee.prototype.blur=function(){this.dom.blur()},Ee.prototype.html=function(e){return e&&(this.dom.innerHTML=e),this.dom.innerHTML},Ee.prototype.__destroy=function(){for(var e,t=this._listeners.length;--t>-1;)e=this._listeners[t],this._listeners.splice(t,1),this.dom.removeEventListener?this.dom.removeEventListener(e.event,e.handler):this.dom.detachEvent("on"+e.event,e.handler);return this.dom=null,this._clss=[],this._nodes=[],this._listeners=[],this._frag=null,e=null,null};var Oe=function(e,t){var n={},i=Array.prototype.slice.call(arguments,2);for(var r in t.apply(e,i),e)n[r]=e[r]},Se=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e};function Ie(e,t){Oe(this,Ee,t||"div",e),this.children=[],this._events=[]}Se(Ie,Ee),Ie.prototype.initComponent=function(e,t,n){var i=new e(t);return i._parent=this,this.children.push(i),i.dom&&(n!==undefined?n.appendElement&&n.appendElement(i):this.appendElement(i)),i},Ie.prototype.destroy=function(){var e=this;try{V.depth(this,"children",(function(t){if(e!==t)for(var n=e.children.length;--n>-1;)e.children[n]===t&&e.children.splice(n,1);t._destroy&&t._destroy(),t=null}))}catch(dn){throw new Error("Trouble destroying nodes: "+dn)}return null},Ie.prototype._destroy=function(){try{this.onDestroy&&this.onDestroy(),this._parent.removeElement&&this._parent.removeElement(this);for(var e=this._events.length;--e>-1;)this._events.splice(e,1);this.children=null,this._destroy=null,this._events=null,this.destroy=null,this.emit=null,this.on=null,this.off=null,this.initComponent=null}catch(dn){de({name:"DomComponent",message:"Failed to destroy."})}},Ie.prototype.on=function(e,t){for(var n=this._events.length,i=!1;--n>-1&&!1===i;)this._events[n].event===e&&(i=this._events[n]);!1===i&&(i={event:e,listeners:[]},this._events.push(i)),i.listeners.push(t)},Ie.prototype.off=function(e,t){for(var n=this._events.length;--n>-1;)if(this._events[n].event===e){for(var i=this._events[n].listeners.length;--i>-1;)this._events[n].listeners[i]===t&&this._events[n].listeners.splice(i,1);0===this._events[n].listeners.length&&this._events.splice(n,1)}},Ie.prototype.emit=function(e){for(var t=Array.prototype.slice.call(arguments,1),n=this._events.length;--n>-1&&this._events;)if(this._events[n].event===e)for(var i=this._events[n].listeners.length;--i>-1;)this._events[n].listeners[i].apply(this,t)};var Pe={af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bg:"Bulgarian",bs:"Bosnian",my:"Burmese",ca:"Catalan",ceb:"Cebuano",zh:"Chinese","zh-CN":"Chinese Simplified","zh-TW":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",fa:"Persian",fi:"Finnish",fr:"French",fy:"Frisian",gd:"Gaelic",gl:"Galacian",ka:"Georgian",de:"German",el:"Greek",gu:"Gujurati",ht:"Haitian",ha:"Hausa",haw:"Hawaiian",he:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",rw:"Kinyarwanda",ky:"Kirghiz",ko:"Korean",ku:"Kurdish",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",ne:"Nepali",no:"Norwegian",ny:"Nyanja",or:"Oriya",pl:"Polish","pt-BR":"Portuguese (Brazil)",pt:"Portuguese (Portugal)",ps:"Pashto",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",sn:"Shona",sd:"Sindhi",si:"Singhalese",sr:"Serbian",sk:"Slovak",sl:"Slovenian",so:"Somani",st:"Southern Sotho",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tl:"Tagalog",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Teluga",th:"Thai",tr:"Turkish",tk:"Turkmen",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"},Be={zh:{"I am human":"我是人"},ar:{"I am human":"أنا الإنسان"},af:{"I am human":"Ek is menslike"},am:{"I am human":"እኔ ሰው ነኝ"},hy:{"I am human":"ÔµÕ½ Õ´Õ¡Ö€Õ¤ Õ¥Õ´"},az:{"I am human":"MÉ™n insanam"},eu:{"I am human":"Gizakia naiz"},bn:{"I am human":"আমি মানব নই"},bg:{"I am human":"Аз съм човек"},ca:{"I am human":"Sóc humà "},hr:{"I am human":"Ja sam čovjek"},cs:{"I am human":"Jsem človÄ›k"},da:{"I am human":"Jeg er et menneske"},nl:{"I am human":"Ik ben een mens"},et:{"I am human":"Ma olen inimeste"},fi:{"I am human":"Olen ihminen"},fr:{"I am human":"Je suis humain"},gl:{"I am human":"Eu son humano"},ka:{"I am human":"მე ვარადამიანი"},de:{"I am human":"Ich bin ein Mensch"},el:{"I am human":"Είμαι άνθρωπος"},gu:{"I am human":"હું માનવ છું"},iw:{"I am human":". ×× ×™ ×× ×•×©×™"},hi:{"I am human":"मैं मानव हूं"},hu:{"I am human":"Nem vagyok robot"},is:{"I am human":"Ég er manneskja"},id:{"I am human":"Aku manusia"},it:{"I am human":"Sono un essere umano"},ja:{"I am human":"私は人間です"},kn:{"I am human":"ನಾನು ಮಾನವನು"},ko:{"I am human":"사람입니다"},lo:{"I am human":"ຂ້ອຍເປັນມະນຸດ"},lv:{"I am human":"Es esmu cilvÄ“ks"},lt:{"I am human":"AÅ¡ esu žmogaus"},ms:{"I am human":"Saya manusia"},ml:{"I am human":"ഞാൻ മനുഷ്യനാണ്"},mr:{"I am human":"मी मानवी आहे"},mn:{"I am human":"Би бол хүн"},no:{"I am human":"Jeg er menneskelig"},fa:{"I am human":"من انسانی هستم"},pl:{"I am human":"Jestem czÅ‚owiekiem"},pt:{"I am human":"Sou humano"},ro:{"I am human":"Eu sunt om"},ru:{"I am human":"Я человек"},sr:{"I am human":"Ja sam ljudski"},si:{"I am human":"මම මිනිස්සු"},sk:{"I am human":"Ja som človek"},sl:{"I am human":"Jaz sem človeÅ¡ki"},es:{"I am human":"Soy humano"},sw:{"I am human":"Mimi ni binadamu"},sv:{"I am human":"Jag är människa"},ta:{"I am human":"நான் மனித"},te:{"I am human":"నేను మనిషిని"},th:{"I am human":"ผมมนุษย์"},tr:{"I am human":"Ben bir insanım"},uk:{"I am human":"Я людини"},ur:{"I am human":"میں انسان ہوں"},vi:{"I am human":"Tôi là con người"},zu:{"I am human":"Ngingumuntu"}},Te=null,Me={translate:function(e,t){var n=Me.getBestTrans(Be),i=n&&n[e];if(i=i||e,t)for(var r=Object.keys(t),o=r.length;o--;)i=i.replace(new RegExp("{{"+r[o]+"}}","g"),t[r[o]]);return i},getBestTrans:function(e){var t=Me.getLocale();return t in e?e[t]:Me.getShortLocale(t)in e?e[Me.getShortLocale(t)]:"en"in e?e.en:null},getLocale:function(){var e=Te||window.navigator.userLanguage||window.navigator.language,t=Me.getShortLocale(e);return"in"===t&&(e="id"),"iw"===t&&(e="he"),"nb"===t&&(e="no"),"ji"===t&&(e="yi"),"zh-CN"===e&&(e="zh"),"jv"===t&&(e="jw"),Pe[e]?e:Pe[t]?t:"en"},setLocale:function(e){Te=e},getShortLocale:function(e){return e.indexOf("-")>=0?e.substring(0,e.indexOf("-")):e},isShortLocale:function(e){return 2===e.length||3===e.length},addTable:function(e,t){if(t||(t=Object.create(null)),Be[e]){var n=Be[e];for(var i in t)n[i]=t[i]}else Be[e]=t;return Be[e]},getTable:function(e){return Be[e]},addTables:function(e){for(var t in e)Me.addTable(t,e[t]);return Be},getTables:function(){return Be}};function Ae(e,t){this._period=e,this._interval=t,this._date=[],this._data=[],this._prevTimestamp=0,this._meanPeriod=0,this._meanCounter=0}Ae.prototype.getMeanPeriod=function(){return this._meanPeriod},Ae.prototype.getData=function(){return this._cleanStaleData(),this._data},Ae.prototype.getSize=function(){return this._cleanStaleData(),this._data.length},Ae.prototype.getCapacity=function(){return 0===this._period?this._interval:Math.ceil(this._interval/this._period)},Ae.prototype.push=function(e,t){this._cleanStaleData();var n=0===this._date.length;if(e-(this._date[this._date.length-1]||0)>=this._period&&(this._date.push(e),this._data.push(t)),!n){var i=e-this._prevTimestamp;this._meanPeriod=(this._meanPeriod*this._meanCounter+i)/(this._meanCounter+1),this._meanCounter++}this._prevTimestamp=e},Ae.prototype._cleanStaleData=function(){for(var e=Date.now(),t=this._date.length-1;t>=0;t--){if(e-this._date[t]>=this._interval){this._date.splice(0,t+1),this._data.splice(0,t+1);break}}};var je={touchstart:"ts",touchend:"te",touchmove:"tm",touchcancel:"tc"},$e={mousedown:"md",mouseup:"mu",mousemove:"mm"},Le={keydown:"kd",keyup:"ku"},Re={devicemotion:"dm"},De=function(e,t){var n=$e[e],i=null;return function(e){i=function(e){return[e.windowX,e.windowY,Date.now()]}(e),t(n,i)}},Ne=function(e,t){var n=je[e],i=null;return function(e){i=function(e){var t=[];try{var n,i;if(e.touches&&e.touches.length>=1?n=e.touches:e.changedTouches&&e.changedTouches.length>=1&&(n=e.changedTouches),n){for(var r=0;r-1&&!o;)(o=i[r][1]===n.id)&&(t=i[r][0])}catch(a){t=""}return t}function Ze(e,t){var n=e instanceof HTMLIFrameElement;try{n?e.parentNode&&e.contentWindow.postMessage(JSON.stringify(t),"*"):e.postMessage(JSON.stringify(t),"*")}catch(ln){ue(ln.message,"error","messaging")}}function et(e,t){this.target=e,this.id=t,this.messages=[],this.incoming=[],this.waiting=[]}function tt(e,t){var n=this,i={},r=new Promise((function(e,t){i.resolve=e,i.reject=t})),o={source:"hcaptcha",label:e,id:n.id,promise:null,lookup:t};return r.then((function(e){o.promise="resolve",null!==e&&(o.contents=e),Ze(n.target,o)}))["catch"]((function(e){o.promise="reject",null!==e&&(o.error=e),Ze(n.target,o)})),i}et.prototype.setID=function(e){this.id=e},et.prototype.contact=function(e,t){if(!this.id)throw new Error("Chat requires unique id to communicate between windows");var n=this,i=Date.now().toString(36),r={source:"hcaptcha",label:e,id:this.id,promise:"create",lookup:i};if(t){if("object"!=typeof t)throw new Error("Message must be an object.");r.contents=t}return new Promise((function(t,o){n.waiting.push({label:e,reject:o,resolve:t,lookup:i}),Ze(n.target,r)}))},et.prototype.listen=function(e,t){if(!this.id)throw new Error("Chat requires unique id to communicate between windows");for(var n=this.messages.length,i=!1;--n>-1&&!1===i;)this.messages[n].label===e&&(i=this.messages[n]);!1===i&&(i={label:e,listeners:[]},this.messages.push(i)),i.listeners.push(t)},et.prototype.answer=function(e,t){if(!this.id)throw new Error("Chat requires unique id to communicate between windows");for(var n=this.incoming.length,i=!1;--n>-1&&!1===i;)this.incoming[n].label===e&&(i=this.incoming[n]);!1===i&&(i={label:e,listeners:[]},this.incoming.push(i)),i.listeners.push(t)},et.prototype.send=function(e,t){if(!this.id)throw new Error("Chat requires unique id to communicate between windows");var n={source:"hcaptcha",label:e,id:this.id};if(t){if("object"!=typeof t)throw new Error("Message must be an object.");n.contents=t}Ze(this.target,n)},et.prototype.check=function(e,t){for(var n=[].concat.apply([],[this.messages,this.incoming,this.waiting]),i=[],r=-1;++r-1&&!1===h;)this.waiting[s].label===t.label&&this.waiting[s].lookup===t.lookup&&(h=!0,this.waiting.splice(s,1));continue}for(r=0;r-1&&!1===t;)e.id===nt.chats[n].id&&e.target===nt.chats[n].target&&(t=nt.chats[n],nt.chats.splice(n,1));return t},handle:function(e){var t=e.data;if("string"==typeof t)try{if(!(t.indexOf("hcaptcha")>=0))return;t=JSON.parse(t);for(var n,i=nt.chats,r=-1;++r=0&&(n=t[i]);return n}catch(dn){return""}},hasCookie:function(e){return!!it.getCookie(e)},supportsAPI:function(){try{return"hasStorageAccess"in document&&"requestStorageAccess"in document}catch(dn){return!1}},hasAccess:function(){return new Promise((function(e){document.hasStorageAccess().then((function(){e(!0)}))["catch"]((function(){e(!1)}))}))},requestAccess:function(){try{return document.requestStorageAccess()}catch(dn){return Promise.resolve()}}};function rt(){try{return Object.keys(window).sort().join(",")}catch(dn){return null}}function ot(e,t){for(var n in t){var i=t[n];switch(typeof i){case"string":e[n]=i;break;case"object":e[n]=e[n]||{},ot(e[n],i);break;default:throw new Error("Source theme contains invalid data types. Only string and object types are supported.")}}}function at(e,t){try{return e in t}catch(n){return!1}}function st(e){return!!e&&"object"==typeof e}function ht(e){return st(e)?ct({},e):e}function ct(e,t){var n,i={},r=Object.keys(e);for(n=0;n=0&&wt.use(n.theme),this._state={escaped:!1,passed:!1,expiredChallenge:!1,expiredResponse:!1},this._origData=null,this._promise=null,this._responseTimer=null,this.challenge=new _t(t,n),this.checkbox=new xt(e,t,n),this.initChallenge=this.initChallenge.bind(this),this.closeChallenge=this.closeChallenge.bind(this),this.displayChallenge=this.displayChallenge.bind(this),this.getGetCaptchaManifest=this.getGetCaptchaManifest.bind(this)}function kt(){Oe(this,Ee,"canvas");var e=this;this.element=this.dom,this.ctx=this.element.getContext("2d"),this.scale=1,this.dpr=window.devicePixelRatio||1,this.clearColor="#fff",this.ctx.roundedRect=function(t,n,i,r,o){var a=i>0?o:-o,s=r>0?o:-o;e.ctx.beginPath(),e.ctx.moveTo(t+a,n),e.ctx.lineTo(t+i-a,n),e.ctx.quadraticCurveTo(t+i,n,t+i,n+s),e.ctx.lineTo(t+i,n+r-s),e.ctx.quadraticCurveTo(t+i,n+r,t+i-a,n+r),e.ctx.lineTo(t+a,n+r),e.ctx.quadraticCurveTo(t,n+r,t,n+r-s),e.ctx.lineTo(t,n+s),e.ctx.quadraticCurveTo(t,n,t+a,n),e.ctx.closePath()}}function Et(e){e=e||{},this.x=e.x||0,this.y=e.y||0,this.rotate=this.rotate.bind(this),this.getDistance=this.getDistance.bind(this),this.radius=0,this.tolerance=0,this.fill=!1,this.stroke=!1,this.fillColor="#fff",this.strokeColor="#fff",this.strokeWidth=1}function Ot(e,t,n){Oe(this,Et,e),this.handleIn=new Et(t),this.handleOut=new Et(n),this.prev=null,this.next=null,this.index=0}function St(e){if(null===e)return"";var t=[];return It(e,t),t.join("&")}function It(e,t){var n,i;if("object"==typeof e)for(i in e)!0===Pt(n=e[i])?It(n,t):t[t.length]=Bt(i,n);else if(!0===Array.isArray(e))for(var r=0;rn.clientHeight,c=a?(r-this.width)/2:e.bounding.left+e.tick.right+10;(c+this.width+t>r||c<0)&&(c=(r-this.width)/2,a=!0);var l=(n.scrollHeight=i+o&&(d=i+o-(this.height+t)),d=Math.max(Math.min(d,l),10);var u=e.bounding.top+e.tick.y+i-d-10,p=this.height-10-30;return u=Math.max(Math.min(u,p),t),this.$container.css({left:c,top:d}),this.$arrow.fg.css({display:a?"none":"block"}),this.$arrow.bg.css({display:a?"none":"block"}),this.$arrow.css({top:u}),this.top=d,this.$container.dom.getBoundingClientRect(),h}},_t.prototype.destroy=function(){this._visible&&this.close.call(this),this._hasCustomContainer?this._parent.removeChild(this.$iframe.dom):(this._parent.removeChild(this.$container.dom),this.$container=this.$container.__destroy()),this.$iframe=this.$iframe.__destroy(),nt.removeChat(this.chat),this.chat=this.chat.destroy()},_t.prototype.setReady=function(e){if(this.ready=e,this.ready)for(var t,n=this.listeners.length;--n>-1;)t=this.listeners[n],this.listeners.splice(n,1),t()},_t.prototype.onReady=function(e){var t=Array.prototype.slice.call(arguments,1),n=function(){e.apply(null,t)};this.ready?n():this.listeners.push(n)},_t.prototype.onOverlayClick=function(e){this._hasCustomContainer||this.$overlay.addEventListener("click",e)},_t.prototype.setConfig=function(e){return this.chat?this.chat.contact("challenge-update",e):Promise.resolve()},_t.prototype.setData=function(e){this.chat&&this.chat.send("challenge-data",e)},xt.prototype.setResponse=function(e){this.response=e,this.$iframe.dom.setAttribute("data-hcaptcha-response",e),"off"!==he.recaptchacompat&&(this.$textArea0.dom.value=e),this.$textArea1.dom.value=e},xt.prototype.style=function(){switch(this.config.size){case"compact":this.$iframe.css({width:164,height:144});break;case"invisible":this.$iframe.css({display:"none"});break;default:this.$iframe.css({width:303,height:78,overflow:"hidden"})}},xt.prototype.reset=function(){this._ticked=!1,this.chat&&this.chat.send("checkbox-reset")},xt.prototype.clearLoading=function(){this.chat&&this.chat.send("checkbox-clear")},xt.prototype.sendTranslation=function(e){var t={locale:e,table:Me.getTable(e)||{}};this.chat&&this.chat.send("checkbox-translate",t)},xt.prototype.status=function(e,t){this.chat&&this.chat.send("checkbox-status",{text:e||null,a11yOnly:t||!1})},xt.prototype.tick=function(){this._ticked=!0,this.chat&&this.chat.send("checkbox-tick")},xt.prototype.getTickLocation=function(){return this.chat.contact("checkbox-location")},xt.prototype.getOffset=function(){var e=this.$iframe.dom;e.offsetParent||(e=e.parentElement);for(var t=0,n=0;e;)t+=e.offsetLeft,n+=e.offsetTop,e=e.offsetParent;return{top:n,left:t}},xt.prototype.getBounding=function(){return this.$iframe.dom.getBoundingClientRect()},xt.prototype.destroy=function(){this._ticked&&this.reset(),this.$container.removeElement(this.$iframe),this.$container.removeElement(this.$textArea1),"off"!==he.recaptchacompat&&(this.$container.removeElement(this.$textArea0),this.$textArea0=this.$textArea0.__destroy()),this.$textArea1=this.$textArea1.__destroy(),this.$container=this.$container.__destroy(),this.$iframe=this.$iframe.__destroy(),nt.removeChat(this.chat),this.chat=this.chat.destroy()},Ct.prototype._resetTimer=function(){null!==this._responseTimer&&(clearTimeout(this._responseTimer),this._responseTimer=null)},Ct.prototype.initChallenge=function(e){e||(e={}),this._origData=e;var t=this.getGetCaptchaManifest(),n=e.charity||null,i=e.a11yChallenge||!1,r=e.link||null,o=e.action||"",a=e.rqdata||null,s=ae.Browser.width(),h=ae.Browser.height();this._active=!0,this._resetTimer(),this._resetState(),this.checkbox.setResponse(""),this.challenge.setup({a11yChallenge:i,manifest:t,width:s,height:h,charity:n,link:r,action:o,rqdata:a,wdata:rt()})},Ct.prototype.getGetCaptchaManifest=function(){var e=(this._origData||{}).manifest||null;return e||((e=Object.create(null)).st=Date.now()),e.v=1,e.topLevel=Ue.getData(),e.session=Y.getSession(),e.widgetList=Y.getCaptchaIdList(),e.widgetId=this.id,e.href=window.location.href,e.prev=JSON.parse(JSON.stringify(this._state)),e},Ct.prototype.displayChallenge=function(e){if(this._active){var t=this;this.visible=!0;var n=this.checkbox,i=this.challenge,r=ae.Browser.height();if(!("ie"===ae.Browser.type&&8===ae.Browser.version)){var o=window.getComputedStyle(document.body).getPropertyValue("overflow-y");this.overflow.override="hidden"===o,this.overflow.override&&(this.overflow.cssUsed=""===document.body.style.overflow&&""===document.body.style.overflowY,this.overflow.cssUsed||(this.overflow.value=""===o?"auto":o),this.overflow.scroll=ae.Browser.scrollY(),document.body.style.overflowY="auto")}return new Promise((function(o){n.status(),n.getTickLocation().then((function(a){if(t._active){if(i.size(e.width,e.height,e.mobile),i.show(),n.clearLoading(),n.location.bounding=n.getBounding(),n.location.tick=a,n.location.offset=n.getOffset(),i.position(n.location))(window.document.scrollingElement||document.getElementsByTagName("html")[0]).scrollTop=Math.abs(i.height-r)+i.top;o()}}))})).then((function(){t.onOpen&&me(t.onOpen)}))}},Ct.prototype.resize=function(e,t,n){var i=this,r=this.checkbox,o=this.challenge;o.getDimensions(e,t).then((function(e){e&&o.size(e.width,e.height,e.mobile),r.location.bounding=r.getBounding(),r.location.offset=r.getOffset(),ae.System.mobile&&!n||o.position(r.location)}))["catch"]((function(e){i.closeChallenge.call(i,{event:R,message:"Captcha resize caused error.",error:e})}))},Ct.prototype.position=function(){var e=this.checkbox,t=this.challenge;ae.System.mobile||(e.location.bounding=e.getBounding(),t.position(e.location))},Ct.prototype.reset=function(){this.checkbox.reset(),this.checkbox.setResponse(""),this._resetTimer(),this._resetState()},Ct.prototype._resetState=function(){for(var e in this._state)this._state[e]=!1},Ct.prototype.closeChallenge=function(e){this.visible=!1,this._active=!1;var t=this,n=this.checkbox,i=this.challenge;this.overflow.override&&((window.document.scrollingElement||document.getElementsByTagName("html")[0]).scrollTop=this.overflow.scroll,this.overflow.override=!1,this.overflow.scroll=0,document.body.style.overflowY=this.overflow.cssUsed?null:this.overflow.value);var r=e.response||"";switch(n.setResponse(r),i.close(e.event),n.$iframe.dom.focus(),e.event){case B:this._state.escaped=!0,n.reset(),t.onClose&&me(t.onClose),t._promise&&t._promise.reject(T);break;case M:this._state.expiredChallenge=!0,n.reset(),n.status("hCaptcha window closed due to timeout.",!0),t.onChalExpire&&me(t.onChalExpire),t._promise&&t._promise.reject(M);break;case R:case j:case $:var o=e.event;n.reset(),e.event===$?(n.status(e.message),429===e.status?o=L:"invalid-data"===e.message&&(o=A)):e.event===j?o=R:e.event===R&&"Answers are incomplete"===e.message&&(o=D),this.onError&&me(this.onError,o),t._promise&&t._promise.reject(o);break;case P:this._state.passed=!0,n.tick(),this.onPass&&me(this.onPass,r),t._promise&&t._promise.resolve({response:r,key:Ke(this.id)}),"number"==typeof e.expiration&&(t._resetTimer(),t._responseTimer=setTimeout((function(){try{n.reset(),n.setResponse(""),n.status("hCaptcha security token has expired. Please complete the challenge again.",!0)}catch(dn){ue("Checkbox not present or could not destroy on expiration: "+dn.message,"error","global")}t.onExpire&&me(t.onExpire),t._responseTimer=null,t._state.expiredResponse=!0}),1e3*e.expiration))}t._promise=null},Ct.prototype.updateTranslation=function(e){this.checkbox.sendTranslation(e),this.challenge.sendTranslation(e)},Ct.prototype.isReady=function(){return this._ready},Ct.prototype.setReady=function(e){if(this._ready=e,this._ready)for(var t,n=this._listeners.length;--n>-1;)t=this._listeners[n],this._listeners.splice(n,1),t()},Ct.prototype.setPromise=function(e){this._promise=e},Ct.prototype.onReady=function(e){var t=Array.prototype.slice.call(arguments,1),n=function(){e.apply(null,t)};this._ready?n():this._listeners.push(n)},Ct.prototype.destroy=function(){(this._resetTimer(),this.overflow.override)&&((window.document.scrollingElement||document.getElementsByTagName("html")[0]).scrollTop=this.overflow.scroll,this.overflow.override=!1,this.overflow.scroll=0,document.body.style.overflowY=this.overflow.cssUsed?null:this.overflow.value);this.challenge.destroy(),this.checkbox.destroy(),this.challenge=null,this.checkbox=null},Ct.prototype.setSiteConfig=function(e){var t=e&&e.features&&e.features.custom_theme;if(this.config.themeConfig&&t){var n="custom-"+this.id;wt.add(n,wt.extend(wt.active(),this.config.themeConfig)),wt.use(n),this.challenge.style()}return this.challenge.setConfig({siteConfig:e,wdata:rt()})},Se(kt,Ee),kt.prototype.dimensions=function(e,t){this.css({width:e,height:t}),this.element.width=Math.round(e/this.scale)*this.dpr,this.element.height=Math.round(t/this.scale)*this.dpr,this.ctx.scale(this.dpr,this.dpr),this.width=Math.round(e/this.scale),this.height=Math.round(t/this.scale)},kt.prototype.clear=function(){this.ctx&&this.ctx.clearRect(0,0,this.element.width,this.element.height)},kt.prototype.draw=function(){this.ctx&&(this.ctx.fillStyle=this.clearColor,this.ctx.fillRect(0,0,this.element.width,this.element.height))},kt.prototype._destroy=function(){this.__destroy(),this.element=null,this.ctx=null,this.width=null,this.height=null},Et.prototype.rotate=function(e,t){var n=function(e){return e*(Math.PI/180)}(t),i=Math.sin(n),r=Math.cos(n),o=this.x-e.x,a=this.y-e.y;this.x=o*r-a*i+e.x,this.y=o*i+a*r+e.y},Et.prototype.getDistance=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},Et.prototype.getAngle=function(e){var t=e.x-this.x,n=e.y-this.y,i=180*Math.atan2(n,t)/Math.PI;return i<0&&(i+=360),i},Et.prototype.hitTest=function(e){return this.radius+this.tolerance>=this.getDistance(e)},Et.prototype.restrict=function(e,t,n,i){if("x"!==e&&"y"!==e)throw new Error("Point.restrict requires a value: x or y");return t+this[e]i&&(t=i-this[e]),this[e]+t},Et.prototype.draw=function(e){e.ctx.beginPath(),e.ctx.arc(this.x,this.y,this.radius/e.scale,0,2*Math.PI,!1),this.fill&&(e.ctx.fillStyle=this.fillColor,e.ctx.fill()),this.stroke&&(e.ctx.strokeStyle=this.strokeColor,e.ctx.lineWidth=this.strokeWidth/e.scale,e.ctx.stroke())},Se(Ot,Et),Ot.prototype.set=function(e,t,n){this.x=e.x||this.x,this.y=e.y||this.y,t===undefined?(this.handleIn.x=this.x,this.handleIn.y=this.y):(this.handleIn.x=t.x,this.handleIn.y=t.y),n===undefined?(this.handleOut.x=this.x,this.handleOut.y=this.y):(this.handleOut.x=n.x,this.handleOut.y=n.y)},Ot.prototype.clone=function(){var e={x:this.x,y:this.y},t={x:this.handleIn.x,y:this.handleIn.y},n={x:this.handleOut.x,y:this.handleOut.y},i=new Ot;return t.x===n.x&&t.y===n.y?i.set(e):i.set(e,t,n),i.index=this.index,i.prev=this.prev,i.next=this.next,i.radius=this.radius,i.tolerance=this.tolerance,i.fill=this.fill,i.stroke=this.stroke,i.fillColor=this.fillColor,i.strokeColor=this.strokeColor,i.strokeWidth=this.strokeWidth,i},Ot.prototype.move=function(e,t){this.x+=e,this.y+=t,this.handleIn.x+=e,this.handleIn.y+=t,this.handleOut.x+=e,this.handleOut.y+=t},Ot.prototype.render=function(e){this.handleIn.x!==this.x&&this.handleIn.y!==this.y&&this.handleIn.draw(e),this.handleOut.x!==this.x&&this.handleOut.y!==this.y&&this.handleOut.draw(e),this.draw(e)};var Tt={400:"Rate limited or network error. Please retry.",429:"Your computer or network has sent too many requests.",500:"Cannot contact hCaptcha. Check your connection and try again."},Mt=function(e){try{return Me.translate(Tt[e])}catch(dn){return!1}},At="undefined"!=typeof XDomainRequest&&!("withCredentials"in XMLHttpRequest.prototype);function jt(e,t,n){n=n||{};var i={url:t,method:e.toUpperCase(),responseType:n.responseType||"string",dataType:n.dataType||null,withCredentials:n.withCredentials||!1,headers:n.headers||null,data:n.data||null,timeout:n.timeout||null};return i.legacy=i.withCredentials&&At,i.data&&("json"===i.dataType&&"object"==typeof i.data&&(i.data=JSON.stringify(i.data)),"query"===i.dataType&&(i.data=St(i.data))),n.retry?ye((function(){return $t(i)}),n.retry):$t(i)}function $t(e){var t=e.legacy?new XDomainRequest:new XMLHttpRequest,n="function"==typeof e.url?e.url():e.url;return new Promise((function(i,r){var o,a=function(o){return function(){var a=t.response||t.responseText,s=t.statusText||"",h=t.status,c=t.readyState;if(4===c||e.legacy){if("json"===e.responseType&&a)try{a=JSON.parse(a)}catch(l){}if("error"===o||h>=400&&h<=511)return void r({event:$,endpoint:n,response:a,state:c,status:h,message:Mt(h||400)||s});i({state:c,status:h,body:a,message:s})}}};if((t.onload=a("complete"),t.onerror=t.ontimeout=a("error"),t.open(e.method,n),e.timeout&&(t.timeout=e.timeout),!e.legacy)&&(t.withCredentials=e.withCredentials,e.headers))for(var s in e.headers)o=e.headers[s],t.setRequestHeader(s,o);setTimeout((function(){t.send(e.data)}),0)}))}var Lt=function(e,t){if("object"==typeof e&&t===undefined&&(e=(t=e).url),null===e)throw new Error("Url missing");return jt("GET",e,t)},Rt=function(e){return e.toLowerCase().match(/\.(?:jpg|gif|png|jpeg|svg)$/g)?"image":e.toLowerCase().match(/\.(?:js)$/g)?"script":"file"},Dt=function(e){if(he.assethost&&e.indexOf(se.assetDomain)>=0)return he.assethost+e.replace(se.assetDomain,"");if(he.imghost&&e.indexOf("imgs")>=0){var t=e.indexOf(".ai")>=0?e.indexOf(".ai")+3:e.indexOf(".com")+4;return he.imghost+e.substr(t,e.length)}return e},Nt=["svg","gif","png"];function zt(e,t){t=t||{};var n,i=e;if(0===i.indexOf("data:image"))for(var r=!1,o=Nt.length,a=-1;a++=0)&&(n=Nt[a]);else n=i.substr(i.lastIndexOf(".")+1,i.length);!!(!document.createElementNS||!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect)&&t.fallback&&(t.fallback.indexOf(".")>=0?n=(i=t.fallback).substr(i.lastIndexOf(".")+1,i.length):(i=e.substr(0,e.indexOf(n))+t.fallback,n=t.fallback)),t.prefix&&(i=t.prefix+"/"+i),this.attribs={crossOrigin:t.crossOrigin||null},this.id=i,this.src=Dt(i),this.ext=n,this.width=0,this.height=0,this.aspect=0,this.loaded=!1,this.error=!1,this.element=null,this.cb={load:[],error:[]}}function Wt(e,t,n){for(var i=e[t],r=i.length,o=null;--r>-1;)o=i[r],i.splice(r,1),o(n);"error"===t?e.load=[]:e.error=[]}function Ft(e,t){var n=e;t||(t={}),t.prefix&&(n=t.prefix+"/"+e),this.attribs={defer:t.defer||null,async:t.async||null,crossOrigin:t.crossOrigin||null},this.id=n,this.src=Dt(n),this.loaded=!1,this.error=!1,this.element=null,this.cb={load:[],error:[]}}function Ut(e,t,n){for(var i=e[t],r=i.length,o=null;--r>-1;)o=i[r],i.splice(r,1),o(n);"error"===t?e.load=[]:e.error=[]}function Jt(e,t){var n=e;t||(t={}),t.prefix&&(n=t.prefix+"/"+e),this.id=n,this.src=Dt(n),this.loaded=!1,this.error=!1,this.cb={load:[],error:[]},this.data=null}function Ht(e,t,n){for(var i=e[t],r=i.length,o=null;--r>-1;)o=i[r],i.splice(r,1),o(n);"error"===t?e.load=[]:e.error=[]}zt.prototype.load=function(){return("svg"===this.ext?this._loadSvg():this._loadImg())["catch"]((function(e){throw ue("Asset failed","error","assets",{error:e}),e}))},zt.prototype._loadSvg=function(){var e,t=this,n=this.src,i=this.id;if(0===n.indexOf("data:image/svg+xml")){var r=n.slice("data:image/svg+xml,".length);e=Promise.resolve(decodeURIComponent(r))}else e=Lt(n).then((function(e){return e.body}));return e.then((function(e){var n=(new DOMParser).parseFromString(e,"image/svg+xml").documentElement,i=parseInt(n.getAttribute("width")),r=parseInt(n.getAttribute("height"));return t._imgLoaded(n,i,r),t}))["catch"]((function(e){t.error=!0;var n=(e&&e.message?e.message:"Loading Error")+": "+i;throw Wt(t.cb,"error",n),n}))},zt.prototype._loadImg=function(){var e=this,t=this.attribs,n=this.src,i=this.id;return new Promise((function(r,o){var a=new Image;t.crossOrigin&&(a.crossOrigin=t.crossOrigin),a.onerror=function(t){e.error=!0,a.onload=a.onerror=null;var n=(t&&t.message?t.message:"Loading Error")+": "+i;Wt(e.cb,"error",n),o(n)},a.onload=function(){e.loaded||(e._imgLoaded(a,a.width,a.height),a.onload=a.onerror=null,r(e))},a.src=n,a.complete&&a.onload()}))},zt.prototype._imgLoaded=function(e,t,n){this.element=new Ee(e),this.width=t,this.height=n,this.aspect=t/n,this.loaded=!0,Wt(this.cb,"load",this)},zt.prototype.onload=function(e){this.error||(this.loaded?e(this):this.cb.load.push(e))},zt.prototype.onerror=function(e){this.loaded&&!this.error||(this.error?e(this):this.cb.error.push(e))},Ft.prototype.load=function(){var e=this,t=this.attribs,n=this.src,i=this.id;return new Promise((function(r,o){var a=document.createElement("script");e.element=a,a.onerror=function(t){e.error=!0,a.onload=a.onreadystatechange=a.onerror=null;var n=(t.message||"Loading Error")+": "+i;Ut(e.cb,"error",n),o(n)},a.onload=a.onreadystatechange=function(){this.loaded||a.readyState&&"loaded"!==a.readyState&&"complete"!==a.readyState||(e.loaded=!0,a.onload=a.onreadystatechange=a.onerror=null,document.body.removeChild(a),Ut(e.cb,"load",e),r(e))},a.type="text/javascript",a.src=n,t.crossOrigin&&(a.crossorigin=t.crossOrigin),t.async&&(a.async=!0),t.defer&&(a.defer=!0),document.body.appendChild(a),a.complete&&a.onload()}))},Ft.prototype.onload=function(e){this.error||(this.loaded?e(this):this.cb.load.push(e))},Ft.prototype.onerror=function(e){this.loaded&&!this.error||(this.error?e(this):this.cb.error.push(e))},Jt.prototype.load=function(){var e=this,t=this.src,n=this.id;return new Promise((function(i,r){var o={};t.indexOf("json")>=0&&(o.responseType="json"),Lt(t,o).then((function(t){e.loaded=!0,e.data=t.body,Ht(e.cb,"load",e),i(e)}))["catch"]((function(t){e.error=!0;var i=(t&&t.message?t.message:"Loading Error")+": "+n;Ht(e.cb,"error",i),r(i)}))}))},Jt.prototype.onload=function(e){this.error||(this.loaded?e(this):this.cb.load.push(e))},Jt.prototype.onerror=function(e){this.loaded&&!this.error||(this.error?e(this):this.cb.error.push(e))};var qt=[],Xt={add:function(e,t){var n=Rt(e);return Xt[n]?Xt[n](e,t):Promise.resolve(null)},batch:function(e,t){for(var n=[],i=-1;++i-1&&!r;)r=(o=qt[i]).id===e||-1!==o.id.indexOf("/"===e[0]?"":"/"+e);if(!r)return t(null);o.onload(t),o.onerror(n)}))}};function Yt(e){if("en"===e)return Promise.resolve();var t=e+".json";return new Promise((function(n,i){Xt.retrieve(t).then((function(n){return n||Xt.file(t,{prefix:"https://newassets.hcaptcha.com/captcha/v1/e09e16a/static/i18n"}).then((function(t){return Me.addTable(e,t.data),t}))})).then((function(e){n(e.data)}))["catch"]((function(e){i(e)}))}))}var Gt=0,Vt=["hl","custom","tplinks","sitekey","theme","size","tabindex","challenge-container"];var Qt={render:function(e,t){if("string"==typeof e&&(e=document.getElementById(e)),e&&1===e.nodeType)if(function(e){if(!e||!("challenge-container"in e))return!0;var t=e["challenge-container"];return"string"==typeof t&&(t=document.getElementById(t)),!!t&&1===t.nodeType}(t)){if(!1!==nt.isSupported()){for(var n,i,r=e.getElementsByTagName("iframe"),o=-1;++oupgrade your browser or enable it for hCaptcha.com")}else console.log("[hCaptcha] render: invalid challenge container '"+t["challenge-container"]+"'.");else console.log("[hCaptcha] render: invalid container '"+e+"'.");function v(e,t){var n=e.locale;function i(e){if(e)try{e.updateTranslation(n)}catch(ln){ue("Failed to update text translation: "+JSON.stringify(ln),"error","translation")}}n&&Yt(n).then((function(){t?i(g):Y.each(i)}))["catch"]((function(e){ue("Language failed to load: "+n,"error","api")}))}},reset:function(e){var t;if(e){if(!(t=Y.getById(e)))throw new U(e);t.reset()}else{if(!(t=Y.getByIndex(0)))throw new J;t.reset()}},remove:function(e){var t=e?Y.getById(e):Y.getByIndex(0);if(!t)throw e?new U(e):new J;Y.remove(t),t.destroy(),t=null},execute:Qe,getResponse:function(e){var t,n;if((n=e?Y.getById(e):Y.getByIndex(0))&&(t=n.checkbox.response||""),void 0!==t)return t;throw e?new U(e):new J},getRespKey:Ke,close:function(e){var t=!1;if(!(t=e?Y.getById(e):Y.getByIndex(0)))throw e?new U(e):new J;t.closeChallenge({event:B})},setData:function(e,t){if("object"!=typeof e||t||(t=e,e=null),!t||"object"!=typeof t)throw Error("[hCaptcha] invalid data supplied");var n=!1;if(!(n=e?Y.getById(e):Y.getByIndex(0)))throw e?new U(e):new J;var i=n.challenge.setData.bind(n.challenge);n.onReady(i,t)},nodes:Y};se.file="hcaptcha";var Kt=document.currentScript,Zt=!1,en=!1,tn="on",nn=ae.Browser.width()/ae.Browser.height(),rn=window.hcaptcha||!1;function on(){var e=ae.Browser.width(),t=ae.Browser.height(),n=ae.System.mobile&&nn!==e/t;nn=e/t,hn(),Qt.nodes.each((function(i){i.visible&&i.resize(e,t,n)}))}function an(e){e.preventDefault&&e.preventDefault(),sn(),Qt.nodes.each((function(e){e.visible&&e.position()}))}function sn(){Ue.circBuffPush("xy",[ae.Browser.scrollX(),ae.Browser.scrollY(),document.documentElement.clientWidth/ae.Browser.width(),Date.now()])}function hn(){Ue.circBuffPush("wn",[ae.Browser.width(),ae.Browser.height(),ae.System.dpr(),Date.now()])}!function(e){var t=Array.prototype.slice.call(arguments,1);!0!==qe&&"interactive"!==document.readyState&&"loaded"!==document.readyState&&"complete"!==document.readyState?(Je.push({fn:e,args:t}),!1===He&&Xe()):setTimeout((function(){e(t)}),1)}((function(){rn||(!function(){var e;e=Kt?[Kt]:document.getElementsByTagName("script");var t=-1,n=!1,i=null,r=null;for(;++t=0?e.split("&"):[e]:[],a=0;a=0){if(t=o[a].split("="),n=decodeURIComponent(t[0]),"false"!==(i=decodeURIComponent(t[1]))&&"true"!==i||(i="true"===i),"theme"===n||"themeConfig"===n)try{i=JSON.parse(i)}catch(dn){}r[n]=i}return r}(i[1]);Zt=o.onload||!1,en=o.render||!1,"off"===o.tplinks&&(tn="off");he.tplinks=tn,he.language=o.hl||null,o.endpoint&&(he.endpointOverride=o.endpoint);he.reportapi=o.reportapi||he.reportapi,he.imghost=o.imghost||null,he.custom=o.custom||he.custom,he.se=o.se||null,he.assethost=o.assethost||null,he.assethost&&!ge.URL(he.assethost)&&(he.assethost=null,console.error("Invalid assethost uri."));he.recaptchacompat=o.recaptchacompat||he.recaptchacompat,se.host=o.host||window.location.hostname,he.language=he.language||window.navigator.userLanguage||window.navigator.language,Me.setLocale(he.language),a=o.sentry===undefined||o.sentry,void(le=a),"off"===he.recaptchacompat?console.log("recaptchacompat disabled"):window.grecaptcha=cn;var a}(),function(){var e=Me.getLocale();if(e.indexOf("en")>=0)return;Yt(e).then((function(){Qt.nodes.each((function(t){if(t)try{t.updateTranslation(e)}catch(ln){ue("Failed to update text translation: "+JSON.stringify(ln),"error","translation")}}))}))["catch"]((function(){ue("Language failed to load: "+e,"error","api")}))}(),!1===en||"onload"===en?function(e){for(var t=document.getElementsByClassName("h-captcha"),n=[],i=0;i= 200 && xhr.status < 300) { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.show(); + try { + document.getElementById('toast-post-success-text').innerText = JSON.parse(xhr.response)["message"]; + } catch(e) { + document.getElementById('toast-post-success-text').innerText = "Action successful!"; + } + + if (reload == 1) {location.reload(true)} + return true + + } else if (xhr.status >= 300 && xhr.status < 400) { + window.location.href = JSON.parse(xhr.response)["redirect"] + } else { + try { + data=JSON.parse(xhr.response); + + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + document.getElementById('toast-post-error-text').innerText = data["error"]; + return false + } catch(e) { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + return false + } + } + }; + + xhr.send(form); + +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/home.js b/files/assets/CHRISTMAS/js/home.js new file mode 100644 index 000000000..c8cc9751b --- /dev/null +++ b/files/assets/CHRISTMAS/js/home.js @@ -0,0 +1,12 @@ +if (!("standalone" in window.navigator) && window.navigator.standalone) { + if (window.innerWidth <= 737) { + document.getElementById('mobile-prompt').show() + document.getElementsByClassName('tooltip')[0].onclick = function(event){ + document.getElementById('mobile-prompt').hide() + var xhr = new XMLHttpRequest(); + xhr.withCredentials=true; + xhr.open("POST", '/dismiss_mobile_tip', true); + xhr.send(); + } + } +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/horizon_tweet.2bd42981e3af03ce9186a5655508da28.js b/files/assets/CHRISTMAS/js/horizon_tweet.2bd42981e3af03ce9186a5655508da28.js new file mode 100644 index 000000000..1ba6ebafd --- /dev/null +++ b/files/assets/CHRISTMAS/js/horizon_tweet.2bd42981e3af03ce9186a5655508da28.js @@ -0,0 +1 @@ +(window.__twttrll=window.__twttrll||[]).push([[8],{168:function(t,e,r){var i=r(39),a=r(170),n=r(7);(i=Object.create(i)).build=n(i.build,null,a),t.exports=i},169:function(t,e,r){var i=r(42),a=r(37),n=r(38),s=r(0),o=r(7),d=r(33),c=r(5),u=r(174);t.exports=function(t){t.params({partner:{fallback:o(d.val,d,"partner")}}),t.define("scribeItems",function(){return{}}),t.define("scribeNamespace",function(){return{client:"tfw"}}),t.define("scribeData",function(){return{widget_origin:n.rootDocumentLocation(),widget_frame:n.isFramed()&&n.currentDocumentLocation(),widget_partner:this.params.partner,widget_site_screen_name:u(d.val("site")),widget_site_user_id:c.asNumber(d.val("site:id")),widget_creator_screen_name:u(d.val("creator")),widget_creator_user_id:c.asNumber(d.val("creator:id"))}}),t.define("scribe",function(t,e,r){t=s.aug(this.scribeNamespace(),t||{}),e=s.aug(this.scribeData(),e||{}),i.scribe(t,e,!1,r)}),t.define("scribeInteraction",function(t,e,r){var i=a.extractTermsFromDOM(t.target);i.action=t.type,"url"===i.element&&(i.element=a.clickEventElement(t.target)),this.scribe(i,e,r)})}},170:function(t,e,r){var i=r(40),a=r(0),n=r(171);function s(){i.apply(this,arguments),this.Widget=this.Component}s.prototype=Object.create(i.prototype),a.aug(s.prototype,{factory:n,build:function(){return i.prototype.build.apply(this,arguments)},selectors:function(t){var e=this.Widget.prototype.selectors;t=t||{},this.Widget.prototype.selectors=a.aug({},t,e)}}),t.exports=s},171:function(t,e,r){var i=r(6),a=r(35),n=r(41),s=r(0),o=r(7),d=r(172),c="twitter-widget-";t.exports=function(){var t=n();function e(e,r){t.apply(this,arguments),this.id=c+d(),this.sandbox=r}return e.prototype=Object.create(t.prototype),s.aug(e.prototype,{selectors:{},hydrate:function(){return i.resolve()},prepForInsertion:function(){},render:function(){return i.resolve()},show:function(){return i.resolve()},resize:function(){return i.resolve()},select:function(t,e){return 1===arguments.length&&(e=t,t=this.el),t?(e=this.selectors[e]||e,s.toRealArray(t.querySelectorAll(e))):[]},selectOne:function(){return this.select.apply(this,arguments)[0]},selectLast:function(){return this.select.apply(this,arguments).pop()},on:function(t,e,r){var i,n=this.el;this.el&&(t=(t||"").split(/\s+/),2===arguments.length?r=e:i=e,i=this.selectors[i]||i,r=o(r,this),t.forEach(i?function(t){a.delegate(n,t,i,r)}:function(t){n.addEventListener(t,r,!1)}))}}),e}},172:function(t,e){var r=0;t.exports=function(){return String(r++)}},173:function(t,e,r){var i=r(5),a=r(0);t.exports=function(t){t.define("widgetDataAttributes",function(){return{}}),t.define("setDataAttributes",function(){var t=this.sandbox.sandboxEl;a.forIn(this.widgetDataAttributes(),function(e,r){i.hasValue(r)&&t.setAttribute("data-"+e,r)})}),t.after("render",function(){this.setDataAttributes()})}},174:function(t,e){t.exports=function(t){return t&&"@"===t[0]?t.substr(1):t}},175:function(t,e,r){var i=r(0);t.exports=function(t){return i.isType("string",t)}},179:function(t,e,r){var i=r(4),a=r(5),n=i.createElement("div");t.exports=function(t){return a.isNumber(t)&&(t+="px"),n.style.width="",n.style.width=t,n.style.width||null}},182:function(t,e){var r=/^(dark|light)$/;t.exports=function(t){return r.test(t)}},236:function(t,e,r){var i=r(6),a=r(46),n=r(20),s=r(168),o=r(18),d=r(19),c=r(0),u=r(11),l=r(37),f=r(36),p=r(237),h=r(238),m="Twitter Tweet",g=a.version;t.exports=s.couple(r(169),r(173),function(t){t.params(p),t.define("getUrlParams",function(t,e){var r=this.scribeData();return c.compact({dnt:d.enabled(),features:f.encodeFeatures(t),hideCard:this.params.hideCard,hideThread:this.params.hideThread,id:this.params.tweetId,lang:this.params.lang,embedId:this.id,theme:this.params.theme,partner:this.params.partner,widgetsVersion:g,width:this.params.width,origin:r.widget_origin,frame:r.widget_frame,sessionId:e,siteScreenName:r.widget_site_screen_name,siteUserId:r.widget_site_user_id,creatorScreenName:r.widget_creator_screen_name,creatorUserId:r.widget_creator_user_id})}),t.around("scribeItems",function(t){return c.aug(t(),l.formatHorizonTweetData(this.params.tweetId))}),t.around("scribeNamespace",function(t){return c.aug(t(),{page:"tweet"})}),t.around("scribeData",function(t){return c.aug(t(),{context:"horizon",widget_iframe_version:this.sandbox.iframeVersion})}),t.around("widgetDataAttributes",function(t){return c.aug({"tweet-id":this.params.tweetId},t())}),t.define("styleSandboxWrapper",function(t){var e=this;return o.write(function(){c.forIn(t,function(t,r){e._sandboxWrapperEl.style[t]=r})})}),t.override("render",function(){var t=this;return f.getHorizonSettings().then(function(e){var r=t.getUrlParams(e.features,e.sessionId),a=n.embedIframe(["Tweet"],e.features),s=u.url(a,r);return h(e.features,t.params.tweetId,e.sessionId),t.sandbox.setWaitToSwapUntilRendered(!0),i.all([t.sandbox.setTitle(m),t.styleSandboxWrapper({display:"flex",maxWidth:t.params.width,width:"100%",marginTop:"10px",marginBottom:"10px"}),t.sandbox.styleSelf({display:"block",flexGrow:"1"}),t.sandbox.loadDocument(s)])})}),t.after("render",function(){var t=this.sandbox;return t.getResultsPromise().then(function(){t.makeVisible()}).then(function(){return t.getRenderedPromise()})})})},237:function(t,e,r){var i=r(179),a=r(7),n=r(71),s=r(175),o=r(182),d=r(33),c=r(5),u={tweetId:{required:!0,validate:s},id:{validate:s},lang:{required:!0,transform:n.matchLanguage,fallback:"en"},width:{required:!0,fallback:"550px",validate:i,transform:i},theme:{fallback:[a(d.val,d,"widgets:theme"),"light"],validate:o},hideCard:{fallback:!1,transform:c.asBoolean},hideThread:{fallback:!1,transform:c.asBoolean},partner:{fallback:a(d.val,d,"partner")}};t.exports=u},238:function(t,e,r){var i=r(239),a=r(37),n="tfw_team_holdback_11929";t.exports=function(t,e,r){var s;t&&(s=t[n])&&s.bucket&&i(n,s.bucket,s.version,a.formatHorizonTweetData(e),r)}},239:function(t,e,r){var i=r(76);t.exports=function(t,e,r,a,n){var s={client:"tfw",page:"ddg",section:t,action:"experiment"},o={experiment_key:t,bucket:e,version:r,data:a},d={session_id:n};i.clientEvent(s,o,void 0,void 0,d)}},240:function(t,e,r){var i=r(175);t.exports=function(t){t.params({align:{required:!1},width:{required:!1},floatedWidth:{fallback:"350px",validate:i},centeredWidth:{fallback:"70%",validate:i}}),t.before("render",function(){var t,e,r,i,a=this.params.align;switch(a&&a.toLowerCase()){case"center":t=this.params.width||this.params.centeredWidth,e="auto",r="auto";break;case"left":t=this.params.width||this.params.floatedWidth,r="10px",i="left";break;case"right":t=this.params.width||this.params.floatedWidth,e="10px",i="right";break;default:return}return this.styleSandboxWrapper&&this._sandboxWrapperEl?this.styleSandboxWrapper({width:t,marginLeft:e,marginRight:r,cssFloat:i}):this.sandbox.styleSelf({width:t,marginLeft:e,marginRight:r,cssFloat:i})})}},89:function(t,e,r){var i=r(168);t.exports=i.build([r(236),r(240)])}}]); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/horizon_tweet.4027cff8c5dfbbf9b414b0df963e6b7d.js b/files/assets/CHRISTMAS/js/horizon_tweet.4027cff8c5dfbbf9b414b0df963e6b7d.js new file mode 100644 index 000000000..78ed0780b --- /dev/null +++ b/files/assets/CHRISTMAS/js/horizon_tweet.4027cff8c5dfbbf9b414b0df963e6b7d.js @@ -0,0 +1 @@ +(window.__twttrll=window.__twttrll||[]).push([[8],{169:function(t,e,r){var i=r(39),a=r(171),n=r(7);(i=Object.create(i)).build=n(i.build,null,a),t.exports=i},170:function(t,e,r){var i=r(42),a=r(37),n=r(38),s=r(0),o=r(7),d=r(33),c=r(5),u=r(175);t.exports=function(t){t.params({partner:{fallback:o(d.val,d,"partner")}}),t.define("scribeItems",function(){return{}}),t.define("scribeNamespace",function(){return{client:"tfw"}}),t.define("scribeData",function(){return{widget_origin:n.rootDocumentLocation(),widget_frame:n.isFramed()&&n.currentDocumentLocation(),widget_partner:this.params.partner,widget_site_screen_name:u(d.val("site")),widget_site_user_id:c.asNumber(d.val("site:id")),widget_creator_screen_name:u(d.val("creator")),widget_creator_user_id:c.asNumber(d.val("creator:id"))}}),t.define("scribe",function(t,e,r){t=s.aug(this.scribeNamespace(),t||{}),e=s.aug(this.scribeData(),e||{}),i.scribe(t,e,!1,r)}),t.define("scribeInteraction",function(t,e,r){var i=a.extractTermsFromDOM(t.target);i.action=t.type,"url"===i.element&&(i.element=a.clickEventElement(t.target)),this.scribe(i,e,r)})}},171:function(t,e,r){var i=r(40),a=r(0),n=r(172);function s(){i.apply(this,arguments),this.Widget=this.Component}s.prototype=Object.create(i.prototype),a.aug(s.prototype,{factory:n,build:function(){return i.prototype.build.apply(this,arguments)},selectors:function(t){var e=this.Widget.prototype.selectors;t=t||{},this.Widget.prototype.selectors=a.aug({},t,e)}}),t.exports=s},172:function(t,e,r){var i=r(6),a=r(35),n=r(41),s=r(0),o=r(7),d=r(173),c="twitter-widget-";t.exports=function(){var t=n();function e(e,r){t.apply(this,arguments),this.id=c+d(),this.sandbox=r}return e.prototype=Object.create(t.prototype),s.aug(e.prototype,{selectors:{},hydrate:function(){return i.resolve()},prepForInsertion:function(){},render:function(){return i.resolve()},show:function(){return i.resolve()},resize:function(){return i.resolve()},select:function(t,e){return 1===arguments.length&&(e=t,t=this.el),t?(e=this.selectors[e]||e,s.toRealArray(t.querySelectorAll(e))):[]},selectOne:function(){return this.select.apply(this,arguments)[0]},selectLast:function(){return this.select.apply(this,arguments).pop()},on:function(t,e,r){var i,n=this.el;this.el&&(t=(t||"").split(/\s+/),2===arguments.length?r=e:i=e,i=this.selectors[i]||i,r=o(r,this),t.forEach(i?function(t){a.delegate(n,t,i,r)}:function(t){n.addEventListener(t,r,!1)}))}}),e}},173:function(t,e){var r=0;t.exports=function(){return String(r++)}},174:function(t,e,r){var i=r(5),a=r(0);t.exports=function(t){t.define("widgetDataAttributes",function(){return{}}),t.define("setDataAttributes",function(){var t=this.sandbox.sandboxEl;a.forIn(this.widgetDataAttributes(),function(e,r){i.hasValue(r)&&t.setAttribute("data-"+e,r)})}),t.after("render",function(){this.setDataAttributes()})}},175:function(t,e){t.exports=function(t){return t&&"@"===t[0]?t.substr(1):t}},176:function(t,e,r){var i=r(0);t.exports=function(t){return i.isType("string",t)}},180:function(t,e,r){var i=r(4),a=r(5),n=i.createElement("div");t.exports=function(t){return a.isNumber(t)&&(t+="px"),n.style.width="",n.style.width=t,n.style.width||null}},183:function(t,e){var r=/^(dark|light)$/;t.exports=function(t){return r.test(t)}},237:function(t,e,r){var i=r(6),a=r(46),n=r(20),s=r(169),o=r(18),d=r(19),c=r(0),u=r(11),l=r(37),f=r(36),p=r(238),h=r(239),m="Twitter Tweet",g=a.version;t.exports=s.couple(r(170),r(174),function(t){t.params(p),t.define("getUrlParams",function(t,e){var r=this.scribeData();return c.compact({dnt:d.enabled(),features:f.encodeFeatures(t),hideCard:this.params.hideCard,hideThread:this.params.hideThread,id:this.params.tweetId,lang:this.params.lang,embedId:this.id,theme:this.params.theme,partner:this.params.partner,widgetsVersion:g,width:this.params.width,origin:r.widget_origin,frame:r.widget_frame,sessionId:e,siteScreenName:r.widget_site_screen_name,siteUserId:r.widget_site_user_id,creatorScreenName:r.widget_creator_screen_name,creatorUserId:r.widget_creator_user_id})}),t.around("scribeItems",function(t){return c.aug(t(),l.formatHorizonTweetData(this.params.tweetId))}),t.around("scribeNamespace",function(t){return c.aug(t(),{page:"tweet"})}),t.around("scribeData",function(t){return c.aug(t(),{context:"horizon",widget_iframe_version:this.sandbox.iframeVersion})}),t.around("widgetDataAttributes",function(t){return c.aug({"tweet-id":this.params.tweetId},t())}),t.define("styleSandboxWrapper",function(t){var e=this;return o.write(function(){c.forIn(t,function(t,r){e._sandboxWrapperEl.style[t]=r})})}),t.override("render",function(){var t=this;return f.getHorizonSettings().then(function(e){var r=t.getUrlParams(e.features,e.sessionId),a=n.embedIframe(["Tweet"],e.features),s=u.url(a,r);return h(e.features,t.params.tweetId,e.sessionId),t.sandbox.setWaitToSwapUntilRendered(!0),i.all([t.sandbox.setTitle(m),t.styleSandboxWrapper({display:"flex",maxWidth:t.params.width,width:"100%",marginTop:"10px",marginBottom:"10px"}),t.sandbox.styleSelf({display:"block",flexGrow:"1"}),t.sandbox.loadDocument(s)])})}),t.after("render",function(){var t=this.sandbox;return t.getResultsPromise().then(function(){t.makeVisible()}).then(function(){return t.getRenderedPromise()})})})},238:function(t,e,r){var i=r(180),a=r(7),n=r(71),s=r(176),o=r(183),d=r(33),c=r(5),u={tweetId:{required:!0,validate:s},id:{validate:s},lang:{required:!0,transform:n.matchLanguage,fallback:"en"},width:{required:!0,fallback:"550px",validate:i,transform:i},theme:{fallback:[a(d.val,d,"widgets:theme"),"light"],validate:o},hideCard:{fallback:!1,transform:c.asBoolean},hideThread:{fallback:!1,transform:c.asBoolean},partner:{fallback:a(d.val,d,"partner")}};t.exports=u},239:function(t,e,r){var i=r(240),a=r(37),n="tfw_team_holdback_11929";t.exports=function(t,e,r){var s;t&&(s=t[n])&&s.bucket&&i(n,s.bucket,s.version,a.formatHorizonTweetData(e),r)}},240:function(t,e,r){var i=r(76);t.exports=function(t,e,r,a,n){var s={client:"tfw",page:"ddg",section:t,action:"experiment"},o={experiment_key:t,bucket:e,version:r,data:a},d={session_id:n};i.clientEvent(s,o,void 0,void 0,d)}},241:function(t,e,r){var i=r(176);t.exports=function(t){t.params({align:{required:!1},width:{required:!1},floatedWidth:{fallback:"350px",validate:i},centeredWidth:{fallback:"70%",validate:i}}),t.before("render",function(){var t,e,r,i,a=this.params.align;switch(a&&a.toLowerCase()){case"center":t=this.params.width||this.params.centeredWidth,e="auto",r="auto";break;case"left":t=this.params.width||this.params.floatedWidth,r="10px",i="left";break;case"right":t=this.params.width||this.params.floatedWidth,e="10px",i="right";break;default:return}return this.styleSandboxWrapper&&this._sandboxWrapperEl?this.styleSandboxWrapper({width:t,marginLeft:e,marginRight:r,cssFloat:i}):this.sandbox.styleSelf({width:t,marginLeft:e,marginRight:r,cssFloat:i})})}},89:function(t,e,r){var i=r(169);t.exports=i.build([r(237),r(241)])}}]); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/lite-youtube.js b/files/assets/CHRISTMAS/js/lite-youtube.js new file mode 100644 index 000000000..6dad20e38 --- /dev/null +++ b/files/assets/CHRISTMAS/js/lite-youtube.js @@ -0,0 +1,63 @@ + class LiteYTEmbed extends HTMLElement { + connectedCallback() { + this.videoId = this.getAttribute('videoid'); + + let playBtnEl = this.querySelector('.lty-playbtn'); + this.playLabel = (playBtnEl && playBtnEl.textContent.trim()) || this.getAttribute('playlabel') || 'Play'; + if (!this.style.backgroundImage) { + this.style.backgroundImage = `url("https://i.ytimg.com/vi/${this.videoId}/hqdefault.jpg")`; + } + if (!playBtnEl) { + playBtnEl = document.createElement('button'); + playBtnEl.type = 'button'; + playBtnEl.classList.add('lty-playbtn'); + this.append(playBtnEl); + } + if (!playBtnEl.textContent) { + const playBtnLabelEl = document.createElement('span'); + playBtnLabelEl.className = 'lyt-visually-hidden'; + playBtnLabelEl.textContent = this.playLabel; + playBtnEl.append(playBtnLabelEl); + } + this.addEventListener('pointerover', LiteYTEmbed.warmConnections, {once: true}); + this.addEventListener('click', this.addIframe); + } + static addPrefetch(kind, url, as) { + const linkEl = document.createElement('link'); + linkEl.rel = kind; + linkEl.href = url; + if (as) { + linkEl.as = as; + } + document.head.append(linkEl); + } + static warmConnections() { + if (LiteYTEmbed.preconnected) return; + + LiteYTEmbed.addPrefetch('preconnect', 'https://www.youtube-nocookie.com'); + LiteYTEmbed.addPrefetch('preconnect', 'https://www.google.com'); + LiteYTEmbed.addPrefetch('preconnect', 'https://googleads.g.doubleclick.net'); + LiteYTEmbed.addPrefetch('preconnect', 'https://static.doubleclick.net'); + + LiteYTEmbed.preconnected = true; + } + + addIframe() { + if (this.classList.contains('lyt-activated')) return; + this.classList.add('lyt-activated'); + + const params = new URLSearchParams(this.getAttribute('params') || []); + params.append('autoplay', '1'); + + const iframeEl = document.createElement('iframe'); + iframeEl.width = 560; + iframeEl.height = 315; + iframeEl.title = this.playLabel; + iframeEl.allow = 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture'; + iframeEl.allowFullscreen = true; + iframeEl.src = `https://www.youtube-nocookie.com/embed/${encodeURIComponent(this.videoId)}?${params.toString()}`; + this.append(iframeEl); + iframeEl.focus(); + } +} +customElements.define('lite-youtube', LiteYTEmbed); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/lozad.js b/files/assets/CHRISTMAS/js/lozad.js new file mode 100644 index 000000000..81235f5ce --- /dev/null +++ b/files/assets/CHRISTMAS/js/lozad.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.lozad=e()}(this,function(){"use strict";var g="undefined"!=typeof document&&document.documentMode,f={rootMargin:"0px",threshold:0,load:function(t){if("picture"===t.nodeName.toLowerCase()){var e=t.querySelector("img"),r=!1;null===e&&(e=document.createElement("img"),r=!0),g&&t.getAttribute("data-iesrc")&&(e.src=t.getAttribute("data-iesrc")),t.getAttribute("data-alt")&&(e.alt=t.getAttribute("data-alt")),r&&t.append(e)}if("video"===t.nodeName.toLowerCase()&&!t.getAttribute("data-src")&&t.children){for(var a=t.children,o=void 0,i=0;i<=a.length-1;i++)(o=a[i].getAttribute("data-src"))&&(a[i].src=o);t.load()}t.getAttribute("data-poster")&&(t.poster=t.getAttribute("data-poster")),t.getAttribute("data-src")&&(t.src=t.getAttribute("data-src")),t.getAttribute("data-srcset")&&t.setAttribute("srcset",t.getAttribute("data-srcset"));var n=",";if(t.getAttribute("data-background-delimiter")&&(n=t.getAttribute("data-background-delimiter")),t.getAttribute("data-background-image"))t.style.backgroundImage="url('"+t.getAttribute("data-background-image").split(n).join("'),url('")+"')";else if(t.getAttribute("data-background-image-set")){var d=t.getAttribute("data-background-image-set").split(n),u=d[0].substr(0,d[0].indexOf(" "))||d[0];u=-1===u.indexOf("url(")?"url("+u+")":u,1===d.length?t.style.backgroundImage=u:t.setAttribute("style",(t.getAttribute("style")||"")+"background-image: "+u+"; background-image: -webkit-image-set("+d+"); background-image: image-set("+d+")")}t.getAttribute("data-toggle-class")&&t.classList.toggle(t.getAttribute("data-toggle-class"))},loaded:function(){}};function A(t){t.setAttribute("data-loaded",!0)}var m=function(t){return"true"===t.getAttribute("data-loaded")},v=function(t){var e=1e.length)&&(t=e.length);for(var u=0,n=new Array(t);u=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}n.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(e){n.exports.defaults=e}};var i=/[&<>"']/,s=/[&<>"']/g,l=/[<>"']|&(?!#?\w+;)/,a=/[<>"']|&(?!#?\w+;)/g,o={"&":"&","<":"<",">":">",'"':""","'":"'"},D=function(e){return o[e]};var c=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(c,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var F={},A=/^[^:]+:\/*[^/]*$/,d=/^([^:]+:)[\s\S]*$/,C=/^([^:]+:\/*[^/]*)[\s\S]*$/;function k(e,t){F[" "+e]||(A.test(e)?F[" "+e]=e+"/":F[" "+e]=E(e,"/",!0));var u=-1===(e=F[" "+e]).indexOf(":");return"//"===t.substring(0,2)?u?t:e.replace(d,"$1")+t:"/"===t.charAt(0)?u?t:e.replace(C,"$1")+t:e+t}function E(e,t,u){var n=e.length;if(0===n)return"";for(var r=0;r=0&&"\\"===u[r];)n=!n;return n?"|":" |"})).split(/ \|/),n=0;if(u[0].trim()||u.shift(),u[u.length-1].trim()||u.pop(),u.length>t)u.splice(t);else for(;u.length1;)1&t&&(u+=e),t>>=1,e+=e;return u+e},T=n.exports.defaults,R=_,I=y,Z=x,q=z;function O(e,t,u,n){var r=t.href,i=t.title?Z(t.title):null,s=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){n.state.inLink=!0;var l={type:"link",raw:u,href:r,title:i,text:s,tokens:n.inlineTokens(s,[])};return n.state.inLink=!1,l}return{type:"image",raw:u,href:r,title:i,text:Z(s)}}var L=function(){function e(e){this.options=e||T}var t=e.prototype;return t.space=function(e){var t=this.rules.block.newline.exec(e);if(t)return t[0].length>1?{type:"space",raw:t[0]}:{raw:"\n"}},t.code=function(e){var t=this.rules.block.code.exec(e);if(t){var u=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?u:R(u,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var u=t[0],n=function(e,t){var u=e.match(/^(\s+)(?:```)/);if(null===u)return t;var n=u[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=n.length?e.slice(n.length):e})).join("\n")}(u,t[3]||"");return{type:"code",raw:u,lang:t[2]?t[2].trim():t[2],text:n}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var u=t[2].trim();if(/#$/.test(u)){var n=R(u,"#");this.options.pedantic?u=n.trim():n&&!/ $/.test(n)||(u=n.trim())}var r={type:"heading",raw:t[0],depth:t[1].length,text:u,tokens:[]};return this.lexer.inline(r.text,r.tokens),r}},t.hr=function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}},t.blockquote=function(e){var t=this.rules.block.blockquote.exec(e);if(t){var u=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(u,[]),text:u}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var u,n,r,i,s,l,a,o,D,c,h=t[1].trim(),p=h.length>1,f={type:"list",raw:"",ordered:p,start:p?+h.slice(0,-1):"",loose:!1,items:[]};h=p?"\\d{1,9}\\"+h.slice(-1):"\\"+h,this.options.pedantic&&(h=p?h:"[*+-]");for(var g=new RegExp("^( {0,3}"+h+")((?: [^\\n]*| *)(?:\\n[^\\n]*)*(?:\\n|$))");e&&!this.rules.block.hr.test(e)&&(t=g.exec(e));){D=t[2].split("\n"),this.options.pedantic?(i=2,c=D[0].trimLeft()):(i=t[2].search(/[^ ]/),i=t[1].length+(i>4?1:i),c=D[0].slice(i-t[1].length)),l=!1,u=t[0],!D[0]&&/^ *$/.test(D[1])&&(u=t[1]+D.slice(0,2).join("\n")+"\n",f.loose=!0,D=[]);var F=new RegExp("^ {0,"+Math.min(3,i-1)+"}(?:[*+-]|\\d{1,9}[.)])");for(s=1;s=i)&&o.trim()){u=t[1]+D.slice(0,s).join("\n")+"\n";break}c+="\n"+o.slice(i)}else o.trim()||(l=!0),o.search(/[^ ]/)>=i?c+="\n"+o.slice(i):c+="\n"+o}f.loose||(a?f.loose=!0:/\n *\n *$/.test(u)&&(a=!0)),this.options.gfm&&(n=/^\[[ xX]\] /.exec(c))&&(r="[ ] "!==n[0],c=c.replace(/^\[[ xX]\] +/,"")),f.items.push({type:"list_item",raw:u,task:!!n,checked:r,loose:!1,text:c}),f.raw+=u,e=e.slice(u.length)}f.items[f.items.length-1].raw=u.trimRight(),f.items[f.items.length-1].text=c.trimRight(),f.raw=f.raw.trimRight();var A=f.items.length;for(s=0;s/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Z(t[0]):t[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var u=t[2].trim();if(!this.options.pedantic&&/^$/.test(u))return;var n=R(u.slice(0,-1),"\\");if((u.length-n.length)%2==0)return}else{var r=q(t[2],"()");if(r>-1){var i=(0===t[0].indexOf("!")?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,i).trim(),t[3]=""}}var s=t[2],l="";if(this.options.pedantic){var a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(s);a&&(s=a[1],l=a[3])}else l=t[3]?t[3].slice(1,-1):"";return s=s.trim(),/^$/.test(u)?s.slice(1):s.slice(1,-1)),O(t,{href:s?s.replace(this.rules.inline._escapes,"$1"):s,title:l?l.replace(this.rules.inline._escapes,"$1"):l},t[0],this.lexer)}},t.reflink=function(e,t){var u;if((u=this.rules.inline.reflink.exec(e))||(u=this.rules.inline.nolink.exec(e))){var n=(u[2]||u[1]).replace(/\s+/g," ");if(!(n=t[n.toLowerCase()])||!n.href){var r=u[0].charAt(0);return{type:"text",raw:r,text:r}}return O(u,n,u[0],this.lexer)}},t.emStrong=function(e,t,u){void 0===u&&(u="");var n=this.rules.inline.emStrong.lDelim.exec(e);if(n&&(!n[3]||!u.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=n[1]||n[2]||"";if(!r||r&&(""===u||this.rules.inline.punctuation.exec(u))){var i,s,l=n[0].length-1,a=l,o=0,D="*"===n[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(D.lastIndex=0,t=t.slice(-1*e.length+l);null!=(n=D.exec(t));)if(i=n[1]||n[2]||n[3]||n[4]||n[5]||n[6])if(s=i.length,n[3]||n[4])a+=s;else if(!((n[5]||n[6])&&l%3)||(l+s)%3){if(!((a-=s)>0)){if(s=Math.min(s,s+a+o),Math.min(l,s)%2){var c=e.slice(1,l+n.index+s);return{type:"em",raw:e.slice(0,l+n.index+s+1),text:c,tokens:this.lexer.inlineTokens(c,[])}}var h=e.slice(2,l+n.index+s-1);return{type:"strong",raw:e.slice(0,l+n.index+s+1),text:h,tokens:this.lexer.inlineTokens(h,[])}}}else o+=s}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var u=t[2].replace(/\n/g," "),n=/[^ ]/.test(u),r=/^ /.test(u)&&/ $/.test(u);return n&&r&&(u=u.substring(1,u.length-1)),u=Z(u,!0),{type:"codespan",raw:t[0],text:u}}},t.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},t.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2],[])}},t.autolink=function(e,t){var u,n,r=this.rules.inline.autolink.exec(e);if(r)return n="@"===r[2]?"mailto:"+(u=Z(this.options.mangle?t(r[1]):r[1])):u=Z(r[1]),{type:"link",raw:r[0],text:u,href:n,tokens:[{type:"text",raw:u,text:u}]}},t.url=function(e,t){var u;if(u=this.rules.inline.url.exec(e)){var n,r;if("@"===u[2])r="mailto:"+(n=Z(this.options.mangle?t(u[0]):u[0]));else{var i;do{i=u[0],u[0]=this.rules.inline._backpedal.exec(u[0])[0]}while(i!==u[0]);n=Z(u[0]),r="www."===u[1]?"http://"+n:n}return{type:"link",raw:u[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},t.inlineText=function(e,t){var u,n=this.rules.inline.text.exec(e);if(n)return u=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):Z(n[0]):n[0]:Z(this.options.smartypants?t(n[0]):n[0]),{type:"text",raw:n[0],text:u}},e}(),j=w,U=b,P=v,Q={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Q.def=U(Q.def).replace("label",Q._label).replace("title",Q._title).getRegex(),Q.bullet=/(?:[*+-]|\d{1,9}[.)])/,Q.listItemStart=U(/^( *)(bull) */).replace("bull",Q.bullet).getRegex(),Q.list=U(Q.list).replace(/bull/g,Q.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Q.def.source+")").getRegex(),Q._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Q._comment=/|$)/,Q.html=U(Q.html,"i").replace("comment",Q._comment).replace("tag",Q._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Q.paragraph=U(Q._paragraph).replace("hr",Q.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Q._tag).getRegex(),Q.blockquote=U(Q.blockquote).replace("paragraph",Q.paragraph).getRegex(),Q.normal=P({},Q),Q.gfm=P({},Q.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Q.gfm.table=U(Q.gfm.table).replace("hr",Q.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Q._tag).getRegex(),Q.pedantic=P({},Q.normal,{html:U("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Q._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:U(Q.normal._paragraph).replace("hr",Q.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Q.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var M={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};M.punctuation=U(M.punctuation).replace(/punctuation/g,M._punctuation).getRegex(),M.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,M.escapedEmSt=/\\\*|\\_/g,M._comment=U(Q._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),M.emStrong.lDelim=U(M.emStrong.lDelim).replace(/punct/g,M._punctuation).getRegex(),M.emStrong.rDelimAst=U(M.emStrong.rDelimAst,"g").replace(/punct/g,M._punctuation).getRegex(),M.emStrong.rDelimUnd=U(M.emStrong.rDelimUnd,"g").replace(/punct/g,M._punctuation).getRegex(),M._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,M._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,M._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,M.autolink=U(M.autolink).replace("scheme",M._scheme).replace("email",M._email).getRegex(),M._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,M.tag=U(M.tag).replace("comment",M._comment).replace("attribute",M._attribute).getRegex(),M._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,M._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,M._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,M.link=U(M.link).replace("label",M._label).replace("href",M._href).replace("title",M._title).getRegex(),M.reflink=U(M.reflink).replace("label",M._label).getRegex(),M.reflinkSearch=U(M.reflinkSearch,"g").replace("reflink",M.reflink).replace("nolink",M.nolink).getRegex(),M.normal=P({},M),M.pedantic=P({},M.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:U(/^!?\[(label)\]\((.*?)\)/).replace("label",M._label).getRegex(),reflink:U(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",M._label).getRegex()}),M.gfm=P({},M.normal,{escape:U(M.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(u="x"+u.toString(16)),n+="&#"+u+";";return n}var Y=function(){function t(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||G,this.options.tokenizer=this.options.tokenizer||new X,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var t={block:V.normal,inline:H.normal};this.options.pedantic?(t.block=V.pedantic,t.inline=H.pedantic):this.options.gfm&&(t.block=V.gfm,this.options.breaks?t.inline=H.breaks:t.inline=H.gfm),this.tokenizer.rules=t}t.lex=function(e,u){return new t(u).lex(e)},t.lexInline=function(e,u){return new t(u).inlineTokens(e)};var u,n,r,i=t.prototype;return i.lex=function(e){var t;for(e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens);t=this.inlineQueue.shift();)this.inlineTokens(t.src,t.tokens);return this.tokens},i.blockTokens=function(e,t){var u,n,r,i,s=this;for(void 0===t&&(t=[]),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((function(n){return!!(u=n.call({lexer:s},e,t))&&(e=e.substring(u.raw.length),t.push(u),!0)}))))if(u=this.tokenizer.space(e))e=e.substring(u.raw.length),u.type&&t.push(u);else if(u=this.tokenizer.code(e))e=e.substring(u.raw.length),!(n=t[t.length-1])||"paragraph"!==n.type&&"text"!==n.type?t.push(u):(n.raw+="\n"+u.raw,n.text+="\n"+u.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(u=this.tokenizer.fences(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.heading(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.hr(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.blockquote(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.list(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.html(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.def(e))e=e.substring(u.raw.length),!(n=t[t.length-1])||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[u.tag]||(this.tokens.links[u.tag]={href:u.href,title:u.title}):(n.raw+="\n"+u.raw,n.text+="\n"+u.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(u=this.tokenizer.table(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.lheading(e))e=e.substring(u.raw.length),t.push(u);else if(r=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,u=e.slice(1),n=void 0;s.options.extensions.startBlock.forEach((function(e){"number"==typeof(n=e.call({lexer:this},u))&&n>=0&&(t=Math.min(t,n))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),this.state.top&&(u=this.tokenizer.paragraph(r)))n=t[t.length-1],i&&"paragraph"===n.type?(n.raw+="\n"+u.raw,n.text+="\n"+u.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(u),i=r.length!==e.length,e=e.substring(u.raw.length);else if(u=this.tokenizer.text(e))e=e.substring(u.raw.length),(n=t[t.length-1])&&"text"===n.type?(n.raw+="\n"+u.raw,n.text+="\n"+u.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(u);else if(e){var l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}return this.state.top=!0,t},i.inline=function(e,t){this.inlineQueue.push({src:e,tokens:t})},i.inlineTokens=function(e,t){var u,n,r,i=this;void 0===t&&(t=[]);var s,l,a,o=e;if(this.tokens.links){var D=Object.keys(this.tokens.links);if(D.length>0)for(;null!=(s=this.tokenizer.rules.inline.reflinkSearch.exec(o));)D.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,s.index)+"["+J("a",s[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(s=this.tokenizer.rules.inline.blockSkip.exec(o));)o=o.slice(0,s.index)+"["+J("a",s[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(s=this.tokenizer.rules.inline.escapedEmSt.exec(o));)o=o.slice(0,s.index)+"++"+o.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(l||(a=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(n){return!!(u=n.call({lexer:i},e,t))&&(e=e.substring(u.raw.length),t.push(u),!0)}))))if(u=this.tokenizer.escape(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.tag(e))e=e.substring(u.raw.length),(n=t[t.length-1])&&"text"===u.type&&"text"===n.type?(n.raw+=u.raw,n.text+=u.text):t.push(u);else if(u=this.tokenizer.link(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(u.raw.length),(n=t[t.length-1])&&"text"===u.type&&"text"===n.type?(n.raw+=u.raw,n.text+=u.text):t.push(u);else if(u=this.tokenizer.emStrong(e,o,a))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.codespan(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.br(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.del(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.autolink(e,W))e=e.substring(u.raw.length),t.push(u);else if(this.state.inLink||!(u=this.tokenizer.url(e,W))){if(r=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,u=e.slice(1),n=void 0;i.options.extensions.startInline.forEach((function(e){"number"==typeof(n=e.call({lexer:this},u))&&n>=0&&(t=Math.min(t,n))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),u=this.tokenizer.inlineText(r,K))e=e.substring(u.raw.length),"_"!==u.raw.slice(-1)&&(a=u.raw.slice(-1)),l=!0,(n=t[t.length-1])&&"text"===n.type?(n.raw+=u.raw,n.text+=u.text):t.push(u);else if(e){var c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}throw new Error(c)}}else e=e.substring(u.raw.length),t.push(u);return t},u=t,r=[{key:"rules",get:function(){return{block:V,inline:H}}}],(n=null)&&e(u.prototype,n),r&&e(u,r),t}(),ee=n.exports.defaults,te=B,ue=x,ne=function(){function e(e){this.options=e||ee}var t=e.prototype;return t.code=function(e,t,u){var n=(t||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,n);null!=r&&r!==e&&(u=!0,e=r)}return e=e.replace(/\n$/,"")+"\n",n?'
'+(u?e:ue(e,!0))+"
\n":"
"+(u?e:ue(e,!0))+"
\n"},t.blockquote=function(e){return"
\n"+e+"
\n"},t.html=function(e){return e},t.heading=function(e,t,u,n){return this.options.headerIds?"'+e+"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
\n":"
\n"},t.list=function(e,t,u){var n=t?"ol":"ul";return"<"+n+(t&&1!==u?' start="'+u+'"':"")+">\n"+e+"\n"},t.listitem=function(e){return"
  • "+e+"
  • \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return"

    "+e+"

    \n"},t.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},t.tablerow=function(e){return"\n"+e+"\n"},t.tablecell=function(e,t){var u=t.header?"th":"td";return(t.align?"<"+u+' align="'+t.align+'">':"<"+u+">")+e+"\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
    ":"
    "},t.del=function(e){return""+e+""},t.link=function(e,t,u){if(null===(e=te(this.options.sanitize,this.options.baseUrl,e)))return u;var n='"},t.image=function(e,t,u){if(null===(e=te(this.options.sanitize,this.options.baseUrl,e)))return u;var n=''+u+'":">"},t.text=function(e){return e},e}(),re=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,u){return""+u},t.image=function(e,t,u){return""+u},t.br=function(){return""},e}(),ie=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var u=e,n=0;if(this.seen.hasOwnProperty(u)){n=this.seen[e];do{u=e+"-"+ ++n}while(this.seen.hasOwnProperty(u))}return t||(this.seen[e]=n,this.seen[u]=0),u},t.slug=function(e,t){void 0===t&&(t={});var u=this.serialize(e);return this.getNextSafeSlug(u,t.dryrun)},e}(),se=ne,le=re,ae=ie,oe=n.exports.defaults,De=m,ce=Y,he=function(){function e(e){this.options=e||oe,this.options.renderer=this.options.renderer||new se,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new le,this.slugger=new ae}e.parse=function(t,u){return new e(u).parse(t)},e.parseInline=function(t,u){return new e(u).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var u,n,r,i,s,l,a,o,D,c,h,p,f,g,F,A,d,C,k,E="",x=e.length;for(u=0;u0&&"paragraph"===F.tokens[0].type?(F.tokens[0].text=C+" "+F.tokens[0].text,F.tokens[0].tokens&&F.tokens[0].tokens.length>0&&"text"===F.tokens[0].tokens[0].type&&(F.tokens[0].tokens[0].text=C+" "+F.tokens[0].tokens[0].text)):F.tokens.unshift({type:"text",text:C}):g+=C),g+=this.parse(F.tokens,f),D+=this.renderer.listitem(g,d,A);E+=this.renderer.list(D,h,p);continue;case"html":E+=this.renderer.html(c.text);continue;case"paragraph":E+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(D=c.tokens?this.parseInline(c.tokens):c.text;u+1An error occurred:

    "+Ce(e.message+"",!0)+"
    ";throw e}}return me.options=me.setOptions=function(e){return Ae(me.defaults,e),Ee(me.defaults),me},me.getDefaults=ke,me.defaults=xe,me.use=function(){for(var e=arguments.length,t=new Array(e),u=0;uAn error occurred:

    "+Ce(e.message+"",!0)+"
    ";throw e}},me.Parser=he,me.parser=he.parse,me.Renderer=fe,me.TextRenderer=ge,me.Lexer=ce,me.lexer=ce.lex,me.Tokenizer=pe,me.Slugger=Fe,me.parse=me,me})); + +function markdown(first, second) { + var input = document.getElementById(first).value; + input = input.replace(/\|\|(.*?)\|\|/g, '$1') + + var emojis = Array.from(input.matchAll(/:(.{1,30}?):/gi)) + if(emojis != null){ + for(i = 0; i < emojis.length; i++){ + var emoji = emojis[i][0] + var remoji = emoji.replace(/:/g,''); + if (remoji.startsWith("!#") || remoji.startsWith("#!")) + { + input = input.replace(emoji, "") + } else if (remoji.startsWith("#")) + { + input = input.replace(emoji, "") + } else if (remoji.startsWith("!")) + { + input = input.replace(emoji, "") + } else { + input = input.replace(emoji, "") + } + } + } + + if (!first.includes('edit')) + { + var options = Array.from(input.matchAll(/\s*\$\$([^\$\n]+)\$\$\s*/gi)) + if(options != null){ + for(i = 0; i < options.length; i++){ + var option = options[i][0]; + var option2 = option.replace(/\$\$/g, '').replace(/\n/g, '') + input = input.replace(option, ''); + input += '
    '; + } + } + } + + document.getElementById(second).innerHTML = marked(input) +} + +function charLimit(form, text) { + + var input = document.getElementById(form); + + var text = document.getElementById(text); + + var length = input.value.length; + + var maxLength = input.getAttribute("maxlength"); + + if (length >= maxLength) { + text.style.color = "#E53E3E"; + } + else if (length >= maxLength * .72){ + text.style.color = "#FFC107"; + } + else { + text.style.color = "#A0AEC0"; + } + + text.innerText = length + ' / ' + maxLength; +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/mobile_navigation_bar.js b/files/assets/CHRISTMAS/js/mobile_navigation_bar.js new file mode 100644 index 000000000..2801c6cc2 --- /dev/null +++ b/files/assets/CHRISTMAS/js/mobile_navigation_bar.js @@ -0,0 +1,41 @@ +let prevScrollpos = window.pageYOffset; + +document.getElementsByTagName('body')[0].onscroll = () => { + let currentScrollPos = window.pageYOffset; + // var topBar = document.getElementById("fixed-bar-mobile"); + const bottomBar = document.getElementById("mobile-bottom-navigation-bar"); + // var dropdown = document.getElementById("mobileSortDropdown"); + // var navbar = document.getElementById("navbar"); + + if (bottomBar != null) { + if (currentScrollPos <= 60 || ((window.innerHeight + currentScrollPos) < document.body.offsetHeight)) { + // console.log('less than 60 greater than offsetHeight'); + bottomBar.style.transform = "translateY(60px)"; + } + else if (prevScrollpos > currentScrollPos) { + // console.log('prev greater than current'); + bottomBar.style.transform = "translateY(0px)" + } + else { + // console.log('else'); + bottomBar.style.transform = "translateY(60px)"; + } + } + + // if (topBar != null && dropdown != null) { + // if (prevScrollpos > currentScrollPos) { + // topBar.style.top = "48px"; + // navbar.classList.remove("shadow"); + // } + // else if (currentScrollPos <= 125) { + // topBar.style.top = "48px"; + // navbar.classList.remove("shadow"); + // } + // else { + // topBar.style.top = "-48px"; + // dropdown.classList.remove('show'); + // navbar.classList.add("shadow"); + // } + // } + prevScrollpos = currentScrollPos; +} \ No newline at end of file diff --git a/files/assets/js/modules/initializeBootstrap.js b/files/assets/CHRISTMAS/js/modules/initializeBootstrap.js similarity index 100% rename from files/assets/js/modules/initializeBootstrap.js rename to files/assets/CHRISTMAS/js/modules/initializeBootstrap.js diff --git a/files/assets/CHRISTMAS/js/new_comments_count.js b/files/assets/CHRISTMAS/js/new_comments_count.js new file mode 100644 index 000000000..24846862c --- /dev/null +++ b/files/assets/CHRISTMAS/js/new_comments_count.js @@ -0,0 +1,39 @@ +if (typeof showNewCommentCounts === 'undefined') { + function showNewCommentCounts(postId, newTotal) { + const comments = JSON.parse(localStorage.getItem("comment-counts")) || {} + + const lastCount = comments[postId] + if (lastCount) { + const newComments = newTotal - lastCount.c + if (newComments > 0) { + document.querySelectorAll(`#post-${postId} .new-comments`).forEach(elem => { + elem.textContent = ` (+${newComments})` + elem.classList.remove("d-none") + }) + } + } + } + + const LAST_CACHE_CLEAN_ID = "last-cache-clean" + const EXPIRE_INTERVAL_MILLIS = 5 * 24 * 60 * 60 * 1000 + const CACHE_CLEAN_INTERVAL = 60 * 60 * 1000 + + function cleanCache() { + const lastCacheClean = JSON.parse(localStorage.getItem(LAST_CACHE_CLEAN_ID)) || Date.now() + const now = Date.now() + + if (now - lastCacheClean > CACHE_CLEAN_INTERVAL) { + const comments = JSON.parse(localStorage.getItem("comment-counts")) || {} + + for (let [key, value] of Object.entries(comments)) { + if (now - value.t > EXPIRE_INTERVAL_MILLIS) { + delete comments[key] + } + } + window.localStorage.setItem("comment-counts", JSON.stringify(comments)) + } + window.localStorage.setItem(LAST_CACHE_CLEAN_ID, JSON.stringify(now)) + } + + setTimeout(cleanCache, 500) +} \ No newline at end of file diff --git a/files/assets/js/popover.js b/files/assets/CHRISTMAS/js/popover.js similarity index 100% rename from files/assets/js/popover.js rename to files/assets/CHRISTMAS/js/popover.js diff --git a/files/assets/CHRISTMAS/js/post_toast2.js b/files/assets/CHRISTMAS/js/post_toast2.js new file mode 100644 index 000000000..1a31bc179 --- /dev/null +++ b/files/assets/CHRISTMAS/js/post_toast2.js @@ -0,0 +1,52 @@ +function post_toast2(url, button1, button2) { + var xhr = new XMLHttpRequest(); + xhr.open("POST", url, true); + var form = new FormData() + form.append("formkey", formkey()); + + if(typeof data === 'object' && data !== null) { + for(let k of Object.keys(data)) { + form.append(k, data[k]); + } + } + + + form.append("formkey", formkey()); + xhr.withCredentials=true; + + xhr.onload = function() { + if (xhr.status >= 200 && xhr.status < 300) { + try { + document.getElementById('toast-post-success-text').innerText = JSON.parse(xhr.response)["message"]; + } catch(e) { + document.getElementById('toast-post-success-text').innerText = "Action successful!"; + } + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.show(); + return true + + } else if (xhr.status >= 300 && xhr.status < 400) { + window.location.href = JSON.parse(xhr.response)["redirect"] + } else { + try { + data=JSON.parse(xhr.response); + + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + document.getElementById('toast-post-error-text').innerText = data["error"]; + return false + } catch(e) { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + return false + } + } + }; + + xhr.send(form); + + document.getElementById(button1).classList.toggle("d-none"); + document.getElementById(button2).classList.toggle("d-none"); +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/pusher.js b/files/assets/CHRISTMAS/js/pusher.js new file mode 100644 index 000000000..153aba475 --- /dev/null +++ b/files/assets/CHRISTMAS/js/pusher.js @@ -0,0 +1,2613 @@ +var PusherPushNotifications = (function (exports) { + 'use strict'; + + function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { + arr2[i] = arr[i]; + } + + return arr2; + } + } + + var arrayWithoutHoles = _arrayWithoutHoles; + + function _iterableToArray(iter) { + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); + } + + var iterableToArray = _iterableToArray; + + function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance"); + } + + var nonIterableSpread = _nonIterableSpread; + + function _toConsumableArray(arr) { + return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); + } + + var toConsumableArray = _toConsumableArray; + + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } + + var runtime_1 = createCommonjsModule(function (module) { + /** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + var runtime = (function (exports) { + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined$1; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + exports.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + // This is a polyfill for %IteratorPrototype% for environments that + // don't natively support it. + var IteratorPrototype = {}; + IteratorPrototype[iteratorSymbol] = function () { + return this; + }; + + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + if (NativeIteratorPrototype && + NativeIteratorPrototype !== Op && + hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + // This environment has a native %IteratorPrototype%; use it instead + // of the polyfill. + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = + Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; + GeneratorFunctionPrototype.constructor = GeneratorFunction; + GeneratorFunctionPrototype[toStringTagSymbol] = + GeneratorFunction.displayName = "GeneratorFunction"; + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + prototype[method] = function(arg) { + return this._invoke(method, arg); + }; + }); + } + + exports.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; + + exports.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + if (!(toStringTagSymbol in genFun)) { + genFun[toStringTagSymbol] = "GeneratorFunction"; + } + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `hasOwn.call(value, "__await")` to determine if the yielded value is + // meant to be awaited. + exports.awrap = function(arg) { + return { __await: arg }; + }; + + function AsyncIterator(generator) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value && + typeof value === "object" && + hasOwn.call(value, "__await")) { + return Promise.resolve(value.__await).then(function(value) { + invoke("next", value, resolve, reject); + }, function(err) { + invoke("throw", err, resolve, reject); + }); + } + + return Promise.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. + result.value = unwrapped; + resolve(result); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new Promise(function(resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + AsyncIterator.prototype[asyncIteratorSymbol] = function () { + return this; + }; + exports.AsyncIterator = AsyncIterator; + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + exports.async = function(innerFn, outerFn, self, tryLocsList) { + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList) + ); + + return exports.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = context.arg; + + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(context.arg) call above. + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + // Call delegate.iterator[context.method](context.arg) and handle the + // result, either by returning a { value, done } result from the + // delegate iterator, or by modifying context.method and context.arg, + // setting context.delegate to null, and returning the ContinueSentinel. + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + if (method === undefined$1) { + // A .throw or .return when the delegate iterator has no .throw + // method always terminates the yield* loop. + context.delegate = null; + + if (context.method === "throw") { + // Note: ["return"] must be used for ES3 parsing compatibility. + if (delegate.iterator["return"]) { + // If the delegate iterator has a return method, give it a + // chance to clean up. + context.method = "return"; + context.arg = undefined$1; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + // If maybeInvokeDelegate(context) changed context.method from + // "return" to "throw", let that override the TypeError below. + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError( + "The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (! info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + // Assign the result of the finished delegate to the temporary + // variable specified by delegate.resultName (see delegateYield). + context[delegate.resultName] = info.value; + + // Resume execution at the desired location (see delegateYield). + context.next = delegate.nextLoc; + + // If context.method was "throw" but the delegate handled the + // exception, let the outer generator proceed normally. If + // context.method was "next", forget context.arg since it has been + // "consumed" by the delegate iterator. If context.method was + // "return", allow the original .return call to continue in the + // outer generator. + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined$1; + } + + } else { + // Re-yield the result returned by the delegate method. + return info; + } + + // The delegate iterator is finished, so forget it and continue with + // the outer generator. + context.delegate = null; + return ContinueSentinel; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + Gp[toStringTagSymbol] = "Generator"; + + // A Generator should always return itself as the iterator object when the + // @@iterator function is called on it. Some browsers' implementations of the + // iterator prototype chain incorrectly implement this, causing the Generator + // object to not be returned from this call. This ensures that doesn't happen. + // See https://github.com/facebook/regenerator/issues/274 for more details. + Gp[iteratorSymbol] = function() { + return this; + }; + + Gp.toString = function() { + return "[object Generator]"; + }; + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + exports.keys = function(object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined$1; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + exports.values = values; + + function doneResult() { + return { value: undefined$1, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined$1; + this.done = false; + this.delegate = null; + + this.method = "next"; + this.arg = undefined$1; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined$1; + } + } + } + }, + + stop: function() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + context.method = "next"; + context.arg = undefined$1; + } + + return !! caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + this.arg = undefined$1; + } + + return ContinueSentinel; + } + }; + + // Regardless of whether this script is executing as a CommonJS module + // or not, return the runtime object so that we can declare the variable + // regeneratorRuntime in the outer scope, which allows this module to be + // injected easily by `bin/regenerator --include-runtime script.js`. + return exports; + + }( + // If this script is executing as a CommonJS module, use module.exports + // as the regeneratorRuntime namespace. Otherwise create a new empty + // object. Either way, the resulting object will be used to initialize + // the regeneratorRuntime variable at the top of this file. + module.exports + )); + + try { + regeneratorRuntime = runtime; + } catch (accidentalStrictMode) { + // This module should not be running in strict mode, so the above + // assignment should always work unless something is misconfigured. Just + // in case runtime.js accidentally runs in strict mode, we can escape + // strict mode using a global Function call. This could conceivably fail + // if a Content Security Policy forbids using Function, but in that case + // the proper solution is to fix the accidental strict mode problem. If + // you've misconfigured your bundler to force strict mode and applied a + // CSP to forbid Function, and you're not willing to fix either of those + // problems, please detail your unique predicament in a GitHub issue. + Function("r", "regeneratorRuntime = r")(runtime); + } + }); + + var regenerator = runtime_1; + + function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } + } + + function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + + _next(undefined); + }); + }; + } + + var asyncToGenerator = _asyncToGenerator; + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + var classCallCheck = _classCallCheck; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + var createClass = _createClass; + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + var defineProperty = _defineProperty; + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + defineProperty(target, key, source[key]); + }); + } + + return target; + } + + var objectSpread = _objectSpread; + + function doRequest(_ref) { + var method = _ref.method, + path = _ref.path, + _ref$body = _ref.body, + body = _ref$body === void 0 ? null : _ref$body, + _ref$headers = _ref.headers, + headers = _ref$headers === void 0 ? {} : _ref$headers; + var options = { + method: method, + headers: headers + }; + + if (body !== null) { + options.body = JSON.stringify(body); + options.headers = objectSpread({ + 'Content-Type': 'application/json' + }, headers); + } + + return fetch(path, options).then( + /*#__PURE__*/ + function () { + var _ref2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee(response) { + return regenerator.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (response.ok) { + _context.next = 3; + break; + } + + _context.next = 3; + return handleError(response); + + case 3: + _context.prev = 3; + _context.next = 6; + return response.json(); + + case 6: + return _context.abrupt("return", _context.sent); + + case 9: + _context.prev = 9; + _context.t0 = _context["catch"](3); + return _context.abrupt("return", null); + + case 12: + case "end": + return _context.stop(); + } + } + }, _callee, null, [[3, 9]]); + })); + + return function (_x) { + return _ref2.apply(this, arguments); + }; + }()); + } + + function handleError(_x2) { + return _handleError.apply(this, arguments); + } + + function _handleError() { + _handleError = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee2(response) { + var errorMessage, _ref3, _ref3$error, error, _ref3$description, description; + + return regenerator.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.prev = 0; + _context2.next = 3; + return response.json(); + + case 3: + _ref3 = _context2.sent; + _ref3$error = _ref3.error; + error = _ref3$error === void 0 ? 'Unknown error' : _ref3$error; + _ref3$description = _ref3.description; + description = _ref3$description === void 0 ? 'No description' : _ref3$description; + errorMessage = "Unexpected status code ".concat(response.status, ": ").concat(error, ", ").concat(description); + _context2.next = 14; + break; + + case 11: + _context2.prev = 11; + _context2.t0 = _context2["catch"](0); + errorMessage = "Unexpected status code ".concat(response.status, ": Cannot parse error response"); + + case 14: + throw new Error(errorMessage); + + case 15: + case "end": + return _context2.stop(); + } + } + }, _callee2, null, [[0, 11]]); + })); + return _handleError.apply(this, arguments); + } + + var TokenProvider = + /*#__PURE__*/ + function () { + function TokenProvider() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + url = _ref.url, + queryParams = _ref.queryParams, + headers = _ref.headers; + + classCallCheck(this, TokenProvider); + + this.url = url; + this.queryParams = queryParams; + this.headers = headers; + } + + createClass(TokenProvider, [{ + key: "fetchToken", + value: function () { + var _fetchToken = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee(userId) { + var queryParams, encodedParams, options, response; + return regenerator.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + queryParams = objectSpread({ + user_id: userId + }, this.queryParams); + encodedParams = Object.entries(queryParams).map(function (kv) { + return kv.map(encodeURIComponent).join('='); + }).join('&'); + options = { + method: 'GET', + path: "".concat(this.url, "?").concat(encodedParams), + headers: this.headers + }; + _context.next = 5; + return doRequest(options); + + case 5: + response = _context.sent; + return _context.abrupt("return", response); + + case 7: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function fetchToken(_x) { + return _fetchToken.apply(this, arguments); + } + + return fetchToken; + }() + }]); + + return TokenProvider; + }(); + + var DeviceStateStore = + /*#__PURE__*/ + function () { + function DeviceStateStore(instanceId) { + classCallCheck(this, DeviceStateStore); + + this._instanceId = instanceId; + this._dbConn = null; + } + + createClass(DeviceStateStore, [{ + key: "connect", + value: function connect() { + var _this = this; + + return new Promise(function (resolve, reject) { + var request = indexedDB.open(_this._dbName); + + request.onsuccess = function (event) { + var db = event.target.result; + _this._dbConn = db; + + _this._readState().then(function (state) { + return state === null ? _this.clear() : Promise.resolve(); + }).then(resolve); + }; + + request.onupgradeneeded = function (event) { + var db = event.target.result; + db.createObjectStore('beams', { + keyPath: 'instance_id' + }); + }; + + request.onerror = function (event) { + var error = new Error("Database error: ".concat(event.target.error)); + reject(error); + }; + }); + } + }, { + key: "clear", + value: function clear() { + return this._writeState({ + instance_id: this._instanceId, + device_id: null, + token: null, + user_id: null + }); + } + }, { + key: "_readState", + value: function _readState() { + var _this2 = this; + + if (!this.isConnected) { + throw new Error('Cannot read value: DeviceStateStore not connected to IndexedDB'); + } + + return new Promise(function (resolve, reject) { + var request = _this2._dbConn.transaction('beams').objectStore('beams').get(_this2._instanceId); + + request.onsuccess = function (event) { + var state = event.target.result; + + if (!state) { + resolve(null); + } + + resolve(state); + }; + + request.onerror = function (event) { + reject(event.target.error); + }; + }); + } + }, { + key: "_readProperty", + value: function () { + var _readProperty2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee(name) { + var state; + return regenerator.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._readState(); + + case 2: + state = _context.sent; + + if (!(state === null)) { + _context.next = 5; + break; + } + + return _context.abrupt("return", null); + + case 5: + return _context.abrupt("return", state[name] || null); + + case 6: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _readProperty(_x) { + return _readProperty2.apply(this, arguments); + } + + return _readProperty; + }() + }, { + key: "_writeState", + value: function _writeState(state) { + var _this3 = this; + + if (!this.isConnected) { + throw new Error('Cannot write value: DeviceStateStore not connected to IndexedDB'); + } + + return new Promise(function (resolve, reject) { + var request = _this3._dbConn.transaction('beams', 'readwrite').objectStore('beams').put(state); + + request.onsuccess = function (_) { + resolve(); + }; + + request.onerror = function (event) { + reject(event.target.error); + }; + }); + } + }, { + key: "_writeProperty", + value: function () { + var _writeProperty2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee2(name, value) { + var state; + return regenerator.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._readState(); + + case 2: + state = _context2.sent; + state[name] = value; + _context2.next = 6; + return this._writeState(state); + + case 6: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function _writeProperty(_x2, _x3) { + return _writeProperty2.apply(this, arguments); + } + + return _writeProperty; + }() + }, { + key: "getToken", + value: function getToken() { + return this._readProperty('token'); + } + }, { + key: "setToken", + value: function setToken(token) { + return this._writeProperty('token', token); + } + }, { + key: "getDeviceId", + value: function getDeviceId() { + return this._readProperty('device_id'); + } + }, { + key: "setDeviceId", + value: function setDeviceId(deviceId) { + return this._writeProperty('device_id', deviceId); + } + }, { + key: "getUserId", + value: function getUserId() { + return this._readProperty('user_id'); + } + }, { + key: "setUserId", + value: function setUserId(userId) { + return this._writeProperty('user_id', userId); + } + }, { + key: "getLastSeenSdkVersion", + value: function getLastSeenSdkVersion() { + return this._readProperty('last_seen_sdk_version'); + } + }, { + key: "setLastSeenSdkVersion", + value: function setLastSeenSdkVersion(sdkVersion) { + return this._writeProperty('last_seen_sdk_version', sdkVersion); + } + }, { + key: "getLastSeenUserAgent", + value: function getLastSeenUserAgent() { + return this._readProperty('last_seen_user_agent'); + } + }, { + key: "setLastSeenUserAgent", + value: function setLastSeenUserAgent(userAgent) { + return this._writeProperty('last_seen_user_agent', userAgent); + } + }, { + key: "_dbName", + get: function get() { + return "beams-".concat(this._instanceId); + } + }, { + key: "isConnected", + get: function get() { + return this._dbConn !== null; + } + }]); + + return DeviceStateStore; + }(); + + var version = "1.0.3"; + + var INTERESTS_REGEX = new RegExp('^(_|\\-|=|@|,|\\.|;|[A-Z]|[a-z]|[0-9])*$'); + var MAX_INTEREST_LENGTH = 164; + var MAX_INTERESTS_NUM = 5000; + var SERVICE_WORKER_URL = "/service-worker.js?pusherBeamsWebSDKVersion=".concat(version); + var RegistrationState = Object.freeze({ + PERMISSION_PROMPT_REQUIRED: 'PERMISSION_PROMPT_REQUIRED', + PERMISSION_GRANTED_NOT_REGISTERED_WITH_BEAMS: 'PERMISSION_GRANTED_NOT_REGISTERED_WITH_BEAMS', + PERMISSION_GRANTED_REGISTERED_WITH_BEAMS: 'PERMISSION_GRANTED_REGISTERED_WITH_BEAMS', + PERMISSION_DENIED: 'PERMISSION_DENIED' + }); + var Client = + /*#__PURE__*/ + function () { + function Client(config) { + classCallCheck(this, Client); + + if (!config) { + throw new Error('Config object required'); + } + + var instanceId = config.instanceId, + _config$endpointOverr = config.endpointOverride, + endpointOverride = _config$endpointOverr === void 0 ? null : _config$endpointOverr, + _config$serviceWorker = config.serviceWorkerRegistration, + serviceWorkerRegistration = _config$serviceWorker === void 0 ? null : _config$serviceWorker; + + if (instanceId === undefined) { + throw new Error('Instance ID is required'); + } + + if (typeof instanceId !== 'string') { + throw new Error('Instance ID must be a string'); + } + + if (instanceId.length === 0) { + throw new Error('Instance ID cannot be empty'); + } + + if (!('indexedDB' in window)) { + throw new Error('Pusher Beams does not support this browser version (IndexedDB not supported)'); + } + + if (!window.isSecureContext) { + throw new Error('Pusher Beams relies on Service Workers, which only work in secure contexts. Check that your page is being served from localhost/over HTTPS'); + } + + if (!('serviceWorker' in navigator)) { + throw new Error('Pusher Beams does not support this browser version (Service Workers not supported)'); + } + + if (!('PushManager' in window)) { + throw new Error('Pusher Beams does not support this browser version (Web Push not supported)'); + } + + if (serviceWorkerRegistration) { + var serviceWorkerScope = serviceWorkerRegistration.scope; + var currentURL = window.location.href; + var scopeMatchesCurrentPage = currentURL.startsWith(serviceWorkerScope); + + if (!scopeMatchesCurrentPage) { + throw new Error("Could not initialize Pusher web push: current page not in serviceWorkerRegistration scope (".concat(serviceWorkerScope, ")")); + } + } + + this.instanceId = instanceId; + this._deviceId = null; + this._token = null; + this._userId = null; + this._serviceWorkerRegistration = serviceWorkerRegistration; + this._deviceStateStore = new DeviceStateStore(instanceId); + this._endpoint = endpointOverride; // Internal only + + this._ready = this._init(); + } + + createClass(Client, [{ + key: "_init", + value: function () { + var _init2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee() { + return regenerator.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!(this._deviceId !== null)) { + _context.next = 2; + break; + } + + return _context.abrupt("return"); + + case 2: + _context.next = 4; + return this._deviceStateStore.connect(); + + case 4: + if (!this._serviceWorkerRegistration) { + _context.next = 9; + break; + } + + _context.next = 7; + return window.navigator.serviceWorker.ready; + + case 7: + _context.next = 12; + break; + + case 9: + _context.next = 11; + return getServiceWorkerRegistration(); + + case 11: + this._serviceWorkerRegistration = _context.sent; + + case 12: + _context.next = 14; + return this._detectSubscriptionChange(); + + case 14: + _context.next = 16; + return this._deviceStateStore.getDeviceId(); + + case 16: + this._deviceId = _context.sent; + _context.next = 19; + return this._deviceStateStore.getToken(); + + case 19: + this._token = _context.sent; + _context.next = 22; + return this._deviceStateStore.getUserId(); + + case 22: + this._userId = _context.sent; + + case 23: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _init() { + return _init2.apply(this, arguments); + } + + return _init; + }() // Ensure SDK is loaded and is consistent + + }, { + key: "_resolveSDKState", + value: function () { + var _resolveSDKState2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee2() { + return regenerator.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._ready; + + case 2: + _context2.next = 4; + return this._detectSubscriptionChange(); + + case 4: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function _resolveSDKState() { + return _resolveSDKState2.apply(this, arguments); + } + + return _resolveSDKState; + }() + }, { + key: "_detectSubscriptionChange", + value: function () { + var _detectSubscriptionChange2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee3() { + var storedToken, actualToken, pushTokenHasChanged; + return regenerator.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return this._deviceStateStore.getToken(); + + case 2: + storedToken = _context3.sent; + _context3.next = 5; + return getWebPushToken(this._serviceWorkerRegistration); + + case 5: + actualToken = _context3.sent; + pushTokenHasChanged = storedToken !== actualToken; + + if (!pushTokenHasChanged) { + _context3.next = 13; + break; + } + + _context3.next = 10; + return this._deviceStateStore.clear(); + + case 10: + this._deviceId = null; + this._token = null; + this._userId = null; + + case 13: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function _detectSubscriptionChange() { + return _detectSubscriptionChange2.apply(this, arguments); + } + + return _detectSubscriptionChange; + }() + }, { + key: "getDeviceId", + value: function () { + var _getDeviceId = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee4() { + var _this = this; + + return regenerator.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.next = 2; + return this._resolveSDKState(); + + case 2: + return _context4.abrupt("return", this._ready.then(function () { + return _this._deviceId; + })); + + case 3: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function getDeviceId() { + return _getDeviceId.apply(this, arguments); + } + + return getDeviceId; + }() + }, { + key: "getToken", + value: function () { + var _getToken = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee5() { + var _this2 = this; + + return regenerator.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _context5.next = 2; + return this._resolveSDKState(); + + case 2: + return _context5.abrupt("return", this._ready.then(function () { + return _this2._token; + })); + + case 3: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function getToken() { + return _getToken.apply(this, arguments); + } + + return getToken; + }() + }, { + key: "getUserId", + value: function () { + var _getUserId = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee6() { + var _this3 = this; + + return regenerator.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _context6.next = 2; + return this._resolveSDKState(); + + case 2: + return _context6.abrupt("return", this._ready.then(function () { + return _this3._userId; + })); + + case 3: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function getUserId() { + return _getUserId.apply(this, arguments); + } + + return getUserId; + }() + }, { + key: "_throwIfNotStarted", + value: function _throwIfNotStarted(message) { + if (!this._deviceId) { + throw new Error("".concat(message, ". SDK not registered with Beams. Did you call .start?")); + } + } + }, { + key: "start", + value: function () { + var _start = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee7() { + var _ref, publicKey, token, deviceId; + + return regenerator.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + _context7.next = 2; + return this._resolveSDKState(); + + case 2: + if (isSupportedBrowser()) { + _context7.next = 4; + break; + } + + return _context7.abrupt("return", this); + + case 4: + if (!(this._deviceId !== null)) { + _context7.next = 6; + break; + } + + return _context7.abrupt("return", this); + + case 6: + _context7.next = 8; + return this._getPublicKey(); + + case 8: + _ref = _context7.sent; + publicKey = _ref.vapidPublicKey; + _context7.next = 12; + return this._getPushToken(publicKey); + + case 12: + token = _context7.sent; + _context7.next = 15; + return this._registerDevice(token); + + case 15: + deviceId = _context7.sent; + _context7.next = 18; + return this._deviceStateStore.setToken(token); + + case 18: + _context7.next = 20; + return this._deviceStateStore.setDeviceId(deviceId); + + case 20: + _context7.next = 22; + return this._deviceStateStore.setLastSeenSdkVersion(version); + + case 22: + _context7.next = 24; + return this._deviceStateStore.setLastSeenUserAgent(window.navigator.userAgent); + + case 24: + this._token = token; + this._deviceId = deviceId; + return _context7.abrupt("return", this); + + case 27: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function start() { + return _start.apply(this, arguments); + } + + return start; + }() + }, { + key: "getRegistrationState", + value: function () { + var _getRegistrationState = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee8() { + return regenerator.wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + _context8.next = 2; + return this._resolveSDKState(); + + case 2: + if (!(Notification.permission === 'denied')) { + _context8.next = 4; + break; + } + + return _context8.abrupt("return", RegistrationState.PERMISSION_DENIED); + + case 4: + if (!(Notification.permission === 'granted' && this._deviceId !== null)) { + _context8.next = 6; + break; + } + + return _context8.abrupt("return", RegistrationState.PERMISSION_GRANTED_REGISTERED_WITH_BEAMS); + + case 6: + if (!(Notification.permission === 'granted' && this._deviceId === null)) { + _context8.next = 8; + break; + } + + return _context8.abrupt("return", RegistrationState.PERMISSION_GRANTED_NOT_REGISTERED_WITH_BEAMS); + + case 8: + return _context8.abrupt("return", RegistrationState.PERMISSION_PROMPT_REQUIRED); + + case 9: + case "end": + return _context8.stop(); + } + } + }, _callee8, this); + })); + + function getRegistrationState() { + return _getRegistrationState.apply(this, arguments); + } + + return getRegistrationState; + }() + }, { + key: "addDeviceInterest", + value: function () { + var _addDeviceInterest = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee9(interest) { + var path, options; + return regenerator.wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + _context9.next = 2; + return this._resolveSDKState(); + + case 2: + this._throwIfNotStarted('Could not add Device Interest'); + + validateInterestName(interest); + path = "".concat(this._baseURL, "/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId), "/devices/web/").concat(this._deviceId, "/interests/").concat(encodeURIComponent(interest)); + options = { + method: 'POST', + path: path + }; + _context9.next = 8; + return doRequest(options); + + case 8: + case "end": + return _context9.stop(); + } + } + }, _callee9, this); + })); + + function addDeviceInterest(_x) { + return _addDeviceInterest.apply(this, arguments); + } + + return addDeviceInterest; + }() + }, { + key: "removeDeviceInterest", + value: function () { + var _removeDeviceInterest = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee10(interest) { + var path, options; + return regenerator.wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + _context10.next = 2; + return this._resolveSDKState(); + + case 2: + this._throwIfNotStarted('Could not remove Device Interest'); + + validateInterestName(interest); + path = "".concat(this._baseURL, "/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId), "/devices/web/").concat(this._deviceId, "/interests/").concat(encodeURIComponent(interest)); + options = { + method: 'DELETE', + path: path + }; + _context10.next = 8; + return doRequest(options); + + case 8: + case "end": + return _context10.stop(); + } + } + }, _callee10, this); + })); + + function removeDeviceInterest(_x2) { + return _removeDeviceInterest.apply(this, arguments); + } + + return removeDeviceInterest; + }() + }, { + key: "getDeviceInterests", + value: function () { + var _getDeviceInterests = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee11() { + var path, options; + return regenerator.wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + _context11.next = 2; + return this._resolveSDKState(); + + case 2: + this._throwIfNotStarted('Could not get Device Interests'); + + path = "".concat(this._baseURL, "/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId), "/devices/web/").concat(this._deviceId, "/interests"); + options = { + method: 'GET', + path: path + }; + _context11.next = 7; + return doRequest(options); + + case 7: + _context11.t0 = _context11.sent['interests']; + + if (_context11.t0) { + _context11.next = 10; + break; + } + + _context11.t0 = []; + + case 10: + return _context11.abrupt("return", _context11.t0); + + case 11: + case "end": + return _context11.stop(); + } + } + }, _callee11, this); + })); + + function getDeviceInterests() { + return _getDeviceInterests.apply(this, arguments); + } + + return getDeviceInterests; + }() + }, { + key: "setDeviceInterests", + value: function () { + var _setDeviceInterests = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee12(interests) { + var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, interest, uniqueInterests, path, options; + + return regenerator.wrap(function _callee12$(_context12) { + while (1) { + switch (_context12.prev = _context12.next) { + case 0: + _context12.next = 2; + return this._resolveSDKState(); + + case 2: + this._throwIfNotStarted('Could not set Device Interests'); + + if (!(interests === undefined || interests === null)) { + _context12.next = 5; + break; + } + + throw new Error('interests argument is required'); + + case 5: + if (Array.isArray(interests)) { + _context12.next = 7; + break; + } + + throw new Error('interests argument must be an array'); + + case 7: + if (!(interests.length > MAX_INTERESTS_NUM)) { + _context12.next = 9; + break; + } + + throw new Error("Number of interests (".concat(interests.length, ") exceeds maximum of ").concat(MAX_INTERESTS_NUM)); + + case 9: + _iteratorNormalCompletion = true; + _didIteratorError = false; + _iteratorError = undefined; + _context12.prev = 12; + + for (_iterator = interests[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + interest = _step.value; + validateInterestName(interest); + } + + _context12.next = 20; + break; + + case 16: + _context12.prev = 16; + _context12.t0 = _context12["catch"](12); + _didIteratorError = true; + _iteratorError = _context12.t0; + + case 20: + _context12.prev = 20; + _context12.prev = 21; + + if (!_iteratorNormalCompletion && _iterator["return"] != null) { + _iterator["return"](); + } + + case 23: + _context12.prev = 23; + + if (!_didIteratorError) { + _context12.next = 26; + break; + } + + throw _iteratorError; + + case 26: + return _context12.finish(23); + + case 27: + return _context12.finish(20); + + case 28: + uniqueInterests = Array.from(new Set(interests)); + path = "".concat(this._baseURL, "/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId), "/devices/web/").concat(this._deviceId, "/interests"); + options = { + method: 'PUT', + path: path, + body: { + interests: uniqueInterests + } + }; + _context12.next = 33; + return doRequest(options); + + case 33: + case "end": + return _context12.stop(); + } + } + }, _callee12, this, [[12, 16, 20, 28], [21,, 23, 27]]); + })); + + function setDeviceInterests(_x3) { + return _setDeviceInterests.apply(this, arguments); + } + + return setDeviceInterests; + }() + }, { + key: "clearDeviceInterests", + value: function () { + var _clearDeviceInterests = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee13() { + return regenerator.wrap(function _callee13$(_context13) { + while (1) { + switch (_context13.prev = _context13.next) { + case 0: + _context13.next = 2; + return this._resolveSDKState(); + + case 2: + this._throwIfNotStarted('Could not clear Device Interests'); + + _context13.next = 5; + return this.setDeviceInterests([]); + + case 5: + case "end": + return _context13.stop(); + } + } + }, _callee13, this); + })); + + function clearDeviceInterests() { + return _clearDeviceInterests.apply(this, arguments); + } + + return clearDeviceInterests; + }() + }, { + key: "setUserId", + value: function () { + var _setUserId = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee14(userId, tokenProvider) { + var error, path, _ref2, beamsAuthToken, options; + + return regenerator.wrap(function _callee14$(_context14) { + while (1) { + switch (_context14.prev = _context14.next) { + case 0: + _context14.next = 2; + return this._resolveSDKState(); + + case 2: + if (isSupportedBrowser()) { + _context14.next = 4; + break; + } + + return _context14.abrupt("return"); + + case 4: + if (!(this._deviceId === null)) { + _context14.next = 7; + break; + } + + error = new Error('.start must be called before .setUserId'); + return _context14.abrupt("return", Promise.reject(error)); + + case 7: + if (!(typeof userId !== 'string')) { + _context14.next = 9; + break; + } + + throw new Error("User ID must be a string (was ".concat(userId, ")")); + + case 9: + if (!(userId === '')) { + _context14.next = 11; + break; + } + + throw new Error('User ID cannot be the empty string'); + + case 11: + if (!(this._userId !== null && this._userId !== userId)) { + _context14.next = 13; + break; + } + + throw new Error('Changing the `userId` is not allowed.'); + + case 13: + path = "".concat(this._baseURL, "/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId), "/devices/web/").concat(this._deviceId, "/user"); + _context14.next = 16; + return tokenProvider.fetchToken(userId); + + case 16: + _ref2 = _context14.sent; + beamsAuthToken = _ref2.token; + options = { + method: 'PUT', + path: path, + headers: { + Authorization: "Bearer ".concat(beamsAuthToken) + } + }; + _context14.next = 21; + return doRequest(options); + + case 21: + this._userId = userId; + return _context14.abrupt("return", this._deviceStateStore.setUserId(userId)); + + case 23: + case "end": + return _context14.stop(); + } + } + }, _callee14, this); + })); + + function setUserId(_x4, _x5) { + return _setUserId.apply(this, arguments); + } + + return setUserId; + }() + }, { + key: "stop", + value: function () { + var _stop = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee15() { + return regenerator.wrap(function _callee15$(_context15) { + while (1) { + switch (_context15.prev = _context15.next) { + case 0: + _context15.next = 2; + return this._resolveSDKState(); + + case 2: + if (isSupportedBrowser()) { + _context15.next = 4; + break; + } + + return _context15.abrupt("return"); + + case 4: + if (!(this._deviceId === null)) { + _context15.next = 6; + break; + } + + return _context15.abrupt("return"); + + case 6: + _context15.next = 8; + return this._deleteDevice(); + + case 8: + _context15.next = 10; + return this._deviceStateStore.clear(); + + case 10: + this._clearPushToken()["catch"](function () {}); // Not awaiting this, best effort. + + + this._deviceId = null; + this._token = null; + this._userId = null; + + case 14: + case "end": + return _context15.stop(); + } + } + }, _callee15, this); + })); + + function stop() { + return _stop.apply(this, arguments); + } + + return stop; + }() + }, { + key: "clearAllState", + value: function () { + var _clearAllState = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee16() { + return regenerator.wrap(function _callee16$(_context16) { + while (1) { + switch (_context16.prev = _context16.next) { + case 0: + if (isSupportedBrowser()) { + _context16.next = 2; + break; + } + + return _context16.abrupt("return"); + + case 2: + _context16.next = 4; + return this.stop(); + + case 4: + _context16.next = 6; + return this.start(); + + case 6: + case "end": + return _context16.stop(); + } + } + }, _callee16, this); + })); + + function clearAllState() { + return _clearAllState.apply(this, arguments); + } + + return clearAllState; + }() + }, { + key: "_getPublicKey", + value: function () { + var _getPublicKey2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee17() { + var path, options; + return regenerator.wrap(function _callee17$(_context17) { + while (1) { + switch (_context17.prev = _context17.next) { + case 0: + path = "".concat(this._baseURL, "/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId), "/web-vapid-public-key"); + options = { + method: 'GET', + path: path + }; + return _context17.abrupt("return", doRequest(options)); + + case 3: + case "end": + return _context17.stop(); + } + } + }, _callee17, this); + })); + + function _getPublicKey() { + return _getPublicKey2.apply(this, arguments); + } + + return _getPublicKey; + }() + }, { + key: "_getPushToken", + value: function () { + var _getPushToken2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee18(publicKey) { + var sub; + return regenerator.wrap(function _callee18$(_context18) { + while (1) { + switch (_context18.prev = _context18.next) { + case 0: + _context18.prev = 0; + _context18.next = 3; + return this._clearPushToken(); + + case 3: + _context18.next = 5; + return this._serviceWorkerRegistration.pushManager.subscribe({ + userVisibleOnly: true, + applicationServerKey: urlBase64ToUInt8Array(publicKey) + }); + + case 5: + sub = _context18.sent; + return _context18.abrupt("return", btoa(JSON.stringify(sub))); + + case 9: + _context18.prev = 9; + _context18.t0 = _context18["catch"](0); + return _context18.abrupt("return", Promise.reject(_context18.t0)); + + case 12: + case "end": + return _context18.stop(); + } + } + }, _callee18, this, [[0, 9]]); + })); + + function _getPushToken(_x6) { + return _getPushToken2.apply(this, arguments); + } + + return _getPushToken; + }() + }, { + key: "_clearPushToken", + value: function () { + var _clearPushToken2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee19() { + return regenerator.wrap(function _callee19$(_context19) { + while (1) { + switch (_context19.prev = _context19.next) { + case 0: + return _context19.abrupt("return", navigator.serviceWorker.ready.then(function (reg) { + return reg.pushManager.getSubscription(); + }).then(function (sub) { + if (sub) sub.unsubscribe(); + })); + + case 1: + case "end": + return _context19.stop(); + } + } + }, _callee19); + })); + + function _clearPushToken() { + return _clearPushToken2.apply(this, arguments); + } + + return _clearPushToken; + }() + }, { + key: "_registerDevice", + value: function () { + var _registerDevice2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee20(token) { + var path, device, options, response; + return regenerator.wrap(function _callee20$(_context20) { + while (1) { + switch (_context20.prev = _context20.next) { + case 0: + path = "".concat(this._baseURL, "/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId), "/devices/web"); + device = { + token: token, + metadata: { + sdkVersion: version + } + }; + options = { + method: 'POST', + path: path, + body: device + }; + _context20.next = 5; + return doRequest(options); + + case 5: + response = _context20.sent; + return _context20.abrupt("return", response.id); + + case 7: + case "end": + return _context20.stop(); + } + } + }, _callee20, this); + })); + + function _registerDevice(_x7) { + return _registerDevice2.apply(this, arguments); + } + + return _registerDevice; + }() + }, { + key: "_deleteDevice", + value: function () { + var _deleteDevice2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee21() { + var path, options; + return regenerator.wrap(function _callee21$(_context21) { + while (1) { + switch (_context21.prev = _context21.next) { + case 0: + path = "".concat(this._baseURL, "/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId), "/devices/web/").concat(encodeURIComponent(this._deviceId)); + options = { + method: 'DELETE', + path: path + }; + _context21.next = 4; + return doRequest(options); + + case 4: + case "end": + return _context21.stop(); + } + } + }, _callee21, this); + })); + + function _deleteDevice() { + return _deleteDevice2.apply(this, arguments); + } + + return _deleteDevice; + }() + /** + * Submit SDK version and browser details (via the user agent) to Pusher Beams. + */ + + }, { + key: "_updateDeviceMetadata", + value: function () { + var _updateDeviceMetadata2 = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee22() { + var userAgent, storedUserAgent, storedSdkVersion, path, metadata, options; + return regenerator.wrap(function _callee22$(_context22) { + while (1) { + switch (_context22.prev = _context22.next) { + case 0: + userAgent = window.navigator.userAgent; + _context22.next = 3; + return this._deviceStateStore.getLastSeenUserAgent(); + + case 3: + storedUserAgent = _context22.sent; + _context22.next = 6; + return this._deviceStateStore.getLastSeenSdkVersion(); + + case 6: + storedSdkVersion = _context22.sent; + + if (!(userAgent === storedUserAgent && version === storedSdkVersion)) { + _context22.next = 9; + break; + } + + return _context22.abrupt("return"); + + case 9: + path = "".concat(this._baseURL, "/device_api/v1/instances/").concat(encodeURIComponent(this.instanceId), "/devices/web/").concat(this._deviceId, "/metadata"); + metadata = { + sdkVersion: version + }; + options = { + method: 'PUT', + path: path, + body: metadata + }; + _context22.next = 14; + return doRequest(options); + + case 14: + _context22.next = 16; + return this._deviceStateStore.setLastSeenSdkVersion(version); + + case 16: + _context22.next = 18; + return this._deviceStateStore.setLastSeenUserAgent(userAgent); + + case 18: + case "end": + return _context22.stop(); + } + } + }, _callee22, this); + })); + + function _updateDeviceMetadata() { + return _updateDeviceMetadata2.apply(this, arguments); + } + + return _updateDeviceMetadata; + }() + }, { + key: "_baseURL", + get: function get() { + if (this._endpoint !== null) { + return this._endpoint; + } + + return "https://".concat(this.instanceId, ".pushnotifications.pusher.com"); + } + }]); + + return Client; + }(); + + var validateInterestName = function validateInterestName(interest) { + if (interest === undefined || interest === null) { + throw new Error('Interest name is required'); + } + + if (typeof interest !== 'string') { + throw new Error("Interest ".concat(interest, " is not a string")); + } + + if (!INTERESTS_REGEX.test(interest)) { + throw new Error("interest \"".concat(interest, "\" contains a forbidden character. ") + 'Allowed characters are: ASCII upper/lower-case letters, ' + 'numbers or one of _-=@,.;'); + } + + if (interest.length > MAX_INTEREST_LENGTH) { + throw new Error("Interest is longer than the maximum of ".concat(MAX_INTEREST_LENGTH, " chars")); + } + }; + + function getServiceWorkerRegistration() { + return _getServiceWorkerRegistration.apply(this, arguments); + } + + function _getServiceWorkerRegistration() { + _getServiceWorkerRegistration = asyncToGenerator( + /*#__PURE__*/ + regenerator.mark(function _callee23() { + var _ref3, swStatusCode; + + return regenerator.wrap(function _callee23$(_context23) { + while (1) { + switch (_context23.prev = _context23.next) { + case 0: + _context23.next = 2; + return fetch(SERVICE_WORKER_URL); + + case 2: + _ref3 = _context23.sent; + swStatusCode = _ref3.status; + + if (!(swStatusCode !== 200)) { + _context23.next = 6; + break; + } + + throw new Error('Cannot start SDK, service worker missing: No file found at /service-worker.js'); + + case 6: + window.navigator.serviceWorker.register(SERVICE_WORKER_URL, { + // explicitly opting out of `importScripts` caching just in case our + // customers decides to host and serve the imported scripts and + // accidentally set `Cache-Control` to something other than `max-age=0` + updateViaCache: 'none' + }); + return _context23.abrupt("return", window.navigator.serviceWorker.ready); + + case 8: + case "end": + return _context23.stop(); + } + } + }, _callee23); + })); + return _getServiceWorkerRegistration.apply(this, arguments); + } + + function getWebPushToken(swReg) { + return swReg.pushManager.getSubscription().then(function (sub) { + return !sub ? null : encodeSubscription(sub); + }); + } + + function encodeSubscription(sub) { + return btoa(JSON.stringify(sub)); + } + + function urlBase64ToUInt8Array(base64String) { + var padding = '='.repeat((4 - base64String.length % 4) % 4); + var base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/'); + var rawData = window.atob(base64); + return Uint8Array.from(toConsumableArray(rawData).map(function (_char) { + return _char.charCodeAt(0); + })); + } + + function isSupportedBrowser() { + var winNav = window.navigator; + var vendorName = winNav.vendor; + var isChromium = window.chrome !== null && typeof window.chrome !== 'undefined'; + var isOpera = winNav.userAgent.indexOf('OPR') > -1; + var isEdge = winNav.userAgent.indexOf('Edg') > -1; + var isFirefox = winNav.userAgent.indexOf('Firefox') > -1; + var isChrome = isChromium && vendorName === 'Google Inc.' && !isEdge && !isOpera; + var isSupported = isChrome || isOpera || isFirefox || isEdge; + + if (!isSupported) { + console.warn('Pusher Web Push Notifications supports Chrome, Firefox, Edge and Opera.'); + } + + return isSupported; + } + + exports.Client = Client; + exports.RegistrationState = RegistrationState; + exports.TokenProvider = TokenProvider; + + return exports; + + }({})); + + +const beamsClient = new PusherPushNotifications.Client({instanceId: '02ddcc80-b8db-42be-9022-44c546b4dce6'}); +const strid = document.getElementById('strid').innerHTML; + +beamsClient.start() +.then((beamsClient) => beamsClient.getDeviceId()) +.then(() => beamsClient.addDeviceInterest(`${strid}`)) +.then(() => beamsClient.getDeviceInterests()) +.catch(console.error); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/report_post_modal.js b/files/assets/CHRISTMAS/js/report_post_modal.js new file mode 100644 index 000000000..e8a65c7f6 --- /dev/null +++ b/files/assets/CHRISTMAS/js/report_post_modal.js @@ -0,0 +1,27 @@ +function report_postModal(id) { + + submitbutton=document.getElementById("reportPostButton"); + + submitbutton.onclick = function() { + + this.innerHTML='Reporting post'; + this.disabled = true; + + var xhr = new XMLHttpRequest(); + xhr.open("POST", '/report/post/'+id, true); + var form = new FormData() + form.append("formkey", formkey()); + form.append("reason", document.getElementById("reason").value); + + xhr.withCredentials=true; + + xhr.onload=function() { + document.getElementById("reportPostFormBefore").classList.add('hidden'); + document.getElementById("reportPostFormAfter").classList.remove('hidden'); + }; + + xhr.onerror=function(){alert(errortext)}; + xhr.send(form); + + } +}; \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/service-worker.js b/files/assets/CHRISTMAS/js/service-worker.js new file mode 100644 index 000000000..f2918a743 --- /dev/null +++ b/files/assets/CHRISTMAS/js/service-worker.js @@ -0,0 +1 @@ +importScripts("https://js.pusher.com/beams/service-worker.js"); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/settings_blocks.js b/files/assets/CHRISTMAS/js/settings_blocks.js new file mode 100644 index 000000000..162b454c0 --- /dev/null +++ b/files/assets/CHRISTMAS/js/settings_blocks.js @@ -0,0 +1,31 @@ +function block_user() { + + var usernameField = document.getElementById("exile-username"); + + var isValidUsername = usernameField.checkValidity(); + + username = usernameField.value; + + if (isValidUsername) { + + var xhr = new XMLHttpRequest(); + xhr.open("post", "/settings/block"); + xhr.withCredentials=true; + f=new FormData(); + f.append("username", username); + f.append("formkey", formkey()); + xhr.onload=function(){ + if (xhr.status<300) { + location.reload(true); + } + else { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + document.getElementById("toast-error-message").textContent = "Error. Please try again later."; + } + } + xhr.send(f) + } +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/settings_profile.js b/files/assets/CHRISTMAS/js/settings_profile.js new file mode 100644 index 000000000..1df7ed7f5 --- /dev/null +++ b/files/assets/CHRISTMAS/js/settings_profile.js @@ -0,0 +1,87 @@ +function post(url) { + var xhr = new XMLHttpRequest(); + xhr.open("POST", url, true); + var form = new FormData() + form.append("formkey", formkey()); + xhr.withCredentials=true; + xhr.onload = function() {location.reload(true);}; + xhr.send(form); +}; + +function updatebgselection(){ + var bgselector = document.getElementById("backgroundSelector"); + const backgrounds = [ + { + folder: "fantasy", + backgrounds: + [ + "1.webp", + "2.webp", + "3.webp", + "4.webp", + "5.webp", + "6.webp", + ] + }, + { + folder: "solarpunk", + backgrounds: + [ + "1.webp", + "2.webp", + "3.webp", + "4.webp", + "5.webp", + "6.webp", + "7.webp", + "8.webp", + "9.webp", + "10.webp", + "11.webp", + "12.webp", + "13.webp", + "14.webp", + "15.webp", + "16.webp", + "17.webp", + "18.webp", + "19.webp", + ] + }, + { + folder: "pixelart", + backgrounds: + [ + "1.webp", + "2.webp", + "3.webp", + "4.webp", + "5.webp", + ] + } + ] + let bgContainer = document.getElementById(`bgcontainer`); + let str = ''; + let bgsToDisplay = backgrounds[bgselector.selectedIndex].backgrounds; + let bgsDir = backgrounds[bgselector.selectedIndex].folder; + for (i=0; i < bgsToDisplay.length; i++) { + let onclickPost = bgsDir + "/" + bgsToDisplay[i]; + str += ``; + } + bgContainer.innerHTML = str; + } + updatebgselection(); + +document.onpaste = function(event) { + var focused = document.activeElement; + if (focused.id == 'bio-text') { + f=document.getElementById('file-upload'); + files = event.clipboardData.files + filename = files[0].name.toLowerCase() + if (filename.endsWith(".jpg") || filename.endsWith(".jpeg") || filename.endsWith(".png") || filename.endsWith(".webp") || filename.endsWith(".gif")) + { + f.files = files; + document.getElementById('filename-show').textContent = filename; + } + } +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/settings_security.js b/files/assets/CHRISTMAS/js/settings_security.js new file mode 100644 index 000000000..e58bef2a0 --- /dev/null +++ b/files/assets/CHRISTMAS/js/settings_security.js @@ -0,0 +1,10 @@ +document.getElementById('new_email').addEventListener('input', function () { + document.getElementById("email-password").classList.remove("d-none"); + document.getElementById("email-password-label").classList.remove("d-none"); + document.getElementById("emailpasswordRequired").classList.remove("d-none"); +}); +const twoStepModal = new bootstrap.Modal(document.getElementById('2faModal')) + +function emailVerifyText() { + document.getElementById("email-verify-text").innerHTML = "Verification email sent! Please check your inbox."; +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/signup.js b/files/assets/CHRISTMAS/js/signup.js new file mode 100644 index 000000000..650db7640 --- /dev/null +++ b/files/assets/CHRISTMAS/js/signup.js @@ -0,0 +1,45 @@ +document.addEventListener("DOMContentLoaded", function () { + + document.getElementById('password-register').addEventListener('input', function () { + + var charCount = document.getElementById("password-register").value; + var id = document.getElementById("passwordHelpRegister"); + var successID = document.getElementById("passwordHelpSuccess"); + + if (charCount.length >= 8) { + id.classList.add("hidden"); + successID.classList.remove("hidden"); + } else { + id.classList.remove("hidden"); + successID.classList.add("hidden"); + } + }); + + document.getElementById('username-register').addEventListener('input', function () { + + const userName = document.getElementById("username-register").value; + const id = document.getElementById("usernameHelpRegister"); + + if (/[^a-zA-Z0-9_\-$]/.test(userName)) { + id.innerHTML = 'No special characters or spaces allowed.'; + } else { + id.innerHTML = 'Username is a-okay!'; + + if (userName.length < 3) { + id.innerHTML = 'Username must be at least 3 characters long.'; + } else if (userName.length > 25) { + id.innerHTML = 'Username must be 25 characters or less.'; + } + else { + fetch('/is_available/' + userName) + .then(res => res.json()) + .then(json => { + if (!json[userName]) { + id.innerHTML = 'Username already taken :('; + } + }) + } + } + }); + +}); \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/submission.js b/files/assets/CHRISTMAS/js/submission.js new file mode 100644 index 000000000..b3b31cce7 --- /dev/null +++ b/files/assets/CHRISTMAS/js/submission.js @@ -0,0 +1,11 @@ +function togglePostEdit(id){ + body=document.getElementById("post-body"); + title=document.getElementById("post-title"); + form=document.getElementById("edit-post-body-"+id); + box=document.getElementById("post-edit-box-"+id); + + body.classList.toggle("hidden"); + title.classList.toggle("hidden"); + form.classList.toggle("hidden"); + autoExpand(box); +}; diff --git a/files/assets/CHRISTMAS/js/submission_listing.js b/files/assets/CHRISTMAS/js/submission_listing.js new file mode 100644 index 000000000..46c0682c1 --- /dev/null +++ b/files/assets/CHRISTMAS/js/submission_listing.js @@ -0,0 +1,16 @@ +function timestamp(str, ti) { + date = new Date(ti*1000); + document.getElementById(str).setAttribute("data-bs-original-title", date.toString()); +}; + +function expandText(id) { + const el = document.getElementById('post-text-'+id); + ['gradient-mask', 'max-h-12', 'overflow-hidden', 'pointer-events-none', 'text-gray-600'].map(v=> el.classList.toggle(v)); + ['text-black'].map(v=> el.classList.toggle(v)); + + const trigger = document.getElementsByClassName('text-expand-icon-'+id); + for (let i = 0; i < trigger.length; i++) { + trigger[i].classList.toggle('fa-expand-alt'); + trigger[i].classList.toggle('fa-compress-alt'); + } +}; \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/submit.js b/files/assets/CHRISTMAS/js/submit.js new file mode 100644 index 000000000..99c82c93a --- /dev/null +++ b/files/assets/CHRISTMAS/js/submit.js @@ -0,0 +1,106 @@ +function hide_image() { + x=document.getElementById('image-upload-block'); + url=document.getElementById('post-URL').value; + if (url.length>=1){ + x.classList.add('hidden'); + } + else { + x.classList.remove('hidden'); + } +} + +function autoSuggestTitle() { + + var urlField = document.getElementById("post-URL"); + + var titleField = document.getElementById("post-title"); + + var isValidURL = urlField.checkValidity(); + + if (isValidURL && urlField.value.length > 0 && titleField.value === "") { + + var x = new XMLHttpRequest(); + x.withCredentials=true; + x.onreadystatechange = function() { + if (x.readyState == 4 && x.status == 200) { + + title=JSON.parse(x.responseText)["title"]; + titleField.value=title; + + checkForRequired() + } + } + x.open('get','/submit/title?url=' + urlField.value); + x.send(null); + + }; + +}; + +function checkForRequired() { + + var title = document.getElementById("post-title"); + + var url = document.getElementById("post-URL"); + + var text = document.getElementById("post-text"); + + var button = document.getElementById("create_button"); + + var image = document.getElementById("file-upload"); + + if (url.value.length > 0 || image.value.length > 0) { + text.required = false; + url.required=false; + } else if (text.value.length > 0 || image.value.length > 0) { + url.required = false; + } else { + text.required = true; + url.required = true; + } + + var isValidTitle = title.checkValidity(); + + var isValidURL = url.checkValidity(); + + var isValidText = text.checkValidity(); + + if (isValidTitle && (isValidURL || image.value.length>0)) { + button.disabled = false; + } else if (isValidTitle && isValidText) { + button.disabled = false; + } else { + button.disabled = true; + } +} + +document.onpaste = function(event) { + f=document.getElementById('file-upload'); + files = event.clipboardData.files + filename = files[0].name.toLowerCase() + if (filename.endsWith(".jpg") || filename.endsWith(".jpeg") || filename.endsWith(".png") || filename.endsWith(".webp") || filename.endsWith(".gif")) + { + f.files = files; + document.getElementById('filename-show').textContent = filename; + document.getElementById('urlblock').classList.add('hidden'); + var fileReader = new FileReader(); + fileReader.readAsDataURL(f.files[0]); + fileReader.addEventListener("load", function () {document.getElementById('image-preview').setAttribute('src', this.result);}); + document.getElementById('file-upload').setAttribute('required', 'false'); + checkForRequired(); + } +} + +document.getElementById('file-upload').addEventListener('change', function(){ + f=document.getElementById('file-upload'); + document.getElementById('urlblock').classList.add('hidden'); + document.getElementById('filename-show').textContent = document.getElementById('file-upload').files[0].name; + filename = f.files[0].name.toLowerCase() + if (filename.endsWith(".jpg") || filename.endsWith(".jpeg") || filename.endsWith(".png") || filename.endsWith(".webp") || filename.endsWith(".webp")) + { + var fileReader = new FileReader(); + fileReader.readAsDataURL(f.files[0]); + fileReader.addEventListener("load", function () {document.getElementById('image-preview').setAttribute('src', this.result);}); + checkForRequired(); + } +}) \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/togglePostEdit.js b/files/assets/CHRISTMAS/js/togglePostEdit.js new file mode 100644 index 000000000..fa10bdaf4 --- /dev/null +++ b/files/assets/CHRISTMAS/js/togglePostEdit.js @@ -0,0 +1,11 @@ +function togglePostEdit(id){ + body=document.getElementById("post-body"); + title=document.getElementById("post-title"); + form=document.getElementById("edit-post-body-"+id); + box=document.getElementById("post-edit-box-"+id); + + body.classList.toggle("d-none"); + title.classList.toggle("d-none"); + form.classList.toggle("d-none"); + autoExpand(box); +}; \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/twitter.js b/files/assets/CHRISTMAS/js/twitter.js new file mode 100644 index 000000000..05ae79509 --- /dev/null +++ b/files/assets/CHRISTMAS/js/twitter.js @@ -0,0 +1,8 @@ +Function&&Function.prototype&&Function.prototype.bind&&(/(MSIE ([6789]|10|11))|Trident/.test(navigator.userAgent)||(window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.loaded&&window.twttr.widgets.load&&window.twttr.widgets.load(),window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.init||function(t){function e(e){for(var n,i,o=e[0],s=e[1],a=0,c=[];a-1},forIn:i,isObject:s,isEmptyObject:a,toType:o,isType:function(t,e){return t==o(e)},toRealArray:u}},function(t,e){t.exports=window},function(t,e,n){var r=n(6);t.exports=function(){var t=this;this.promise=new r(function(e,n){t.resolve=e,t.reject=n})}},function(t,e,n){var r=n(11),i=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,o=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,s=/^http(s?):\/\/(\w+\.)*twitter\.com([:/]|$)/i,a=/^http(s?):\/\/(ton|pbs)\.twimg\.com/,u=/^#?([^.,<>!\s/#\-()'"]+)$/,c=/twitter\.com(?::\d{2,4})?\/intent\/(\w+)/,d=/^https?:\/\/(?:www\.)?twitter\.com\/\w+\/timelines\/(\d+)/i,l=/^https?:\/\/(?:www\.)?twitter\.com\/i\/moments\/(\d+)/i,f=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/(?:likes|favorites)/i,h=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/lists\/([\w-%]+)/i,p=/^https?:\/\/(?:www\.)?twitter\.com\/i\/live\/(\d+)/i,m=/^https?:\/\/syndication\.twitter\.com\/settings/i,v=/^https?:\/\/(localhost|platform)\.twitter\.com(?::\d+)?\/widgets\/widget_iframe\.(.+)/i,g=/^https?:\/\/(?:www\.)?twitter\.com\/search\?q=(\w+)/i;function w(t){return"string"==typeof t&&i.test(t)&&RegExp.$1.length<=20}function y(t){if(w(t))return RegExp.$1}function b(t,e){var n=r.decodeURL(t);if(e=e||!1,n.screen_name=y(t),n.screen_name)return r.url("https://twitter.com/intent/"+(e?"follow":"user"),n)}function _(t){return"string"==typeof t&&u.test(t)}function E(t){return"string"==typeof t&&o.test(t)}t.exports={isHashTag:_,hashTag:function(t,e){if(e=void 0===e||e,_(t))return(e?"#":"")+RegExp.$1},isScreenName:w,screenName:y,isStatus:E,status:function(t){return E(t)&&RegExp.$1},intentForProfileURL:b,intentForFollowURL:function(t){return b(t,!0)},isTwitterURL:function(t){return s.test(t)},isTwimgURL:function(t){return a.test(t)},isIntentURL:function(t){return c.test(t)},isSettingsURL:function(t){return m.test(t)},isWidgetIframeURL:function(t){return v.test(t)},isSearchUrl:function(t){return g.test(t)},regexen:{profile:i},momentId:function(t){return l.test(t)&&RegExp.$1},collectionId:function(t){return d.test(t)&&RegExp.$1},intentType:function(t){return c.test(t)&&RegExp.$1},likesScreenName:function(t){return f.test(t)&&RegExp.$1},listScreenNameAndSlug:function(t){var e,n,r;if(h.test(t)){e=RegExp.$1,n=RegExp.$2;try{r=decodeURIComponent(n)}catch(t){}return{ownerScreenName:e,slug:r||n}}return!1},eventId:function(t){return p.test(t)&&RegExp.$1}}},function(t,e){t.exports=document},function(t,e,n){var r=n(0),i=[!0,1,"1","on","ON","true","TRUE","yes","YES"],o=[!1,0,"0","off","OFF","false","FALSE","no","NO"];function s(t){return void 0!==t&&null!==t&&""!==t}function a(t){return c(t)&&t%1==0}function u(t){return c(t)&&!a(t)}function c(t){return s(t)&&!isNaN(t)}function d(t){return r.contains(o,t)}function l(t){return r.contains(i,t)}t.exports={hasValue:s,isInt:a,isFloat:u,isNumber:c,isString:function(t){return"string"===r.toType(t)},isArray:function(t){return s(t)&&"array"==r.toType(t)},isTruthValue:l,isFalseValue:d,asInt:function(t){if(a(t))return parseInt(t,10)},asFloat:function(t){if(u(t))return t},asNumber:function(t){if(c(t))return t},asBoolean:function(t){return!(!s(t)||!l(t)&&(d(t)||!t))}}},function(t,e,n){var r=n(1),i=n(21),o=n(49);i.hasPromiseSupport()||(r.Promise=o),t.exports=r.Promise},function(t,e,n){var r=n(0);t.exports=function(t,e){var n=Array.prototype.slice.call(arguments,2);return function(){var i=r.toRealArray(arguments);return t.apply(e,n.concat(i))}}},function(t,e,n){var r=n(51);t.exports=new r("__twttr")},function(t,e){t.exports=location},function(t,e,n){var r=n(0),i=/\b([\w-_]+)\b/g;function o(t){return new RegExp("\\b"+t+"\\b","g")}function s(t,e){t.classList?t.classList.add(e):o(e).test(t.className)||(t.className+=" "+e)}function a(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(o(e)," ")}function u(t,e){return t.classList?t.classList.contains(e):r.contains(c(t),e)}function c(t){return r.toRealArray(t.classList?t.classList:t.className.match(i))}t.exports={add:s,remove:a,replace:function(t,e,n){if(t.classList&&u(t,e))return a(t,e),void s(t,n);t.className=t.className.replace(o(e),n)},toggle:function(t,e,n){return void 0===n&&t.classList&&t.classList.toggle?t.classList.toggle(e,n):(n?s(t,e):a(t,e),n)},present:u,list:c}},function(t,e,n){var r=n(5),i=n(0);function o(t){return encodeURIComponent(t).replace(/\+/g,"%2B").replace(/'/g,"%27")}function s(t){return decodeURIComponent(t)}function a(t){var e=[];return i.forIn(t,function(t,n){var s=o(t);i.isType("array",n)||(n=[n]),n.forEach(function(t){r.hasValue(t)&&e.push(s+"="+o(t))})}),e.sort().join("&")}function u(t){var e={};return t?(t.split("&").forEach(function(t){var n=t.split("="),r=s(n[0]),o=s(n[1]);if(2==n.length){if(!i.isType("array",e[r]))return r in e?(e[r]=[e[r]],void e[r].push(o)):void(e[r]=o);e[r].push(o)}}),e):{}}t.exports={url:function(t,e){return a(e).length>0?i.contains(t,"?")?t+"&"+a(e):t+"?"+a(e):t},decodeURL:function(t){var e=t&&t.split("?");return 2==e.length?u(e[1]):{}},decode:u,encode:a,encodePart:o,decodePart:s}},function(t,e,n){var r=n(9),i=n(1),o=n(0),s={},a=o.contains(r.href,"tw_debug=true");function u(){}function c(){}function d(){return i.performance&&+i.performance.now()||+new Date}function l(t,e){if(i.console&&i.console[t])switch(e.length){case 1:i.console[t](e[0]);break;case 2:i.console[t](e[0],e[1]);break;case 3:i.console[t](e[0],e[1],e[2]);break;case 4:i.console[t](e[0],e[1],e[2],e[3]);break;case 5:i.console[t](e[0],e[1],e[2],e[3],e[4]);break;default:0!==e.length&&i.console.warn&&i.console.warn("too many params passed to logger."+t)}}t.exports={devError:u,devInfo:c,devObject:function(t,e){},publicError:function(){l("error",o.toRealArray(arguments))},publicLog:function(){l("info",o.toRealArray(arguments))},publicWarn:function(){l("warn",o.toRealArray(arguments))},time:function(t){a&&(s[t]=d())},timeEnd:function(t){a&&s[t]&&(d(),s[t])}}},function(t,e,n){var r=n(19),i=n(5),o=n(11),s=n(0),a=n(115);t.exports=function(t){var e=t.href&&t.href.split("?")[1],n=e?o.decode(e):{},u={lang:a(t),width:t.getAttribute("data-bs-width")||t.getAttribute("width"),height:t.getAttribute("data-bs-height")||t.getAttribute("height"),related:t.getAttribute("data-bs-related"),partner:t.getAttribute("data-bs-partner")};return i.asBoolean(t.getAttribute("data-bs-dnt"))&&r.setOn(),s.forIn(u,function(t,e){var r=n[t];n[t]=i.hasValue(r)?r:e}),s.compact(n)}},function(t,e,n){var r=n(77),i=n(22);t.exports=function(){var t="data-bs-twitter-extracted-"+i.generate();return function(e,n){return r(e,n).filter(function(e){return!e.hasAttribute(t)}).map(function(e){return e.setAttribute(t,"true"),e})}}},function(t,e){function n(t,e,n,r,i,o,s){this.factory=t,this.Sandbox=e,this.srcEl=o,this.targetEl=i,this.parameters=r,this.className=n,this.options=s}n.prototype.destroy=function(){this.srcEl=this.targetEl=null},t.exports=n},function(t,e){t.exports={DM_BUTTON:"twitter-dm-button",FOLLOW_BUTTON:"twitter-follow-button",HASHTAG_BUTTON:"twitter-hashtag-button",MENTION_BUTTON:"twitter-mention-button",MOMENT:"twitter-moment",PERISCOPE:"periscope-on-air",SHARE_BUTTON:"twitter-share-button",TIMELINE:"twitter-timeline",TWEET:"twitter-tweet"}},function(t,e,n){var r=n(6),i=n(19),o=n(53),s=n(36),a=n(5),u=n(0);t.exports=function(t,e,n){var c;return t=t||[],e=e||{},c="ƒ("+t.join(", ")+", target, [options]);",function(){var d,l,f,h,p=Array.prototype.slice.apply(arguments,[0,t.length]),m=Array.prototype.slice.apply(arguments,[t.length]);return m.forEach(function(t){t&&(t.nodeType!==Node.ELEMENT_NODE?u.isType("function",t)?d=t:u.isType("object",t)&&(l=t):f=t)}),p.length!==t.length||0===m.length?(d&&u.async(function(){d(!1)}),r.reject(new Error("Not enough parameters. Expected: "+c))):f?(l=u.aug({},l||{},e),t.forEach(function(t){l[t]=p.shift()}),a.asBoolean(l.dnt)&&i.setOn(),h=s.getExperiments().then(function(t){return o.addWidget(n(l,f,void 0,t))}),d&&h.then(d,function(){d(!1)}),h):(d&&u.async(function(){d(!1)}),r.reject(new Error("No target element specified. Expected: "+c)))}}},function(t,e,n){var r=n(98),i=n(2),o=n(0);function s(t,e){return function(){try{e.resolve(t.call(this))}catch(t){e.reject(t)}}}t.exports={sync:function(t,e){t.call(e)},read:function(t,e){var n=new i;return r.read(s(t,n),e),n.promise},write:function(t,e){var n=new i;return r.write(s(t,n),e),n.promise},defer:function(t,e,n){var a=new i;return o.isType("function",t)&&(n=e,e=t,t=1),r.defer(t,s(e,a),n),a.promise}}},function(t,e,n){var r=n(4),i=n(9),o=n(38),s=n(102),a=n(5),u=n(33),c=!1,d=/https?:\/\/([^/]+).*/i;t.exports={setOn:function(){c=!0},enabled:function(t,e){return!!(c||a.asBoolean(u.val("dnt"))||s.isUrlSensitive(e||i.host)||o.isFramed()&&s.isUrlSensitive(o.rootDocumentLocation())||(t=d.test(t||r.referrer)&&RegExp.$1)&&s.isUrlSensitive(t))}}},function(t,e,n){var r=n(8),i=n(59),o="https://platform.twitter.com",s=["https://syndication.twitter.com","https://cdn.syndication.twimg.com","https://localhost.twitter.com:8444"],a=["https://syndication.twitter.com","https://localhost.twitter.com:8445"],u=["https://platform.twitter.com","https://localhost.twitter.com",/^https:\/\/ton\.smf1\.twitter\.com\/syndication-internal\/embed-iframe\/[0-9A-Za-z_-]+\/app/],c=function(t,e){return t.some(function(t){return t instanceof RegExp?t.test(e):t===e})},d=function(){var t=r.get("backendHost");return t&&c(s,t)?t:"https://cdn.syndication.twimg.com"},l=function(){var t=r.get("settingsSvcHost");return t&&c(a,t)?t:"https://syndication.twitter.com"};function f(t,e){var n=[t];return e.forEach(function(t){n.push(function(t){var e=(t||"").toString(),n="/"===e.slice(0,1)?1:0,r=function(t){return"/"===t.slice(-1)}(e)?-1:void 0;return e.slice(n,r)}(t))}),n.join("/")}t.exports={cookieConsent:function(t){var e=t||[];return e.unshift("cookie/consent"),f(l(),e)},embedIframe:function(t,e){var n=t||[],s=o,a=r.get("embedIframeURL");return a&&c(u,a)?f(a,n)+".html":(n.unshift(i.getBaseURLPath(e)),f(s,n)+".html")},eventVideo:function(t){var e=t||[];return e.unshift("video/event"),f(d(),e)},grid:function(t){var e=t||[];return e.unshift("grid/collection"),f(d(),e)},moment:function(t){var e=t||[];return e.unshift("moments"),f(d(),e)},settings:function(t){var e=t||[];return e.unshift("settings"),f(l(),e)},timeline:function(t){var e=t||[];return e.unshift("timeline"),f(d(),e)},tweetBatch:function(t){var e=t||[];return e.unshift("tweets.json"),f(d(),e)},video:function(t){var e=t||[];return e.unshift("widgets/video"),f(d(),e)}}},function(t,e,n){var r=n(4),i=n(92),o=n(1),s=n(0),a=i.userAgent;function u(t){return/(Trident|MSIE|Edge[/ ]?\d)/.test(t=t||a)}t.exports={retina:function(t){return(t=t||o).devicePixelRatio?t.devicePixelRatio>=1.5:!!t.matchMedia&&t.matchMedia("only screen and (min-resolution: 144dpi)").matches},anyIE:u,ie9:function(t){return/MSIE 9/.test(t=t||a)},ie10:function(t){return/MSIE 10/.test(t=t||a)},ios:function(t){return/(iPad|iPhone|iPod)/.test(t=t||a)},android:function(t){return/^Mozilla\/5\.0 \(Linux; (U; )?Android/.test(t=t||a)},canPostMessage:function(t,e){return t=t||o,e=e||a,t.postMessage&&!(u(e)&&t.opener)},touch:function(t,e,n){return t=t||o,e=e||i,n=n||a,"ontouchstart"in t||/Opera Mini/.test(n)||e.msMaxTouchPoints>0},cssTransitions:function(){var t=r.body.style;return void 0!==t.transition||void 0!==t.webkitTransition||void 0!==t.mozTransition||void 0!==t.oTransition||void 0!==t.msTransition},hasPromiseSupport:function(){return!!(o.Promise&&o.Promise.resolve&&o.Promise.reject&&o.Promise.all&&o.Promise.race&&(new o.Promise(function(e){t=e}),s.isType("function",t)));var t},hasIntersectionObserverSupport:function(){return!!o.IntersectionObserver},hasPerformanceInformation:function(){return o.performance&&o.performance.getEntriesByType}}},function(t,e){var n="i",r=0,i=0;t.exports={generate:function(){return n+String(+new Date)+Math.floor(1e5*Math.random())+r++},deterministic:function(){return n+String(i++)}}},function(t,e,n){var r=n(50),i=n(52),o=n(0);t.exports=o.aug(r.get("events")||{},i.Emitter)},function(t,e,n){var r=n(6),i=n(2);function o(t,e){return t.then(e,e)}function s(t){return t instanceof r}t.exports={always:o,allResolved:function(t){var e;return void 0===t?r.reject(new Error("undefined is not an object")):Array.isArray(t)?(e=t.length)?new r(function(n,r){var i=0,o=[];function a(){(i+=1)===e&&(0===o.length?r():n(o))}function u(t){o.push(t),a()}t.forEach(function(t){s(t)?t.then(u,a):u(t)})}):r.resolve([]):r.reject(new Error("Type error"))},some:function(t){var e;return e=(t=t||[]).length,t=t.filter(s),e?e!==t.length?r.reject("non-Promise passed to .some"):new r(function(e,n){var r=0;function i(){(r+=1)===t.length&&n()}t.forEach(function(t){t.then(e,i)})}):r.reject("no promises passed to .some")},isPromise:s,allSettled:function(t){function e(){}return r.all((t||[]).map(function(t){return o(t,e)}))},timeout:function(t,e){var n=new i;return setTimeout(function(){n.reject(new Error("Promise timed out"))},e),t.then(function(t){n.resolve(t)},function(t){n.reject(t)}),n.promise}}},function(t,e,n){var r=n(1).JSON;t.exports={stringify:r.stringify||r.encode,parse:r.parse||r.decode}},function(t,e,n){var r=n(27),i=n(108);t.exports=r.build([i])},function(t,e,n){var r=n(39),i=n(105),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(39),i=n(40),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(79),i=n(80),o=n(81),s=n(9),a=n(71),u=n(82),c=n(19),d=n(5),l=n(22),f=n(0);function h(t){if(!t||!t.headers)throw new Error("unexpected response schema");return{html:t.body,config:t.config,pollInterval:1e3*parseInt(t.headers.xPolling,10)||null,maxCursorPosition:t.headers.maxPosition,minCursorPosition:t.headers.minPosition}}function p(t){if(t&&t.headers)throw new Error(t.headers.status);throw t instanceof Error?t:new Error(t)}t.exports=function(t){t.params({instanceId:{required:!0,fallback:l.deterministic},lang:{required:!0,transform:a.matchLanguage,fallback:"en"},tweetLimit:{transform:d.asInt}}),t.defineProperty("endpoint",{get:function(){throw new Error("endpoint not specified")}}),t.defineProperty("pollEndpoint",{get:function(){return this.endpoint}}),t.define("cbId",function(t){var e=t?"_new":"_old";return"tl_"+this.params.instanceId+"_"+this.id+e}),t.define("queryParams",function(){return{lang:this.params.lang,tz:u.getTimezoneOffset(),t:r(),domain:s.host,tweet_limit:this.params.tweetLimit,dnt:c.enabled()}}),t.define("fetch",function(){return i.fetch(this.endpoint,this.queryParams(),o,this.cbId()).then(h,p)}),t.define("poll",function(t,e){var n,r;return n={since_id:(t=t||{}).sinceId,max_id:t.maxId,min_position:t.minPosition,max_position:t.maxPosition},r=f.aug(this.queryParams(),n),i.fetch(this.pollEndpoint,r,o,this.cbId(e)).then(h,p)})}},function(t,e,n){var r=n(52).makeEmitter();t.exports={emitter:r,START:"start",ALL_WIDGETS_RENDER_START:"all_widgets_render_start",ALL_WIDGETS_RENDER_END:"all_widgets_render_end",ALL_WIDGETS_AND_IMAGES_LOADED:"all_widgets_and_images_loaded"}},function(t,e,n){var r=n(4),i=n(0);t.exports=function(t,e,n){var o;if(n=n||r,t=t||{},e=e||{},t.name){try{o=n.createElement('')}catch(e){(o=n.createElement("iframe")).name=t.name}delete t.name}else o=n.createElement("iframe");return t.id&&(o.id=t.id,delete t.id),o.allowtransparency="true",o.scrolling="no",o.setAttribute("frameBorder",0),o.setAttribute("allowTransparency",!0),i.forIn(t,function(t,e){o.setAttribute(t,e)}),i.forIn(e,function(t,e){o.style[t]=e}),o}},function(t,e,n){var r=n(27),i=n(122);t.exports=r.build([i])},function(t,e,n){var r,i=n(4);function o(t){var e,n,o,s=0;for(r={},e=(t=t||i).getElementsByTagName("meta");e[s];s++){if(n=e[s],/^twitter:/.test(n.getAttribute("name")))o=n.getAttribute("name").replace(/^twitter:/,"");else{if(!/^twitter:/.test(n.getAttribute("property")))continue;o=n.getAttribute("property").replace(/^twitter:/,"")}r[o]=n.getAttribute("content")||n.getAttribute("value")}}o(),t.exports={init:o,val:function(t){return r[t]}}},function(t,e,n){var r=n(0),i=n(45);t.exports={closest:function t(e,n,o){var s;if(n)return o=o||n&&n.ownerDocument,s=r.isType("function",e)?e:function(t){return function(e){return!!e.tagName&&i(e,t)}}(e),n===o?s(n)?n:void 0:s(n)?n:t(s,n.parentNode,o)}}},function(t,e,n){var r=n(10),i={},o=-1,s={};function a(t){var e=t.getAttribute("data-bs-twitter-event-id");return e||(t.setAttribute("data-bs-twitter-event-id",++o),o)}function u(t,e,n){var r=0,i=t&&t.length||0;for(r=0;r1?(e=Math.floor(t.item_ids.length/2),n=t.item_ids.slice(0,e),r={},i=t.item_ids.slice(e),o={},n.forEach(function(e){r[e]=t.item_details[e]}),i.forEach(function(e){o[e]=t.item_details[e]}),[l.aug({},t,{item_ids:n,item_details:r}),l.aug({},t,{item_ids:i,item_details:o})]):[t]},stringify:function(t){var e,n=Array.prototype.toJSON;return delete Array.prototype.toJSON,e=u.stringify(t),n&&(Array.prototype.toJSON=n),e},CLIENT_EVENT_ENDPOINT:p,RUFOUS_REDIRECT:"https://platform.twitter.com/jot.html"}},function(t,e,n){var r=n(9),i=n(75),o=n(0),s=i.getCanonicalURL()||r.href,a=s;t.exports={isFramed:function(){return s!==a},rootDocumentLocation:function(t){return t&&o.isType("string",t)&&(s=t),s},currentDocumentLocation:function(){return a}}},function(t,e,n){var r=n(103),i=n(104),o=n(0);t.exports={couple:function(){return o.toRealArray(arguments)},build:function(t,e,n){var o=new t;return(e=i(r(e||[]))).forEach(function(t){t.call(null,o)}),o.build(n)}}},function(t,e,n){var r=n(106),i=n(0),o=n(41);function s(){this.Component=this.factory(),this._adviceArgs=[],this._lastArgs=[]}i.aug(s.prototype,{factory:o,build:function(t){var e=this;return this.Component,i.aug(this.Component.prototype.boundParams,t),this._adviceArgs.concat(this._lastArgs).forEach(function(t){(function(t,e,n){var r=this[e];if(!r)throw new Error(e+" does not exist");this[e]=t(r,n)}).apply(e.Component.prototype,t)}),delete this._lastArgs,delete this._adviceArgs,this.Component},params:function(t){var e=this.Component.prototype.paramConfigs;t=t||{},this.Component.prototype.paramConfigs=i.aug({},t,e)},define:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.override(t,e)},defineStatic:function(t,e){this.Component[t]=e},override:function(t,e){this.Component.prototype[t]=e},defineProperty:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.overrideProperty(t,e)},overrideProperty:function(t,e){var n=i.aug({configurable:!0},e);Object.defineProperty(this.Component.prototype,t,n)},before:function(t,e){this._adviceArgs.push([r.before,t,e])},after:function(t,e){this._adviceArgs.push([r.after,t,e])},around:function(t,e){this._adviceArgs.push([r.around,t,e])},last:function(t,e){this._lastArgs.push([r.after,t,e])}}),t.exports=s},function(t,e,n){var r=n(0);function i(){return!0}function o(t){return t}t.exports=function(){function t(t){var e=this;t=t||{},this.params=Object.keys(this.paramConfigs).reduce(function(n,s){var a=[],u=e.boundParams,c=e.paramConfigs[s],d=c.validate||i,l=c.transform||o;if(s in u&&a.push(u[s]),s in t&&a.push(t[s]),a="fallback"in c?a.concat(c.fallback):a,n[s]=function(t,e,n){var i=null;return t.some(function(t){if(t=r.isType("function",t)?t():t,e(t))return i=n(t),!0}),i}(a,d,l),c.required&&null==n[s])throw new Error(s+" is a required parameter");return n},{}),this.initialize()}return r.aug(t.prototype,{paramConfigs:{},boundParams:{},initialize:function(){}}),t}},function(t,e,n){var r=n(101),i=n(76),o=new(n(110))(function(t){(!function(t){return 1===t.length&&i.canFlushOneItem(t[0])}(t)?function(t){r.init(),t.forEach(function(t){var e=t.input.namespace,n=t.input.data,i=t.input.offsite,o=t.input.version;r.clientEvent(e,n,i,o)}),r.flush().then(function(){t.forEach(function(t){t.taskDoneDeferred.resolve()})},function(){t.forEach(function(t){t.taskDoneDeferred.reject()})})}:function(t){t.forEach(function(t){var e=t.input.namespace,n=t.input.data,r=t.input.offsite,o=t.input.version;i.clientEvent(e,n,r,o),t.taskDoneDeferred.resolve()})})(t)});t.exports={scribe:function(t,e,n,r){return o.add({namespace:t,data:e,offsite:n,version:r})},pause:function(){o.pause()},resume:function(){o.resume()}}},function(t,e,n){var r,i=n(10),o=n(4),s=n(1),a=n(33),u=n(54),c=n(5),d=n(22),l="csptest";t.exports={inlineStyle:function(){var t=l+d.generate(),e=o.createElement("div"),n=o.createElement("style"),f="."+t+" { visibility: hidden; }";return!!o.body&&(c.asBoolean(a.val("widgets:csp"))&&(r=!1),void 0!==r?r:(e.style.display="none",i.add(e,t),n.type="text/css",n.appendChild(o.createTextNode(f)),o.body.appendChild(n),o.body.appendChild(e),r="hidden"===s.getComputedStyle(e).visibility,u(e),u(n),r))}}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){var i,o=0;return n=n||null,function s(){var a=n||this,u=arguments,c=+new Date;if(r.clearTimeout(i),c-o>e)return o=c,void t.apply(a,u);i=r.setTimeout(function(){s.apply(a,u)},e)}}},function(t,e,n){var r=n(1).HTMLElement,i=r.prototype.matches||r.prototype.matchesSelector||r.prototype.webkitMatchesSelector||r.prototype.mozMatchesSelector||r.prototype.msMatchesSelector||r.prototype.oMatchesSelector;t.exports=function(t,e){if(i)return i.call(t,e)}},function(t){t.exports={version:"82e1070:1619632193066"}},function(t,e){t.exports=function(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height}}},function(t,e,n){var r=n(12).publicWarn;t.exports=function(){r("Warning: This Timeline type belongs to a group that will not be supported in the future (Likes, Collections, & Moments). It is not recommended for use. \n\t","* Twitter will continue to support Profile and List Timelines \n\t","* You can learn more about this change in our announcement: \n\t","https://twittercommunity.com/t/removing-support-for-embedded-like-collection-and-moment-timelines/150313 \n\t","* In order to create a new Embedded Timeline, visit: https://publish.twitter.com")}},function(t,e,n){ +/*! +* @overview es6-promise - a tiny implementation of Promises/A+. +* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) +* @license Licensed under MIT license +* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE +* @version v4.2.5+7f2b526d +*/var r;r=function(){"use strict";function t(t){return"function"==typeof t}var e=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},n=0,r=void 0,i=void 0,o=function(t,e){f[n]=t,f[n+1]=e,2===(n+=2)&&(i?i(h):w())},s="undefined"!=typeof window?window:void 0,a=s||{},u=a.MutationObserver||a.WebKitMutationObserver,c="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),d="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function l(){var t=setTimeout;return function(){return t(h,1)}}var f=new Array(1e3);function h(){for(var t=0;t=0&&this._handlers[t].splice(n,1):this._handlers[t]=[])},trigger:function(t,e){var n=this._handlers&&this._handlers[t];(e=e||{}).type=t,n&&n.forEach(function(t){r.async(i(t,this,e))})}};t.exports={Emitter:o,makeEmitter:function(){return r.aug(function(){},o)}}},function(t,e,n){var r=n(97),i=n(99),o=n(6),s=n(24),a=n(7),u=n(0),c=new i(function(t){var e=function(t){return t.reduce(function(t,e){return t[e._className]=t[e._className]||[],t[e._className].push(e),t},{})}(t.map(r.fromRawTask));u.forIn(e,function(t,e){s.allSettled(e.map(function(t){return t.initialize()})).then(function(){e.forEach(function(t){o.all([t.hydrate(),t.insertIntoDom()]).then(a(t.render,t)).then(a(t.success,t),a(t.fail,t))})})})});t.exports={addWidget:function(t){return c.add(t)}}},function(t,e,n){var r=n(18);t.exports=function(t){return r.write(function(){t&&t.parentNode&&t.parentNode.removeChild(t)})}},function(t,e,n){n(12),t.exports={log:function(t,e){}}},function(t,e,n){var r=n(1);function i(t){return(t=t||r).getSelection&&t.getSelection()}t.exports={getSelection:i,getSelectedText:function(t){var e=i(t);return e?e.toString():""}}},function(t,e,n){var r=n(4),i=n(1),o=n(2),s=2e4;t.exports=function(t){var e=new o,n=r.createElement("img");return n.onload=n.onerror=function(){i.setTimeout(e.resolve,50)},n.src=t,i.setTimeout(e.reject,s),e.promise}},function(t,e,n){var r=n(109);t.exports=function(t){t.define("createElement",r),t.define("createFragment",r),t.define("htmlToElement",r),t.define("hasSelectedText",r),t.define("addRootClass",r),t.define("removeRootClass",r),t.define("hasRootClass",r),t.define("prependStyleSheet",r),t.define("appendStyleSheet",r),t.define("prependCss",r),t.define("appendCss",r),t.define("makeVisible",r),t.define("injectWidgetEl",r),t.define("matchHeightToContent",r),t.define("matchWidthToContent",r)}},function(t,e){var n="tfw_horizon_tweet_embed_9555";t.exports={getBaseURLPath:function(t){switch(t&&t.tfw_team_holdback_11929&&t.tfw_team_holdback_11929.bucket){case"control":return"embed-holdback";case"holdback_prod":return"embed-holdback-prod";default:return"embed"}},isHorizonTweetEnabled:function(t){return!(t&&t[n]&&"control"===t[n].bucket)},isHorizonTimelineEnabled:function(){return!1}}},function(t,e){t.exports=function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments))}}},function(t,e,n){var r=n(15),i=n(116),o=n(117),s=n(16);t.exports=function(t,e,n){return new r(i,o,s.DM_BUTTON,t,e,n)}},function(t,e,n){var r=n(27),i=n(118);t.exports=r.build([i])},function(t,e,n){var r=n(15),i=n(121),o=n(32),s=n(16);t.exports=function(t,e,n){return new r(i,o,s.FOLLOW_BUTTON,t,e,n)}},function(t,e,n){var r=n(15),i=n(129),o=n(26),s=n(16);t.exports=function(t,e,n){return new r(i,o,s.MOMENT,t,e,n)}},function(t,e,n){var r=n(15),i=n(131),o=n(26),s=n(16);t.exports=function(t,e,n){return new r(i,o,s.PERISCOPE,t,e,n)}},function(t,e,n){var r=n(78),i=n(133),o=n(137),s=n(139),a=n(141),u=n(143),c={collection:i,event:o,likes:s,list:a,profile:u,url:l},d=[u,s,i,a,o];function l(t){return r(d,function(e){try{return new e(t)}catch(t){}})}t.exports=function(t){return t?function(t){var e,n;return e=(t.sourceType+"").toLowerCase(),(n=c[e])?new n(t):null}(t)||l(t):null}},function(t,e,n){var r=n(4),i=n(59),o=n(15),s=n(32),a=n(145),u=n(26),c=n(146),d=n(16);t.exports=function(t,e,n,l){var f;return i.isHorizonTimelineEnabled(l,t)?(f=r.createElement("div"),new o(a,s,d.TIMELINE,t,e,n,{sandboxWrapperEl:f})):new o(c,u,d.TIMELINE,t,e,n)}},function(t,e,n){var r=n(4),i=n(15),o=n(32),s=n(148),a=n(16);t.exports=function(t,e,n){var u=r.createElement("div");return new i(s,o,a.TWEET,t,e,n,{sandboxWrapperEl:u})}},function(t,e,n){var r=n(15),i=n(150),o=n(32),s=n(16);t.exports=function(t,e,n){var a=t&&t.type||"share",u="hashtag"==a?s.HASHTAG_BUTTON:"mention"==a?s.MENTION_BUTTON:s.SHARE_BUTTON;return new r(i,o,u,t,e,n)}},function(t,e,n){var r=n(42),i=n(38),o=n(0);t.exports=function(t){var e={widget_origin:i.rootDocumentLocation(),widget_frame:i.isFramed()?i.currentDocumentLocation():null,duration_ms:t.duration,item_ids:t.widgetIds||[]},n=o.aug(t.namespace,{page:"page",component:"performance"});r.scribe(n,e)}},function(t,e,n){var r=n(0),i=n(134),o=["ar","fa","he","ur"];t.exports={isRtlLang:function(t){return t=String(t).toLowerCase(),r.contains(o,t)},matchLanguage:function(t){return t=(t=(t||"").toLowerCase()).replace("_","-"),i(t)?t:(t=t.replace(/-.*/,""),i(t)?t:"en")}}},function(t){t.exports={tweetButtonHtmlPath:"/widgets/tweet_button.06c6ee58c3810956b7509218508c7b56.{{lang}}.html",followButtonHtmlPath:"/widgets/follow_button.06c6ee58c3810956b7509218508c7b56.{{lang}}.html",hubHtmlPath:"/widgets/hub.html",widgetIframeHtmlPath:"/widgets/widget_iframe.06c6ee58c3810956b7509218508c7b56.html",resourceBaseUrl:"https://platform.twitter.com"}},function(t){t.exports={TWEET:0,RETWEET:10,CUSTOM_TIMELINE:17,LIVE_VIDEO_EVENT:28,QUOTE_TWEET:23}},function(t,e,n){var r=n(3),i=n(95),o=n(23),s=n(11),a={favorite:["favorite","like"],follow:["follow"],like:["favorite","like"],retweet:["retweet"],tweet:["tweet"]};function u(t){this.srcEl=[],this.element=t}u.open=function(t,e,n){var u=(r.intentType(t)||"").toLowerCase();r.isTwitterURL(t)&&(function(t,e){i.open(t,e)}(t,n),e&&o.trigger("click",{target:e,region:"intent",type:"click",data:{}}),e&&a[u]&&a[u].forEach(function(n){o.trigger(n,{target:e,region:"intent",type:n,data:function(t,e){var n=s.decodeURL(e);switch(t){case"favorite":case"like":return{tweet_id:n.tweet_id};case"follow":return{screen_name:n.screen_name,user_id:n.user_id};case"retweet":return{source_tweet_id:n.tweet_id};default:return{}}}(u,t)})}))},t.exports=u},function(t,e,n){var r=n(4),i=n(9),o=n(3);function s(t,e){var n,r;return e=e||i,/^https?:\/\//.test(t)?t:/^\/\//.test(t)?e.protocol+t:(n=e.host+(e.port.length?":"+e.port:""),0!==t.indexOf("/")&&((r=e.pathname.split("/")).pop(),r.push(t),t="/"+r.join("/")),[e.protocol,"//",n,t].join(""))}t.exports={absolutize:s,getCanonicalURL:function(){for(var t,e=r.getElementsByTagName("link"),n=0;e[n];n++)if("canonical"==(t=e[n]).rel)return s(t.href)},getScreenNameFromPage:function(){for(var t,e,n,i=[r.getElementsByTagName("a"),r.getElementsByTagName("link")],s=0,a=0,u=/\bme\b/;t=i[s];s++)for(a=0;e=t[a];a++)if(u.test(e.rel)&&(n=o.screenName(e.href)))return n}}},function(t,e,n){var r=n(19),i=n(55),o=n(11),s=n(37),a=n(0),u=n(8).get("scribeCallback"),c=2083,d=[],l=o.url(s.CLIENT_EVENT_ENDPOINT,{dnt:0,l:""}),f=encodeURIComponent(l).length;function h(t,e,n,r,i){var o=!a.isObject(t),c=!!e&&!a.isObject(e);o||c||(u&&u(arguments),p(s.formatClientEventNamespace(t),s.formatClientEventData(e,n,r),s.CLIENT_EVENT_ENDPOINT,i))}function p(t,e,n,r){var u;n&&a.isObject(t)&&a.isObject(e)&&(i.log(t,e),u=s.flattenClientEventPayload(t,e),r=a.aug({},r,{l:s.stringify(u)}),u.dnt&&(r.dnt=1),w(o.url(n,r)))}function m(t,e,n,r){var i=!a.isObject(t),o=!!e&&!a.isObject(e);if(!i&&!o)return v(s.flattenClientEventPayload(s.formatClientEventNamespace(t),s.formatClientEventData(e,n,r)))}function v(t){return d.push(t),d}function g(t){return encodeURIComponent(t).length+3}function w(t){return(new Image).src=t}t.exports={canFlushOneItem:function(t){var e=g(s.stringify(t));return f+e1&&m({page:"widgets_js",component:"scribe_pixel",action:"batch_log"},{}),t=d,d=[],t.reduce(function(e,n,r){var i=e.length,o=i&&e[i-1];return r+1==t.length&&n.event_namespace&&"batch_log"==n.event_namespace.action&&(n.message=["entries:"+r,"requests:"+i].join("/")),function t(e){return Array.isArray(e)||(e=[e]),e.reduce(function(e,n){var r,i=s.stringify(n),o=g(i);return f+o1&&(e=e.concat(t(r))),e},[])}(n).forEach(function(t){var n=g(t);(!o||o.urlLength+n>c)&&(o={urlLength:f,items:[]},e.push(o)),o.urlLength+=n,o.items.push(t)}),e},[]).map(function(t){var e={l:t.items};return r.enabled()&&(e.dnt=1),w(o.url(s.CLIENT_EVENT_ENDPOINT,e))})},interaction:function(t,e,n,r){var i=s.extractTermsFromDOM(t.target||t.srcElement);i.action=r||"click",h(i,e,n)}}},function(t,e,n){var r=n(0),i=n(45);t.exports=function(t,e){return i(t,e)?[t]:r.toRealArray(t.querySelectorAll(e))}},function(t,e){t.exports=function(t,e,n){for(var r,i=0;i")}).then(function(){t.close(),a.resolve(c)})}),c.src=["javascript:",'document.write("");',"try { window.parent.document; }",'catch (e) { document.domain="'+r.domain+'"; }',"window.parent."+g.fullPath(["sandbox",u])+"();"].join(""),c.addEventListener("error",a.reject,!1),o.write(function(){i.parentNode.replaceChild(c,i)}),a.promise}t.exports=a.couple(n(58),function(t){t.overrideProperty("id",{get:function(){return this.sandboxEl&&this.sandboxEl.id}}),t.overrideProperty("initialized",{get:function(){return!!this.win}}),t.overrideProperty("width",{get:function(){return this._width}}),t.overrideProperty("height",{get:function(){return this._height}}),t.overrideProperty("sandboxEl",{get:function(){return this.iframeEl}}),t.defineProperty("iframeEl",{get:function(){return this._iframe}}),t.defineProperty("rootEl",{get:function(){return this.doc&&this.doc.documentElement}}),t.defineProperty("widgetEl",{get:function(){return this.doc&&this.doc.body.firstElementChild}}),t.defineProperty("win",{get:function(){return this.iframeEl&&this.iframeEl.contentWindow}}),t.defineProperty("doc",{get:function(){return this.win&&this.win.document}}),t.define("_updateCachedDimensions",function(){var t=this;return o.read(function(){var e,n=h(t.sandboxEl);"visible"==t.sandboxEl.style.visibility?t._width=n.width:(e=h(t.sandboxEl.parentElement).width,t._width=Math.min(n.width,e)),t._height=n.height})}),t.define("_setTargetToBlank",function(){var t=this.createElement("base");t.target="_blank",this.doc.head.appendChild(t)}),t.define("_didResize",function(){var t=this,e=this._resizeHandlers.slice(0);return this._updateCachedDimensions().then(function(){e.forEach(function(e){e(t)})})}),t.define("setTitle",function(t){this.iframeEl.title=t}),t.override("createElement",function(t){return this.doc.createElement(t)}),t.override("createFragment",function(){return this.doc.createDocumentFragment()}),t.override("htmlToElement",function(t){var e;return(e=this.createElement("div")).innerHTML=t,e.firstElementChild}),t.override("hasSelectedText",function(){return!!s.getSelectedText(this.win)}),t.override("addRootClass",function(t){var e=this.rootEl;return t=Array.isArray(t)?t:[t],this.initialized?o.write(function(){t.forEach(function(t){i.add(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("removeRootClass",function(t){var e=this.rootEl;return t=Array.isArray(t)?t:[t],this.initialized?o.write(function(){t.forEach(function(t){i.remove(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("hasRootClass",function(t){return i.present(this.rootEl,t)}),t.define("addStyleSheet",function(t,e){var n,r=new p;return this.initialized?((n=this.createElement("link")).type="text/css",n.rel="stylesheet",n.href=t,n.addEventListener("load",r.resolve,!1),n.addEventListener("error",r.reject,!1),o.write(y(e,null,n)).then(function(){return u(t).then(r.resolve,r.reject),r.promise})):m.reject(new Error("sandbox not initialized"))}),t.override("prependStyleSheet",function(t){var e=this.doc;return this.addStyleSheet(t,function(t){var n=e.head.firstElementChild;return n?e.head.insertBefore(t,n):e.head.appendChild(t)})}),t.override("appendStyleSheet",function(t){var e=this.doc;return this.addStyleSheet(t,function(t){return e.head.appendChild(t)})}),t.define("addCss",function(t,e){var n;return c.inlineStyle()?((n=this.createElement("style")).type="text/css",n.appendChild(this.doc.createTextNode(t)),o.write(y(e,null,n))):(f.devError("CSP enabled; cannot embed inline styles"),m.resolve())}),t.override("prependCss",function(t){var e=this.doc;return this.addCss(t,function(t){var n=e.head.firstElementChild;return n?e.head.insertBefore(t,n):e.head.appendChild(t)})}),t.override("appendCss",function(t){var e=this.doc;return this.addCss(t,function(t){return e.head.appendChild(t)})}),t.override("makeVisible",function(){var t=this;return this.styleSelf(E).then(function(){t._updateCachedDimensions()})}),t.override("injectWidgetEl",function(t){var e=this;return this.initialized?this.widgetEl?m.reject(new Error("widget already injected")):o.write(function(){e.doc.body.appendChild(t)}):m.reject(new Error("sandbox not initialized"))}),t.override("matchHeightToContent",function(){var t,e=this;return o.read(function(){t=e.widgetEl?h(e.widgetEl).height:0}),o.write(function(){e.sandboxEl.style.height=t+"px"}).then(function(){return e._updateCachedDimensions()})}),t.override("matchWidthToContent",function(){var t,e=this;return o.read(function(){t=e.widgetEl?h(e.widgetEl).width:0}),o.write(function(){e.sandboxEl.style.width=t+"px"}).then(function(){return e._updateCachedDimensions()})}),t.after("initialize",function(){this._iframe=null,this._width=this._height=0,this._resizeHandlers=[]}),t.override("insert",function(t,e,n,r){var i=this,s=new p,a=this.targetGlobal.document,u=S(t,e,n,a);return o.write(y(r,null,u)),u.addEventListener("load",function(){(function(t){try{t.contentWindow.document}catch(t){return m.reject(t)}return m.resolve(t)})(u).then(null,y(R,null,t,e,n,u,a)).then(s.resolve,s.reject)},!1),u.addEventListener("error",s.reject,!1),s.promise.then(function(t){var e=d(i._didResize,A,i);return i._iframe=t,i.win.addEventListener("resize",e,!1),m.all([i._setTargetToBlank(),i.addRootClass(x),i.prependCss(T)])})}),t.override("onResize",function(t){this._resizeHandlers.push(t)}),t.after("styleSelf",function(){return this._updateCachedDimensions()})})},function(t,e){t.exports=function(){throw new Error("unimplemented method")}},function(t,e,n){var r=n(2),i=n(7),o=100,s=3e3;function a(t,e){this._inputsQueue=[],this._task=t,this._isPaused=!1,this._flushDelay=e&&e.flushDelay||o,this._pauseLength=e&&e.pauseLength||s,this._flushTimeout=void 0}a.prototype.add=function(t){var e=new r;return this._inputsQueue.push({input:t,taskDoneDeferred:e}),this._scheduleFlush(),e.promise},a.prototype._scheduleFlush=function(){this._isPaused||(clearTimeout(this._flushTimeout),this._flushTimeout=setTimeout(i(this._flush,this),this._flushDelay))},a.prototype._flush=function(){try{this._task.call(null,this._inputsQueue)}catch(t){this._inputsQueue.forEach(function(e){e.taskDoneDeferred.reject(t)})}this._inputsQueue=[],this._flushTimeout=void 0},a.prototype.pause=function(t){clearTimeout(this._flushTimeout),this._isPaused=!0,!t&&this._pauseLength&&setTimeout(i(this.resume,this),this._pauseLength)},a.prototype.resume=function(){this._isPaused=!1,this._scheduleFlush()},t.exports=a},function(t,e,n){var r=n(72),i=n(31),o=n(2),s=n(4),a=n(20),u=n(21),c=n(25),d=n(9),l=n(12),f=n(112),h=n(60),p=n(8),m=n(11),v=n(3),g=n(0),w=n(1),y=h(function(){return new o}),b={shouldObtainCookieConsent:!1,features:{}};t.exports={load:function(){var t,e,n,o;if(u.ie9()||u.ie10()||"http:"!==d.protocol&&"https:"!==d.protocol)return l.devError("Using default settings due to unsupported browser or protocol."),void y().resolve();t={origin:d.origin},a.settings().indexOf("localhost")>-1&&(t.localSettings=!0),e=m.url(r.resourceBaseUrl+r.widgetIframeHtmlPath,t),n=function(t){var n,r,i,o;if(r=v.isTwitterURL(t.origin),i=e.substr(0,t.origin.length)===t.origin,o=v.isTwimgURL(t.origin),i&&r||o)try{(n="string"==typeof t.data?c.parse(t.data):t.data).namespace===f.settings&&(b=g.aug(b,{features:n.settings.features,sessionId:n.sessionId}),y().resolve())}catch(t){l.devError(t)}},w.addEventListener("message",n),o=i({src:e,title:"Twitter settings iframe"},{display:"none"}),s.body.appendChild(o)},settingsLoaded:function(){var t,e;return t=p.get("experimentOverride"),y().promise.then(function(){return t&&t.name&&t.assignment&&((e={})[t.name]={bucket:t.assignment},b.features=g.aug(b.features,e)),b})}}},function(t,e){t.exports={settings:"twttr.settings"}},function(t,e,n){t.exports=[n(114),n(120),n(128),n(130),n(132),n(147),n(149)]},function(t,e,n){var r=n(11),i=n(5),o=n(0),s=n(13),a=n(14)(),u=n(61),c="a.twitter-dm-button";t.exports=function(t){return a(t,c).map(function(t){return u(function(t){var e=t.getAttribute("data-bs-show-screen-name"),n=s(t),a=t.getAttribute("href"),u=t.getAttribute("data-bs-screen-name"),c=e?i.asBoolean(e):null,d=t.getAttribute("data-bs-size"),l=r.decodeURL(a),f=l.recipient_id,h=t.getAttribute("data-bs-text")||l.text,p=t.getAttribute("data-bs-welcome-message-id")||l.welcomeMessageId;return o.aug(n,{screenName:u,showScreenName:c,size:d,text:h,userId:f,welcomeMessageId:p})}(t),t.parentNode,t)})}},function(t,e,n){var r=n(0);t.exports=function t(e){var n;if(e)return n=e.lang||e.getAttribute("data-bs-lang"),r.isType("string",n)?n:t(e.parentElement)}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(2).then(function(r){var o;try{o=n(83),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(62),i=n(26);t.exports=r.isSupported()?r:i},function(t,e,n){var r=n(119),i=n(1),o=n(10),s=n(35),a=n(18),u=n(56),c=n(27),d=n(57),l=n(43),f=n(47),h=n(7),p=n(44),m=n(6),v=n(0),g=50,w={position:"absolute",visibility:"hidden",display:"block",transform:"rotate(0deg)"},y={position:"static",visibility:"visible"},b="twitter-widget",_="open",E="SandboxRoot",x=".SandboxRoot { display: none; max-height: 10000px; }";t.exports=c.couple(n(58),function(t){t.defineStatic("isSupported",function(){return!!i.HTMLElement.prototype.attachShadow&&l.inlineStyle()}),t.overrideProperty("id",{get:function(){return this.sandboxEl&&this.sandboxEl.id}}),t.overrideProperty("initialized",{get:function(){return!!this._shadowHost}}),t.overrideProperty("width",{get:function(){return this._width}}),t.overrideProperty("height",{get:function(){return this._height}}),t.overrideProperty("sandboxEl",{get:function(){return this._shadowHost}}),t.define("_updateCachedDimensions",function(){var t=this;return a.read(function(){var e,n=f(t.sandboxEl);"visible"==t.sandboxEl.style.visibility?t._width=n.width:(e=f(t.sandboxEl.parentElement).width,t._width=Math.min(n.width,e)),t._height=n.height})}),t.define("_didResize",function(){var t=this,e=this._resizeHandlers.slice(0);return this._updateCachedDimensions().then(function(){e.forEach(function(e){e(t)})})}),t.override("createElement",function(t){return this.targetGlobal.document.createElement(t)}),t.override("createFragment",function(){return this.targetGlobal.document.createDocumentFragment()}),t.override("htmlToElement",function(t){var e;return(e=this.createElement("div")).innerHTML=t,e.firstElementChild}),t.override("hasSelectedText",function(){return!!u.getSelectedText(this.targetGlobal)}),t.override("addRootClass",function(t){var e=this._shadowRootBody;return t=Array.isArray(t)?t:[t],this.initialized?a.write(function(){t.forEach(function(t){o.add(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("removeRootClass",function(t){var e=this._shadowRootBody;return t=Array.isArray(t)?t:[t],this.initialized?a.write(function(){t.forEach(function(t){o.remove(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("hasRootClass",function(t){return o.present(this._shadowRootBody,t)}),t.override("addStyleSheet",function(t,e){return this.addCss('@import url("'+t+'");',e).then(function(){return d(t)})}),t.override("prependStyleSheet",function(t){var e=this._shadowRoot;return this.addStyleSheet(t,function(t){var n=e.firstElementChild;return n?e.insertBefore(t,n):e.appendChild(t)})}),t.override("appendStyleSheet",function(t){var e=this._shadowRoot;return this.addStyleSheet(t,function(t){return e.appendChild(t)})}),t.override("addCss",function(t,e){var n;return this.initialized?l.inlineStyle()?((n=this.createElement("style")).type="text/css",n.appendChild(this.targetGlobal.document.createTextNode(t)),a.write(h(e,null,n))):m.resolve():m.reject(new Error("sandbox not initialized"))}),t.override("prependCss",function(t){var e=this._shadowRoot;return this.addCss(t,function(t){var n=e.firstElementChild;return n?e.insertBefore(t,n):e.appendChild(t)})}),t.override("appendCss",function(t){var e=this._shadowRoot;return this.addCss(t,function(t){return e.appendChild(t)})}),t.override("makeVisible",function(){return this.styleSelf(y)}),t.override("injectWidgetEl",function(t){var e=this;return this.initialized?this._shadowRootBody.firstElementChild?m.reject(new Error("widget already injected")):a.write(function(){e._shadowRootBody.appendChild(t)}).then(function(){return e._updateCachedDimensions()}).then(function(){var t=p(e._didResize,g,e);new r(e._shadowRootBody,t)}):m.reject(new Error("sandbox not initialized"))}),t.override("matchHeightToContent",function(){return m.resolve()}),t.override("matchWidthToContent",function(){return m.resolve()}),t.override("insert",function(t,e,n,r){var i=this.targetGlobal.document,o=this._shadowHost=i.createElement(b),u=this._shadowRoot=o.attachShadow({mode:_}),c=this._shadowRootBody=i.createElement("div");return v.forIn(e||{},function(t,e){o.setAttribute(t,e)}),o.id=t,u.appendChild(c),s.delegate(c,"click","A",function(t,e){e.hasAttribute("target")||e.setAttribute("target","_blank")}),m.all([this.styleSelf(w),this.addRootClass(E),this.prependCss(x),a.write(r.bind(null,o))])}),t.override("onResize",function(t){this._resizeHandlers.push(t)}),t.after("initialize",function(){this._shadowHost=this._shadowRoot=this._shadowRootBody=null,this._width=this._height=0,this._resizeHandlers=[]}),t.after("styleSelf",function(){return this._updateCachedDimensions()})})},function(t,e){var n;(n=function(t,e){function r(t,e){if(t.resizedAttached){if(t.resizedAttached)return void t.resizedAttached.add(e)}else t.resizedAttached=new function(){var t,e;this.q=[],this.add=function(t){this.q.push(t)},this.call=function(){for(t=0,e=this.q.length;t
    ',t.appendChild(t.resizeSensor),{fixed:1,absolute:1}[function(t,e){return t.currentStyle?t.currentStyle[e]:window.getComputedStyle?window.getComputedStyle(t,null).getPropertyValue(e):t.style[e]}(t,"position")]||(t.style.position="relative");var i,o,s=t.resizeSensor.childNodes[0],a=s.childNodes[0],u=t.resizeSensor.childNodes[1],c=(u.childNodes[0],function(){a.style.width=s.offsetWidth+10+"px",a.style.height=s.offsetHeight+10+"px",s.scrollLeft=s.scrollWidth,s.scrollTop=s.scrollHeight,u.scrollLeft=u.scrollWidth,u.scrollTop=u.scrollHeight,i=t.offsetWidth,o=t.offsetHeight});c();var d=function(t,e,n){t.attachEvent?t.attachEvent("on"+e,n):t.addEventListener(e,n)},l=function(){t.offsetWidth==i&&t.offsetHeight==o||t.resizedAttached&&t.resizedAttached.call(),c()};d(s,"scroll",l),d(u,"scroll",l)}var i=Object.prototype.toString.call(t),o="[object Array]"===i||"[object NodeList]"===i||"[object HTMLCollection]"===i||"undefined"!=typeof jQuery&&t instanceof jQuery||"undefined"!=typeof Elements&&t instanceof Elements;if(o)for(var s=0,a=t.length;s0;return this.updateCachedDimensions().then(function(){e&&t._resizeHandlers.forEach(function(e){e(t)})})}),t.define("loadDocument",function(t){var e=new a;return this.initialized?this.iframeEl.src?u.reject(new Error("widget already loaded")):(this.iframeEl.addEventListener("load",e.resolve,!1),this.iframeEl.addEventListener("error",e.reject,!1),this.iframeEl.src=t,e.promise):u.reject(new Error("sandbox not initialized"))}),t.after("initialize",function(){var t=new a,e=new a;this._iframe=null,this._iframeVersion=null,this._width=this._height=0,this._resizeHandlers=[],this._rendered=t,this._results=e,this._waitToSwapUntilRendered=!1}),t.override("insert",function(t,e,n,i){var a=this;return e=d.aug({id:t},l,e),n=d.aug({},f,n),this._iframe=s(e,n),p[t]=this,a._waitToSwapUntilRendered||this.onResize(o(function(){a.makeVisible()})),r.write(c(i,null,this._iframe))}),t.override("onResize",function(t){this._resizeHandlers.push(t)}),t.after("styleSelf",function(){return this.updateCachedDimensions()})}},function(t,e,n){var r=n(1),i=n(124),o=n(126),s=n(23),a=n(5),u=n(127);t.exports=function(t,e,n,c,d){function l(t){var e=u(this);s.trigger(t.type,{target:e,region:t.region,type:t.type,data:t.data||{}})}function f(e){var n=u(this),r=n&&n.id,i=a.asInt(e.width),o=a.asInt(e.height);r&&void 0!==i&&void 0!==o&&t(r,i,o)}(new i).attachReceiver(new o.Receiver(r,"twttr.button")).bind("twttr.private.trigger",l).bind("twttr.private.resizeButton",f),(new i).attachReceiver(new o.Receiver(r,"twttr.embed")).bind("twttr.private.initialized",function(t){var e=u(this),n=e&&e.id,r=t.iframe_version;n&&r&&c&&c(n,r)}).bind("twttr.private.trigger",l).bind("twttr.private.results",function(){var t=u(this),n=t&&t.id;n&&e&&e(n)}).bind("twttr.private.rendered",function(){var t=u(this),e=t&&t.id;e&&n&&n(e)}).bind("twttr.private.no_results",function(){var t=u(this),e=t&&t.id;e&&d&&d(e)}).bind("twttr.private.resize",f)}},function(t,e,n){var r=n(25),i=n(125),o=n(0),s=n(6),a=n(24),u="2.0";function c(t){this.registry=t||{}}function d(t){var e,n;return e=o.isType("string",t),n=o.isType("number",t),e||n||null===t}function l(t,e){return{jsonrpc:u,id:d(t)?t:null,error:e}}c.prototype._invoke=function(t,e){var n,r,i;n=this.registry[t.method],r=t.params||[],r=o.isType("array",r)?r:[r];try{i=n.apply(e.source||null,r)}catch(t){i=s.reject(t.message)}return a.isPromise(i)?i:s.resolve(i)},c.prototype._processRequest=function(t,e){var n,r;return function(t){var e,n,r;return!!o.isObject(t)&&(e=t.jsonrpc===u,n=o.isType("string",t.method),r=!("id"in t)||d(t.id),e&&n&&r)}(t)?(n="params"in t&&(r=t.params,!o.isObject(r)||o.isType("function",r))?s.resolve(l(t.id,i.INVALID_PARAMS)):this.registry[t.method]?this._invoke(t,{source:e}).then(function(e){return n=t.id,{jsonrpc:u,id:n,result:e};var n},function(){return l(t.id,i.INTERNAL_ERROR)}):s.resolve(l(t.id,i.METHOD_NOT_FOUND)),null!=t.id?n:s.resolve()):s.resolve(l(t.id,i.INVALID_REQUEST))},c.prototype.attachReceiver=function(t){return t.attachTo(this),this},c.prototype.bind=function(t,e){return this.registry[t]=e,this},c.prototype.receive=function(t,e){var n,a,u,c=this;try{u=t,t=o.isType("string",u)?r.parse(u):u}catch(t){return s.resolve(l(null,i.PARSE_ERROR))}return e=e||null,a=((n=o.isType("array",t))?t:[t]).map(function(t){return c._processRequest(t,e)}),n?function(t){return s.all(t).then(function(t){return(t=t.filter(function(t){return void 0!==t})).length?t:void 0})}(a):a[0]},t.exports=c},function(t){t.exports={PARSE_ERROR:{code:-32700,message:"Parse error"},INVALID_REQUEST:{code:-32600,message:"Invalid Request"},INVALID_PARAMS:{code:-32602,message:"Invalid params"},METHOD_NOT_FOUND:{code:-32601,message:"Method not found"},INTERNAL_ERROR:{code:-32603,message:"Internal error"}}},function(t,e,n){var r=n(9),i=n(1),o=n(25),s=n(2),a=n(21),u=n(0),c=n(3),d=n(7),l=a.ie9();function f(t,e,n){var r;t&&t.postMessage&&(l?r=(n||"")+o.stringify(e):n?(r={})[n]=e:r=e,t.postMessage(r,"*"))}function h(t){return u.isType("string",t)?t:"JSONRPC"}function p(t,e){return e?u.isType("string",t)&&0===t.indexOf(e)?t.substring(e.length):t&&t[e]?t[e]:void 0:t}function m(t,e){var n=t.document;this.filter=h(e),this.server=null,this.isTwitterFrame=c.isTwitterURL(n.location.href),t.addEventListener("message",d(this._onMessage,this),!1)}function v(t,e){this.pending={},this.target=t,this.isTwitterHost=c.isTwitterURL(r.href),this.filter=h(e),i.addEventListener("message",d(this._onMessage,this),!1)}u.aug(m.prototype,{_onMessage:function(t){var e,n=this;this.server&&(this.isTwitterFrame&&!c.isTwitterURL(t.origin)||(e=p(t.data,this.filter))&&this.server.receive(e,t.source).then(function(e){e&&f(t.source,e,n.filter)}))},attachTo:function(t){this.server=t},detach:function(){this.server=null}}),u.aug(v.prototype,{_processResponse:function(t){var e=this.pending[t.id];e&&(e.resolve(t),delete this.pending[t.id])},_onMessage:function(t){var e;if((!this.isTwitterHost||c.isTwitterURL(t.origin))&&(e=p(t.data,this.filter))){if(u.isType("string",e))try{e=o.parse(e)}catch(t){return}(e=u.isType("array",e)?e:[e]).forEach(d(this._processResponse,this))}},send:function(t){var e=new s;return t.id?this.pending[t.id]=e:e.resolve(),f(this.target,t,this.filter),e.promise}}),t.exports={Receiver:m,Dispatcher:v,_stringifyPayload:function(t){return arguments.length>0&&(l=!!t),l}}},function(t,e,n){var r=n(4);t.exports=function(t){for(var e,n=r.getElementsByTagName("iframe"),i=0;n[i];i++)if((e=n[i]).contentWindow===t)return e}},function(t,e,n){var r=n(5),i=n(0),o=n(3),s=n(13),a=n(14)(),u=n(64),c="a.twitter-moment";t.exports=function(t){return a(t,c).map(function(t){return u(function(t){var e=s(t),n={momentId:o.momentId(t.href),chrome:t.getAttribute("data-bs-chrome"),limit:t.getAttribute("data-bs-limit")};return i.forIn(n,function(t,n){var i=e[t];e[t]=r.hasValue(i)?i:n}),e}(t),t.parentNode,t)})}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return Promise.all([n.e(0),n.e(4)]).then(function(r){var o;try{o=n(85),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(0),i=n(13),o=n(14)(),s=n(65),a="a.periscope-on-air",u=/^https?:\/\/(?:www\.)?(?:periscope|pscp)\.tv\/@?([a-zA-Z0-9_]+)\/?$/i;t.exports=function(t){return o(t,a).map(function(t){return s(function(t){var e=i(t),n=t.getAttribute("href"),o=t.getAttribute("data-bs-size"),s=u.exec(n)[1];return r.aug(e,{username:s,size:o})}(t),t.parentNode,t)})}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(5).then(function(r){var o;try{o=n(86),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(5),i=n(0),o=n(66),s=n(13),a=n(14)(),u=n(67),c=n(3),d=n(12),l="a.twitter-timeline,div.twitter-timeline,a.twitter-grid",f="Embedded Search timelines have been deprecated. See https://twittercommunity.com/t/deprecating-widget-settings/102295.",h="You may have been affected by an update to settings in embedded timelines. See https://twittercommunity.com/t/deprecating-widget-settings/102295.",p="Embedded grids have been deprecated and will now render as timelines. Please update your embed code to use the twitter-timeline class. More info: https://twittercommunity.com/t/update-on-the-embedded-grid-display-type/119564.";t.exports=function(t){return a(t,l).map(function(t){return u(function(t){var e=s(t),n=t.getAttribute("data-bs-show-replies"),a={isPreconfigured:!!t.getAttribute("data-bs-widget-id"),chrome:t.getAttribute("data-bs-chrome"),tweetLimit:t.getAttribute("data-bs-tweet-limit")||t.getAttribute("data-bs-limit"),ariaLive:t.getAttribute("data-bs-aria-polite"),theme:"dark",borderColor:t.getAttribute("data-bs-border-color"),showReplies:n?r.asBoolean(n):null,profileScreenName:t.getAttribute("data-bs-screen-name"),profileUserId:t.getAttribute("data-bs-user-id"),favoritesScreenName:t.getAttribute("data-bs-favorites-screen-name"),favoritesUserId:t.getAttribute("data-bs-favorites-user-id"),likesScreenName:t.getAttribute("data-bs-likes-screen-name"),likesUserId:t.getAttribute("data-bs-likes-user-id"),listOwnerScreenName:t.getAttribute("data-bs-list-owner-screen-name"),listOwnerUserId:t.getAttribute("data-bs-list-owner-id"),listId:t.getAttribute("data-bs-list-id"),listSlug:t.getAttribute("data-bs-list-slug"),customTimelineId:t.getAttribute("data-bs-custom-timeline-id"),staticContent:t.getAttribute("data-bs-static-content"),url:t.href};return a.isPreconfigured&&(c.isSearchUrl(a.url)?d.publicError(f,t):d.publicLog(h,t)),"twitter-grid"===t.className&&d.publicLog(p,t),(a=i.aug(a,e)).dataSource=o(a),a.id=a.dataSource&&a.dataSource.id,a}(t),t.parentNode,t)})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(136)])},function(t,e,n){var r=n(0),i=n(135);t.exports=function(t){return"en"===t||r.contains(i,t)}},function(t,e){t.exports=["hi","zh-cn","fr","zh-tw","msa","fil","fi","sv","pl","ja","ko","de","it","pt","es","ru","id","tr","da","no","nl","hu","fa","ar","ur","he","th","cs","uk","vi","ro","bn","el","en-gb","gu","kn","mr","ta","bg","ca","hr","sr","sk"]},function(t,e,n){var r=n(3),i=n(0),o=n(20),s=n(48),a="collection:";function u(t,e){return r.collectionId(t)||e}t.exports=function(t){t.params({id:{},url:{}}),t.overrideProperty("id",{get:function(){var t=u(this.params.url,this.params.id);return a+t}}),t.overrideProperty("endpoint",{get:function(){return o.timeline(["collection"])}}),t.around("queryParams",function(t){return i.aug(t(),{collection_id:u(this.params.url,this.params.id)})}),t.before("initialize",function(){if(!u(this.params.url,this.params.id))throw new Error("one of url or id is required");s()})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(138)])},function(t,e,n){var r=n(3),i=n(0),o=n(20),s="event:";function a(t,e){return r.eventId(t)||e}t.exports=function(t){t.params({id:{},url:{}}),t.overrideProperty("id",{get:function(){var t=a(this.params.url,this.params.id);return s+t}}),t.overrideProperty("endpoint",{get:function(){return o.timeline(["event"])}}),t.around("queryParams",function(t){return i.aug(t(),{event_id:a(this.params.url,this.params.id)})}),t.before("initialize",function(){if(!a(this.params.url,this.params.id))throw new Error("one of url or id is required")})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(140)])},function(t,e,n){var r=n(3),i=n(0),o=n(20),s=n(48),a="likes:";function u(t){return r.likesScreenName(t.url)||t.screenName}t.exports=function(t){t.params({screenName:{},userId:{},url:{}}),t.overrideProperty("id",{get:function(){var t=u(this.params)||this.params.userId;return a+t}}),t.overrideProperty("endpoint",{get:function(){return o.timeline(["likes"])}}),t.define("_getLikesQueryParam",function(){var t=u(this.params);return t?{screen_name:t}:{user_id:this.params.userId}}),t.around("queryParams",function(t){return i.aug(t(),this._getLikesQueryParam())}),t.before("initialize",function(){if(!u(this.params)&&!this.params.userId)throw new Error("screen name or user id is required");s()})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(142)])},function(t,e,n){var r=n(3),i=n(0),o=n(20),s="list:";function a(t){var e=r.listScreenNameAndSlug(t.url)||t;return i.compact({screen_name:e.ownerScreenName,user_id:e.ownerUserId,list_slug:e.slug})}t.exports=function(t){t.params({id:{},ownerScreenName:{},ownerUserId:{},slug:{},url:{}}),t.overrideProperty("id",{get:function(){var t,e,n;return this.params.id?s+this.params.id:(e=(t=a(this.params))&&t.list_slug.replace(/-/g,"_"),n=t&&(t.screen_name||t.user_id),s+(n+":")+e)}}),t.overrideProperty("endpoint",{get:function(){return o.timeline(["list"])}}),t.define("_getListQueryParam",function(){return this.params.id?{list_id:this.params.id}:a(this.params)}),t.around("queryParams",function(t){return i.aug(t(),this._getListQueryParam())}),t.before("initialize",function(){var t=a(this.params);if(i.isEmptyObject(t)&&!this.params.id)throw new Error("qualified slug or list id required")})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(144)])},function(t,e,n){var r=n(3),i=n(5),o=n(0),s=n(20),a="profile:";function u(t,e){return r.screenName(t)||e}t.exports=function(t){t.params({showReplies:{fallback:!1,transform:i.asBoolean},screenName:{},userId:{},url:{}}),t.overrideProperty("id",{get:function(){var t=u(this.params.url,this.params.screenName);return a+(t||this.params.userId)}}),t.overrideProperty("endpoint",{get:function(){return s.timeline(["profile"])}}),t.define("_getProfileQueryParam",function(){var t=u(this.params.url,this.params.screenName),e=t?{screen_name:t}:{user_id:this.params.userId};return o.aug(e,{with_replies:this.params.showReplies?"true":"false"})}),t.around("queryParams",function(t){return o.aug(t(),this._getProfileQueryParam())}),t.before("initialize",function(){if(!u(this.params.url,this.params.screenName)&&!this.params.userId)throw new Error("screen name or user id is required")})}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(6).then(function(r){var o;try{o=n(87),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return Promise.all([n.e(0),n.e(7)]).then(function(r){var o;try{o=n(88),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(10),i=n(3),o=n(0),s=n(13),a=n(14)(),u=n(68),c="blockquote.twitter-tweet, blockquote.twitter-video",d=/\btw-align-(left|right|center)\b/;t.exports=function(t,e){return a(t,c).map(function(t){return u(function(t){var e=s(t),n=t.getElementsByTagName("A"),a=n&&n[n.length-1],u=a&&i.status(a.href),c=t.getAttribute("data-bs-conversation"),l="none"==c||"hidden"==c||r.present(t,"tw-hide-thread"),f=t.getAttribute("data-bs-cards"),h="none"==f||"hidden"==f||r.present(t,"tw-hide-media"),p=t.getAttribute("data-bs-align")||t.getAttribute("align"),m="dark";return!p&&d.test(t.className)&&(p=RegExp.$1),o.aug(e,{tweetId:u,hideThread:l,hideCard:h,align:p,theme:m,id:u})}(t),t.parentNode,t,e)})}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(8).then(function(r){var o;try{o=n(89),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(10),i=n(0),o=n(13),s=n(14)(),a=n(69),u=n(5),c="a.twitter-share-button, a.twitter-mention-button, a.twitter-hashtag-button",d="twitter-hashtag-button",l="twitter-mention-button";t.exports=function(t){return s(t,c).map(function(t){return a(function(t){var e=o(t),n={screenName:t.getAttribute("data-bs-button-screen-name"),text:t.getAttribute("data-bs-text"),type:t.getAttribute("data-bs-type"),size:t.getAttribute("data-bs-size"),url:t.getAttribute("data-bs-url"),hashtags:t.getAttribute("data-bs-hashtags"),via:t.getAttribute("data-bs-via"),buttonHashtag:t.getAttribute("data-bs-button-hashtag")};return i.forIn(n,function(t,n){var r=e[t];e[t]=u.hasValue(r)?r:n}),e.screenName=e.screenName||e.screen_name,e.buttonHashtag=e.buttonHashtag||e.button_hashtag||e.hashtag,r.present(t,d)&&(e.type="hashtag"),r.present(t,l)&&(e.type="mention"),e}(t),t.parentNode,t)})}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(3).then(function(r){var o;try{o=n(90),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(0);t.exports=r.aug({},n(152),n(153),n(154),n(155),n(156),n(157),n(158))},function(t,e,n){var r=n(61),i=n(17)(["userId"],{},r);t.exports={createDMButton:i}},function(t,e,n){var r=n(63),i=n(17)(["screenName"],{},r);t.exports={createFollowButton:i}},function(t,e,n){var r=n(64),i=n(17)(["momentId"],{},r);t.exports={createMoment:i}},function(t,e,n){var r=n(65),i=n(17)(["username"],{},r);t.exports={createPeriscopeOnAirButton:i}},function(t,e,n){var r=n(9),i=n(12),o=n(3),s=n(0),a=n(5),u=n(66),c=n(67),d=n(17)([],{},c),l=n(6),f="Embedded grids have been deprecated. Please use twttr.widgets.createTimeline instead. More info: https://twittercommunity.com/t/update-on-the-embedded-grid-display-type/119564.",h={createTimeline:p,createGridFromCollection:function(t){var e=s.toRealArray(arguments).slice(1),n={sourceType:"collection",id:t};return e.unshift(n),i.publicLog(f),p.apply(this,e)}};function p(t){var e,n=s.toRealArray(arguments).slice(1);return a.isString(t)||a.isNumber(t)?l.reject("Embedded timelines with widget settings have been deprecated. See https://twittercommunity.com/t/deprecating-widget-settings/102295."):s.isObject(t)?(t=t||{},n.forEach(function(t){s.isType("object",t)&&function(t){t.ariaLive=t.ariaPolite}(e=t)}),e||(e={},n.push(e)),t.lang=e.lang,t.tweetLimit=e.tweetLimit,t.showReplies=e.showReplies,e.dataSource=u(t),d.apply(this,n)):l.reject("data source must be an object.")}o.isTwitterURL(r.href)&&(h.createTimelinePreview=function(t,e,n){var r={previewParams:t,useLegacyDefaults:!0,isPreviewTimeline:!0};return r.dataSource=u(r),d(e,r,n)}),t.exports=h},function(t,e,n){var r,i=n(0),o=n(68),s=n(17),a=(r=s(["tweetId"],{},o),function(){return i.toRealArray(arguments).slice(1).forEach(function(t){i.isType("object",t)&&(t.hideCard="none"==t.cards||"hidden"==t.cards,t.hideThread="none"==t.conversation||"hidden"==t.conversation)}),r.apply(this,arguments)});t.exports={createTweet:a,createTweetEmbed:a,createVideo:a}},function(t,e,n){var r=n(0),i=n(69),o=n(17),s=o(["url"],{type:"share"},i),a=o(["buttonHashtag"],{type:"hashtag"},i),u=o(["screenName"],{type:"mention"},i);function c(t){return function(){return r.toRealArray(arguments).slice(1).forEach(function(t){r.isType("object",t)&&(t.screenName=t.screenName||t.screen_name,t.buttonHashtag=t.buttonHashtag||t.button_hashtag||t.hashtag)}),t.apply(this,arguments)}}t.exports={createShareButton:c(s),createHashtagButton:c(a),createMentionButton:c(u)}},function(t,e,n){var r,i,o,s=n(4),a=n(1),u=0,c=[],d=s.createElement("a");function l(){var t,e;for(u=1,t=0,e=c.length;t-1},forIn:i,isObject:s,isEmptyObject:a,toType:o,isType:function(t,e){return t==o(e)},toRealArray:u}},function(t,e){t.exports=window},function(t,e,n){var r=n(6);t.exports=function(){var t=this;this.promise=new r(function(e,n){t.resolve=e,t.reject=n})}},function(t,e,n){var r=n(11),i=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,o=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,s=/^http(s?):\/\/(\w+\.)*twitter\.com([:/]|$)/i,a=/^http(s?):\/\/(ton|pbs)\.twimg\.com/,u=/^#?([^.,<>!\s/#\-()'"]+)$/,c=/twitter\.com(?::\d{2,4})?\/intent\/(\w+)/,d=/^https?:\/\/(?:www\.)?twitter\.com\/\w+\/timelines\/(\d+)/i,l=/^https?:\/\/(?:www\.)?twitter\.com\/i\/moments\/(\d+)/i,f=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/(?:likes|favorites)/i,h=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/lists\/([\w-%]+)/i,p=/^https?:\/\/(?:www\.)?twitter\.com\/i\/live\/(\d+)/i,m=/^https?:\/\/syndication\.twitter\.com\/settings/i,v=/^https?:\/\/(localhost|platform)\.twitter\.com(?::\d+)?\/widgets\/widget_iframe\.(.+)/i,g=/^https?:\/\/(?:www\.)?twitter\.com\/search\?q=(\w+)/i;function w(t){return"string"==typeof t&&i.test(t)&&RegExp.$1.length<=20}function y(t){if(w(t))return RegExp.$1}function b(t,e){var n=r.decodeURL(t);if(e=e||!1,n.screen_name=y(t),n.screen_name)return r.url("https://twitter.com/intent/"+(e?"follow":"user"),n)}function _(t){return"string"==typeof t&&u.test(t)}function E(t){return"string"==typeof t&&o.test(t)}t.exports={isHashTag:_,hashTag:function(t,e){if(e=void 0===e||e,_(t))return(e?"#":"")+RegExp.$1},isScreenName:w,screenName:y,isStatus:E,status:function(t){return E(t)&&RegExp.$1},intentForProfileURL:b,intentForFollowURL:function(t){return b(t,!0)},isTwitterURL:function(t){return s.test(t)},isTwimgURL:function(t){return a.test(t)},isIntentURL:function(t){return c.test(t)},isSettingsURL:function(t){return m.test(t)},isWidgetIframeURL:function(t){return v.test(t)},isSearchUrl:function(t){return g.test(t)},regexen:{profile:i},momentId:function(t){return l.test(t)&&RegExp.$1},collectionId:function(t){return d.test(t)&&RegExp.$1},intentType:function(t){return c.test(t)&&RegExp.$1},likesScreenName:function(t){return f.test(t)&&RegExp.$1},listScreenNameAndSlug:function(t){var e,n,r;if(h.test(t)){e=RegExp.$1,n=RegExp.$2;try{r=decodeURIComponent(n)}catch(t){}return{ownerScreenName:e,slug:r||n}}return!1},eventId:function(t){return p.test(t)&&RegExp.$1}}},function(t,e){t.exports=document},function(t,e,n){var r=n(0),i=[!0,1,"1","on","ON","true","TRUE","yes","YES"],o=[!1,0,"0","off","OFF","false","FALSE","no","NO"];function s(t){return void 0!==t&&null!==t&&""!==t}function a(t){return c(t)&&t%1==0}function u(t){return c(t)&&!a(t)}function c(t){return s(t)&&!isNaN(t)}function d(t){return r.contains(o,t)}function l(t){return r.contains(i,t)}t.exports={hasValue:s,isInt:a,isFloat:u,isNumber:c,isString:function(t){return"string"===r.toType(t)},isArray:function(t){return s(t)&&"array"==r.toType(t)},isTruthValue:l,isFalseValue:d,asInt:function(t){if(a(t))return parseInt(t,10)},asFloat:function(t){if(u(t))return t},asNumber:function(t){if(c(t))return t},asBoolean:function(t){return!(!s(t)||!l(t)&&(d(t)||!t))}}},function(t,e,n){var r=n(1),i=n(21),o=n(49);i.hasPromiseSupport()||(r.Promise=o),t.exports=r.Promise},function(t,e,n){var r=n(0);t.exports=function(t,e){var n=Array.prototype.slice.call(arguments,2);return function(){var i=r.toRealArray(arguments);return t.apply(e,n.concat(i))}}},function(t,e,n){var r=n(51);t.exports=new r("__twttr")},function(t,e){t.exports=location},function(t,e,n){var r=n(0),i=/\b([\w-_]+)\b/g;function o(t){return new RegExp("\\b"+t+"\\b","g")}function s(t,e){t.classList?t.classList.add(e):o(e).test(t.className)||(t.className+=" "+e)}function a(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(o(e)," ")}function u(t,e){return t.classList?t.classList.contains(e):r.contains(c(t),e)}function c(t){return r.toRealArray(t.classList?t.classList:t.className.match(i))}t.exports={add:s,remove:a,replace:function(t,e,n){if(t.classList&&u(t,e))return a(t,e),void s(t,n);t.className=t.className.replace(o(e),n)},toggle:function(t,e,n){return void 0===n&&t.classList&&t.classList.toggle?t.classList.toggle(e,n):(n?s(t,e):a(t,e),n)},present:u,list:c}},function(t,e,n){var r=n(5),i=n(0);function o(t){return encodeURIComponent(t).replace(/\+/g,"%2B").replace(/'/g,"%27")}function s(t){return decodeURIComponent(t)}function a(t){var e=[];return i.forIn(t,function(t,n){var s=o(t);i.isType("array",n)||(n=[n]),n.forEach(function(t){r.hasValue(t)&&e.push(s+"="+o(t))})}),e.sort().join("&")}function u(t){var e={};return t?(t.split("&").forEach(function(t){var n=t.split("="),r=s(n[0]),o=s(n[1]);if(2==n.length){if(!i.isType("array",e[r]))return r in e?(e[r]=[e[r]],void e[r].push(o)):void(e[r]=o);e[r].push(o)}}),e):{}}t.exports={url:function(t,e){return a(e).length>0?i.contains(t,"?")?t+"&"+a(e):t+"?"+a(e):t},decodeURL:function(t){var e=t&&t.split("?");return 2==e.length?u(e[1]):{}},decode:u,encode:a,encodePart:o,decodePart:s}},function(t,e,n){var r=n(9),i=n(1),o=n(0),s={},a=o.contains(r.href,"tw_debug=true");function u(){}function c(){}function d(){return i.performance&&+i.performance.now()||+new Date}function l(t,e){if(i.console&&i.console[t])switch(e.length){case 1:i.console[t](e[0]);break;case 2:i.console[t](e[0],e[1]);break;case 3:i.console[t](e[0],e[1],e[2]);break;case 4:i.console[t](e[0],e[1],e[2],e[3]);break;case 5:i.console[t](e[0],e[1],e[2],e[3],e[4]);break;default:0!==e.length&&i.console.warn&&i.console.warn("too many params passed to logger."+t)}}t.exports={devError:u,devInfo:c,devObject:function(t,e){},publicError:function(){l("error",o.toRealArray(arguments))},publicLog:function(){l("info",o.toRealArray(arguments))},publicWarn:function(){l("warn",o.toRealArray(arguments))},time:function(t){a&&(s[t]=d())},timeEnd:function(t){a&&s[t]&&(d(),s[t])}}},function(t,e,n){var r=n(19),i=n(5),o=n(11),s=n(0),a=n(115);t.exports=function(t){var e=t.href&&t.href.split("?")[1],n=e?o.decode(e):{},u={lang:a(t),width:t.getAttribute("data-width")||t.getAttribute("width"),height:t.getAttribute("data-height")||t.getAttribute("height"),related:t.getAttribute("data-related"),partner:t.getAttribute("data-partner")};return i.asBoolean(t.getAttribute("data-dnt"))&&r.setOn(),s.forIn(u,function(t,e){var r=n[t];n[t]=i.hasValue(r)?r:e}),s.compact(n)}},function(t,e,n){var r=n(77),i=n(22);t.exports=function(){var t="data-twitter-extracted-"+i.generate();return function(e,n){return r(e,n).filter(function(e){return!e.hasAttribute(t)}).map(function(e){return e.setAttribute(t,"true"),e})}}},function(t,e){function n(t,e,n,r,i,o,s){this.factory=t,this.Sandbox=e,this.srcEl=o,this.targetEl=i,this.parameters=r,this.className=n,this.options=s}n.prototype.destroy=function(){this.srcEl=this.targetEl=null},t.exports=n},function(t,e){t.exports={DM_BUTTON:"twitter-dm-button",FOLLOW_BUTTON:"twitter-follow-button",HASHTAG_BUTTON:"twitter-hashtag-button",MENTION_BUTTON:"twitter-mention-button",MOMENT:"twitter-moment",PERISCOPE:"periscope-on-air",SHARE_BUTTON:"twitter-share-button",TIMELINE:"twitter-timeline",TWEET:"twitter-tweet"}},function(t,e,n){var r=n(6),i=n(19),o=n(53),s=n(36),a=n(5),u=n(0);t.exports=function(t,e,n){var c;return t=t||[],e=e||{},c="ƒ("+t.join(", ")+", target, [options]);",function(){var d,l,f,h,p=Array.prototype.slice.apply(arguments,[0,t.length]),m=Array.prototype.slice.apply(arguments,[t.length]);return m.forEach(function(t){t&&(t.nodeType!==Node.ELEMENT_NODE?u.isType("function",t)?d=t:u.isType("object",t)&&(l=t):f=t)}),p.length!==t.length||0===m.length?(d&&u.async(function(){d(!1)}),r.reject(new Error("Not enough parameters. Expected: "+c))):f?(l=u.aug({},l||{},e),t.forEach(function(t){l[t]=p.shift()}),a.asBoolean(l.dnt)&&i.setOn(),h=s.getExperiments().then(function(t){return o.addWidget(n(l,f,void 0,t))}),d&&h.then(d,function(){d(!1)}),h):(d&&u.async(function(){d(!1)}),r.reject(new Error("No target element specified. Expected: "+c)))}}},function(t,e,n){var r=n(98),i=n(2),o=n(0);function s(t,e){return function(){try{e.resolve(t.call(this))}catch(t){e.reject(t)}}}t.exports={sync:function(t,e){t.call(e)},read:function(t,e){var n=new i;return r.read(s(t,n),e),n.promise},write:function(t,e){var n=new i;return r.write(s(t,n),e),n.promise},defer:function(t,e,n){var a=new i;return o.isType("function",t)&&(n=e,e=t,t=1),r.defer(t,s(e,a),n),a.promise}}},function(t,e,n){var r=n(4),i=n(9),o=n(38),s=n(102),a=n(5),u=n(33),c=!1,d=/https?:\/\/([^/]+).*/i;t.exports={setOn:function(){c=!0},enabled:function(t,e){return!!(c||a.asBoolean(u.val("dnt"))||s.isUrlSensitive(e||i.host)||o.isFramed()&&s.isUrlSensitive(o.rootDocumentLocation())||(t=d.test(t||r.referrer)&&RegExp.$1)&&s.isUrlSensitive(t))}}},function(t,e,n){var r=n(8),i=n(59),o="https://syndication.twitter.com",s="https://platform.twitter.com",a=["https://syndication.twitter.com","https://cdn.syndication.twimg.com","https://localhost.twitter.com:8444"],u=["https://syndication.twitter.com","https://localhost.twitter.com:8445"],c=["https://platform.twitter.com","https://localhost.twitter.com",/^https:\/\/ton\.smf1\.twitter\.com\/syndication-internal\/embed-iframe\/[0-9A-Za-z_-]+\/app/],d=function(t,e){return t.some(function(t){return t instanceof RegExp?t.test(e):t===e})},l=function(){var t=r.get("backendHost");return t&&d(a,t)?t:"https://cdn.syndication.twimg.com"},f=function(){var t=r.get("settingsSvcHost");return t&&d(u,t)?t:o};function h(t,e){var n=[t];return e.forEach(function(t){n.push(function(t){var e=(t||"").toString(),n="/"===e.slice(0,1)?1:0,r=function(t){return"/"===t.slice(-1)}(e)?-1:void 0;return e.slice(n,r)}(t))}),n.join("/")}t.exports={cookieConsent:function(t){var e=t||[];return e.unshift("cookie/consent"),h(f(),e)},embedIframe:function(t,e){var n=t||[],o=s,a=r.get("embedIframeURL");return a&&d(c,a)?h(a,n)+".html":(n.unshift(i.getBaseURLPath(e)),h(o,n)+".html")},embedService:function(t){var e=t||[],n=o;return e.unshift("srv"),h(n,e)},eventVideo:function(t){var e=t||[];return e.unshift("video/event"),h(l(),e)},grid:function(t){var e=t||[];return e.unshift("grid/collection"),h(l(),e)},moment:function(t){var e=t||[];return e.unshift("moments"),h(l(),e)},settings:function(t){var e=t||[];return e.unshift("settings"),h(f(),e)},timeline:function(t){var e=t||[];return e.unshift("timeline"),h(l(),e)},tweetBatch:function(t){var e=t||[];return e.unshift("tweets.json"),h(l(),e)},video:function(t){var e=t||[];return e.unshift("widgets/video"),h(l(),e)}}},function(t,e,n){var r=n(4),i=n(92),o=n(1),s=n(0),a=i.userAgent;function u(t){return/(Trident|MSIE|Edge[/ ]?\d)/.test(t=t||a)}t.exports={retina:function(t){return(t=t||o).devicePixelRatio?t.devicePixelRatio>=1.5:!!t.matchMedia&&t.matchMedia("only screen and (min-resolution: 144dpi)").matches},anyIE:u,ie9:function(t){return/MSIE 9/.test(t=t||a)},ie10:function(t){return/MSIE 10/.test(t=t||a)},ios:function(t){return/(iPad|iPhone|iPod)/.test(t=t||a)},android:function(t){return/^Mozilla\/5\.0 \(Linux; (U; )?Android/.test(t=t||a)},canPostMessage:function(t,e){return t=t||o,e=e||a,t.postMessage&&!(u(e)&&t.opener)},touch:function(t,e,n){return t=t||o,e=e||i,n=n||a,"ontouchstart"in t||/Opera Mini/.test(n)||e.msMaxTouchPoints>0},cssTransitions:function(){var t=r.body.style;return void 0!==t.transition||void 0!==t.webkitTransition||void 0!==t.mozTransition||void 0!==t.oTransition||void 0!==t.msTransition},hasPromiseSupport:function(){return!!(o.Promise&&o.Promise.resolve&&o.Promise.reject&&o.Promise.all&&o.Promise.race&&(new o.Promise(function(e){t=e}),s.isType("function",t)));var t},hasIntersectionObserverSupport:function(){return!!o.IntersectionObserver},hasPerformanceInformation:function(){return o.performance&&o.performance.getEntriesByType}}},function(t,e){var n="i",r=0,i=0;t.exports={generate:function(){return n+String(+new Date)+Math.floor(1e5*Math.random())+r++},deterministic:function(){return n+String(i++)}}},function(t,e,n){var r=n(50),i=n(52),o=n(0);t.exports=o.aug(r.get("events")||{},i.Emitter)},function(t,e,n){var r=n(6),i=n(2);function o(t,e){return t.then(e,e)}function s(t){return t instanceof r}t.exports={always:o,allResolved:function(t){var e;return void 0===t?r.reject(new Error("undefined is not an object")):Array.isArray(t)?(e=t.length)?new r(function(n,r){var i=0,o=[];function a(){(i+=1)===e&&(0===o.length?r():n(o))}function u(t){o.push(t),a()}t.forEach(function(t){s(t)?t.then(u,a):u(t)})}):r.resolve([]):r.reject(new Error("Type error"))},some:function(t){var e;return e=(t=t||[]).length,t=t.filter(s),e?e!==t.length?r.reject("non-Promise passed to .some"):new r(function(e,n){var r=0;function i(){(r+=1)===t.length&&n()}t.forEach(function(t){t.then(e,i)})}):r.reject("no promises passed to .some")},isPromise:s,allSettled:function(t){function e(){}return r.all((t||[]).map(function(t){return o(t,e)}))},timeout:function(t,e){var n=new i;return setTimeout(function(){n.reject(new Error("Promise timed out"))},e),t.then(function(t){n.resolve(t)},function(t){n.reject(t)}),n.promise}}},function(t,e,n){var r=n(1).JSON;t.exports={stringify:r.stringify||r.encode,parse:r.parse||r.decode}},function(t,e,n){var r=n(27),i=n(108);t.exports=r.build([i])},function(t,e,n){var r=n(39),i=n(105),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(39),i=n(40),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(79),i=n(80),o=n(81),s=n(9),a=n(71),u=n(82),c=n(19),d=n(5),l=n(22),f=n(0);function h(t){if(!t||!t.headers)throw new Error("unexpected response schema");return{html:t.body,config:t.config,pollInterval:1e3*parseInt(t.headers.xPolling,10)||null,maxCursorPosition:t.headers.maxPosition,minCursorPosition:t.headers.minPosition}}function p(t){if(t&&t.headers)throw new Error(t.headers.status);throw t instanceof Error?t:new Error(t)}t.exports=function(t){t.params({height:{transform:d.asInt},instanceId:{required:!0,fallback:l.deterministic},lang:{required:!0,transform:a.matchLanguage,fallback:"en"},theme:{},tweetLimit:{transform:d.asInt}}),t.defineProperty("endpoint",{get:function(){throw new Error("endpoint not specified")}}),t.defineProperty("pollEndpoint",{get:function(){return this.endpoint}}),t.define("cbId",function(t){var e=t?"_new":"_old";return"tl_"+this.params.instanceId+"_"+this.id+e}),t.define("queryParams",function(){return{lang:this.params.lang,tz:u.getTimezoneOffset(),t:r(),domain:s.host,tweet_limit:this.params.tweetLimit,dnt:c.enabled()}}),t.define("horizonQueryParams",function(){return f.compact({dnt:c.enabled(),limit:this.params.tweetLimit,lang:this.params.lang,maxHeight:this.params.height,theme:this.params.theme})}),t.define("fetch",function(){return i.fetch(this.endpoint,this.queryParams(),o,this.cbId()).then(h,p)}),t.define("poll",function(t,e){var n,r;return n={since_id:(t=t||{}).sinceId,max_id:t.maxId,min_position:t.minPosition,max_position:t.maxPosition},r=f.aug(this.queryParams(),n),i.fetch(this.pollEndpoint,r,o,this.cbId(e)).then(h,p)})}},function(t,e,n){var r=n(52).makeEmitter();t.exports={emitter:r,START:"start",ALL_WIDGETS_RENDER_START:"all_widgets_render_start",ALL_WIDGETS_RENDER_END:"all_widgets_render_end",ALL_WIDGETS_AND_IMAGES_LOADED:"all_widgets_and_images_loaded"}},function(t,e,n){var r=n(4),i=n(0);t.exports=function(t,e,n){var o;if(n=n||r,t=t||{},e=e||{},t.name){try{o=n.createElement('')}catch(e){(o=n.createElement("iframe")).name=t.name}delete t.name}else o=n.createElement("iframe");return t.id&&(o.id=t.id,delete t.id),o.allowtransparency="true",o.scrolling="no",o.setAttribute("frameBorder",0),o.setAttribute("allowTransparency",!0),i.forIn(t,function(t,e){o.setAttribute(t,e)}),i.forIn(e,function(t,e){o.style[t]=e}),o}},function(t,e,n){var r=n(27),i=n(122);t.exports=r.build([i])},function(t,e,n){var r,i=n(4);function o(t){var e,n,o,s=0;for(r={},e=(t=t||i).getElementsByTagName("meta");e[s];s++){if(n=e[s],/^twitter:/.test(n.getAttribute("name")))o=n.getAttribute("name").replace(/^twitter:/,"");else{if(!/^twitter:/.test(n.getAttribute("property")))continue;o=n.getAttribute("property").replace(/^twitter:/,"")}r[o]=n.getAttribute("content")||n.getAttribute("value")}}o(),t.exports={init:o,val:function(t){return r[t]}}},function(t,e,n){var r=n(0),i=n(45);t.exports={closest:function t(e,n,o){var s;if(n)return o=o||n&&n.ownerDocument,s=r.isType("function",e)?e:function(t){return function(e){return!!e.tagName&&i(e,t)}}(e),n===o?s(n)?n:void 0:s(n)?n:t(s,n.parentNode,o)}}},function(t,e,n){var r=n(10),i={},o=-1,s={};function a(t){var e=t.getAttribute("data-twitter-event-id");return e||(t.setAttribute("data-twitter-event-id",++o),o)}function u(t,e,n){var r=0,i=t&&t.length||0;for(r=0;r1?(e=Math.floor(t.item_ids.length/2),n=t.item_ids.slice(0,e),r={},i=t.item_ids.slice(e),o={},n.forEach(function(e){r[e]=t.item_details[e]}),i.forEach(function(e){o[e]=t.item_details[e]}),[l.aug({},t,{item_ids:n,item_details:r}),l.aug({},t,{item_ids:i,item_details:o})]):[t]},stringify:function(t){var e,n=Array.prototype.toJSON;return delete Array.prototype.toJSON,e=u.stringify(t),n&&(Array.prototype.toJSON=n),e},CLIENT_EVENT_ENDPOINT:p,RUFOUS_REDIRECT:"https://platform.twitter.com/jot.html"}},function(t,e,n){var r=n(9),i=n(75),o=n(0),s=i.getCanonicalURL()||r.href,a=s;t.exports={isFramed:function(){return s!==a},rootDocumentLocation:function(t){return t&&o.isType("string",t)&&(s=t),s},currentDocumentLocation:function(){return a}}},function(t,e,n){var r=n(103),i=n(104),o=n(0);t.exports={couple:function(){return o.toRealArray(arguments)},build:function(t,e,n){var o=new t;return(e=i(r(e||[]))).forEach(function(t){t.call(null,o)}),o.build(n)}}},function(t,e,n){var r=n(106),i=n(0),o=n(41);function s(){this.Component=this.factory(),this._adviceArgs=[],this._lastArgs=[]}i.aug(s.prototype,{factory:o,build:function(t){var e=this;return this.Component,i.aug(this.Component.prototype.boundParams,t),this._adviceArgs.concat(this._lastArgs).forEach(function(t){(function(t,e,n){var r=this[e];if(!r)throw new Error(e+" does not exist");this[e]=t(r,n)}).apply(e.Component.prototype,t)}),delete this._lastArgs,delete this._adviceArgs,this.Component},params:function(t){var e=this.Component.prototype.paramConfigs;t=t||{},this.Component.prototype.paramConfigs=i.aug({},t,e)},define:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.override(t,e)},defineStatic:function(t,e){this.Component[t]=e},override:function(t,e){this.Component.prototype[t]=e},defineProperty:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.overrideProperty(t,e)},overrideProperty:function(t,e){var n=i.aug({configurable:!0},e);Object.defineProperty(this.Component.prototype,t,n)},before:function(t,e){this._adviceArgs.push([r.before,t,e])},after:function(t,e){this._adviceArgs.push([r.after,t,e])},around:function(t,e){this._adviceArgs.push([r.around,t,e])},last:function(t,e){this._lastArgs.push([r.after,t,e])}}),t.exports=s},function(t,e,n){var r=n(0);function i(){return!0}function o(t){return t}t.exports=function(){function t(t){var e=this;t=t||{},this.params=Object.keys(this.paramConfigs).reduce(function(n,s){var a=[],u=e.boundParams,c=e.paramConfigs[s],d=c.validate||i,l=c.transform||o;if(s in u&&a.push(u[s]),s in t&&a.push(t[s]),a="fallback"in c?a.concat(c.fallback):a,n[s]=function(t,e,n){var i=null;return t.some(function(t){if(t=r.isType("function",t)?t():t,e(t))return i=n(t),!0}),i}(a,d,l),c.required&&null==n[s])throw new Error(s+" is a required parameter");return n},{}),this.initialize()}return r.aug(t.prototype,{paramConfigs:{},boundParams:{},initialize:function(){}}),t}},function(t,e,n){var r=n(101),i=n(76),o=new(n(110))(function(t){(!function(t){return 1===t.length&&i.canFlushOneItem(t[0])}(t)?function(t){r.init(),t.forEach(function(t){var e=t.input.namespace,n=t.input.data,i=t.input.offsite,o=t.input.version;r.clientEvent(e,n,i,o)}),r.flush().then(function(){t.forEach(function(t){t.taskDoneDeferred.resolve()})},function(){t.forEach(function(t){t.taskDoneDeferred.reject()})})}:function(t){t.forEach(function(t){var e=t.input.namespace,n=t.input.data,r=t.input.offsite,o=t.input.version;i.clientEvent(e,n,r,o),t.taskDoneDeferred.resolve()})})(t)});t.exports={scribe:function(t,e,n,r){return o.add({namespace:t,data:e,offsite:n,version:r})},pause:function(){o.pause()},resume:function(){o.resume()}}},function(t,e,n){var r,i=n(10),o=n(4),s=n(1),a=n(33),u=n(54),c=n(5),d=n(22),l="csptest";t.exports={inlineStyle:function(){var t=l+d.generate(),e=o.createElement("div"),n=o.createElement("style"),f="."+t+" { visibility: hidden; }";return!!o.body&&(c.asBoolean(a.val("widgets:csp"))&&(r=!1),void 0!==r?r:(e.style.display="none",i.add(e,t),n.type="text/css",n.appendChild(o.createTextNode(f)),o.body.appendChild(n),o.body.appendChild(e),r="hidden"===s.getComputedStyle(e).visibility,u(e),u(n),r))}}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){var i,o=0;return n=n||null,function s(){var a=n||this,u=arguments,c=+new Date;if(r.clearTimeout(i),c-o>e)return o=c,void t.apply(a,u);i=r.setTimeout(function(){s.apply(a,u)},e)}}},function(t,e,n){var r=n(1).HTMLElement,i=r.prototype.matches||r.prototype.matchesSelector||r.prototype.webkitMatchesSelector||r.prototype.mozMatchesSelector||r.prototype.msMatchesSelector||r.prototype.oMatchesSelector;t.exports=function(t,e){if(i)return i.call(t,e)}},function(t){t.exports={version:"9fd78d5:1638479056965"}},function(t,e){t.exports=function(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height}}},function(t,e,n){var r=n(12).publicWarn;t.exports=function(){r("Warning: This Timeline type belongs to a group that will not be supported in the future (Likes, Collections, & Moments). It is not recommended for use. \n\t","* Twitter will continue to support Profile and List Timelines \n\t","* You can learn more about this change in our announcement: \n\t","https://twittercommunity.com/t/removing-support-for-embedded-like-collection-and-moment-timelines/150313 \n\t","* In order to create a new Embedded Timeline, visit: https://publish.twitter.com")}},function(t,e,n){ +/*! +* @overview es6-promise - a tiny implementation of Promises/A+. +* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) +* @license Licensed under MIT license +* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE +* @version v4.2.5+7f2b526d +*/var r;r=function(){"use strict";function t(t){return"function"==typeof t}var e=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},n=0,r=void 0,i=void 0,o=function(t,e){f[n]=t,f[n+1]=e,2===(n+=2)&&(i?i(h):w())},s="undefined"!=typeof window?window:void 0,a=s||{},u=a.MutationObserver||a.WebKitMutationObserver,c="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),d="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function l(){var t=setTimeout;return function(){return t(h,1)}}var f=new Array(1e3);function h(){for(var t=0;t=0&&this._handlers[t].splice(n,1):this._handlers[t]=[])},trigger:function(t,e){var n=this._handlers&&this._handlers[t];(e=e||{}).type=t,n&&n.forEach(function(t){r.async(i(t,this,e))})}};t.exports={Emitter:o,makeEmitter:function(){return r.aug(function(){},o)}}},function(t,e,n){var r=n(97),i=n(99),o=n(6),s=n(24),a=n(7),u=n(0),c=new i(function(t){var e=function(t){return t.reduce(function(t,e){return t[e._className]=t[e._className]||[],t[e._className].push(e),t},{})}(t.map(r.fromRawTask));u.forIn(e,function(t,e){s.allSettled(e.map(function(t){return t.initialize()})).then(function(){e.forEach(function(t){o.all([t.hydrate(),t.insertIntoDom()]).then(a(t.render,t)).then(a(t.success,t),a(t.fail,t))})})})});t.exports={addWidget:function(t){return c.add(t)}}},function(t,e,n){var r=n(18);t.exports=function(t){return r.write(function(){t&&t.parentNode&&t.parentNode.removeChild(t)})}},function(t,e,n){n(12),t.exports={log:function(t,e){}}},function(t,e,n){var r=n(1);function i(t){return(t=t||r).getSelection&&t.getSelection()}t.exports={getSelection:i,getSelectedText:function(t){var e=i(t);return e?e.toString():""}}},function(t,e,n){var r=n(4),i=n(1),o=n(2),s=2e4;t.exports=function(t){var e=new o,n=r.createElement("img");return n.onload=n.onerror=function(){i.setTimeout(e.resolve,50)},n.src=t,i.setTimeout(e.reject,s),e.promise}},function(t,e,n){var r=n(109);t.exports=function(t){t.define("createElement",r),t.define("createFragment",r),t.define("htmlToElement",r),t.define("hasSelectedText",r),t.define("addRootClass",r),t.define("removeRootClass",r),t.define("hasRootClass",r),t.define("prependStyleSheet",r),t.define("appendStyleSheet",r),t.define("prependCss",r),t.define("appendCss",r),t.define("makeVisible",r),t.define("injectWidgetEl",r),t.define("matchHeightToContent",r),t.define("matchWidthToContent",r)}},function(t,e){var n="tfw_horizon_tweet_embed_9555",r="tfw_horizon_timeline_12034";t.exports={getBaseURLPath:function(t){switch(t&&t.tfw_team_holdback_11929&&t.tfw_team_holdback_11929.bucket){case"control":return"embed-holdback";case"holdback_prod":return"embed-holdback-prod";default:return"embed"}},isHorizonTweetEnabled:function(t){return!(t&&t[n]&&"control"===t[n].bucket)},isHorizonTimelineEnabled:function(t,e){return t&&t[r]&&"treatment"===t[r].bucket&&("profile"===e||"list"===e)}}},function(t,e){t.exports=function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments))}}},function(t,e,n){var r=n(15),i=n(116),o=n(117),s=n(16);t.exports=function(t,e,n){return new r(i,o,s.DM_BUTTON,t,e,n)}},function(t,e,n){var r=n(27),i=n(118);t.exports=r.build([i])},function(t,e,n){var r=n(15),i=n(121),o=n(32),s=n(16);t.exports=function(t,e,n){return new r(i,o,s.FOLLOW_BUTTON,t,e,n)}},function(t,e,n){var r=n(15),i=n(129),o=n(26),s=n(16);t.exports=function(t,e,n){return new r(i,o,s.MOMENT,t,e,n)}},function(t,e,n){var r=n(15),i=n(131),o=n(26),s=n(16);t.exports=function(t,e,n){return new r(i,o,s.PERISCOPE,t,e,n)}},function(t,e,n){var r=n(78),i=n(133),o=n(137),s=n(139),a=n(141),u=n(143),c={collection:i,event:o,likes:s,list:a,profile:u,url:l},d=[u,s,i,a,o];function l(t){return r(d,function(e){try{return new e(t)}catch(t){}})}t.exports=function(t){return t?function(t){var e,n;return e=(t.sourceType+"").toLowerCase(),(n=c[e])?new n(t):null}(t)||l(t):null}},function(t,e,n){var r=n(4),i=n(59),o=n(15),s=n(145),a=n(32),u=n(146),c=n(26),d=n(147),l=n(16);t.exports=function(t,e,n,f){var h,p=s.get(t.id);return i.isHorizonTimelineEnabled(f,p)?(h=r.createElement("div"),new o(u,a,l.TIMELINE,t,e,n,{sandboxWrapperEl:h})):new o(d,c,l.TIMELINE,t,e,n)}},function(t,e,n){var r=n(4),i=n(15),o=n(32),s=n(149),a=n(16);t.exports=function(t,e,n){var u=r.createElement("div");return new i(s,o,a.TWEET,t,e,n,{sandboxWrapperEl:u})}},function(t,e,n){var r=n(15),i=n(151),o=n(32),s=n(16);t.exports=function(t,e,n){var a=t&&t.type||"share",u="hashtag"==a?s.HASHTAG_BUTTON:"mention"==a?s.MENTION_BUTTON:s.SHARE_BUTTON;return new r(i,o,u,t,e,n)}},function(t,e,n){var r=n(42),i=n(38),o=n(0);t.exports=function(t){var e={widget_origin:i.rootDocumentLocation(),widget_frame:i.isFramed()?i.currentDocumentLocation():null,duration_ms:t.duration,item_ids:t.widgetIds||[]},n=o.aug(t.namespace,{page:"page",component:"performance"});r.scribe(n,e)}},function(t,e,n){var r=n(0),i=n(134),o=["ar","fa","he","ur"];t.exports={isRtlLang:function(t){return t=String(t).toLowerCase(),r.contains(o,t)},matchLanguage:function(t){return t=(t=(t||"").toLowerCase()).replace("_","-"),i(t)?t:(t=t.replace(/-.*/,""),i(t)?t:"en")}}},function(t){t.exports={tweetButtonHtmlPath:"/widgets/tweet_button.21f942bb866c2823339b839747a0c50c.{{lang}}.html",followButtonHtmlPath:"/widgets/follow_button.21f942bb866c2823339b839747a0c50c.{{lang}}.html",hubHtmlPath:"/widgets/hub.html",widgetIframeHtmlPath:"/widgets/widget_iframe.21f942bb866c2823339b839747a0c50c.html",resourceBaseUrl:"https://platform.twitter.com"}},function(t){t.exports={TWEET:0,RETWEET:10,CUSTOM_TIMELINE:17,LIVE_VIDEO_EVENT:28,QUOTE_TWEET:23}},function(t,e,n){var r=n(3),i=n(95),o=n(23),s=n(11),a={favorite:["favorite","like"],follow:["follow"],like:["favorite","like"],retweet:["retweet"],tweet:["tweet"]};function u(t){this.srcEl=[],this.element=t}u.open=function(t,e,n){var u=(r.intentType(t)||"").toLowerCase();r.isTwitterURL(t)&&(function(t,e){i.open(t,e)}(t,n),e&&o.trigger("click",{target:e,region:"intent",type:"click",data:{}}),e&&a[u]&&a[u].forEach(function(n){o.trigger(n,{target:e,region:"intent",type:n,data:function(t,e){var n=s.decodeURL(e);switch(t){case"favorite":case"like":return{tweet_id:n.tweet_id};case"follow":return{screen_name:n.screen_name,user_id:n.user_id};case"retweet":return{source_tweet_id:n.tweet_id};default:return{}}}(u,t)})}))},t.exports=u},function(t,e,n){var r=n(4),i=n(9),o=n(3);function s(t,e){var n,r;return e=e||i,/^https?:\/\//.test(t)?t:/^\/\//.test(t)?e.protocol+t:(n=e.host+(e.port.length?":"+e.port:""),0!==t.indexOf("/")&&((r=e.pathname.split("/")).pop(),r.push(t),t="/"+r.join("/")),[e.protocol,"//",n,t].join(""))}t.exports={absolutize:s,getCanonicalURL:function(){for(var t,e=r.getElementsByTagName("link"),n=0;e[n];n++)if("canonical"==(t=e[n]).rel)return s(t.href)},getScreenNameFromPage:function(){for(var t,e,n,i=[r.getElementsByTagName("a"),r.getElementsByTagName("link")],s=0,a=0,u=/\bme\b/;t=i[s];s++)for(a=0;e=t[a];a++)if(u.test(e.rel)&&(n=o.screenName(e.href)))return n}}},function(t,e,n){var r=n(19),i=n(55),o=n(11),s=n(37),a=n(0),u=n(8).get("scribeCallback"),c=2083,d=[],l=o.url(s.CLIENT_EVENT_ENDPOINT,{dnt:0,l:""}),f=encodeURIComponent(l).length;function h(t,e,n,r,i){var o=!a.isObject(t),c=!!e&&!a.isObject(e);o||c||(u&&u(arguments),p(s.formatClientEventNamespace(t),s.formatClientEventData(e,n,r),s.CLIENT_EVENT_ENDPOINT,i))}function p(t,e,n,r){var u;n&&a.isObject(t)&&a.isObject(e)&&(i.log(t,e),u=s.flattenClientEventPayload(t,e),r=a.aug({},r,{l:s.stringify(u)}),u.dnt&&(r.dnt=1),w(o.url(n,r)))}function m(t,e,n,r){var i=!a.isObject(t),o=!!e&&!a.isObject(e);if(!i&&!o)return v(s.flattenClientEventPayload(s.formatClientEventNamespace(t),s.formatClientEventData(e,n,r)))}function v(t){return d.push(t),d}function g(t){return encodeURIComponent(t).length+3}function w(t){return(new Image).src=t}t.exports={canFlushOneItem:function(t){var e=g(s.stringify(t));return f+e1&&m({page:"widgets_js",component:"scribe_pixel",action:"batch_log"},{}),t=d,d=[],t.reduce(function(e,n,r){var i=e.length,o=i&&e[i-1];return r+1==t.length&&n.event_namespace&&"batch_log"==n.event_namespace.action&&(n.message=["entries:"+r,"requests:"+i].join("/")),function t(e){return Array.isArray(e)||(e=[e]),e.reduce(function(e,n){var r,i=s.stringify(n),o=g(i);return f+o1&&(e=e.concat(t(r))),e},[])}(n).forEach(function(t){var n=g(t);(!o||o.urlLength+n>c)&&(o={urlLength:f,items:[]},e.push(o)),o.urlLength+=n,o.items.push(t)}),e},[]).map(function(t){var e={l:t.items};return r.enabled()&&(e.dnt=1),w(o.url(s.CLIENT_EVENT_ENDPOINT,e))})},interaction:function(t,e,n,r){var i=s.extractTermsFromDOM(t.target||t.srcElement);i.action=r||"click",h(i,e,n)}}},function(t,e,n){var r=n(0),i=n(45);t.exports=function(t,e){return i(t,e)?[t]:r.toRealArray(t.querySelectorAll(e))}},function(t,e){t.exports=function(t,e,n){for(var r,i=0;i")}).then(function(){t.close(),a.resolve(c)})}),c.src=["javascript:",'document.write("");',"try { window.parent.document; }",'catch (e) { document.domain="'+r.domain+'"; }',"window.parent."+g.fullPath(["sandbox",u])+"();"].join(""),c.addEventListener("error",a.reject,!1),o.write(function(){i.parentNode.replaceChild(c,i)}),a.promise}t.exports=a.couple(n(58),function(t){t.overrideProperty("id",{get:function(){return this.sandboxEl&&this.sandboxEl.id}}),t.overrideProperty("initialized",{get:function(){return!!this.win}}),t.overrideProperty("width",{get:function(){return this._width}}),t.overrideProperty("height",{get:function(){return this._height}}),t.overrideProperty("sandboxEl",{get:function(){return this.iframeEl}}),t.defineProperty("iframeEl",{get:function(){return this._iframe}}),t.defineProperty("rootEl",{get:function(){return this.doc&&this.doc.documentElement}}),t.defineProperty("widgetEl",{get:function(){return this.doc&&this.doc.body.firstElementChild}}),t.defineProperty("win",{get:function(){return this.iframeEl&&this.iframeEl.contentWindow}}),t.defineProperty("doc",{get:function(){return this.win&&this.win.document}}),t.define("_updateCachedDimensions",function(){var t=this;return o.read(function(){var e,n=h(t.sandboxEl);"visible"==t.sandboxEl.style.visibility?t._width=n.width:(e=h(t.sandboxEl.parentElement).width,t._width=Math.min(n.width,e)),t._height=n.height})}),t.define("_setTargetToBlank",function(){var t=this.createElement("base");t.target="_blank",this.doc.head.appendChild(t)}),t.define("_didResize",function(){var t=this,e=this._resizeHandlers.slice(0);return this._updateCachedDimensions().then(function(){e.forEach(function(e){e(t)})})}),t.define("setTitle",function(t){this.iframeEl.title=t}),t.override("createElement",function(t){return this.doc.createElement(t)}),t.override("createFragment",function(){return this.doc.createDocumentFragment()}),t.override("htmlToElement",function(t){var e;return(e=this.createElement("div")).innerHTML=t,e.firstElementChild}),t.override("hasSelectedText",function(){return!!s.getSelectedText(this.win)}),t.override("addRootClass",function(t){var e=this.rootEl;return t=Array.isArray(t)?t:[t],this.initialized?o.write(function(){t.forEach(function(t){i.add(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("removeRootClass",function(t){var e=this.rootEl;return t=Array.isArray(t)?t:[t],this.initialized?o.write(function(){t.forEach(function(t){i.remove(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("hasRootClass",function(t){return i.present(this.rootEl,t)}),t.define("addStyleSheet",function(t,e){var n,r=new p;return this.initialized?((n=this.createElement("link")).type="text/css",n.rel="stylesheet",n.href=t,n.addEventListener("load",r.resolve,!1),n.addEventListener("error",r.reject,!1),o.write(y(e,null,n)).then(function(){return u(t).then(r.resolve,r.reject),r.promise})):m.reject(new Error("sandbox not initialized"))}),t.override("prependStyleSheet",function(t){var e=this.doc;return this.addStyleSheet(t,function(t){var n=e.head.firstElementChild;return n?e.head.insertBefore(t,n):e.head.appendChild(t)})}),t.override("appendStyleSheet",function(t){var e=this.doc;return this.addStyleSheet(t,function(t){return e.head.appendChild(t)})}),t.define("addCss",function(t,e){var n;return c.inlineStyle()?((n=this.createElement("style")).type="text/css",n.appendChild(this.doc.createTextNode(t)),o.write(y(e,null,n))):(f.devError("CSP enabled; cannot embed inline styles"),m.resolve())}),t.override("prependCss",function(t){var e=this.doc;return this.addCss(t,function(t){var n=e.head.firstElementChild;return n?e.head.insertBefore(t,n):e.head.appendChild(t)})}),t.override("appendCss",function(t){var e=this.doc;return this.addCss(t,function(t){return e.head.appendChild(t)})}),t.override("makeVisible",function(){var t=this;return this.styleSelf(E).then(function(){t._updateCachedDimensions()})}),t.override("injectWidgetEl",function(t){var e=this;return this.initialized?this.widgetEl?m.reject(new Error("widget already injected")):o.write(function(){e.doc.body.appendChild(t)}):m.reject(new Error("sandbox not initialized"))}),t.override("matchHeightToContent",function(){var t,e=this;return o.read(function(){t=e.widgetEl?h(e.widgetEl).height:0}),o.write(function(){e.sandboxEl.style.height=t+"px"}).then(function(){return e._updateCachedDimensions()})}),t.override("matchWidthToContent",function(){var t,e=this;return o.read(function(){t=e.widgetEl?h(e.widgetEl).width:0}),o.write(function(){e.sandboxEl.style.width=t+"px"}).then(function(){return e._updateCachedDimensions()})}),t.after("initialize",function(){this._iframe=null,this._width=this._height=0,this._resizeHandlers=[]}),t.override("insert",function(t,e,n,r){var i=this,s=new p,a=this.targetGlobal.document,u=S(t,e,n,a);return o.write(y(r,null,u)),u.addEventListener("load",function(){(function(t){try{t.contentWindow.document}catch(t){return m.reject(t)}return m.resolve(t)})(u).then(null,y(R,null,t,e,n,u,a)).then(s.resolve,s.reject)},!1),u.addEventListener("error",s.reject,!1),s.promise.then(function(t){var e=d(i._didResize,A,i);return i._iframe=t,i.win.addEventListener("resize",e,!1),m.all([i._setTargetToBlank(),i.addRootClass(x),i.prependCss(T)])})}),t.override("onResize",function(t){this._resizeHandlers.push(t)}),t.after("styleSelf",function(){return this._updateCachedDimensions()})})},function(t,e){t.exports=function(){throw new Error("unimplemented method")}},function(t,e,n){var r=n(2),i=n(7),o=100,s=3e3;function a(t,e){this._inputsQueue=[],this._task=t,this._isPaused=!1,this._flushDelay=e&&e.flushDelay||o,this._pauseLength=e&&e.pauseLength||s,this._flushTimeout=void 0}a.prototype.add=function(t){var e=new r;return this._inputsQueue.push({input:t,taskDoneDeferred:e}),this._scheduleFlush(),e.promise},a.prototype._scheduleFlush=function(){this._isPaused||(clearTimeout(this._flushTimeout),this._flushTimeout=setTimeout(i(this._flush,this),this._flushDelay))},a.prototype._flush=function(){try{this._task.call(null,this._inputsQueue)}catch(t){this._inputsQueue.forEach(function(e){e.taskDoneDeferred.reject(t)})}this._inputsQueue=[],this._flushTimeout=void 0},a.prototype.pause=function(t){clearTimeout(this._flushTimeout),this._isPaused=!0,!t&&this._pauseLength&&setTimeout(i(this.resume,this),this._pauseLength)},a.prototype.resume=function(){this._isPaused=!1,this._scheduleFlush()},t.exports=a},function(t,e,n){var r=n(72),i=n(31),o=n(2),s=n(4),a=n(20),u=n(21),c=n(25),d=n(9),l=n(12),f=n(112),h=n(60),p=n(8),m=n(11),v=n(3),g=n(0),w=n(1),y=h(function(){return new o}),b={shouldObtainCookieConsent:!1,features:{}};t.exports={load:function(){var t,e,n,o;if(u.ie9()||u.ie10()||"http:"!==d.protocol&&"https:"!==d.protocol)return l.devError("Using default settings due to unsupported browser or protocol."),void y().resolve();t={origin:d.origin},a.settings().indexOf("localhost")>-1&&(t.localSettings=!0),e=m.url(r.resourceBaseUrl+r.widgetIframeHtmlPath,t),n=function(t){var n,r,i,o;if(r=v.isTwitterURL(t.origin),i=e.substr(0,t.origin.length)===t.origin,o=v.isTwimgURL(t.origin),i&&r||o)try{(n="string"==typeof t.data?c.parse(t.data):t.data).namespace===f.settings&&(b=g.aug(b,{features:n.settings.features,sessionId:n.sessionId}),y().resolve())}catch(t){l.devError(t)}},w.addEventListener("message",n),o=i({src:e,title:"Twitter settings iframe"},{display:"none"}),s.body.appendChild(o)},settingsLoaded:function(){var t,e;return t=p.get("experimentOverride"),y().promise.then(function(){return t&&t.name&&t.assignment&&((e={})[t.name]={bucket:t.assignment},b.features=g.aug(b.features,e)),b})}}},function(t,e){t.exports={settings:"twttr.settings"}},function(t,e,n){t.exports=[n(114),n(120),n(128),n(130),n(132),n(148),n(150)]},function(t,e,n){var r=n(11),i=n(5),o=n(0),s=n(13),a=n(14)(),u=n(61),c="a.twitter-dm-button";t.exports=function(t){return a(t,c).map(function(t){return u(function(t){var e=t.getAttribute("data-show-screen-name"),n=s(t),a=t.getAttribute("href"),u=t.getAttribute("data-screen-name"),c=e?i.asBoolean(e):null,d=t.getAttribute("data-size"),l=r.decodeURL(a),f=l.recipient_id,h=t.getAttribute("data-text")||l.text,p=t.getAttribute("data-welcome-message-id")||l.welcomeMessageId;return o.aug(n,{screenName:u,showScreenName:c,size:d,text:h,userId:f,welcomeMessageId:p})}(t),t.parentNode,t)})}},function(t,e,n){var r=n(0);t.exports=function t(e){var n;if(e)return n=e.lang||e.getAttribute("data-lang"),r.isType("string",n)?n:t(e.parentElement)}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(2).then(function(r){var o;try{o=n(83),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(62),i=n(26);t.exports=r.isSupported()?r:i},function(t,e,n){var r=n(119),i=n(1),o=n(10),s=n(35),a=n(18),u=n(56),c=n(27),d=n(57),l=n(43),f=n(47),h=n(7),p=n(44),m=n(6),v=n(0),g=50,w={position:"absolute",visibility:"hidden",display:"block",transform:"rotate(0deg)"},y={position:"static",visibility:"visible"},b="twitter-widget",_="open",E="SandboxRoot",x=".SandboxRoot { display: none; max-height: 10000px; }";t.exports=c.couple(n(58),function(t){t.defineStatic("isSupported",function(){return!!i.HTMLElement.prototype.attachShadow&&l.inlineStyle()}),t.overrideProperty("id",{get:function(){return this.sandboxEl&&this.sandboxEl.id}}),t.overrideProperty("initialized",{get:function(){return!!this._shadowHost}}),t.overrideProperty("width",{get:function(){return this._width}}),t.overrideProperty("height",{get:function(){return this._height}}),t.overrideProperty("sandboxEl",{get:function(){return this._shadowHost}}),t.define("_updateCachedDimensions",function(){var t=this;return a.read(function(){var e,n=f(t.sandboxEl);"visible"==t.sandboxEl.style.visibility?t._width=n.width:(e=f(t.sandboxEl.parentElement).width,t._width=Math.min(n.width,e)),t._height=n.height})}),t.define("_didResize",function(){var t=this,e=this._resizeHandlers.slice(0);return this._updateCachedDimensions().then(function(){e.forEach(function(e){e(t)})})}),t.override("createElement",function(t){return this.targetGlobal.document.createElement(t)}),t.override("createFragment",function(){return this.targetGlobal.document.createDocumentFragment()}),t.override("htmlToElement",function(t){var e;return(e=this.createElement("div")).innerHTML=t,e.firstElementChild}),t.override("hasSelectedText",function(){return!!u.getSelectedText(this.targetGlobal)}),t.override("addRootClass",function(t){var e=this._shadowRootBody;return t=Array.isArray(t)?t:[t],this.initialized?a.write(function(){t.forEach(function(t){o.add(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("removeRootClass",function(t){var e=this._shadowRootBody;return t=Array.isArray(t)?t:[t],this.initialized?a.write(function(){t.forEach(function(t){o.remove(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("hasRootClass",function(t){return o.present(this._shadowRootBody,t)}),t.override("addStyleSheet",function(t,e){return this.addCss('@import url("'+t+'");',e).then(function(){return d(t)})}),t.override("prependStyleSheet",function(t){var e=this._shadowRoot;return this.addStyleSheet(t,function(t){var n=e.firstElementChild;return n?e.insertBefore(t,n):e.appendChild(t)})}),t.override("appendStyleSheet",function(t){var e=this._shadowRoot;return this.addStyleSheet(t,function(t){return e.appendChild(t)})}),t.override("addCss",function(t,e){var n;return this.initialized?l.inlineStyle()?((n=this.createElement("style")).type="text/css",n.appendChild(this.targetGlobal.document.createTextNode(t)),a.write(h(e,null,n))):m.resolve():m.reject(new Error("sandbox not initialized"))}),t.override("prependCss",function(t){var e=this._shadowRoot;return this.addCss(t,function(t){var n=e.firstElementChild;return n?e.insertBefore(t,n):e.appendChild(t)})}),t.override("appendCss",function(t){var e=this._shadowRoot;return this.addCss(t,function(t){return e.appendChild(t)})}),t.override("makeVisible",function(){return this.styleSelf(y)}),t.override("injectWidgetEl",function(t){var e=this;return this.initialized?this._shadowRootBody.firstElementChild?m.reject(new Error("widget already injected")):a.write(function(){e._shadowRootBody.appendChild(t)}).then(function(){return e._updateCachedDimensions()}).then(function(){var t=p(e._didResize,g,e);new r(e._shadowRootBody,t)}):m.reject(new Error("sandbox not initialized"))}),t.override("matchHeightToContent",function(){return m.resolve()}),t.override("matchWidthToContent",function(){return m.resolve()}),t.override("insert",function(t,e,n,r){var i=this.targetGlobal.document,o=this._shadowHost=i.createElement(b),u=this._shadowRoot=o.attachShadow({mode:_}),c=this._shadowRootBody=i.createElement("div");return v.forIn(e||{},function(t,e){o.setAttribute(t,e)}),o.id=t,u.appendChild(c),s.delegate(c,"click","A",function(t,e){e.hasAttribute("target")||e.setAttribute("target","_blank")}),m.all([this.styleSelf(w),this.addRootClass(E),this.prependCss(x),a.write(r.bind(null,o))])}),t.override("onResize",function(t){this._resizeHandlers.push(t)}),t.after("initialize",function(){this._shadowHost=this._shadowRoot=this._shadowRootBody=null,this._width=this._height=0,this._resizeHandlers=[]}),t.after("styleSelf",function(){return this._updateCachedDimensions()})})},function(t,e){var n;(n=function(t,e){function r(t,e){if(t.resizedAttached){if(t.resizedAttached)return void t.resizedAttached.add(e)}else t.resizedAttached=new function(){var t,e;this.q=[],this.add=function(t){this.q.push(t)},this.call=function(){for(t=0,e=this.q.length;t
    ',t.appendChild(t.resizeSensor),{fixed:1,absolute:1}[function(t,e){return t.currentStyle?t.currentStyle[e]:window.getComputedStyle?window.getComputedStyle(t,null).getPropertyValue(e):t.style[e]}(t,"position")]||(t.style.position="relative");var i,o,s=t.resizeSensor.childNodes[0],a=s.childNodes[0],u=t.resizeSensor.childNodes[1],c=(u.childNodes[0],function(){a.style.width=s.offsetWidth+10+"px",a.style.height=s.offsetHeight+10+"px",s.scrollLeft=s.scrollWidth,s.scrollTop=s.scrollHeight,u.scrollLeft=u.scrollWidth,u.scrollTop=u.scrollHeight,i=t.offsetWidth,o=t.offsetHeight});c();var d=function(t,e,n){t.attachEvent?t.attachEvent("on"+e,n):t.addEventListener(e,n)},l=function(){t.offsetWidth==i&&t.offsetHeight==o||t.resizedAttached&&t.resizedAttached.call(),c()};d(s,"scroll",l),d(u,"scroll",l)}var i=Object.prototype.toString.call(t),o="[object Array]"===i||"[object NodeList]"===i||"[object HTMLCollection]"===i||"undefined"!=typeof jQuery&&t instanceof jQuery||"undefined"!=typeof Elements&&t instanceof Elements;if(o)for(var s=0,a=t.length;s0;return this.updateCachedDimensions().then(function(){e&&t._resizeHandlers.forEach(function(e){e(t)})})}),t.define("loadDocument",function(t){var e=new a;return this.initialized?this.iframeEl.src?u.reject(new Error("widget already loaded")):(this.iframeEl.addEventListener("load",e.resolve,!1),this.iframeEl.addEventListener("error",e.reject,!1),this.iframeEl.src=t,e.promise):u.reject(new Error("sandbox not initialized"))}),t.after("initialize",function(){var t=new a,e=new a;this._iframe=null,this._iframeVersion=null,this._width=this._height=0,this._resizeHandlers=[],this._rendered=t,this._results=e,this._waitToSwapUntilRendered=!1}),t.override("insert",function(t,e,n,i){var a=this;return e=d.aug({id:t},l,e),n=d.aug({},f,n),this._iframe=s(e,n),p[t]=this,a._waitToSwapUntilRendered||this.onResize(o(function(){a.makeVisible()})),r.write(c(i,null,this._iframe))}),t.override("onResize",function(t){this._resizeHandlers.push(t)}),t.after("styleSelf",function(){return this.updateCachedDimensions()})}},function(t,e,n){var r=n(1),i=n(124),o=n(126),s=n(23),a=n(5),u=n(127);t.exports=function(t,e,n,c,d){function l(t){var e=u(this);s.trigger(t.type,{target:e,region:t.region,type:t.type,data:t.data||{}})}function f(e){var n=u(this),r=n&&n.id,i=a.asInt(e.width),o=a.asInt(e.height);r&&void 0!==i&&void 0!==o&&t(r,i,o)}(new i).attachReceiver(new o.Receiver(r,"twttr.button")).bind("twttr.private.trigger",l).bind("twttr.private.resizeButton",f),(new i).attachReceiver(new o.Receiver(r,"twttr.embed")).bind("twttr.private.initialized",function(t){var e=u(this),n=e&&e.id,r=t.iframe_version;n&&r&&c&&c(n,r)}).bind("twttr.private.trigger",l).bind("twttr.private.results",function(){var t=u(this),n=t&&t.id;n&&e&&e(n)}).bind("twttr.private.rendered",function(){var t=u(this),e=t&&t.id;e&&n&&n(e)}).bind("twttr.private.no_results",function(){var t=u(this),e=t&&t.id;e&&d&&d(e)}).bind("twttr.private.resize",f)}},function(t,e,n){var r=n(25),i=n(125),o=n(0),s=n(6),a=n(24),u="2.0";function c(t){this.registry=t||{}}function d(t){var e,n;return e=o.isType("string",t),n=o.isType("number",t),e||n||null===t}function l(t,e){return{jsonrpc:u,id:d(t)?t:null,error:e}}c.prototype._invoke=function(t,e){var n,r,i;n=this.registry[t.method],r=t.params||[],r=o.isType("array",r)?r:[r];try{i=n.apply(e.source||null,r)}catch(t){i=s.reject(t.message)}return a.isPromise(i)?i:s.resolve(i)},c.prototype._processRequest=function(t,e){var n,r;return function(t){var e,n,r;return!!o.isObject(t)&&(e=t.jsonrpc===u,n=o.isType("string",t.method),r=!("id"in t)||d(t.id),e&&n&&r)}(t)?(n="params"in t&&(r=t.params,!o.isObject(r)||o.isType("function",r))?s.resolve(l(t.id,i.INVALID_PARAMS)):this.registry[t.method]?this._invoke(t,{source:e}).then(function(e){return n=t.id,{jsonrpc:u,id:n,result:e};var n},function(){return l(t.id,i.INTERNAL_ERROR)}):s.resolve(l(t.id,i.METHOD_NOT_FOUND)),null!=t.id?n:s.resolve()):s.resolve(l(t.id,i.INVALID_REQUEST))},c.prototype.attachReceiver=function(t){return t.attachTo(this),this},c.prototype.bind=function(t,e){return this.registry[t]=e,this},c.prototype.receive=function(t,e){var n,a,u,c=this;try{u=t,t=o.isType("string",u)?r.parse(u):u}catch(t){return s.resolve(l(null,i.PARSE_ERROR))}return e=e||null,a=((n=o.isType("array",t))?t:[t]).map(function(t){return c._processRequest(t,e)}),n?function(t){return s.all(t).then(function(t){return(t=t.filter(function(t){return void 0!==t})).length?t:void 0})}(a):a[0]},t.exports=c},function(t){t.exports={PARSE_ERROR:{code:-32700,message:"Parse error"},INVALID_REQUEST:{code:-32600,message:"Invalid Request"},INVALID_PARAMS:{code:-32602,message:"Invalid params"},METHOD_NOT_FOUND:{code:-32601,message:"Method not found"},INTERNAL_ERROR:{code:-32603,message:"Internal error"}}},function(t,e,n){var r=n(9),i=n(1),o=n(25),s=n(2),a=n(21),u=n(0),c=n(3),d=n(7),l=a.ie9();function f(t,e,n){var r;t&&t.postMessage&&(l?r=(n||"")+o.stringify(e):n?(r={})[n]=e:r=e,t.postMessage(r,"*"))}function h(t){return u.isType("string",t)?t:"JSONRPC"}function p(t,e){return e?u.isType("string",t)&&0===t.indexOf(e)?t.substring(e.length):t&&t[e]?t[e]:void 0:t}function m(t,e){var n=t.document;this.filter=h(e),this.server=null,this.isTwitterFrame=c.isTwitterURL(n.location.href),t.addEventListener("message",d(this._onMessage,this),!1)}function v(t,e){this.pending={},this.target=t,this.isTwitterHost=c.isTwitterURL(r.href),this.filter=h(e),i.addEventListener("message",d(this._onMessage,this),!1)}u.aug(m.prototype,{_onMessage:function(t){var e,n=this;this.server&&(this.isTwitterFrame&&!c.isTwitterURL(t.origin)||(e=p(t.data,this.filter))&&this.server.receive(e,t.source).then(function(e){e&&f(t.source,e,n.filter)}))},attachTo:function(t){this.server=t},detach:function(){this.server=null}}),u.aug(v.prototype,{_processResponse:function(t){var e=this.pending[t.id];e&&(e.resolve(t),delete this.pending[t.id])},_onMessage:function(t){var e;if((!this.isTwitterHost||c.isTwitterURL(t.origin))&&(e=p(t.data,this.filter))){if(u.isType("string",e))try{e=o.parse(e)}catch(t){return}(e=u.isType("array",e)?e:[e]).forEach(d(this._processResponse,this))}},send:function(t){var e=new s;return t.id?this.pending[t.id]=e:e.resolve(),f(this.target,t,this.filter),e.promise}}),t.exports={Receiver:m,Dispatcher:v,_stringifyPayload:function(t){return arguments.length>0&&(l=!!t),l}}},function(t,e,n){var r=n(4);t.exports=function(t){for(var e,n=r.getElementsByTagName("iframe"),i=0;n[i];i++)if((e=n[i]).contentWindow===t)return e}},function(t,e,n){var r=n(5),i=n(0),o=n(3),s=n(13),a=n(14)(),u=n(64),c="a.twitter-moment";t.exports=function(t){return a(t,c).map(function(t){return u(function(t){var e=s(t),n={momentId:o.momentId(t.href),chrome:t.getAttribute("data-chrome"),limit:t.getAttribute("data-limit")};return i.forIn(n,function(t,n){var i=e[t];e[t]=r.hasValue(i)?i:n}),e}(t),t.parentNode,t)})}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return Promise.all([n.e(0),n.e(4)]).then(function(r){var o;try{o=n(85),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(0),i=n(13),o=n(14)(),s=n(65),a="a.periscope-on-air",u=/^https?:\/\/(?:www\.)?(?:periscope|pscp)\.tv\/@?([a-zA-Z0-9_]+)\/?$/i;t.exports=function(t){return o(t,a).map(function(t){return s(function(t){var e=i(t),n=t.getAttribute("href"),o=t.getAttribute("data-size"),s=u.exec(n)[1];return r.aug(e,{username:s,size:o})}(t),t.parentNode,t)})}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(5).then(function(r){var o;try{o=n(86),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(5),i=n(0),o=n(66),s=n(13),a=n(14)(),u=n(67),c=n(3),d=n(12),l="a.twitter-timeline,div.twitter-timeline,a.twitter-grid",f="Embedded Search timelines have been deprecated. See https://twittercommunity.com/t/deprecating-widget-settings/102295.",h="You may have been affected by an update to settings in embedded timelines. See https://twittercommunity.com/t/deprecating-widget-settings/102295.",p="Embedded grids have been deprecated and will now render as timelines. Please update your embed code to use the twitter-timeline class. More info: https://twittercommunity.com/t/update-on-the-embedded-grid-display-type/119564.";t.exports=function(t,e){return a(t,l).map(function(t){return u(function(t){var e=s(t),n=t.getAttribute("data-show-replies"),a={isPreconfigured:!!t.getAttribute("data-widget-id"),chrome:t.getAttribute("data-chrome"),tweetLimit:t.getAttribute("data-tweet-limit")||t.getAttribute("data-limit"),ariaLive:t.getAttribute("data-aria-polite"),theme:t.getAttribute("data-theme"),borderColor:t.getAttribute("data-border-color"),showReplies:n?r.asBoolean(n):null,profileScreenName:t.getAttribute("data-screen-name"),profileUserId:t.getAttribute("data-user-id"),favoritesScreenName:t.getAttribute("data-favorites-screen-name"),favoritesUserId:t.getAttribute("data-favorites-user-id"),likesScreenName:t.getAttribute("data-likes-screen-name"),likesUserId:t.getAttribute("data-likes-user-id"),listOwnerScreenName:t.getAttribute("data-list-owner-screen-name"),listOwnerUserId:t.getAttribute("data-list-owner-id"),listId:t.getAttribute("data-list-id"),listSlug:t.getAttribute("data-list-slug"),customTimelineId:t.getAttribute("data-custom-timeline-id"),staticContent:t.getAttribute("data-static-content"),url:t.href};return a.isPreconfigured&&(c.isSearchUrl(a.url)?d.publicError(f,t):d.publicLog(h,t)),"twitter-grid"===t.className&&d.publicLog(p,t),(a=i.aug(a,e)).dataSource=o(a),a.id=a.dataSource&&a.dataSource.id,a}(t),t.parentNode,t,e)})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(136)])},function(t,e,n){var r=n(0),i=n(135);t.exports=function(t){return"en"===t||r.contains(i,t)}},function(t,e){t.exports=["hi","zh-cn","fr","zh-tw","msa","fil","fi","sv","pl","ja","ko","de","it","pt","es","ru","id","tr","da","no","nl","hu","fa","ar","ur","he","th","cs","uk","vi","ro","bn","el","en-gb","gu","kn","mr","ta","bg","ca","hr","sr","sk"]},function(t,e,n){var r=n(3),i=n(0),o=n(20),s=n(48),a="collection:";function u(t,e){return r.collectionId(t)||e}t.exports=function(t){t.params({id:{},url:{}}),t.overrideProperty("id",{get:function(){var t=u(this.params.url,this.params.id);return a+t}}),t.overrideProperty("endpoint",{get:function(){return o.timeline(["collection"])}}),t.around("queryParams",function(t){return i.aug(t(),{collection_id:u(this.params.url,this.params.id)})}),t.before("initialize",function(){if(!u(this.params.url,this.params.id))throw new Error("one of url or id is required");s()})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(138)])},function(t,e,n){var r=n(3),i=n(0),o=n(20),s="event:";function a(t,e){return r.eventId(t)||e}t.exports=function(t){t.params({id:{},url:{}}),t.overrideProperty("id",{get:function(){var t=a(this.params.url,this.params.id);return s+t}}),t.overrideProperty("endpoint",{get:function(){return o.timeline(["event"])}}),t.around("queryParams",function(t){return i.aug(t(),{event_id:a(this.params.url,this.params.id)})}),t.before("initialize",function(){if(!a(this.params.url,this.params.id))throw new Error("one of url or id is required")})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(140)])},function(t,e,n){var r=n(3),i=n(0),o=n(20),s=n(48),a="likes:";function u(t){return r.likesScreenName(t.url)||t.screenName}t.exports=function(t){t.params({screenName:{},userId:{},url:{}}),t.overrideProperty("id",{get:function(){var t=u(this.params)||this.params.userId;return a+t}}),t.overrideProperty("endpoint",{get:function(){return o.timeline(["likes"])}}),t.define("_getLikesQueryParam",function(){var t=u(this.params);return t?{screen_name:t}:{user_id:this.params.userId}}),t.around("queryParams",function(t){return i.aug(t(),this._getLikesQueryParam())}),t.before("initialize",function(){if(!u(this.params)&&!this.params.userId)throw new Error("screen name or user id is required");s()})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(142)])},function(t,e,n){var r=n(3),i=n(0),o=n(20),s="list:";function a(t){var e=r.listScreenNameAndSlug(t.url)||t;return i.compact({screen_name:e.ownerScreenName,user_id:e.ownerUserId,list_slug:e.slug})}t.exports=function(t){t.params({id:{},ownerScreenName:{},ownerUserId:{},slug:{},url:{}}),t.overrideProperty("id",{get:function(){var t,e,n;return this.params.id?s+this.params.id:(e=(t=a(this.params))&&t.list_slug.replace(/-/g,"_"),n=t&&(t.screen_name||t.user_id),s+(n+":")+e)}}),t.overrideProperty("endpoint",{get:function(){return o.timeline(["list"])}}),t.define("_getListQueryParam",function(){return this.params.id?{list_id:this.params.id}:a(this.params)}),t.around("queryParams",function(t){return i.aug(t(),this._getListQueryParam())}),t.defineProperty("horizonEndpoint",{get:function(){var t,e=["timeline-list"];return this.params.id?e.push("list-id",this.params.id):(t=a(this.params),e.push("screen-name",t.screen_name,"slug",t.list_slug)),o.embedService(e)}}),t.before("initialize",function(){var t=a(this.params);if(i.isEmptyObject(t)&&!this.params.id)throw new Error("qualified slug or list id required")})}},function(t,e,n){var r=n(28);t.exports=r.build([n(29),n(144)])},function(t,e,n){var r=n(3),i=n(5),o=n(0),s=n(20),a="profile:";function u(t,e){return r.screenName(t)||e}t.exports=function(t){t.params({showReplies:{fallback:!1,transform:i.asBoolean},screenName:{},userId:{},url:{}}),t.overrideProperty("id",{get:function(){var t=u(this.params.url,this.params.screenName);return a+(t||this.params.userId)}}),t.overrideProperty("endpoint",{get:function(){return s.timeline(["profile"])}}),t.define("_getProfileQueryParam",function(){var t=u(this.params.url,this.params.screenName),e=t?{screen_name:t}:{user_id:this.params.userId};return o.aug(e,{with_replies:this.params.showReplies?"true":"false"})}),t.around("queryParams",function(t){return o.aug(t(),this._getProfileQueryParam())}),t.defineProperty("horizonEndpoint",{get:function(){var t=["timeline-profile"],e=u(this.params.url,this.params.screenName);return e?t.push("screen-name",e):t.push("user-id",this.params.userId),s.embedService(t)}}),t.around("horizonQueryParams",function(t){return o.aug(t(),{showReplies:this.params.showReplies?"true":"false"})}),t.before("initialize",function(){if(!u(this.params.url,this.params.screenName)&&!this.params.userId)throw new Error("screen name or user id is required")})}},function(t,e){var n={collection:"collection",moment:"moment",event:"event",likes:"likes",list:"list",profile:"profile"};t.exports={get:function(t){var e;return!!t&&(e=t.slice(0,t.indexOf(":")),-1!==Object.keys(n).indexOf(e)&&e)},DATASOURCE_MAP:n}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(6).then(function(r){var o;try{o=n(87),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return Promise.all([n.e(0),n.e(7)]).then(function(r){var o;try{o=n(88),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(10),i=n(3),o=n(0),s=n(13),a=n(14)(),u=n(68),c="blockquote.twitter-tweet, blockquote.twitter-video",d=/\btw-align-(left|right|center)\b/;t.exports=function(t,e){return a(t,c).map(function(t){return u(function(t){var e=s(t),n=t.getElementsByTagName("A"),a=n&&n[n.length-1],u=a&&i.status(a.href),c=t.getAttribute("data-conversation"),l="none"==c||"hidden"==c||r.present(t,"tw-hide-thread"),f=t.getAttribute("data-cards"),h="none"==f||"hidden"==f||r.present(t,"tw-hide-media"),p=t.getAttribute("data-align")||t.getAttribute("align"),m=t.getAttribute("data-theme");return!p&&d.test(t.className)&&(p=RegExp.$1),o.aug(e,{tweetId:u,hideThread:l,hideCard:h,align:p,theme:m,id:u})}(t),t.parentNode,t,e)})}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(8).then(function(r){var o;try{o=n(89),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(10),i=n(0),o=n(13),s=n(14)(),a=n(69),u=n(5),c="a.twitter-share-button, a.twitter-mention-button, a.twitter-hashtag-button",d="twitter-hashtag-button",l="twitter-mention-button";t.exports=function(t){return s(t,c).map(function(t){return a(function(t){var e=o(t),n={screenName:t.getAttribute("data-button-screen-name"),text:t.getAttribute("data-text"),type:t.getAttribute("data-type"),size:t.getAttribute("data-size"),url:t.getAttribute("data-url"),hashtags:t.getAttribute("data-hashtags"),via:t.getAttribute("data-via"),buttonHashtag:t.getAttribute("data-button-hashtag")};return i.forIn(n,function(t,n){var r=e[t];e[t]=u.hasValue(r)?r:n}),e.screenName=e.screenName||e.screen_name,e.buttonHashtag=e.buttonHashtag||e.button_hashtag||e.hashtag,r.present(t,d)&&(e.type="hashtag"),r.present(t,l)&&(e.type="mention"),e}(t),t.parentNode,t)})}},function(t,e,n){var r=n(2);t.exports=function(t,e){var i=new r;return n.e(3).then(function(r){var o;try{o=n(90),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(0);t.exports=r.aug({},n(153),n(154),n(155),n(156),n(157),n(158),n(159))},function(t,e,n){var r=n(61),i=n(17)(["userId"],{},r);t.exports={createDMButton:i}},function(t,e,n){var r=n(63),i=n(17)(["screenName"],{},r);t.exports={createFollowButton:i}},function(t,e,n){var r=n(64),i=n(17)(["momentId"],{},r);t.exports={createMoment:i}},function(t,e,n){var r=n(65),i=n(17)(["username"],{},r);t.exports={createPeriscopeOnAirButton:i}},function(t,e,n){var r=n(9),i=n(12),o=n(3),s=n(0),a=n(5),u=n(66),c=n(67),d=n(17)([],{},c),l=n(6),f="Embedded grids have been deprecated. Please use twttr.widgets.createTimeline instead. More info: https://twittercommunity.com/t/update-on-the-embedded-grid-display-type/119564.",h={createTimeline:p,createGridFromCollection:function(t){var e=s.toRealArray(arguments).slice(1),n={sourceType:"collection",id:t};return e.unshift(n),i.publicLog(f),p.apply(this,e)}};function p(t){var e,n=s.toRealArray(arguments).slice(1);return a.isString(t)||a.isNumber(t)?l.reject("Embedded timelines with widget settings have been deprecated. See https://twittercommunity.com/t/deprecating-widget-settings/102295."):s.isObject(t)?(t=t||{},n.forEach(function(t){s.isType("object",t)&&function(t){t.ariaLive=t.ariaPolite}(e=t)}),e||(e={},n.push(e)),t.lang=e.lang,t.tweetLimit=e.tweetLimit,t.showReplies=e.showReplies,e.dataSource=u(t),d.apply(this,n)):l.reject("data source must be an object.")}o.isTwitterURL(r.href)&&(h.createTimelinePreview=function(t,e,n){var r={previewParams:t,useLegacyDefaults:!0,isPreviewTimeline:!0};return r.dataSource=u(r),d(e,r,n)}),t.exports=h},function(t,e,n){var r,i=n(0),o=n(68),s=n(17),a=(r=s(["tweetId"],{},o),function(){return i.toRealArray(arguments).slice(1).forEach(function(t){i.isType("object",t)&&(t.hideCard="none"==t.cards||"hidden"==t.cards,t.hideThread="none"==t.conversation||"hidden"==t.conversation)}),r.apply(this,arguments)});t.exports={createTweet:a,createTweetEmbed:a,createVideo:a}},function(t,e,n){var r=n(0),i=n(69),o=n(17),s=o(["url"],{type:"share"},i),a=o(["buttonHashtag"],{type:"hashtag"},i),u=o(["screenName"],{type:"mention"},i);function c(t){return function(){return r.toRealArray(arguments).slice(1).forEach(function(t){r.isType("object",t)&&(t.screenName=t.screenName||t.screen_name,t.buttonHashtag=t.buttonHashtag||t.button_hashtag||t.hashtag)}),t.apply(this,arguments)}}t.exports={createShareButton:c(s),createHashtagButton:c(a),createMentionButton:c(u)}},function(t,e,n){var r,i,o,s=n(4),a=n(1),u=0,c=[],d=s.createElement("a");function l(){var t,e;for(u=1,t=0,e=c.length;t= 200 && xhr.status < 300) { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.hide(); + + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.show(); + + try { + if(typeof result == "string") { + document.getElementById('toast-post-success-text').innerText = result; + } else { + document.getElementById('toast-post-success-text').innerText = JSON.parse(xhr.response)["message"]; + } + } catch(e) { + document.getElementById('toast-post-success-text').innerText = "Action successful!"; + } + + return true; + } else { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + + try { + if(typeof result == "string") { + document.getElementById('toast-post-error-text').innerText = result; + } else { + document.getElementById('toast-post-error-text').innerText = JSON.parse(xhr.response)["error"]; + } + return false + } catch(e) {} + + return false; + } + }; + + xhr.send(form); + +} + +function toggleElement(group, id) { + for(let el of document.getElementsByClassName(group)) { + if(el.id != id) { + el.classList.add('hidden'); + } + } + + document.getElementById(id).classList.toggle('hidden'); +} + diff --git a/files/assets/CHRISTMAS/js/userpage_v.js b/files/assets/CHRISTMAS/js/userpage_v.js new file mode 100644 index 000000000..8d9a0e68e --- /dev/null +++ b/files/assets/CHRISTMAS/js/userpage_v.js @@ -0,0 +1,101 @@ +function post_toast_callback(url, data, callback) { + var xhr = new XMLHttpRequest(); + xhr.open("POST", url, true); + var form = new FormData() + form.append("formkey", formkey()); + + if(typeof data === 'object' && data !== null) { + for(let k of Object.keys(data)) { + form.append(k, data[k]); + } + } + + form.append("formkey", formkey()); + xhr.withCredentials=true; + + xhr.onload = function() { + let result = callback(xhr); + if (xhr.status >= 200 && xhr.status < 300) { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.hide(); + + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.show(); + + try { + if(typeof result == "string") { + document.getElementById('toast-post-success-text').innerText = result; + } else { + document.getElementById('toast-post-success-text').innerText = JSON.parse(xhr.response)["message"]; + } + } catch(e) { + document.getElementById('toast-post-success-text').innerText = "Action successful!"; + } + + return true; + } else { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); + myToast.hide(); + + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + + try { + if(typeof result == "string") { + document.getElementById('toast-post-error-text').innerText = result; + } else { + document.getElementById('toast-post-error-text').innerText = JSON.parse(xhr.response)["error"]; + } + return false + } catch(e) {} + + return false; + } + }; + + xhr.send(form); + +} + +function toggleElement(group, id) { + for(let el of document.getElementsByClassName(group)) { + if(el.id != id) { + el.classList.add('d-none'); + } + } + + document.getElementById(id).classList.toggle('d-none'); +} + +let TRANSFER_TAX = document.getElementById('tax').innerHTML + +function updateTax(mobile=false) { + let suf = mobile ? "-mobile" : ""; + let amount = parseInt(document.getElementById("coins-transfer-amount" + suf).value); + if(isNaN(amount) || amount < 0) { + amount = 0; + } + document.getElementById("coins-transfer-taxed" + suf).innerText = amount - Math.ceil(amount*TRANSFER_TAX); +} + +function transferCoins(mobile=false) { + let t = event.target; + t.disabled = true; + + let amount = parseInt(document.getElementById("coins-transfer-amount").value); + let transferred = amount - Math.ceil(amount*TRANSFER_TAX); + let username = document.getElementById('username').innerHTML + + post_toast_callback(`/@${username}/transfer_coins`, + {"amount": document.getElementById(mobile ? "coins-transfer-amount-mobile" : "coins-transfer-amount").value}, + (xhr) => { + if(xhr.status == 200) { + document.getElementById("user-coins-amount").innerText = parseInt(document.getElementById("user-coins-amount").innerText) - amount; + document.getElementById("profile-coins-amount-mobile").innerText = parseInt(document.getElementById("profile-coins-amount-mobile").innerText) + transferred; + document.getElementById("profile-coins-amount").innerText = parseInt(document.getElementById("profile-coins-amount").innerText) + transferred; + } + } + ); + + setTimeout(_ => t.disabled = false, 2000); +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/js/viewmore.js b/files/assets/CHRISTMAS/js/viewmore.js new file mode 100644 index 000000000..b9e997360 --- /dev/null +++ b/files/assets/CHRISTMAS/js/viewmore.js @@ -0,0 +1,21 @@ +function loadMore(pid,sort,offset,id,trigger) { + const btn = document.getElementById(trigger) // trigger button + const el = document.getElementById(id) // target element to populate + const form = new FormData(); + const xhr = new XMLHttpRequest(); + + btn.classList.toggle('animate-pulse'); + + xhr.open("post", `/viewmore/${pid}/${sort}/${offset}`); + xhr.withCredentials=true; + xhr.onload=function(){ + if (xhr.status==200) { + btn.style.display = "none"; // hide button + el.innerHTML += xhr.response.replace(/data-src/g, 'src').replace(/data-cfsrc/g, 'src').replace(/style="display:none;visibility:hidden;"/g, ''); // replace desired element with response html + initializeBootstrap() + } else { + btn.disabled = false; // enable our button if GET fails + } + } + xhr.send(form) +} \ No newline at end of file diff --git a/files/assets/js/vote.js b/files/assets/CHRISTMAS/js/vote.js similarity index 100% rename from files/assets/js/vote.js rename to files/assets/CHRISTMAS/js/vote.js diff --git a/files/assets/CHRISTMAS/lights-string.png b/files/assets/CHRISTMAS/lights-string.png new file mode 100644 index 000000000..39c37667f Binary files /dev/null and b/files/assets/CHRISTMAS/lights-string.png differ diff --git a/files/assets/CHRISTMAS/manifest.json b/files/assets/CHRISTMAS/manifest.json new file mode 100644 index 000000000..3417443fe --- /dev/null +++ b/files/assets/CHRISTMAS/manifest.json @@ -0,0 +1,8 @@ +{ + "name": "files", + "short_name": "files", + "start_url": "https://rdrama.net", + "display": "standalone", + "background_color": "#FF66AC", + "description": "files" +} \ No newline at end of file diff --git a/files/assets/CHRISTMAS/ribbon1.png b/files/assets/CHRISTMAS/ribbon1.png new file mode 100644 index 000000000..f3a898519 Binary files /dev/null and b/files/assets/CHRISTMAS/ribbon1.png differ diff --git a/files/assets/CHRISTMAS/robots.txt b/files/assets/CHRISTMAS/robots.txt new file mode 100644 index 000000000..0cee81b27 --- /dev/null +++ b/files/assets/CHRISTMAS/robots.txt @@ -0,0 +1,7 @@ +User-agent: * +Allow: /$ +Allow: /@ +Allow: /comment +Allow: /post +Allow: /logged_out +Disallow: / \ No newline at end of file diff --git a/files/assets/CHRISTMAS/santasleigh.gif b/files/assets/CHRISTMAS/santasleigh.gif new file mode 100644 index 000000000..82f1ff71d Binary files /dev/null and b/files/assets/CHRISTMAS/santasleigh.gif differ diff --git a/files/assets/CHRISTMAS/santasleigh_1.png b/files/assets/CHRISTMAS/santasleigh_1.png new file mode 100644 index 000000000..8f888e361 Binary files /dev/null and b/files/assets/CHRISTMAS/santasleigh_1.png differ diff --git a/files/assets/CHRISTMAS/snowcap.png b/files/assets/CHRISTMAS/snowcap.png new file mode 100644 index 000000000..58758b06e Binary files /dev/null and b/files/assets/CHRISTMAS/snowcap.png differ diff --git a/files/assets/CHRISTMAS/songs/arianalastxmas.mp3 b/files/assets/CHRISTMAS/songs/arianalastxmas.mp3 new file mode 100644 index 000000000..0a613d276 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/arianalastxmas.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/avriloholy.mp3 b/files/assets/CHRISTMAS/songs/avriloholy.mp3 new file mode 100644 index 000000000..f81746605 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/avriloholy.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/bandaidxmas.mp3 b/files/assets/CHRISTMAS/songs/bandaidxmas.mp3 new file mode 100644 index 000000000..5d0e041a4 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/bandaidxmas.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/bells.mp3 b/files/assets/CHRISTMAS/songs/bells.mp3 new file mode 100644 index 000000000..534737453 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/bells.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/bingcrosbells.mp3 b/files/assets/CHRISTMAS/songs/bingcrosbells.mp3 new file mode 100644 index 000000000..4c70b5e35 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/bingcrosbells.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/bongshit.mp3 b/files/assets/CHRISTMAS/songs/bongshit.mp3 new file mode 100644 index 000000000..e2c325861 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/bongshit.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/bows.mp3 b/files/assets/CHRISTMAS/songs/bows.mp3 new file mode 100644 index 000000000..8df31950a Binary files /dev/null and b/files/assets/CHRISTMAS/songs/bows.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/buble.mp3 b/files/assets/CHRISTMAS/songs/buble.mp3 new file mode 100644 index 000000000..21475b703 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/buble.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/bubleholly.mp3 b/files/assets/CHRISTMAS/songs/bubleholly.mp3 new file mode 100644 index 000000000..ea595cd6b Binary files /dev/null and b/files/assets/CHRISTMAS/songs/bubleholly.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/carol.mp3 b/files/assets/CHRISTMAS/songs/carol.mp3 new file mode 100644 index 000000000..7bf6b935d Binary files /dev/null and b/files/assets/CHRISTMAS/songs/carol.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/charliebrownxmas.mp3 b/files/assets/CHRISTMAS/songs/charliebrownxmas.mp3 new file mode 100644 index 000000000..8e887b27d Binary files /dev/null and b/files/assets/CHRISTMAS/songs/charliebrownxmas.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/cold.mp3 b/files/assets/CHRISTMAS/songs/cold.mp3 new file mode 100644 index 000000000..d7749522f Binary files /dev/null and b/files/assets/CHRISTMAS/songs/cold.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/crosbydrummer.mp3 b/files/assets/CHRISTMAS/songs/crosbydrummer.mp3 new file mode 100644 index 000000000..f53d1fac5 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/crosbydrummer.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/crosbyrudolf.mp3 b/files/assets/CHRISTMAS/songs/crosbyrudolf.mp3 new file mode 100644 index 000000000..eb37cb137 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/crosbyrudolf.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/deck.mp3 b/files/assets/CHRISTMAS/songs/deck.mp3 new file mode 100644 index 000000000..63d31c212 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/deck.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/deckthehalls.mp3 b/files/assets/CHRISTMAS/songs/deckthehalls.mp3 new file mode 100644 index 000000000..3b7c3ec3e Binary files /dev/null and b/files/assets/CHRISTMAS/songs/deckthehalls.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/deckthetrap.mp3 b/files/assets/CHRISTMAS/songs/deckthetrap.mp3 new file mode 100644 index 000000000..a6c090772 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/deckthetrap.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/dinahsilent.mp3 b/files/assets/CHRISTMAS/songs/dinahsilent.mp3 new file mode 100644 index 000000000..bc512e394 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/dinahsilent.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/earthasantabb.mp3 b/files/assets/CHRISTMAS/songs/earthasantabb.mp3 new file mode 100644 index 000000000..0a96f7fea Binary files /dev/null and b/files/assets/CHRISTMAS/songs/earthasantabb.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/elsababy.mp3 b/files/assets/CHRISTMAS/songs/elsababy.mp3 new file mode 100644 index 000000000..3fa2d6b21 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/elsababy.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/elton.mp3 b/files/assets/CHRISTMAS/songs/elton.mp3 new file mode 100644 index 000000000..9b384311a Binary files /dev/null and b/files/assets/CHRISTMAS/songs/elton.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/elvisbethlehem.mp3 b/files/assets/CHRISTMAS/songs/elvisbethlehem.mp3 new file mode 100644 index 000000000..1a186e239 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/elvisbethlehem.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/elviswhite.mp3 b/files/assets/CHRISTMAS/songs/elviswhite.mp3 new file mode 100644 index 000000000..17208d671 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/elviswhite.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/fireplace.mp3 b/files/assets/CHRISTMAS/songs/fireplace.mp3 new file mode 100644 index 000000000..63ac9b306 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/fireplace.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/firstnoelrem.mp3 b/files/assets/CHRISTMAS/songs/firstnoelrem.mp3 new file mode 100644 index 000000000..a1ea1ab46 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/firstnoelrem.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/frosty.mp3 b/files/assets/CHRISTMAS/songs/frosty.mp3 new file mode 100644 index 000000000..99e7604e2 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/frosty.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/grinch.mp3 b/files/assets/CHRISTMAS/songs/grinch.mp3 new file mode 100644 index 000000000..974b7e96f Binary files /dev/null and b/files/assets/CHRISTMAS/songs/grinch.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/hark.mp3 b/files/assets/CHRISTMAS/songs/hark.mp3 new file mode 100644 index 000000000..1db947869 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/hark.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/hark2.mp3 b/files/assets/CHRISTMAS/songs/hark2.mp3 new file mode 100644 index 000000000..9741ba746 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/hark2.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/hark3.mp3 b/files/assets/CHRISTMAS/songs/hark3.mp3 new file mode 100644 index 000000000..71eafb013 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/hark3.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/herecumssanta.mp3 b/files/assets/CHRISTMAS/songs/herecumssanta.mp3 new file mode 100644 index 000000000..a358519e0 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/herecumssanta.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/herecumstrap.mp3 b/files/assets/CHRISTMAS/songs/herecumstrap.mp3 new file mode 100644 index 000000000..52452053e Binary files /dev/null and b/files/assets/CHRISTMAS/songs/herecumstrap.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/holiday.mp3 b/files/assets/CHRISTMAS/songs/holiday.mp3 new file mode 100644 index 000000000..89112cf0b Binary files /dev/null and b/files/assets/CHRISTMAS/songs/holiday.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/kissing.mp3 b/files/assets/CHRISTMAS/songs/kissing.mp3 new file mode 100644 index 000000000..6d4fbcd33 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/kissing.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/lindplum.mp3 b/files/assets/CHRISTMAS/songs/lindplum.mp3 new file mode 100644 index 000000000..5c4ef8c8f Binary files /dev/null and b/files/assets/CHRISTMAS/songs/lindplum.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/low.mp3 b/files/assets/CHRISTMAS/songs/low.mp3 new file mode 100644 index 000000000..a20b8dd81 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/low.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/lowxmas.mp3 b/files/assets/CHRISTMAS/songs/lowxmas.mp3 new file mode 100644 index 000000000..c958665c0 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/lowxmas.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/mariah.mp3 b/files/assets/CHRISTMAS/songs/mariah.mp3 new file mode 100644 index 000000000..c78afd773 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/mariah.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/marysboykid.mp3 b/files/assets/CHRISTMAS/songs/marysboykid.mp3 new file mode 100644 index 000000000..332a87a40 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/marysboykid.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/navidad.mp3 b/files/assets/CHRISTMAS/songs/navidad.mp3 new file mode 100644 index 000000000..f4df77532 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/navidad.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/nightcore.mp3 b/files/assets/CHRISTMAS/songs/nightcore.mp3 new file mode 100644 index 000000000..896bab8c6 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/nightcore.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/nightcore2.mp3 b/files/assets/CHRISTMAS/songs/nightcore2.mp3 new file mode 100644 index 000000000..68442a48d Binary files /dev/null and b/files/assets/CHRISTMAS/songs/nightcore2.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/nightcore3.mp3 b/files/assets/CHRISTMAS/songs/nightcore3.mp3 new file mode 100644 index 000000000..22f1b1cbf Binary files /dev/null and b/files/assets/CHRISTMAS/songs/nightcore3.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/nightmare.mp3 b/files/assets/CHRISTMAS/songs/nightmare.mp3 new file mode 100644 index 000000000..63fbfa61b Binary files /dev/null and b/files/assets/CHRISTMAS/songs/nightmare.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/nkcchestnuts.mp3 b/files/assets/CHRISTMAS/songs/nkcchestnuts.mp3 new file mode 100644 index 000000000..ef5840b57 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/nkcchestnuts.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/pentatonix.mp3 b/files/assets/CHRISTMAS/songs/pentatonix.mp3 new file mode 100644 index 000000000..b0ba9247d Binary files /dev/null and b/files/assets/CHRISTMAS/songs/pentatonix.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/perryholy.mp3 b/files/assets/CHRISTMAS/songs/perryholy.mp3 new file mode 100644 index 000000000..d8b906c93 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/perryholy.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/rockin.mp3 b/files/assets/CHRISTMAS/songs/rockin.mp3 new file mode 100644 index 000000000..1ce29d566 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/rockin.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/rockintrap.mp3 b/files/assets/CHRISTMAS/songs/rockintrap.mp3 new file mode 100644 index 000000000..a3129089c Binary files /dev/null and b/files/assets/CHRISTMAS/songs/rockintrap.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/rudolph.mp3 b/files/assets/CHRISTMAS/songs/rudolph.mp3 new file mode 100644 index 000000000..ff0961a9e Binary files /dev/null and b/files/assets/CHRISTMAS/songs/rudolph.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/rudolphtrap.mp3 b/files/assets/CHRISTMAS/songs/rudolphtrap.mp3 new file mode 100644 index 000000000..a8e2c7882 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/rudolphtrap.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/santa.mp3 b/files/assets/CHRISTMAS/songs/santa.mp3 new file mode 100644 index 000000000..feaece8e7 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/santa.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/santababy.mp3 b/files/assets/CHRISTMAS/songs/santababy.mp3 new file mode 100644 index 000000000..8e5d8a5c6 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/santababy.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/santacumtownn.mp3 b/files/assets/CHRISTMAS/songs/santacumtownn.mp3 new file mode 100644 index 000000000..3d68add49 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/santacumtownn.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/simply.mp3 b/files/assets/CHRISTMAS/songs/simply.mp3 new file mode 100644 index 000000000..a7688d6aa Binary files /dev/null and b/files/assets/CHRISTMAS/songs/simply.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/simplyhaving.mp3 b/files/assets/CHRISTMAS/songs/simplyhaving.mp3 new file mode 100644 index 000000000..8e5e76aca Binary files /dev/null and b/files/assets/CHRISTMAS/songs/simplyhaving.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/sinatra.mp3 b/files/assets/CHRISTMAS/songs/sinatra.mp3 new file mode 100644 index 000000000..108034257 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/sinatra.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/sinatra2.mp3 b/files/assets/CHRISTMAS/songs/sinatra2.mp3 new file mode 100644 index 000000000..317601ea2 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/sinatra2.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/sinatramerry.mp3 b/files/assets/CHRISTMAS/songs/sinatramerry.mp3 new file mode 100644 index 000000000..128fbb509 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/sinatramerry.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/steve.mp3 b/files/assets/CHRISTMAS/songs/steve.mp3 new file mode 100644 index 000000000..bf3eaf70b Binary files /dev/null and b/files/assets/CHRISTMAS/songs/steve.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/sugarplum.mp3 b/files/assets/CHRISTMAS/songs/sugarplum.mp3 new file mode 100644 index 000000000..7bb4b4127 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/sugarplum.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/sugartrap.mp3 b/files/assets/CHRISTMAS/songs/sugartrap.mp3 new file mode 100644 index 000000000..4507a59c7 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/sugartrap.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/taytayxmas.mp3 b/files/assets/CHRISTMAS/songs/taytayxmas.mp3 new file mode 100644 index 000000000..adc1e0870 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/taytayxmas.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/trans.mp3 b/files/assets/CHRISTMAS/songs/trans.mp3 new file mode 100644 index 000000000..02162b156 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/trans.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/waitresses.mp3 b/files/assets/CHRISTMAS/songs/waitresses.mp3 new file mode 100644 index 000000000..b4e3b0da4 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/waitresses.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/waitresseswrapping.mp3 b/files/assets/CHRISTMAS/songs/waitresseswrapping.mp3 new file mode 100644 index 000000000..72862e7c4 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/waitresseswrapping.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/wham.mp3 b/files/assets/CHRISTMAS/songs/wham.mp3 new file mode 100644 index 000000000..78e55622a Binary files /dev/null and b/files/assets/CHRISTMAS/songs/wham.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/womblexmas.mp3 b/files/assets/CHRISTMAS/songs/womblexmas.mp3 new file mode 100644 index 000000000..2520168dd Binary files /dev/null and b/files/assets/CHRISTMAS/songs/womblexmas.mp3 differ diff --git a/files/assets/CHRISTMAS/songs/wonderland.mp3 b/files/assets/CHRISTMAS/songs/wonderland.mp3 new file mode 100644 index 000000000..b70cab191 Binary files /dev/null and b/files/assets/CHRISTMAS/songs/wonderland.mp3 differ diff --git a/files/assets/browserconfig.xml b/files/assets/browserconfig.xml index b569a82ea..ff353594b 100644 --- a/files/assets/browserconfig.xml +++ b/files/assets/browserconfig.xml @@ -2,7 +2,7 @@ - + #FF66AC diff --git a/files/assets/css/fa.css b/files/assets/css/fa.css index 8c18f7172..75f53563b 100644 --- a/files/assets/css/fa.css +++ b/files/assets/css/fa.css @@ -1 +1,3 @@ -.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-abacus:before{content:"\f640"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acorn:before{content:"\f6ae"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-conditioner:before{content:"\f8f4"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-alarm-clock:before{content:"\f34e"}.fa-alarm-exclamation:before{content:"\f843"}.fa-alarm-plus:before{content:"\f844"}.fa-alarm-snooze:before{content:"\f845"}.fa-album:before{content:"\f89f"}.fa-album-collection:before{content:"\f8a0"}.fa-algolia:before{content:"\f36c"}.fa-alicorn:before{content:"\f6b0"}.fa-alien:before{content:"\f8f5"}.fa-alien-monster:before{content:"\f8f6"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-align-slash:before{content:"\f846"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-amp-guitar:before{content:"\f8a1"}.fa-analytics:before{content:"\f643"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angel:before{content:"\f779"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-crate:before{content:"\f6b1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-alt-down:before{content:"\f354"}.fa-arrow-alt-from-bottom:before{content:"\f346"}.fa-arrow-alt-from-left:before{content:"\f347"}.fa-arrow-alt-from-right:before{content:"\f348"}.fa-arrow-alt-from-top:before{content:"\f349"}.fa-arrow-alt-left:before{content:"\f355"}.fa-arrow-alt-right:before{content:"\f356"}.fa-arrow-alt-square-down:before{content:"\f350"}.fa-arrow-alt-square-left:before{content:"\f351"}.fa-arrow-alt-square-right:before{content:"\f352"}.fa-arrow-alt-square-up:before{content:"\f353"}.fa-arrow-alt-to-bottom:before{content:"\f34a"}.fa-arrow-alt-to-left:before{content:"\f34b"}.fa-arrow-alt-to-right:before{content:"\f34c"}.fa-arrow-alt-to-top:before{content:"\f34d"}.fa-arrow-alt-up:before{content:"\f357"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-from-bottom:before{content:"\f342"}.fa-arrow-from-left:before{content:"\f343"}.fa-arrow-from-right:before{content:"\f344"}.fa-arrow-from-top:before{content:"\f345"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-square-down:before{content:"\f339"}.fa-arrow-square-left:before{content:"\f33a"}.fa-arrow-square-right:before{content:"\f33b"}.fa-arrow-square-up:before{content:"\f33c"}.fa-arrow-to-bottom:before{content:"\f33d"}.fa-arrow-to-left:before{content:"\f33e"}.fa-arrow-to-right:before{content:"\f340"}.fa-arrow-to-top:before{content:"\f341"}.fa-arrow-up:before{content:"\f062"}.fa-arrows:before{content:"\f047"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-arrows-h:before{content:"\f07e"}.fa-arrows-v:before{content:"\f07d"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-atom-alt:before{content:"\f5d3"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-axe:before{content:"\f6b2"}.fa-axe-battle:before{content:"\f6b3"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backpack:before{content:"\f5d4"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-badge:before{content:"\f335"}.fa-badge-check:before{content:"\f336"}.fa-badge-dollar:before{content:"\f645"}.fa-badge-percent:before{content:"\f646"}.fa-badge-sheriff:before{content:"\f8a2"}.fa-badger-honey:before{content:"\f6b4"}.fa-bags-shopping:before{content:"\f847"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ball-pile:before{content:"\f77e"}.fa-ballot:before{content:"\f732"}.fa-ballot-check:before{content:"\f733"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-banjo:before{content:"\f8a3"}.fa-barcode:before{content:"\f02a"}.fa-barcode-alt:before{content:"\f463"}.fa-barcode-read:before{content:"\f464"}.fa-barcode-scan:before{content:"\f465"}.fa-bars:before{content:"\f0c9"}.fa-baseball:before{content:"\f432"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-basketball-hoop:before{content:"\f435"}.fa-bat:before{content:"\f6b5"}.fa-bath:before{content:"\f2cd"}.fa-battery-bolt:before{content:"\f376"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-slash:before{content:"\f377"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-bed-alt:before{content:"\f8f7"}.fa-bed-bunk:before{content:"\f8f8"}.fa-bed-empty:before{content:"\f8f9"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-exclamation:before{content:"\f848"}.fa-bell-on:before{content:"\f8fa"}.fa-bell-plus:before{content:"\f849"}.fa-bell-school:before{content:"\f5d5"}.fa-bell-school-slash:before{content:"\f5d6"}.fa-bell-slash:before{content:"\f1f6"}.fa-bells:before{content:"\f77f"}.fa-betamax:before{content:"\f8a4"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-biking-mountain:before{content:"\f84b"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blanket:before{content:"\f498"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blinds:before{content:"\f8fb"}.fa-blinds-open:before{content:"\f8fc"}.fa-blinds-raised:before{content:"\f8fd"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bone-break:before{content:"\f5d8"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-alt:before{content:"\f5d9"}.fa-book-dead:before{content:"\f6b7"}.fa-book-heart:before{content:"\f499"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-book-spells:before{content:"\f6b8"}.fa-book-user:before{content:"\f7e7"}.fa-bookmark:before{content:"\f02e"}.fa-books:before{content:"\f5db"}.fa-books-medical:before{content:"\f7e8"}.fa-boombox:before{content:"\f8a5"}.fa-boot:before{content:"\f782"}.fa-booth-curtain:before{content:"\f734"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-bottom:before{content:"\f84d"}.fa-border-center-h:before{content:"\f89c"}.fa-border-center-v:before{content:"\f89d"}.fa-border-inner:before{content:"\f84e"}.fa-border-left:before{content:"\f84f"}.fa-border-none:before{content:"\f850"}.fa-border-outer:before{content:"\f851"}.fa-border-right:before{content:"\f852"}.fa-border-style:before{content:"\f853"}.fa-border-style-alt:before{content:"\f854"}.fa-border-top:before{content:"\f855"}.fa-bow-arrow:before{content:"\f6b9"}.fa-bowling-ball:before{content:"\f436"}.fa-bowling-pins:before{content:"\f437"}.fa-box:before{content:"\f466"}.fa-box-alt:before{content:"\f49a"}.fa-box-ballot:before{content:"\f735"}.fa-box-check:before{content:"\f467"}.fa-box-fragile:before{content:"\f49b"}.fa-box-full:before{content:"\f49c"}.fa-box-heart:before{content:"\f49d"}.fa-box-open:before{content:"\f49e"}.fa-box-up:before{content:"\f49f"}.fa-box-usd:before{content:"\f4a0"}.fa-boxes:before{content:"\f468"}.fa-boxes-alt:before{content:"\f4a1"}.fa-boxing-glove:before{content:"\f438"}.fa-brackets:before{content:"\f7e9"}.fa-brackets-curly:before{content:"\f7ea"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-loaf:before{content:"\f7eb"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-bring-forward:before{content:"\f856"}.fa-bring-front:before{content:"\f857"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-browser:before{content:"\f37e"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-bullseye-arrow:before{content:"\f648"}.fa-bullseye-pointer:before{content:"\f649"}.fa-burger-soda:before{content:"\f858"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-burrito:before{content:"\f7ed"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-bus-school:before{content:"\f5dd"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-cabinet-filing:before{content:"\f64b"}.fa-cactus:before{content:"\f8a7"}.fa-calculator:before{content:"\f1ec"}.fa-calculator-alt:before{content:"\f64c"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-edit:before{content:"\f333"}.fa-calendar-exclamation:before{content:"\f334"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-star:before{content:"\f736"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camcorder:before{content:"\f8a8"}.fa-camera:before{content:"\f030"}.fa-camera-alt:before{content:"\f332"}.fa-camera-home:before{content:"\f8fe"}.fa-camera-movie:before{content:"\f8a9"}.fa-camera-polaroid:before{content:"\f8aa"}.fa-camera-retro:before{content:"\f083"}.fa-campfire:before{content:"\f6ba"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candle-holder:before{content:"\f6bc"}.fa-candy-cane:before{content:"\f786"}.fa-candy-corn:before{content:"\f6bd"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-building:before{content:"\f859"}.fa-car-bump:before{content:"\f5e0"}.fa-car-bus:before{content:"\f85a"}.fa-car-crash:before{content:"\f5e1"}.fa-car-garage:before{content:"\f5e2"}.fa-car-mechanic:before{content:"\f5e3"}.fa-car-side:before{content:"\f5e4"}.fa-car-tilt:before{content:"\f5e5"}.fa-car-wash:before{content:"\f5e6"}.fa-caravan:before{content:"\f8ff"}.fa-caravan-alt:before{content:"\f900"}.fa-caret-circle-down:before{content:"\f32d"}.fa-caret-circle-left:before{content:"\f32e"}.fa-caret-circle-right:before{content:"\f330"}.fa-caret-circle-up:before{content:"\f331"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cars:before{content:"\f85b"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cassette-tape:before{content:"\f8ab"}.fa-cat:before{content:"\f6be"}.fa-cat-space:before{content:"\f901"}.fa-cauldron:before{content:"\f6bf"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-cctv:before{content:"\f8ac"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chair-office:before{content:"\f6c1"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-line-down:before{content:"\f64d"}.fa-chart-network:before{content:"\f78a"}.fa-chart-pie:before{content:"\f200"}.fa-chart-pie-alt:before{content:"\f64e"}.fa-chart-scatter:before{content:"\f7ee"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-cheese-swiss:before{content:"\f7f0"}.fa-cheeseburger:before{content:"\f7f1"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-bishop-alt:before{content:"\f43b"}.fa-chess-board:before{content:"\f43c"}.fa-chess-clock:before{content:"\f43d"}.fa-chess-clock-alt:before{content:"\f43e"}.fa-chess-king:before{content:"\f43f"}.fa-chess-king-alt:before{content:"\f440"}.fa-chess-knight:before{content:"\f441"}.fa-chess-knight-alt:before{content:"\f442"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-pawn-alt:before{content:"\f444"}.fa-chess-queen:before{content:"\f445"}.fa-chess-queen-alt:before{content:"\f446"}.fa-chess-rook:before{content:"\f447"}.fa-chess-rook-alt:before{content:"\f448"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-double-down:before{content:"\f322"}.fa-chevron-double-left:before{content:"\f323"}.fa-chevron-double-right:before{content:"\f324"}.fa-chevron-double-up:before{content:"\f325"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-square-down:before{content:"\f329"}.fa-chevron-square-left:before{content:"\f32a"}.fa-chevron-square-right:before{content:"\f32b"}.fa-chevron-square-up:before{content:"\f32c"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chimney:before{content:"\f78b"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clarinet:before{content:"\f8ad"}.fa-claw-marks:before{content:"\f6c2"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clipboard-list-check:before{content:"\f737"}.fa-clipboard-prescription:before{content:"\f5e8"}.fa-clipboard-user:before{content:"\f7f3"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-drizzle:before{content:"\f738"}.fa-cloud-hail:before{content:"\f739"}.fa-cloud-hail-mixed:before{content:"\f73a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-music:before{content:"\f8ae"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-rainbow:before{content:"\f73e"}.fa-cloud-showers:before{content:"\f73f"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sleet:before{content:"\f741"}.fa-cloud-snow:before{content:"\f742"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-clouds:before{content:"\f744"}.fa-clouds-moon:before{content:"\f745"}.fa-clouds-sun:before{content:"\f746"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-club:before{content:"\f327"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-merge:before{content:"\f387"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-coffee-pot:before{content:"\f902"}.fa-coffee-togo:before{content:"\f6c5"}.fa-coffin:before{content:"\f6c6"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coin:before{content:"\f85c"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comet:before{content:"\f903"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-alt-check:before{content:"\f4a2"}.fa-comment-alt-dollar:before{content:"\f650"}.fa-comment-alt-dots:before{content:"\f4a3"}.fa-comment-alt-edit:before{content:"\f4a4"}.fa-comment-alt-exclamation:before{content:"\f4a5"}.fa-comment-alt-lines:before{content:"\f4a6"}.fa-comment-alt-medical:before{content:"\f7f4"}.fa-comment-alt-minus:before{content:"\f4a7"}.fa-comment-alt-music:before{content:"\f8af"}.fa-comment-alt-plus:before{content:"\f4a8"}.fa-comment-alt-slash:before{content:"\f4a9"}.fa-comment-alt-smile:before{content:"\f4aa"}.fa-comment-alt-times:before{content:"\f4ab"}.fa-comment-check:before{content:"\f4ac"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-edit:before{content:"\f4ae"}.fa-comment-exclamation:before{content:"\f4af"}.fa-comment-lines:before{content:"\f4b0"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-minus:before{content:"\f4b1"}.fa-comment-music:before{content:"\f8b0"}.fa-comment-plus:before{content:"\f4b2"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-smile:before{content:"\f4b4"}.fa-comment-times:before{content:"\f4b5"}.fa-comments:before{content:"\f086"}.fa-comments-alt:before{content:"\f4b6"}.fa-comments-alt-dollar:before{content:"\f652"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-slash:before{content:"\f5e9"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-compress-wide:before{content:"\f326"}.fa-computer-classic:before{content:"\f8b1"}.fa-computer-speaker:before{content:"\f8b2"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-construction:before{content:"\f85d"}.fa-container-storage:before{content:"\f4b7"}.fa-contao:before{content:"\f26d"}.fa-conveyor-belt:before{content:"\f46e"}.fa-conveyor-belt-alt:before{content:"\f46f"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-corn:before{content:"\f6c7"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cow:before{content:"\f6c8"}.fa-cowbell:before{content:"\f8b3"}.fa-cowbell-more:before{content:"\f8b4"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-credit-card-blank:before{content:"\f389"}.fa-credit-card-front:before{content:"\f38a"}.fa-cricket:before{content:"\f449"}.fa-critical-role:before{content:"\f6c9"}.fa-croissant:before{content:"\f7f6"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-crutches:before{content:"\f7f8"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-curling:before{content:"\f44a"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dagger:before{content:"\f6cb"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-debug:before{content:"\f7f9"}.fa-deer:before{content:"\f78e"}.fa-deer-rudolph:before{content:"\f78f"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-desktop-alt:before{content:"\f390"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dewpoint:before{content:"\f748"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diamond:before{content:"\f219"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d10:before{content:"\f6cd"}.fa-dice-d12:before{content:"\f6ce"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d4:before{content:"\f6d0"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-d8:before{content:"\f6d2"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digging:before{content:"\f85e"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-diploma:before{content:"\f5ea"}.fa-directions:before{content:"\f5eb"}.fa-disc-drive:before{content:"\f8b5"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-do-not-enter:before{content:"\f5ec"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dog-leashed:before{content:"\f6d4"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-empty:before{content:"\f473"}.fa-dolly-flatbed:before{content:"\f474"}.fa-dolly-flatbed-alt:before{content:"\f475"}.fa-dolly-flatbed-empty:before{content:"\f476"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-circle:before{content:"\f5ed"}.fa-draw-polygon:before{content:"\f5ee"}.fa-draw-square:before{content:"\f5ef"}.fa-dreidel:before{content:"\f792"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-drone:before{content:"\f85f"}.fa-drone-alt:before{content:"\f860"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick:before{content:"\f6d6"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dryer:before{content:"\f861"}.fa-dryer-alt:before{content:"\f862"}.fa-duck:before{content:"\f6d8"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-ear:before{content:"\f5f0"}.fa-ear-muffs:before{content:"\f795"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-eclipse:before{content:"\f749"}.fa-eclipse-alt:before{content:"\f74a"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-egg-fried:before{content:"\f7fc"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-elephant:before{content:"\f6da"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-h-alt:before{content:"\f39b"}.fa-ellipsis-v:before{content:"\f142"}.fa-ellipsis-v-alt:before{content:"\f39c"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-empty-set:before{content:"\f656"}.fa-engine-warning:before{content:"\f5f2"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-dollar:before{content:"\f657"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange:before{content:"\f0ec"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-square:before{content:"\f321"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows:before{content:"\f31d"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expand-wide:before{content:"\f320"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link:before{content:"\f08e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square:before{content:"\f14c"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-evil:before{content:"\f6db"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fan-table:before{content:"\f904"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-farm:before{content:"\f864"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\f905"}.fa-faucet-drip:before{content:"\f906"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-field-hockey:before{content:"\f44c"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-certificate:before{content:"\f5f3"}.fa-file-chart-line:before{content:"\f659"}.fa-file-chart-pie:before{content:"\f65a"}.fa-file-check:before{content:"\f316"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-edit:before{content:"\f31c"}.fa-file-excel:before{content:"\f1c3"}.fa-file-exclamation:before{content:"\f31a"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-minus:before{content:"\f318"}.fa-file-music:before{content:"\f8b6"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-plus:before{content:"\f319"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-search:before{content:"\f865"}.fa-file-signature:before{content:"\f573"}.fa-file-spreadsheet:before{content:"\f65b"}.fa-file-times:before{content:"\f317"}.fa-file-upload:before{content:"\f574"}.fa-file-user:before{content:"\f65c"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-files-medical:before{content:"\f7fd"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-film-alt:before{content:"\f3a0"}.fa-film-canister:before{content:"\f8b7"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-smoke:before{content:"\f74b"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-fireplace:before{content:"\f79a"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fish-cooked:before{content:"\f7fe"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-alt:before{content:"\f74c"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flame:before{content:"\f6df"}.fa-flashlight:before{content:"\f8b8"}.fa-flask:before{content:"\f0c3"}.fa-flask-poison:before{content:"\f6e0"}.fa-flask-potion:before{content:"\f6e1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flower:before{content:"\f7ff"}.fa-flower-daffodil:before{content:"\f800"}.fa-flower-tulip:before{content:"\f801"}.fa-flushed:before{content:"\f579"}.fa-flute:before{content:"\f8b9"}.fa-flux-capacitor:before{content:"\f8ba"}.fa-fly:before{content:"\f417"}.fa-fog:before{content:"\f74e"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-times:before{content:"\f65f"}.fa-folder-tree:before{content:"\f802"}.fa-folders:before{content:"\f660"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-font-case:before{content:"\f866"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-football-helmet:before{content:"\f44f"}.fa-forklift:before{content:"\f47a"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-fragile:before{content:"\f4bb"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-french-fries:before{content:"\f803"}.fa-frog:before{content:"\f52e"}.fa-frosty-head:before{content:"\f79b"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-function:before{content:"\f661"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-galaxy:before{content:"\f908"}.fa-game-board:before{content:"\f867"}.fa-game-board-alt:before{content:"\f868"}.fa-game-console-handheld:before{content:"\f8bb"}.fa-gamepad:before{content:"\f11b"}.fa-gamepad-alt:before{content:"\f8bc"}.fa-garage:before{content:"\f909"}.fa-garage-car:before{content:"\f90a"}.fa-garage-open:before{content:"\f90b"}.fa-gas-pump:before{content:"\f52f"}.fa-gas-pump-slash:before{content:"\f5f4"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gift-card:before{content:"\f663"}.fa-gifts:before{content:"\f79c"}.fa-gingerbread-man:before{content:"\f79d"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass:before{content:"\f804"}.fa-glass-champagne:before{content:"\f79e"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-citrus:before{content:"\f869"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glass-whiskey-rocks:before{content:"\f7a1"}.fa-glasses:before{content:"\f530"}.fa-glasses-alt:before{content:"\f5f5"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-globe-snow:before{content:"\f7a3"}.fa-globe-stand:before{content:"\f5f6"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-golf-club:before{content:"\f451"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gramophone:before{content:"\f8bd"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-guitar-electric:before{content:"\f8be"}.fa-guitars:before{content:"\f8bf"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-h1:before{content:"\f313"}.fa-h2:before{content:"\f314"}.fa-h3:before{content:"\f315"}.fa-h4:before{content:"\f86a"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hammer-war:before{content:"\f6e4"}.fa-hamsa:before{content:"\f665"}.fa-hand-heart:before{content:"\f4bc"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-box:before{content:"\f47b"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-magic:before{content:"\f6e5"}.fa-hand-holding-seedling:before{content:"\f4bf"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-receiving:before{content:"\f47c"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-heart:before{content:"\f4c3"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-usd:before{content:"\f4c5"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt:before{content:"\f4c6"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-chef:before{content:"\f86b"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-santa:before{content:"\f7a7"}.fa-hat-winter:before{content:"\f7a8"}.fa-hat-witch:before{content:"\f6e7"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side:before{content:"\f6e9"}.fa-head-side-brain:before{content:"\f808"}.fa-head-side-headphones:before{content:"\f8c2"}.fa-head-side-medical:before{content:"\f809"}.fa-head-vr:before{content:"\f6ea"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heart-circle:before{content:"\f4c7"}.fa-heart-rate:before{content:"\f5f8"}.fa-heart-square:before{content:"\f4c8"}.fa-heartbeat:before{content:"\f21e"}.fa-heat:before{content:"\f90c"}.fa-helicopter:before{content:"\f533"}.fa-helmet-battle:before{content:"\f6eb"}.fa-hexagon:before{content:"\f312"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-mask:before{content:"\f6ee"}.fa-hockey-puck:before{content:"\f453"}.fa-hockey-sticks:before{content:"\f454"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-home-alt:before{content:"\f80a"}.fa-home-heart:before{content:"\f4c9"}.fa-home-lg:before{content:"\f80b"}.fa-home-lg-alt:before{content:"\f80c"}.fa-hood-cloak:before{content:"\f6ef"}.fa-hooli:before{content:"\f427"}.fa-horizontal-rule:before{content:"\f86c"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-horse-saddle:before{content:"\f8c3"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hospitals:before{content:"\f80e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house:before{content:"\f90d"}.fa-house-damage:before{content:"\f6f1"}.fa-house-day:before{content:"\f90e"}.fa-house-flood:before{content:"\f74f"}.fa-house-leave:before{content:"\f90f"}.fa-house-night:before{content:"\f910"}.fa-house-return:before{content:"\f911"}.fa-house-signal:before{content:"\f912"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-humidity:before{content:"\f750"}.fa-hurricane:before{content:"\f751"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-ice-skate:before{content:"\f7ac"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-icons-alt:before{content:"\f86e"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-polaroid:before{content:"\f8c4"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-inbox-in:before{content:"\f310"}.fa-inbox-out:before{content:"\f311"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-industry-alt:before{content:"\f3b3"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-info-square:before{content:"\f30f"}.fa-inhaler:before{content:"\f5f9"}.fa-instagram:before{content:"\f16d"}.fa-integral:before{content:"\f667"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-intersection:before{content:"\f668"}.fa-inventory:before{content:"\f480"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-island-tropical:before{content:"\f811"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-jack-o-lantern:before{content:"\f30e"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-joystick:before{content:"\f8c5"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-jug:before{content:"\f8c6"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-kazoo:before{content:"\f8c7"}.fa-kerning:before{content:"\f86f"}.fa-key:before{content:"\f084"}.fa-key-skeleton:before{content:"\f6f3"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-keynote:before{content:"\f66c"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kidneys:before{content:"\f5fb"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kite:before{content:"\f6f4"}.fa-kiwi-bird:before{content:"\f535"}.fa-knife-kitchen:before{content:"\f6f5"}.fa-korvue:before{content:"\f42f"}.fa-lambda:before{content:"\f66e"}.fa-lamp:before{content:"\f4ca"}.fa-lamp-desk:before{content:"\f914"}.fa-lamp-floor:before{content:"\f915"}.fa-landmark:before{content:"\f66f"}.fa-landmark-alt:before{content:"\f752"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lasso:before{content:"\f8c8"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-layer-minus:before{content:"\f5fe"}.fa-layer-plus:before{content:"\f5ff"}.fa-leaf:before{content:"\f06c"}.fa-leaf-heart:before{content:"\f4cb"}.fa-leaf-maple:before{content:"\f6f6"}.fa-leaf-oak:before{content:"\f6f7"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down:before{content:"\f149"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up:before{content:"\f148"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-light-ceiling:before{content:"\f916"}.fa-light-switch:before{content:"\f917"}.fa-light-switch-off:before{content:"\f918"}.fa-light-switch-on:before{content:"\f919"}.fa-lightbulb:before{content:"\f0eb"}.fa-lightbulb-dollar:before{content:"\f670"}.fa-lightbulb-exclamation:before{content:"\f671"}.fa-lightbulb-on:before{content:"\f672"}.fa-lightbulb-slash:before{content:"\f673"}.fa-lights-holiday:before{content:"\f7b2"}.fa-line:before{content:"\f3c0"}.fa-line-columns:before{content:"\f870"}.fa-line-height:before{content:"\f871"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lips:before{content:"\f600"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-music:before{content:"\f8c9"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location:before{content:"\f601"}.fa-location-arrow:before{content:"\f124"}.fa-location-circle:before{content:"\f602"}.fa-location-slash:before{content:"\f603"}.fa-lock:before{content:"\f023"}.fa-lock-alt:before{content:"\f30d"}.fa-lock-open:before{content:"\f3c1"}.fa-lock-open-alt:before{content:"\f3c2"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-long-arrow-up:before{content:"\f176"}.fa-loveseat:before{content:"\f4cc"}.fa-low-vision:before{content:"\f2a8"}.fa-luchador:before{content:"\f455"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lyft:before{content:"\f3c3"}.fa-mace:before{content:"\f6f8"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailbox:before{content:"\f813"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-mandolin:before{content:"\f6f9"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-marker-alt-slash:before{content:"\f605"}.fa-map-marker-check:before{content:"\f606"}.fa-map-marker-edit:before{content:"\f607"}.fa-map-marker-exclamation:before{content:"\f608"}.fa-map-marker-minus:before{content:"\f609"}.fa-map-marker-plus:before{content:"\f60a"}.fa-map-marker-question:before{content:"\f60b"}.fa-map-marker-slash:before{content:"\f60c"}.fa-map-marker-smile:before{content:"\f60d"}.fa-map-marker-times:before{content:"\f60e"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-meat:before{content:"\f814"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaphone:before{content:"\f675"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microphone-stand:before{content:"\f8cb"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-microwave:before{content:"\f91b"}.fa-mind-share:before{content:"\f677"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-hexagon:before{content:"\f307"}.fa-minus-octagon:before{content:"\f308"}.fa-minus-square:before{content:"\f146"}.fa-mistletoe:before{content:"\f7b4"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-mobile-android:before{content:"\f3ce"}.fa-mobile-android-alt:before{content:"\f3cf"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-money-check-edit:before{content:"\f872"}.fa-money-check-edit-alt:before{content:"\f873"}.fa-monitor-heart-rate:before{content:"\f611"}.fa-monkey:before{content:"\f6fb"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-moon-cloud:before{content:"\f754"}.fa-moon-stars:before{content:"\f755"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mountains:before{content:"\f6fd"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-alt:before{content:"\f8cd"}.fa-mouse-pointer:before{content:"\f245"}.fa-mp3-player:before{content:"\f8ce"}.fa-mug:before{content:"\f874"}.fa-mug-hot:before{content:"\f7b6"}.fa-mug-marshmallows:before{content:"\f7b7"}.fa-mug-tea:before{content:"\f875"}.fa-music:before{content:"\f001"}.fa-music-alt:before{content:"\f8cf"}.fa-music-alt-slash:before{content:"\f8d0"}.fa-music-slash:before{content:"\f8d1"}.fa-napster:before{content:"\f3d2"}.fa-narwhal:before{content:"\f6fe"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octagon:before{content:"\f306"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-oil-temp:before{content:"\f614"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-omega:before{content:"\f67a"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-ornament:before{content:"\f7b8"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-outlet:before{content:"\f91c"}.fa-oven:before{content:"\f91d"}.fa-overline:before{content:"\f876"}.fa-page-break:before{content:"\f877"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-brush-alt:before{content:"\f5a9"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-pallet-alt:before{content:"\f483"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-paragraph-rtl:before{content:"\f878"}.fa-parking:before{content:"\f540"}.fa-parking-circle:before{content:"\f615"}.fa-parking-circle-slash:before{content:"\f616"}.fa-parking-slash:before{content:"\f617"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paw-alt:before{content:"\f701"}.fa-paw-claws:before{content:"\f702"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pegasus:before{content:"\f703"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil:before{content:"\f040"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-paintbrush:before{content:"\f618"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-pennant:before{content:"\f456"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-person-carry:before{content:"\f4cf"}.fa-person-dolly:before{content:"\f4d0"}.fa-person-dolly-empty:before{content:"\f4d1"}.fa-person-sign:before{content:"\f757"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-laptop:before{content:"\f87a"}.fa-phone-office:before{content:"\f67d"}.fa-phone-plus:before{content:"\f4d2"}.fa-phone-rotary:before{content:"\f8d3"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pi:before{content:"\f67e"}.fa-piano:before{content:"\f8d4"}.fa-piano-keyboard:before{content:"\f8d5"}.fa-pie:before{content:"\f705"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-pig:before{content:"\f706"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza:before{content:"\f817"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-alt:before{content:"\f3de"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-planet-moon:before{content:"\f91f"}.fa-planet-ringed:before{content:"\f920"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-hexagon:before{content:"\f300"}.fa-plus-octagon:before{content:"\f301"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-podium:before{content:"\f680"}.fa-podium-star:before{content:"\f758"}.fa-police-box:before{content:"\f921"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poll-people:before{content:"\f759"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-popcorn:before{content:"\f819"}.fa-portal-enter:before{content:"\f922"}.fa-portal-exit:before{content:"\f923"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-presentation:before{content:"\f685"}.fa-print:before{content:"\f02f"}.fa-print-search:before{content:"\f81a"}.fa-print-slash:before{content:"\f686"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-projector:before{content:"\f8d6"}.fa-pumpkin:before{content:"\f707"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-question-square:before{content:"\f2fd"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-rabbit:before{content:"\f708"}.fa-rabbit-fast:before{content:"\f709"}.fa-racquet:before{content:"\f45a"}.fa-radar:before{content:"\f924"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-radio:before{content:"\f8d7"}.fa-radio-alt:before{content:"\f8d8"}.fa-rainbow:before{content:"\f75b"}.fa-raindrops:before{content:"\f75c"}.fa-ram:before{content:"\f70a"}.fa-ramp-loading:before{content:"\f4d4"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-raygun:before{content:"\f925"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-rectangle-landscape:before{content:"\f2fa"}.fa-rectangle-portrait:before{content:"\f2fb"}.fa-rectangle-wide:before{content:"\f2fc"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-refrigerator:before{content:"\f926"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-repeat:before{content:"\f363"}.fa-repeat-1:before{content:"\f365"}.fa-repeat-1-alt:before{content:"\f366"}.fa-repeat-alt:before{content:"\f364"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-retweet-alt:before{content:"\f361"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-rings-wedding:before{content:"\f81b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocket-launch:before{content:"\f927"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-route-highway:before{content:"\f61a"}.fa-route-interstate:before{content:"\f61b"}.fa-router:before{content:"\f8da"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-triangle:before{content:"\f61c"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rv:before{content:"\f7be"}.fa-sack:before{content:"\f81c"}.fa-sack-dollar:before{content:"\f81d"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salad:before{content:"\f81e"}.fa-salesforce:before{content:"\f83b"}.fa-sandwich:before{content:"\f81f"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-sausage:before{content:"\f820"}.fa-save:before{content:"\f0c7"}.fa-sax-hot:before{content:"\f8db"}.fa-saxophone:before{content:"\f8dc"}.fa-scalpel:before{content:"\f61d"}.fa-scalpel-path:before{content:"\f61e"}.fa-scanner:before{content:"\f488"}.fa-scanner-image:before{content:"\f8f3"}.fa-scanner-keyboard:before{content:"\f489"}.fa-scanner-touchscreen:before{content:"\f48a"}.fa-scarecrow:before{content:"\f70d"}.fa-scarf:before{content:"\f7c1"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-scroll-old:before{content:"\f70f"}.fa-scrubber:before{content:"\f2f8"}.fa-scythe:before{content:"\f710"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-send-back:before{content:"\f87e"}.fa-send-backward:before{content:"\f87f"}.fa-sensor:before{content:"\f928"}.fa-sensor-alert:before{content:"\f929"}.fa-sensor-fire:before{content:"\f92a"}.fa-sensor-on:before{content:"\f92b"}.fa-sensor-smoke:before{content:"\f92c"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-all:before{content:"\f367"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-sheep:before{content:"\f711"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield:before{content:"\f132"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-check:before{content:"\f2f7"}.fa-shield-cross:before{content:"\f712"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shipping-timed:before{content:"\f48c"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shish-kebab:before{content:"\f821"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shovel:before{content:"\f713"}.fa-shovel-snow:before{content:"\f7c3"}.fa-shower:before{content:"\f2cc"}.fa-shredder:before{content:"\f68a"}.fa-shuttle-van:before{content:"\f5b6"}.fa-shuttlecock:before{content:"\f45b"}.fa-sickle:before{content:"\f822"}.fa-sigma:before{content:"\f68b"}.fa-sign:before{content:"\f4d9"}.fa-sign-in:before{content:"\f090"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out:before{content:"\f08b"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signal-1:before{content:"\f68c"}.fa-signal-2:before{content:"\f68d"}.fa-signal-3:before{content:"\f68e"}.fa-signal-4:before{content:"\f68f"}.fa-signal-alt:before{content:"\f690"}.fa-signal-alt-1:before{content:"\f691"}.fa-signal-alt-2:before{content:"\f692"}.fa-signal-alt-3:before{content:"\f693"}.fa-signal-alt-slash:before{content:"\f694"}.fa-signal-slash:before{content:"\f695"}.fa-signal-stream:before{content:"\f8dd"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-siren:before{content:"\f92d"}.fa-siren-on:before{content:"\f92e"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-skeleton:before{content:"\f620"}.fa-sketch:before{content:"\f7c6"}.fa-ski-jump:before{content:"\f7c7"}.fa-ski-lift:before{content:"\f7c8"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-cow:before{content:"\f8de"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sledding:before{content:"\f7cb"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-sliders-h-square:before{content:"\f3f0"}.fa-sliders-v:before{content:"\f3f1"}.fa-sliders-v-square:before{content:"\f3f2"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-plus:before{content:"\f5b9"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoke:before{content:"\f760"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snake:before{content:"\f716"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snooze:before{content:"\f880"}.fa-snow-blowing:before{content:"\f761"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowflakes:before{content:"\f7cf"}.fa-snowman:before{content:"\f7d0"}.fa-snowmobile:before{content:"\f7d1"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-solar-system:before{content:"\f92f"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-alt:before{content:"\f883"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-circle:before{content:"\f930"}.fa-sort-circle-down:before{content:"\f931"}.fa-sort-circle-up:before{content:"\f932"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-shapes-down:before{content:"\f888"}.fa-sort-shapes-down-alt:before{content:"\f889"}.fa-sort-shapes-up:before{content:"\f88a"}.fa-sort-shapes-up-alt:before{content:"\f88b"}.fa-sort-size-down:before{content:"\f88c"}.fa-sort-size-down-alt:before{content:"\f88d"}.fa-sort-size-up:before{content:"\f88e"}.fa-sort-size-up-alt:before{content:"\f88f"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-soup:before{content:"\f823"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-space-station-moon:before{content:"\f933"}.fa-space-station-moon-alt:before{content:"\f934"}.fa-spade:before{content:"\f2f4"}.fa-sparkles:before{content:"\f890"}.fa-speakap:before{content:"\f3f3"}.fa-speaker:before{content:"\f8df"}.fa-speaker-deck:before{content:"\f83c"}.fa-speakers:before{content:"\f8e0"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spider-black-widow:before{content:"\f718"}.fa-spider-web:before{content:"\f719"}.fa-spinner:before{content:"\f110"}.fa-spinner-third:before{content:"\f3f4"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-sprinkler:before{content:"\f935"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root:before{content:"\f697"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-squirrel:before{content:"\f71a"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staff:before{content:"\f71b"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-christmas:before{content:"\f7d4"}.fa-star-exclamation:before{content:"\f2f3"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-star-shooting:before{content:"\f936"}.fa-starfighter:before{content:"\f937"}.fa-starfighter-alt:before{content:"\f938"}.fa-stars:before{content:"\f762"}.fa-starship:before{content:"\f939"}.fa-starship-freighter:before{content:"\f93a"}.fa-staylinked:before{content:"\f3f5"}.fa-steak:before{content:"\f824"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-steering-wheel:before{content:"\f622"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stocking:before{content:"\f7d5"}.fa-stomach:before{content:"\f623"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-stretcher:before{content:"\f825"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-sun-cloud:before{content:"\f763"}.fa-sun-dust:before{content:"\f764"}.fa-sun-haze:before{content:"\f765"}.fa-sunglasses:before{content:"\f892"}.fa-sunrise:before{content:"\f766"}.fa-sunset:before{content:"\f767"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-sword:before{content:"\f71c"}.fa-sword-laser:before{content:"\f93b"}.fa-sword-laser-alt:before{content:"\f93c"}.fa-swords:before{content:"\f71d"}.fa-swords-laser:before{content:"\f93d"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablet-android:before{content:"\f3fb"}.fa-tablet-android-alt:before{content:"\f3fc"}.fa-tablet-rugged:before{content:"\f48f"}.fa-tablets:before{content:"\f490"}.fa-tachometer:before{content:"\f0e4"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tachometer-alt-average:before{content:"\f624"}.fa-tachometer-alt-fast:before{content:"\f625"}.fa-tachometer-alt-fastest:before{content:"\f626"}.fa-tachometer-alt-slow:before{content:"\f627"}.fa-tachometer-alt-slowest:before{content:"\f628"}.fa-tachometer-average:before{content:"\f629"}.fa-tachometer-fast:before{content:"\f62a"}.fa-tachometer-fastest:before{content:"\f62b"}.fa-tachometer-slow:before{content:"\f62c"}.fa-tachometer-slowest:before{content:"\f62d"}.fa-taco:before{content:"\f826"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tally:before{content:"\f69c"}.fa-tanakh:before{content:"\f827"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-tasks-alt:before{content:"\f828"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-telescope:before{content:"\f93e"}.fa-temperature-down:before{content:"\f93f"}.fa-temperature-frigid:before{content:"\f768"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-hot:before{content:"\f76a"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-up:before{content:"\f940"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-tennis-ball:before{content:"\f45e"}.fa-terminal:before{content:"\f120"}.fa-text:before{content:"\f893"}.fa-text-height:before{content:"\f034"}.fa-text-size:before{content:"\f894"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-theta:before{content:"\f69e"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d";padding:2px;}.fa-thunderstorm:before{content:"\f76c"}.fa-thunderstorm-moon:before{content:"\f76d"}.fa-thunderstorm-sun:before{content:"\f76e"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tilde:before{content:"\f69f"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-times-hexagon:before{content:"\f2ee"}.fa-times-octagon:before{content:"\f2f0"}.fa-times-square:before{content:"\f2d3"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tire:before{content:"\f631"}.fa-tire-flat:before{content:"\f632"}.fa-tire-pressure-warning:before{content:"\f633"}.fa-tire-rugged:before{content:"\f634"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-alt:before{content:"\f71f"}.fa-tombstone:before{content:"\f720"}.fa-tombstone-alt:before{content:"\f721"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-toothbrush:before{content:"\f635"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tornado:before{content:"\f76f"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-cone:before{content:"\f636"}.fa-traffic-light:before{content:"\f637"}.fa-traffic-light-go:before{content:"\f638"}.fa-traffic-light-slow:before{content:"\f639"}.fa-traffic-light-stop:before{content:"\f63a"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-transporter:before{content:"\f942"}.fa-transporter-1:before{content:"\f943"}.fa-transporter-2:before{content:"\f944"}.fa-transporter-3:before{content:"\f945"}.fa-transporter-empty:before{content:"\f946"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-trash-undo:before{content:"\f895"}.fa-trash-undo-alt:before{content:"\f896"}.fa-treasure-chest:before{content:"\f723"}.fa-tree:before{content:"\f1bb"}.fa-tree-alt:before{content:"\f400"}.fa-tree-christmas:before{content:"\f7db"}.fa-tree-decorated:before{content:"\f7dc"}.fa-tree-large:before{content:"\f7dd"}.fa-tree-palm:before{content:"\f82b"}.fa-trees:before{content:"\f724"}.fa-trello:before{content:"\f181"}.fa-triangle:before{content:"\f2ec"}.fa-triangle-music:before{content:"\f8e2"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-trophy-alt:before{content:"\f2eb"}.fa-truck:before{content:"\f0d1"}.fa-truck-container:before{content:"\f4dc"}.fa-truck-couch:before{content:"\f4dd"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-plow:before{content:"\f7de"}.fa-truck-ramp:before{content:"\f4e0"}.fa-trumpet:before{content:"\f8e3"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-turkey:before{content:"\f725"}.fa-turntable:before{content:"\f8e4"}.fa-turtle:before{content:"\f726"}.fa-tv:before{content:"\f26c"}.fa-tv-alt:before{content:"\f8e5"}.fa-tv-music:before{content:"\f8e6"}.fa-tv-retro:before{content:"\f401"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typewriter:before{content:"\f8e7"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-ufo:before{content:"\f947"}.fa-ufo-beam:before{content:"\f948"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-unicorn:before{content:"\f727"}.fa-union:before{content:"\f6a2"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usb-drive:before{content:"\f8e9"}.fa-usd-circle:before{content:"\f2e8"}.fa-usd-square:before{content:"\f2e9"}.fa-user:before{content:"\f007"}.fa-user-alien:before{content:"\f94a"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-chart:before{content:"\f6a3"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-cowboy:before{content:"\f8ea"}.fa-user-crown:before{content:"\f6a4"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-hard-hat:before{content:"\f82c"}.fa-user-headset:before{content:"\f82d"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-md-chat:before{content:"\f82e"}.fa-user-minus:before{content:"\f503"}.fa-user-music:before{content:"\f8eb"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-robot:before{content:"\f94b"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-user-visor:before{content:"\f94c"}.fa-users:before{content:"\f0c0"}.fa-users-class:before{content:"\f63d"}.fa-users-cog:before{content:"\f509"}.fa-users-crown:before{content:"\f6a5"}.fa-users-medical:before{content:"\f830"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-fork:before{content:"\f2e3"}.fa-utensil-knife:before{content:"\f2e4"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-utensils-alt:before{content:"\f2e6"}.fa-vaadin:before{content:"\f408"}.fa-vacuum:before{content:"\f94d"}.fa-vacuum-robot:before{content:"\f94e"}.fa-value-absolute:before{content:"\f6a6"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vhs:before{content:"\f8ec"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-plus:before{content:"\f4e1"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-violin:before{content:"\f8ed"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volcano:before{content:"\f770"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume:before{content:"\f6a8"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-slash:before{content:"\f2e2"}.fa-volume-up:before{content:"\f028"}.fa-vote-nay:before{content:"\f771"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-wagon-covered:before{content:"\f8ee"}.fa-walker:before{content:"\f831"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-wand:before{content:"\f72a"}.fa-wand-magic:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-warehouse-alt:before{content:"\f495"}.fa-washer:before{content:"\f898"}.fa-watch:before{content:"\f2e1"}.fa-watch-calculator:before{content:"\f8f0"}.fa-watch-fitness:before{content:"\f63e"}.fa-water:before{content:"\f773"}.fa-water-lower:before{content:"\f774"}.fa-water-rise:before{content:"\f775"}.fa-wave-sine:before{content:"\f899"}.fa-wave-square:before{content:"\f83e"}.fa-wave-triangle:before{content:"\f89a"}.fa-waveform:before{content:"\f8f1"}.fa-waveform-path:before{content:"\f8f2"}.fa-waze:before{content:"\f83f"}.fa-webcam:before{content:"\f832"}.fa-webcam-slash:before{content:"\f833"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whale:before{content:"\f72c"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheat:before{content:"\f72d"}.fa-wheelchair:before{content:"\f193"}.fa-whistle:before{content:"\f460"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wifi-1:before{content:"\f6aa"}.fa-wifi-2:before{content:"\f6ab"}.fa-wifi-slash:before{content:"\f6ac"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-wind-turbine:before{content:"\f89b"}.fa-wind-warning:before{content:"\f776"}.fa-window:before{content:"\f40e"}.fa-window-alt:before{content:"\f40f"}.fa-window-close:before{content:"\f410"}.fa-window-frame:before{content:"\f94f"}.fa-window-frame-open:before{content:"\f950"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-windsock:before{content:"\f777"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wreath:before{content:"\f7e2"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:'font awesome 5 brands';font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:'font awesome 5 brands'!important}@font-face{font-family:'font awesome 5 duotone';font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-duotone-900.eot);src:url(../fonts/fa-duotone-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-duotone-900.woff2) format("woff2"),url(../fonts/fa-duotone-900.woff) format("woff"),url(../fonts/fa-duotone-900.ttf) format("truetype"),url(../fonts/fa-duotone-900.svg#fontawesome) format("svg")}.fad{position:relative;font-family:'font awesome 5 duotone'!important;font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color,inherit);opacity:1;opacity:var(--fa-primary-opacity,1)}.fad:after{color:var(--fa-secondary-color,inherit);opacity:.4;opacity:var(--fa-secondary-opacity,0.4)}.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before{opacity:.4;opacity:var(--fa-secondary-opacity,0.4)}.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:1;opacity:var(--fa-primary-opacity,1)}.fad.fa-inverse{color:#fff}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-stack-1x:before,.fad.fa-stack-2x:before,.fad.fa-fw:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fad.fa-abacus:after{content:"\10f640"}.fad.fa-acorn:after{content:"\10f6ae"}.fad.fa-ad:after{content:"\10f641"}.fad.fa-address-book:after{content:"\10f2b9"}.fad.fa-address-card:after{content:"\10f2bb"}.fad.fa-adjust:after{content:"\10f042"}.fad.fa-air-conditioner:after{content:"\10f8f4"}.fad.fa-air-freshener:after{content:"\10f5d0"}.fad.fa-alarm-clock:after{content:"\10f34e"}.fad.fa-alarm-exclamation:after{content:"\10f843"}.fad.fa-alarm-plus:after{content:"\10f844"}.fad.fa-alarm-snooze:after{content:"\10f845"}.fad.fa-album:after{content:"\10f89f"}.fad.fa-album-collection:after{content:"\10f8a0"}.fad.fa-alicorn:after{content:"\10f6b0"}.fad.fa-alien:after{content:"\10f8f5"}.fad.fa-alien-monster:after{content:"\10f8f6"}.fad.fa-align-center:after{content:"\10f037"}.fad.fa-align-justify:after{content:"\10f039"}.fad.fa-align-left:after{content:"\10f036"}.fad.fa-align-right:after{content:"\10f038"}.fad.fa-align-slash:after{content:"\10f846"}.fad.fa-allergies:after{content:"\10f461"}.fad.fa-ambulance:after{content:"\10f0f9"}.fad.fa-american-sign-language-interpreting:after{content:"\10f2a3"}.fad.fa-amp-guitar:after{content:"\10f8a1"}.fad.fa-analytics:after{content:"\10f643"}.fad.fa-anchor:after{content:"\10f13d"}.fad.fa-angel:after{content:"\10f779"}.fad.fa-angle-double-down:after{content:"\10f103"}.fad.fa-angle-double-left:after{content:"\10f100"}.fad.fa-angle-double-right:after{content:"\10f101"}.fad.fa-angle-double-up:after{content:"\10f102"}.fad.fa-angle-down:after{content:"\10f107"}.fad.fa-angle-left:after{content:"\10f104"}.fad.fa-angle-right:after{content:"\10f105"}.fad.fa-angle-up:after{content:"\10f106"}.fad.fa-angry:after{content:"\10f556"}.fad.fa-ankh:after{content:"\10f644"}.fad.fa-apple-alt:after{content:"\10f5d1"}.fad.fa-apple-crate:after{content:"\10f6b1"}.fad.fa-archive:after{content:"\10f187"}.fad.fa-archway:after{content:"\10f557"}.fad.fa-arrow-alt-circle-down:after{content:"\10f358"}.fad.fa-arrow-alt-circle-left:after{content:"\10f359"}.fad.fa-arrow-alt-circle-right:after{content:"\10f35a"}.fad.fa-arrow-alt-circle-up:after{content:"\10f35b"}.fad.fa-arrow-alt-down:after{content:"\10f354"}.fad.fa-arrow-alt-from-bottom:after{content:"\10f346"}.fad.fa-arrow-alt-from-left:after{content:"\10f347"}.fad.fa-arrow-alt-from-right:after{content:"\10f348"}.fad.fa-arrow-alt-from-top:after{content:"\10f349"}.fad.fa-arrow-alt-left:after{content:"\10f355"}.fad.fa-arrow-alt-right:after{content:"\10f356"}.fad.fa-arrow-alt-square-down:after{content:"\10f350"}.fad.fa-arrow-alt-square-left:after{content:"\10f351"}.fad.fa-arrow-alt-square-right:after{content:"\10f352"}.fad.fa-arrow-alt-square-up:after{content:"\10f353"}.fad.fa-arrow-alt-to-bottom:after{content:"\10f34a"}.fad.fa-arrow-alt-to-left:after{content:"\10f34b"}.fad.fa-arrow-alt-to-right:after{content:"\10f34c"}.fad.fa-arrow-alt-to-top:after{content:"\10f34d"}.fad.fa-arrow-alt-up:after{content:"\10f357"}.fad.fa-arrow-circle-down:after{content:"\10f0ab"}.fad.fa-arrow-circle-left:after{content:"\10f0a8"}.fad.fa-arrow-circle-right:after{content:"\10f0a9"}.fad.fa-arrow-circle-up:after{content:"\10f0aa"}.fad.fa-arrow-down:after{content:"\10f063"}.fad.fa-arrow-from-bottom:after{content:"\10f342"}.fad.fa-arrow-from-left:after{content:"\10f343"}.fad.fa-arrow-from-right:after{content:"\10f344"}.fad.fa-arrow-from-top:after{content:"\10f345"}.fad.fa-arrow-left:after{content:"\10f060"}.fad.fa-arrow-right:after{content:"\10f061"}.fad.fa-arrow-square-down:after{content:"\10f339"}.fad.fa-arrow-square-left:after{content:"\10f33a"}.fad.fa-arrow-square-right:after{content:"\10f33b"}.fad.fa-arrow-square-up:after{content:"\10f33c"}.fad.fa-arrow-to-bottom:after{content:"\10f33d"}.fad.fa-arrow-to-left:after{content:"\10f33e"}.fad.fa-arrow-to-right:after{content:"\10f340"}.fad.fa-arrow-to-top:after{content:"\10f341"}.fad.fa-arrow-up:after{content:"\10f062"}.fad.fa-arrows:after{content:"\10f047"}.fad.fa-arrows-alt:after{content:"\10f0b2"}.fad.fa-arrows-alt-h:after{content:"\10f337"}.fad.fa-arrows-alt-v:after{content:"\10f338"}.fad.fa-arrows-h:after{content:"\10f07e"}.fad.fa-arrows-v:after{content:"\10f07d"}.fad.fa-assistive-listening-systems:after{content:"\10f2a2"}.fad.fa-asterisk:after{content:"\10f069"}.fad.fa-at:after{content:"\10f1fa"}.fad.fa-atlas:after{content:"\10f558"}.fad.fa-atom:after{content:"\10f5d2"}.fad.fa-atom-alt:after{content:"\10f5d3"}.fad.fa-audio-description:after{content:"\10f29e"}.fad.fa-award:after{content:"\10f559"}.fad.fa-axe:after{content:"\10f6b2"}.fad.fa-axe-battle:after{content:"\10f6b3"}.fad.fa-baby:after{content:"\10f77c"}.fad.fa-baby-carriage:after{content:"\10f77d"}.fad.fa-backpack:after{content:"\10f5d4"}.fad.fa-backspace:after{content:"\10f55a"}.fad.fa-backward:after{content:"\10f04a"}.fad.fa-bacon:after{content:"\10f7e5"}.fad.fa-badge:after{content:"\10f335"}.fad.fa-badge-check:after{content:"\10f336"}.fad.fa-badge-dollar:after{content:"\10f645"}.fad.fa-badge-percent:after{content:"\10f646"}.fad.fa-badge-sheriff:after{content:"\10f8a2"}.fad.fa-badger-honey:after{content:"\10f6b4"}.fad.fa-bags-shopping:after{content:"\10f847"}.fad.fa-bahai:after{content:"\10f666"}.fad.fa-balance-scale:after{content:"\10f24e"}.fad.fa-balance-scale-left:after{content:"\10f515"}.fad.fa-balance-scale-right:after{content:"\10f516"}.fad.fa-ball-pile:after{content:"\10f77e"}.fad.fa-ballot:after{content:"\10f732"}.fad.fa-ballot-check:after{content:"\10f733"}.fad.fa-ban:after{content:"\10f05e"}.fad.fa-band-aid:after{content:"\10f462"}.fad.fa-banjo:after{content:"\10f8a3"}.fad.fa-barcode:after{content:"\10f02a"}.fad.fa-barcode-alt:after{content:"\10f463"}.fad.fa-barcode-read:after{content:"\10f464"}.fad.fa-barcode-scan:after{content:"\10f465"}.fad.fa-bars:after{content:"\10f0c9"}.fad.fa-baseball:after{content:"\10f432"}.fad.fa-baseball-ball:after{content:"\10f433"}.fad.fa-basketball-ball:after{content:"\10f434"}.fad.fa-basketball-hoop:after{content:"\10f435"}.fad.fa-bat:after{content:"\10f6b5"}.fad.fa-bath:after{content:"\10f2cd"}.fad.fa-battery-bolt:after{content:"\10f376"}.fad.fa-battery-empty:after{content:"\10f244"}.fad.fa-battery-full:after{content:"\10f240"}.fad.fa-battery-half:after{content:"\10f242"}.fad.fa-battery-quarter:after{content:"\10f243"}.fad.fa-battery-slash:after{content:"\10f377"}.fad.fa-battery-three-quarters:after{content:"\10f241"}.fad.fa-bed:after{content:"\10f236"}.fad.fa-bed-alt:after{content:"\10f8f7"}.fad.fa-bed-bunk:after{content:"\10f8f8"}.fad.fa-bed-empty:after{content:"\10f8f9"}.fad.fa-beer:after{content:"\10f0fc"}.fad.fa-bell:after{content:"\10f0f3"}.fad.fa-bell-exclamation:after{content:"\10f848"}.fad.fa-bell-on:after{content:"\10f8fa"}.fad.fa-bell-plus:after{content:"\10f849"}.fad.fa-bell-school:after{content:"\10f5d5"}.fad.fa-bell-school-slash:after{content:"\10f5d6"}.fad.fa-bell-slash:after{content:"\10f1f6"}.fad.fa-bells:after{content:"\10f77f"}.fad.fa-betamax:after{content:"\10f8a4"}.fad.fa-bezier-curve:after{content:"\10f55b"}.fad.fa-bible:after{content:"\10f647"}.fad.fa-bicycle:after{content:"\10f206"}.fad.fa-biking:after{content:"\10f84a"}.fad.fa-biking-mountain:after{content:"\10f84b"}.fad.fa-binoculars:after{content:"\10f1e5"}.fad.fa-biohazard:after{content:"\10f780"}.fad.fa-birthday-cake:after{content:"\10f1fd"}.fad.fa-blanket:after{content:"\10f498"}.fad.fa-blender:after{content:"\10f517"}.fad.fa-blender-phone:after{content:"\10f6b6"}.fad.fa-blind:after{content:"\10f29d"}.fad.fa-blinds:after{content:"\10f8fb"}.fad.fa-blinds-open:after{content:"\10f8fc"}.fad.fa-blinds-raised:after{content:"\10f8fd"}.fad.fa-blog:after{content:"\10f781"}.fad.fa-bold:after{content:"\10f032"}.fad.fa-bolt:after{content:"\10f0e7"}.fad.fa-bomb:after{content:"\10f1e2"}.fad.fa-bone:after{content:"\10f5d7"}.fad.fa-bone-break:after{content:"\10f5d8"}.fad.fa-bong:after{content:"\10f55c"}.fad.fa-book:after{content:"\10f02d"}.fad.fa-book-alt:after{content:"\10f5d9"}.fad.fa-book-dead:after{content:"\10f6b7"}.fad.fa-book-heart:after{content:"\10f499"}.fad.fa-book-medical:after{content:"\10f7e6"}.fad.fa-book-open:after{content:"\10f518"}.fad.fa-book-reader:after{content:"\10f5da"}.fad.fa-book-spells:after{content:"\10f6b8"}.fad.fa-book-user:after{content:"\10f7e7"}.fad.fa-bookmark:after{content:"\10f02e"}.fad.fa-books:after{content:"\10f5db"}.fad.fa-books-medical:after{content:"\10f7e8"}.fad.fa-boombox:after{content:"\10f8a5"}.fad.fa-boot:after{content:"\10f782"}.fad.fa-booth-curtain:after{content:"\10f734"}.fad.fa-border-all:after{content:"\10f84c"}.fad.fa-border-bottom:after{content:"\10f84d"}.fad.fa-border-center-h:after{content:"\10f89c"}.fad.fa-border-center-v:after{content:"\10f89d"}.fad.fa-border-inner:after{content:"\10f84e"}.fad.fa-border-left:after{content:"\10f84f"}.fad.fa-border-none:after{content:"\10f850"}.fad.fa-border-outer:after{content:"\10f851"}.fad.fa-border-right:after{content:"\10f852"}.fad.fa-border-style:after{content:"\10f853"}.fad.fa-border-style-alt:after{content:"\10f854"}.fad.fa-border-top:after{content:"\10f855"}.fad.fa-bow-arrow:after{content:"\10f6b9"}.fad.fa-bowling-ball:after{content:"\10f436"}.fad.fa-bowling-pins:after{content:"\10f437"}.fad.fa-box:after{content:"\10f466"}.fad.fa-box-alt:after{content:"\10f49a"}.fad.fa-box-ballot:after{content:"\10f735"}.fad.fa-box-check:after{content:"\10f467"}.fad.fa-box-fragile:after{content:"\10f49b"}.fad.fa-box-full:after{content:"\10f49c"}.fad.fa-box-heart:after{content:"\10f49d"}.fad.fa-box-open:after{content:"\10f49e"}.fad.fa-box-up:after{content:"\10f49f"}.fad.fa-box-usd:after{content:"\10f4a0"}.fad.fa-boxes:after{content:"\10f468"}.fad.fa-boxes-alt:after{content:"\10f4a1"}.fad.fa-boxing-glove:after{content:"\10f438"}.fad.fa-brackets:after{content:"\10f7e9"}.fad.fa-brackets-curly:after{content:"\10f7ea"}.fad.fa-braille:after{content:"\10f2a1"}.fad.fa-brain:after{content:"\10f5dc"}.fad.fa-bread-loaf:after{content:"\10f7eb"}.fad.fa-bread-slice:after{content:"\10f7ec"}.fad.fa-briefcase:after{content:"\10f0b1"}.fad.fa-briefcase-medical:after{content:"\10f469"}.fad.fa-bring-forward:after{content:"\10f856"}.fad.fa-bring-front:after{content:"\10f857"}.fad.fa-broadcast-tower:after{content:"\10f519"}.fad.fa-broom:after{content:"\10f51a"}.fad.fa-browser:after{content:"\10f37e"}.fad.fa-brush:after{content:"\10f55d"}.fad.fa-bug:after{content:"\10f188"}.fad.fa-building:after{content:"\10f1ad"}.fad.fa-bullhorn:after{content:"\10f0a1"}.fad.fa-bullseye:after{content:"\10f140"}.fad.fa-bullseye-arrow:after{content:"\10f648"}.fad.fa-bullseye-pointer:after{content:"\10f649"}.fad.fa-burger-soda:after{content:"\10f858"}.fad.fa-burn:after{content:"\10f46a"}.fad.fa-burrito:after{content:"\10f7ed"}.fad.fa-bus:after{content:"\10f207"}.fad.fa-bus-alt:after{content:"\10f55e"}.fad.fa-bus-school:after{content:"\10f5dd"}.fad.fa-business-time:after{content:"\10f64a"}.fad.fa-cabinet-filing:after{content:"\10f64b"}.fad.fa-cactus:after{content:"\10f8a7"}.fad.fa-calculator:after{content:"\10f1ec"}.fad.fa-calculator-alt:after{content:"\10f64c"}.fad.fa-calendar:after{content:"\10f133"}.fad.fa-calendar-alt:after{content:"\10f073"}.fad.fa-calendar-check:after{content:"\10f274"}.fad.fa-calendar-day:after{content:"\10f783"}.fad.fa-calendar-edit:after{content:"\10f333"}.fad.fa-calendar-exclamation:after{content:"\10f334"}.fad.fa-calendar-minus:after{content:"\10f272"}.fad.fa-calendar-plus:after{content:"\10f271"}.fad.fa-calendar-star:after{content:"\10f736"}.fad.fa-calendar-times:after{content:"\10f273"}.fad.fa-calendar-week:after{content:"\10f784"}.fad.fa-camcorder:after{content:"\10f8a8"}.fad.fa-camera:after{content:"\10f030"}.fad.fa-camera-alt:after{content:"\10f332"}.fad.fa-camera-home:after{content:"\10f8fe"}.fad.fa-camera-movie:after{content:"\10f8a9"}.fad.fa-camera-polaroid:after{content:"\10f8aa"}.fad.fa-camera-retro:after{content:"\10f083"}.fad.fa-campfire:after{content:"\10f6ba"}.fad.fa-campground:after{content:"\10f6bb"}.fad.fa-candle-holder:after{content:"\10f6bc"}.fad.fa-candy-cane:after{content:"\10f786"}.fad.fa-candy-corn:after{content:"\10f6bd"}.fad.fa-cannabis:after{content:"\10f55f"}.fad.fa-capsules:after{content:"\10f46b"}.fad.fa-car:after{content:"\10f1b9"}.fad.fa-car-alt:after{content:"\10f5de"}.fad.fa-car-battery:after{content:"\10f5df"}.fad.fa-car-building:after{content:"\10f859"}.fad.fa-car-bump:after{content:"\10f5e0"}.fad.fa-car-bus:after{content:"\10f85a"}.fad.fa-car-crash:after{content:"\10f5e1"}.fad.fa-car-garage:after{content:"\10f5e2"}.fad.fa-car-mechanic:after{content:"\10f5e3"}.fad.fa-car-side:after{content:"\10f5e4"}.fad.fa-car-tilt:after{content:"\10f5e5"}.fad.fa-car-wash:after{content:"\10f5e6"}.fad.fa-caravan:after{content:"\10f8ff"}.fad.fa-caravan-alt:after{content:"\10f900"}.fad.fa-caret-circle-down:after{content:"\10f32d"}.fad.fa-caret-circle-left:after{content:"\10f32e"}.fad.fa-caret-circle-right:after{content:"\10f330"}.fad.fa-caret-circle-up:after{content:"\10f331"}.fad.fa-caret-down:after{content:"\10f0d7"}.fad.fa-caret-left:after{content:"\10f0d9"}.fad.fa-caret-right:after{content:"\10f0da"}.fad.fa-caret-square-down:after{content:"\10f150"}.fad.fa-caret-square-left:after{content:"\10f191"}.fad.fa-caret-square-right:after{content:"\10f152"}.fad.fa-caret-square-up:after{content:"\10f151"}.fad.fa-caret-up:after{content:"\10f0d8"}.fad.fa-carrot:after{content:"\10f787"}.fad.fa-cars:after{content:"\10f85b"}.fad.fa-cart-arrow-down:after{content:"\10f218"}.fad.fa-cart-plus:after{content:"\10f217"}.fad.fa-cash-register:after{content:"\10f788"}.fad.fa-cassette-tape:after{content:"\10f8ab"}.fad.fa-cat:after{content:"\10f6be"}.fad.fa-cat-space:after{content:"\10f901"}.fad.fa-cauldron:after{content:"\10f6bf"}.fad.fa-cctv:after{content:"\10f8ac"}.fad.fa-certificate:after{content:"\10f0a3"}.fad.fa-chair:after{content:"\10f6c0"}.fad.fa-chair-office:after{content:"\10f6c1"}.fad.fa-chalkboard:after{content:"\10f51b"}.fad.fa-chalkboard-teacher:after{content:"\10f51c"}.fad.fa-charging-station:after{content:"\10f5e7"}.fad.fa-chart-area:after{content:"\10f1fe"}.fad.fa-chart-bar:after{content:"\10f080"}.fad.fa-chart-line:after{content:"\10f201"}.fad.fa-chart-line-down:after{content:"\10f64d"}.fad.fa-chart-network:after{content:"\10f78a"}.fad.fa-chart-pie:after{content:"\10f200"}.fad.fa-chart-pie-alt:after{content:"\10f64e"}.fad.fa-chart-scatter:after{content:"\10f7ee"}.fad.fa-check:after{content:"\10f00c"}.fad.fa-check-circle:after{content:"\10f058"}.fad.fa-check-double:after{content:"\10f560"}.fad.fa-check-square:after{content:"\10f14a"}.fad.fa-cheese:after{content:"\10f7ef"}.fad.fa-cheese-swiss:after{content:"\10f7f0"}.fad.fa-cheeseburger:after{content:"\10f7f1"}.fad.fa-chess:after{content:"\10f439"}.fad.fa-chess-bishop:after{content:"\10f43a"}.fad.fa-chess-bishop-alt:after{content:"\10f43b"}.fad.fa-chess-board:after{content:"\10f43c"}.fad.fa-chess-clock:after{content:"\10f43d"}.fad.fa-chess-clock-alt:after{content:"\10f43e"}.fad.fa-chess-king:after{content:"\10f43f"}.fad.fa-chess-king-alt:after{content:"\10f440"}.fad.fa-chess-knight:after{content:"\10f441"}.fad.fa-chess-knight-alt:after{content:"\10f442"}.fad.fa-chess-pawn:after{content:"\10f443"}.fad.fa-chess-pawn-alt:after{content:"\10f444"}.fad.fa-chess-queen:after{content:"\10f445"}.fad.fa-chess-queen-alt:after{content:"\10f446"}.fad.fa-chess-rook:after{content:"\10f447"}.fad.fa-chess-rook-alt:after{content:"\10f448"}.fad.fa-chevron-circle-down:after{content:"\10f13a"}.fad.fa-chevron-circle-left:after{content:"\10f137"}.fad.fa-chevron-circle-right:after{content:"\10f138"}.fad.fa-chevron-circle-up:after{content:"\10f139"}.fad.fa-chevron-double-down:after{content:"\10f322"}.fad.fa-chevron-double-left:after{content:"\10f323"}.fad.fa-chevron-double-right:after{content:"\10f324"}.fad.fa-chevron-double-up:after{content:"\10f325"}.fad.fa-chevron-down:after{content:"\10f078"}.fad.fa-chevron-left:after{content:"\10f053"}.fad.fa-chevron-right:after{content:"\10f054"}.fad.fa-chevron-square-down:after{content:"\10f329"}.fad.fa-chevron-square-left:after{content:"\10f32a"}.fad.fa-chevron-square-right:after{content:"\10f32b"}.fad.fa-chevron-square-up:after{content:"\10f32c"}.fad.fa-chevron-up:after{content:"\10f077"}.fad.fa-child:after{content:"\10f1ae"}.fad.fa-chimney:after{content:"\10f78b"}.fad.fa-church:after{content:"\10f51d"}.fad.fa-circle:after{content:"\10f111"}.fad.fa-circle-notch:after{content:"\10f1ce"}.fad.fa-city:after{content:"\10f64f"}.fad.fa-clarinet:after{content:"\10f8ad"}.fad.fa-claw-marks:after{content:"\10f6c2"}.fad.fa-clinic-medical:after{content:"\10f7f2"}.fad.fa-clipboard:after{content:"\10f328"}.fad.fa-clipboard-check:after{content:"\10f46c"}.fad.fa-clipboard-list:after{content:"\10f46d"}.fad.fa-clipboard-list-check:after{content:"\10f737"}.fad.fa-clipboard-prescription:after{content:"\10f5e8"}.fad.fa-clipboard-user:after{content:"\10f7f3"}.fad.fa-clock:after{content:"\10f017"}.fad.fa-clone:after{content:"\10f24d"}.fad.fa-closed-captioning:after{content:"\10f20a"}.fad.fa-cloud:after{content:"\10f0c2"}.fad.fa-cloud-download:after{content:"\10f0ed"}.fad.fa-cloud-download-alt:after{content:"\10f381"}.fad.fa-cloud-drizzle:after{content:"\10f738"}.fad.fa-cloud-hail:after{content:"\10f739"}.fad.fa-cloud-hail-mixed:after{content:"\10f73a"}.fad.fa-cloud-meatball:after{content:"\10f73b"}.fad.fa-cloud-moon:after{content:"\10f6c3"}.fad.fa-cloud-moon-rain:after{content:"\10f73c"}.fad.fa-cloud-music:after{content:"\10f8ae"}.fad.fa-cloud-rain:after{content:"\10f73d"}.fad.fa-cloud-rainbow:after{content:"\10f73e"}.fad.fa-cloud-showers:after{content:"\10f73f"}.fad.fa-cloud-showers-heavy:after{content:"\10f740"}.fad.fa-cloud-sleet:after{content:"\10f741"}.fad.fa-cloud-snow:after{content:"\10f742"}.fad.fa-cloud-sun:after{content:"\10f6c4"}.fad.fa-cloud-sun-rain:after{content:"\10f743"}.fad.fa-cloud-upload:after{content:"\10f0ee"}.fad.fa-cloud-upload-alt:after{content:"\10f382"}.fad.fa-clouds:after{content:"\10f744"}.fad.fa-clouds-moon:after{content:"\10f745"}.fad.fa-clouds-sun:after{content:"\10f746"}.fad.fa-club:after{content:"\10f327"}.fad.fa-cocktail:after{content:"\10f561"}.fad.fa-code:after{content:"\10f121"}.fad.fa-code-branch:after{content:"\10f126"}.fad.fa-code-commit:after{content:"\10f386"}.fad.fa-code-merge:after{content:"\10f387"}.fad.fa-coffee:after{content:"\10f0f4"}.fad.fa-coffee-pot:after{content:"\10f902"}.fad.fa-coffee-togo:after{content:"\10f6c5"}.fad.fa-coffin:after{content:"\10f6c6"}.fad.fa-cog:after{content:"\10f013"}.fad.fa-cogs:after{content:"\10f085"}.fad.fa-coin:after{content:"\10f85c"}.fad.fa-coins:after{content:"\10f51e"}.fad.fa-columns:after{content:"\10f0db"}.fad.fa-comet:after{content:"\10f903"}.fad.fa-comment:after{content:"\10f075"}.fad.fa-comment-alt:after{content:"\10f27a"}.fad.fa-comment-alt-check:after{content:"\10f4a2"}.fad.fa-comment-alt-dollar:after{content:"\10f650"}.fad.fa-comment-alt-dots:after{content:"\10f4a3"}.fad.fa-comment-alt-edit:after{content:"\10f4a4"}.fad.fa-comment-alt-exclamation:after{content:"\10f4a5"}.fad.fa-comment-alt-lines:after{content:"\10f4a6"}.fad.fa-comment-alt-medical:after{content:"\10f7f4"}.fad.fa-comment-alt-minus:after{content:"\10f4a7"}.fad.fa-comment-alt-music:after{content:"\10f8af"}.fad.fa-comment-alt-plus:after{content:"\10f4a8"}.fad.fa-comment-alt-slash:after{content:"\10f4a9"}.fad.fa-comment-alt-smile:after{content:"\10f4aa"}.fad.fa-comment-alt-times:after{content:"\10f4ab"}.fad.fa-comment-check:after{content:"\10f4ac"}.fad.fa-comment-dollar:after{content:"\10f651"}.fad.fa-comment-dots:after{content:"\10f4ad"}.fad.fa-comment-edit:after{content:"\10f4ae"}.fad.fa-comment-exclamation:after{content:"\10f4af"}.fad.fa-comment-lines:after{content:"\10f4b0"}.fad.fa-comment-medical:after{content:"\10f7f5"}.fad.fa-comment-minus:after{content:"\10f4b1"}.fad.fa-comment-music:after{content:"\10f8b0"}.fad.fa-comment-plus:after{content:"\10f4b2"}.fad.fa-comment-slash:after{content:"\10f4b3"}.fad.fa-comment-smile:after{content:"\10f4b4"}.fad.fa-comment-times:after{content:"\10f4b5"}.fad.fa-comments:after{content:"\10f086"}.fad.fa-comments-alt:after{content:"\10f4b6"}.fad.fa-comments-alt-dollar:after{content:"\10f652"}.fad.fa-comments-dollar:after{content:"\10f653"}.fad.fa-compact-disc:after{content:"\10f51f"}.fad.fa-compass:after{content:"\10f14e"}.fad.fa-compass-slash:after{content:"\10f5e9"}.fad.fa-compress:after{content:"\10f066"}.fad.fa-compress-alt:after{content:"\10f422"}.fad.fa-compress-arrows-alt:after{content:"\10f78c"}.fad.fa-compress-wide:after{content:"\10f326"}.fad.fa-computer-classic:after{content:"\10f8b1"}.fad.fa-computer-speaker:after{content:"\10f8b2"}.fad.fa-concierge-bell:after{content:"\10f562"}.fad.fa-construction:after{content:"\10f85d"}.fad.fa-container-storage:after{content:"\10f4b7"}.fad.fa-conveyor-belt:after{content:"\10f46e"}.fad.fa-conveyor-belt-alt:after{content:"\10f46f"}.fad.fa-cookie:after{content:"\10f563"}.fad.fa-cookie-bite:after{content:"\10f564"}.fad.fa-copy:after{content:"\10f0c5"}.fad.fa-copyright:after{content:"\10f1f9"}.fad.fa-corn:after{content:"\10f6c7"}.fad.fa-couch:after{content:"\10f4b8"}.fad.fa-cow:after{content:"\10f6c8"}.fad.fa-cowbell:after{content:"\10f8b3"}.fad.fa-cowbell-more:after{content:"\10f8b4"}.fad.fa-credit-card:after{content:"\10f09d"}.fad.fa-credit-card-blank:after{content:"\10f389"}.fad.fa-credit-card-front:after{content:"\10f38a"}.fad.fa-cricket:after{content:"\10f449"}.fad.fa-croissant:after{content:"\10f7f6"}.fad.fa-crop:after{content:"\10f125"}.fad.fa-crop-alt:after{content:"\10f565"}.fad.fa-cross:after{content:"\10f654"}.fad.fa-crosshairs:after{content:"\10f05b"}.fad.fa-crow:after{content:"\10f520"}.fad.fa-crown:after{content:"\10f521"}.fad.fa-crutch:after{content:"\10f7f7"}.fad.fa-crutches:after{content:"\10f7f8"}.fad.fa-cube:after{content:"\10f1b2"}.fad.fa-cubes:after{content:"\10f1b3"}.fad.fa-curling:after{content:"\10f44a"}.fad.fa-cut:after{content:"\10f0c4"}.fad.fa-dagger:after{content:"\10f6cb"}.fad.fa-database:after{content:"\10f1c0"}.fad.fa-deaf:after{content:"\10f2a4"}.fad.fa-debug:after{content:"\10f7f9"}.fad.fa-deer:after{content:"\10f78e"}.fad.fa-deer-rudolph:after{content:"\10f78f"}.fad.fa-democrat:after{content:"\10f747"}.fad.fa-desktop:after{content:"\10f108"}.fad.fa-desktop-alt:after{content:"\10f390"}.fad.fa-dewpoint:after{content:"\10f748"}.fad.fa-dharmachakra:after{content:"\10f655"}.fad.fa-diagnoses:after{content:"\10f470"}.fad.fa-diamond:after{content:"\10f219"}.fad.fa-dice:after{content:"\10f522"}.fad.fa-dice-d10:after{content:"\10f6cd"}.fad.fa-dice-d12:after{content:"\10f6ce"}.fad.fa-dice-d20:after{content:"\10f6cf"}.fad.fa-dice-d4:after{content:"\10f6d0"}.fad.fa-dice-d6:after{content:"\10f6d1"}.fad.fa-dice-d8:after{content:"\10f6d2"}.fad.fa-dice-five:after{content:"\10f523"}.fad.fa-dice-four:after{content:"\10f524"}.fad.fa-dice-one:after{content:"\10f525"}.fad.fa-dice-six:after{content:"\10f526"}.fad.fa-dice-three:after{content:"\10f527"}.fad.fa-dice-two:after{content:"\10f528"}.fad.fa-digging:after{content:"\10f85e"}.fad.fa-digital-tachograph:after{content:"\10f566"}.fad.fa-diploma:after{content:"\10f5ea"}.fad.fa-directions:after{content:"\10f5eb"}.fad.fa-disc-drive:after{content:"\10f8b5"}.fad.fa-disease:after{content:"\10f7fa"}.fad.fa-divide:after{content:"\10f529"}.fad.fa-dizzy:after{content:"\10f567"}.fad.fa-dna:after{content:"\10f471"}.fad.fa-do-not-enter:after{content:"\10f5ec"}.fad.fa-dog:after{content:"\10f6d3"}.fad.fa-dog-leashed:after{content:"\10f6d4"}.fad.fa-dollar-sign:after{content:"\10f155"}.fad.fa-dolly:after{content:"\10f472"}.fad.fa-dolly-empty:after{content:"\10f473"}.fad.fa-dolly-flatbed:after{content:"\10f474"}.fad.fa-dolly-flatbed-alt:after{content:"\10f475"}.fad.fa-dolly-flatbed-empty:after{content:"\10f476"}.fad.fa-donate:after{content:"\10f4b9"}.fad.fa-door-closed:after{content:"\10f52a"}.fad.fa-door-open:after{content:"\10f52b"}.fad.fa-dot-circle:after{content:"\10f192"}.fad.fa-dove:after{content:"\10f4ba"}.fad.fa-download:after{content:"\10f019"}.fad.fa-drafting-compass:after{content:"\10f568"}.fad.fa-dragon:after{content:"\10f6d5"}.fad.fa-draw-circle:after{content:"\10f5ed"}.fad.fa-draw-polygon:after{content:"\10f5ee"}.fad.fa-draw-square:after{content:"\10f5ef"}.fad.fa-dreidel:after{content:"\10f792"}.fad.fa-drone:after{content:"\10f85f"}.fad.fa-drone-alt:after{content:"\10f860"}.fad.fa-drum:after{content:"\10f569"}.fad.fa-drum-steelpan:after{content:"\10f56a"}.fad.fa-drumstick:after{content:"\10f6d6"}.fad.fa-drumstick-bite:after{content:"\10f6d7"}.fad.fa-dryer:after{content:"\10f861"}.fad.fa-dryer-alt:after{content:"\10f862"}.fad.fa-duck:after{content:"\10f6d8"}.fad.fa-dumbbell:after{content:"\10f44b"}.fad.fa-dumpster:after{content:"\10f793"}.fad.fa-dumpster-fire:after{content:"\10f794"}.fad.fa-dungeon:after{content:"\10f6d9"}.fad.fa-ear:after{content:"\10f5f0"}.fad.fa-ear-muffs:after{content:"\10f795"}.fad.fa-eclipse:after{content:"\10f749"}.fad.fa-eclipse-alt:after{content:"\10f74a"}.fad.fa-edit:after{content:"\10f044"}.fad.fa-egg:after{content:"\10f7fb"}.fad.fa-egg-fried:after{content:"\10f7fc"}.fad.fa-eject:after{content:"\10f052"}.fad.fa-elephant:after{content:"\10f6da"}.fad.fa-ellipsis-h:after{content:"\10f141"}.fad.fa-ellipsis-h-alt:after{content:"\10f39b"}.fad.fa-ellipsis-v:after{content:"\10f142"}.fad.fa-ellipsis-v-alt:after{content:"\10f39c"}.fad.fa-empty-set:after{content:"\10f656"}.fad.fa-engine-warning:after{content:"\10f5f2"}.fad.fa-envelope:after{content:"\10f0e0"}.fad.fa-envelope-open:after{content:"\10f2b6"}.fad.fa-envelope-open-dollar:after{content:"\10f657"}.fad.fa-envelope-open-text:after{content:"\10f658"}.fad.fa-envelope-square:after{content:"\10f199"}.fad.fa-equals:after{content:"\10f52c"}.fad.fa-eraser:after{content:"\10f12d"}.fad.fa-ethernet:after{content:"\10f796"}.fad.fa-euro-sign:after{content:"\10f153"}.fad.fa-exchange:after{content:"\10f0ec"}.fad.fa-exchange-alt:after{content:"\10f362"}.fad.fa-exclamation:after{content:"\10f12a"}.fad.fa-exclamation-circle:after{content:"\10f06a"}.fad.fa-exclamation-square:after{content:"\10f321"}.fad.fa-exclamation-triangle:after{content:"\10f071"}.fad.fa-expand:after{content:"\10f065"}.fad.fa-expand-alt:after{content:"\10f424"}.fad.fa-expand-arrows:after{content:"\10f31d"}.fad.fa-expand-arrows-alt:after{content:"\10f31e"}.fad.fa-expand-wide:after{content:"\10f320"}.fad.fa-external-link:after{content:"\10f08e"}.fad.fa-external-link-alt:after{content:"\10f35d"}.fad.fa-external-link-square:after{content:"\10f14c"}.fad.fa-external-link-square-alt:after{content:"\10f360"}.fad.fa-eye:after{content:"\10f06e"}.fad.fa-eye-dropper:after{content:"\10f1fb"}.fad.fa-eye-evil:after{content:"\10f6db"}.fad.fa-eye-slash:after{content:"\10f070"}.fad.fa-fan:after{content:"\10f863"}.fad.fa-fan-table:after{content:"\10f904"}.fad.fa-farm:after{content:"\10f864"}.fad.fa-fast-backward:after{content:"\10f049"}.fad.fa-fast-forward:after{content:"\10f050"}.fad.fa-faucet:after{content:"\10f905"}.fad.fa-faucet-drip:after{content:"\10f906"}.fad.fa-fax:after{content:"\10f1ac"}.fad.fa-feather:after{content:"\10f52d"}.fad.fa-feather-alt:after{content:"\10f56b"}.fad.fa-female:after{content:"\10f182"}.fad.fa-field-hockey:after{content:"\10f44c"}.fad.fa-fighter-jet:after{content:"\10f0fb"}.fad.fa-file:after{content:"\10f15b"}.fad.fa-file-alt:after{content:"\10f15c"}.fad.fa-file-archive:after{content:"\10f1c6"}.fad.fa-file-audio:after{content:"\10f1c7"}.fad.fa-file-certificate:after{content:"\10f5f3"}.fad.fa-file-chart-line:after{content:"\10f659"}.fad.fa-file-chart-pie:after{content:"\10f65a"}.fad.fa-file-check:after{content:"\10f316"}.fad.fa-file-code:after{content:"\10f1c9"}.fad.fa-file-contract:after{content:"\10f56c"}.fad.fa-file-csv:after{content:"\10f6dd"}.fad.fa-file-download:after{content:"\10f56d"}.fad.fa-file-edit:after{content:"\10f31c"}.fad.fa-file-excel:after{content:"\10f1c3"}.fad.fa-file-exclamation:after{content:"\10f31a"}.fad.fa-file-export:after{content:"\10f56e"}.fad.fa-file-image:after{content:"\10f1c5"}.fad.fa-file-import:after{content:"\10f56f"}.fad.fa-file-invoice:after{content:"\10f570"}.fad.fa-file-invoice-dollar:after{content:"\10f571"}.fad.fa-file-medical:after{content:"\10f477"}.fad.fa-file-medical-alt:after{content:"\10f478"}.fad.fa-file-minus:after{content:"\10f318"}.fad.fa-file-music:after{content:"\10f8b6"}.fad.fa-file-pdf:after{content:"\10f1c1"}.fad.fa-file-plus:after{content:"\10f319"}.fad.fa-file-powerpoint:after{content:"\10f1c4"}.fad.fa-file-prescription:after{content:"\10f572"}.fad.fa-file-search:after{content:"\10f865"}.fad.fa-file-signature:after{content:"\10f573"}.fad.fa-file-spreadsheet:after{content:"\10f65b"}.fad.fa-file-times:after{content:"\10f317"}.fad.fa-file-upload:after{content:"\10f574"}.fad.fa-file-user:after{content:"\10f65c"}.fad.fa-file-video:after{content:"\10f1c8"}.fad.fa-file-word:after{content:"\10f1c2"}.fad.fa-files-medical:after{content:"\10f7fd"}.fad.fa-fill:after{content:"\10f575"}.fad.fa-fill-drip:after{content:"\10f576"}.fad.fa-film:after{content:"\10f008"}.fad.fa-film-alt:after{content:"\10f3a0"}.fad.fa-film-canister:after{content:"\10f8b7"}.fad.fa-filter:after{content:"\10f0b0"}.fad.fa-fingerprint:after{content:"\10f577"}.fad.fa-fire:after{content:"\10f06d"}.fad.fa-fire-alt:after{content:"\10f7e4"}.fad.fa-fire-extinguisher:after{content:"\10f134"}.fad.fa-fire-smoke:after{content:"\10f74b"}.fad.fa-fireplace:after{content:"\10f79a"}.fad.fa-first-aid:after{content:"\10f479"}.fad.fa-fish:after{content:"\10f578"}.fad.fa-fish-cooked:after{content:"\10f7fe"}.fad.fa-fist-raised:after{content:"\10f6de"}.fad.fa-flag:after{content:"\10f024"}.fad.fa-flag-alt:after{content:"\10f74c"}.fad.fa-flag-checkered:after{content:"\10f11e"}.fad.fa-flag-usa:after{content:"\10f74d"}.fad.fa-flame:after{content:"\10f6df"}.fad.fa-flashlight:after{content:"\10f8b8"}.fad.fa-flask:after{content:"\10f0c3"}.fad.fa-flask-poison:after{content:"\10f6e0"}.fad.fa-flask-potion:after{content:"\10f6e1"}.fad.fa-flower:after{content:"\10f7ff"}.fad.fa-flower-daffodil:after{content:"\10f800"}.fad.fa-flower-tulip:after{content:"\10f801"}.fad.fa-flushed:after{content:"\10f579"}.fad.fa-flute:after{content:"\10f8b9"}.fad.fa-flux-capacitor:after{content:"\10f8ba"}.fad.fa-fog:after{content:"\10f74e"}.fad.fa-folder:after{content:"\10f07b"}.fad.fa-folder-minus:after{content:"\10f65d"}.fad.fa-folder-open:after{content:"\10f07c"}.fad.fa-folder-plus:after{content:"\10f65e"}.fad.fa-folder-times:after{content:"\10f65f"}.fad.fa-folder-tree:after{content:"\10f802"}.fad.fa-folders:after{content:"\10f660"}.fad.fa-font:after{content:"\10f031"}.fad.fa-font-awesome-logo-full:after{content:"\10f4e6"}.fad.fa-font-case:after{content:"\10f866"}.fad.fa-football-ball:after{content:"\10f44e"}.fad.fa-football-helmet:after{content:"\10f44f"}.fad.fa-forklift:after{content:"\10f47a"}.fad.fa-forward:after{content:"\10f04e"}.fad.fa-fragile:after{content:"\10f4bb"}.fad.fa-french-fries:after{content:"\10f803"}.fad.fa-frog:after{content:"\10f52e"}.fad.fa-frosty-head:after{content:"\10f79b"}.fad.fa-frown:after{content:"\10f119"}.fad.fa-frown-open:after{content:"\10f57a"}.fad.fa-function:after{content:"\10f661"}.fad.fa-funnel-dollar:after{content:"\10f662"}.fad.fa-futbol:after{content:"\10f1e3"}.fad.fa-galaxy:after{content:"\10f908"}.fad.fa-game-board:after{content:"\10f867"}.fad.fa-game-board-alt:after{content:"\10f868"}.fad.fa-game-console-handheld:after{content:"\10f8bb"}.fad.fa-gamepad:after{content:"\10f11b"}.fad.fa-gamepad-alt:after{content:"\10f8bc"}.fad.fa-garage:after{content:"\10f909"}.fad.fa-garage-car:after{content:"\10f90a"}.fad.fa-garage-open:after{content:"\10f90b"}.fad.fa-gas-pump:after{content:"\10f52f"}.fad.fa-gas-pump-slash:after{content:"\10f5f4"}.fad.fa-gavel:after{content:"\10f0e3"}.fad.fa-gem:after{content:"\10f3a5"}.fad.fa-genderless:after{content:"\10f22d"}.fad.fa-ghost:after{content:"\10f6e2"}.fad.fa-gift:after{content:"\10f06b"}.fad.fa-gift-card:after{content:"\10f663"}.fad.fa-gifts:after{content:"\10f79c"}.fad.fa-gingerbread-man:after{content:"\10f79d"}.fad.fa-glass:after{content:"\10f804"}.fad.fa-glass-champagne:after{content:"\10f79e"}.fad.fa-glass-cheers:after{content:"\10f79f"}.fad.fa-glass-citrus:after{content:"\10f869"}.fad.fa-glass-martini:after{content:"\10f000"}.fad.fa-glass-martini-alt:after{content:"\10f57b"}.fad.fa-glass-whiskey:after{content:"\10f7a0"}.fad.fa-glass-whiskey-rocks:after{content:"\10f7a1"}.fad.fa-glasses:after{content:"\10f530"}.fad.fa-glasses-alt:after{content:"\10f5f5"}.fad.fa-globe:after{content:"\10f0ac"}.fad.fa-globe-africa:after{content:"\10f57c"}.fad.fa-globe-americas:after{content:"\10f57d"}.fad.fa-globe-asia:after{content:"\10f57e"}.fad.fa-globe-europe:after{content:"\10f7a2"}.fad.fa-globe-snow:after{content:"\10f7a3"}.fad.fa-globe-stand:after{content:"\10f5f6"}.fad.fa-golf-ball:after{content:"\10f450"}.fad.fa-golf-club:after{content:"\10f451"}.fad.fa-gopuram:after{content:"\10f664"}.fad.fa-graduation-cap:after{content:"\10f19d"}.fad.fa-gramophone:after{content:"\10f8bd"}.fad.fa-greater-than:after{content:"\10f531"}.fad.fa-greater-than-equal:after{content:"\10f532"}.fad.fa-grimace:after{content:"\10f57f"}.fad.fa-grin:after{content:"\10f580"}.fad.fa-grin-alt:after{content:"\10f581"}.fad.fa-grin-beam:after{content:"\10f582"}.fad.fa-grin-beam-sweat:after{content:"\10f583"}.fad.fa-grin-hearts:after{content:"\10f584"}.fad.fa-grin-squint:after{content:"\10f585"}.fad.fa-grin-squint-tears:after{content:"\10f586"}.fad.fa-grin-stars:after{content:"\10f587"}.fad.fa-grin-tears:after{content:"\10f588"}.fad.fa-grin-tongue:after{content:"\10f589"}.fad.fa-grin-tongue-squint:after{content:"\10f58a"}.fad.fa-grin-tongue-wink:after{content:"\10f58b"}.fad.fa-grin-wink:after{content:"\10f58c"}.fad.fa-grip-horizontal:after{content:"\10f58d"}.fad.fa-grip-lines:after{content:"\10f7a4"}.fad.fa-grip-lines-vertical:after{content:"\10f7a5"}.fad.fa-grip-vertical:after{content:"\10f58e"}.fad.fa-guitar:after{content:"\10f7a6"}.fad.fa-guitar-electric:after{content:"\10f8be"}.fad.fa-guitars:after{content:"\10f8bf"}.fad.fa-h-square:after{content:"\10f0fd"}.fad.fa-h1:after{content:"\10f313"}.fad.fa-h2:after{content:"\10f314"}.fad.fa-h3:after{content:"\10f315"}.fad.fa-h4:after{content:"\10f86a"}.fad.fa-hamburger:after{content:"\10f805"}.fad.fa-hammer:after{content:"\10f6e3"}.fad.fa-hammer-war:after{content:"\10f6e4"}.fad.fa-hamsa:after{content:"\10f665"}.fad.fa-hand-heart:after{content:"\10f4bc"}.fad.fa-hand-holding:after{content:"\10f4bd"}.fad.fa-hand-holding-box:after{content:"\10f47b"}.fad.fa-hand-holding-heart:after{content:"\10f4be"}.fad.fa-hand-holding-magic:after{content:"\10f6e5"}.fad.fa-hand-holding-seedling:after{content:"\10f4bf"}.fad.fa-hand-holding-usd:after{content:"\10f4c0"}.fad.fa-hand-holding-water:after{content:"\10f4c1"}.fad.fa-hand-lizard:after{content:"\10f258"}.fad.fa-hand-middle-finger:after{content:"\10f806"}.fad.fa-hand-paper:after{content:"\10f256"}.fad.fa-hand-peace:after{content:"\10f25b"}.fad.fa-hand-point-down:after{content:"\10f0a7"}.fad.fa-hand-point-left:after{content:"\10f0a5"}.fad.fa-hand-point-right:after{content:"\10f0a4"}.fad.fa-hand-point-up:after{content:"\10f0a6"}.fad.fa-hand-pointer:after{content:"\10f25a"}.fad.fa-hand-receiving:after{content:"\10f47c"}.fad.fa-hand-rock:after{content:"\10f255"}.fad.fa-hand-scissors:after{content:"\10f257"}.fad.fa-hand-spock:after{content:"\10f259"}.fad.fa-hands:after{content:"\10f4c2"}.fad.fa-hands-heart:after{content:"\10f4c3"}.fad.fa-hands-helping:after{content:"\10f4c4"}.fad.fa-hands-usd:after{content:"\10f4c5"}.fad.fa-handshake:after{content:"\10f2b5"}.fad.fa-handshake-alt:after{content:"\10f4c6"}.fad.fa-hanukiah:after{content:"\10f6e6"}.fad.fa-hard-hat:after{content:"\10f807"}.fad.fa-hashtag:after{content:"\10f292"}.fad.fa-hat-chef:after{content:"\10f86b"}.fad.fa-hat-cowboy:after{content:"\10f8c0"}.fad.fa-hat-cowboy-side:after{content:"\10f8c1"}.fad.fa-hat-santa:after{content:"\10f7a7"}.fad.fa-hat-winter:after{content:"\10f7a8"}.fad.fa-hat-witch:after{content:"\10f6e7"}.fad.fa-hat-wizard:after{content:"\10f6e8"}.fad.fa-hdd:after{content:"\10f0a0"}.fad.fa-head-side:after{content:"\10f6e9"}.fad.fa-head-side-brain:after{content:"\10f808"}.fad.fa-head-side-headphones:after{content:"\10f8c2"}.fad.fa-head-side-medical:after{content:"\10f809"}.fad.fa-head-vr:after{content:"\10f6ea"}.fad.fa-heading:after{content:"\10f1dc"}.fad.fa-headphones:after{content:"\10f025"}.fad.fa-headphones-alt:after{content:"\10f58f"}.fad.fa-headset:after{content:"\10f590"}.fad.fa-heart:after{content:"\10f004"}.fad.fa-heart-broken:after{content:"\10f7a9"}.fad.fa-heart-circle:after{content:"\10f4c7"}.fad.fa-heart-rate:after{content:"\10f5f8"}.fad.fa-heart-square:after{content:"\10f4c8"}.fad.fa-heartbeat:after{content:"\10f21e"}.fad.fa-heat:after{content:"\10f90c"}.fad.fa-helicopter:after{content:"\10f533"}.fad.fa-helmet-battle:after{content:"\10f6eb"}.fad.fa-hexagon:after{content:"\10f312"}.fad.fa-highlighter:after{content:"\10f591"}.fad.fa-hiking:after{content:"\10f6ec"}.fad.fa-hippo:after{content:"\10f6ed"}.fad.fa-history:after{content:"\10f1da"}.fad.fa-hockey-mask:after{content:"\10f6ee"}.fad.fa-hockey-puck:after{content:"\10f453"}.fad.fa-hockey-sticks:after{content:"\10f454"}.fad.fa-holly-berry:after{content:"\10f7aa"}.fad.fa-home:after{content:"\10f015"}.fad.fa-home-alt:after{content:"\10f80a"}.fad.fa-home-heart:after{content:"\10f4c9"}.fad.fa-home-lg:after{content:"\10f80b"}.fad.fa-home-lg-alt:after{content:"\10f80c"}.fad.fa-hood-cloak:after{content:"\10f6ef"}.fad.fa-horizontal-rule:after{content:"\10f86c"}.fad.fa-horse:after{content:"\10f6f0"}.fad.fa-horse-head:after{content:"\10f7ab"}.fad.fa-horse-saddle:after{content:"\10f8c3"}.fad.fa-hospital:after{content:"\10f0f8"}.fad.fa-hospital-alt:after{content:"\10f47d"}.fad.fa-hospital-symbol:after{content:"\10f47e"}.fad.fa-hospital-user:after{content:"\10f80d"}.fad.fa-hospitals:after{content:"\10f80e"}.fad.fa-hot-tub:after{content:"\10f593"}.fad.fa-hotdog:after{content:"\10f80f"}.fad.fa-hotel:after{content:"\10f594"}.fad.fa-hourglass:after{content:"\10f254"}.fad.fa-hourglass-end:after{content:"\10f253"}.fad.fa-hourglass-half:after{content:"\10f252"}.fad.fa-hourglass-start:after{content:"\10f251"}.fad.fa-house:after{content:"\10f90d"}.fad.fa-house-damage:after{content:"\10f6f1"}.fad.fa-house-day:after{content:"\10f90e"}.fad.fa-house-flood:after{content:"\10f74f"}.fad.fa-house-leave:after{content:"\10f90f"}.fad.fa-house-night:after{content:"\10f910"}.fad.fa-house-return:after{content:"\10f911"}.fad.fa-house-signal:after{content:"\10f912"}.fad.fa-hryvnia:after{content:"\10f6f2"}.fad.fa-humidity:after{content:"\10f750"}.fad.fa-hurricane:after{content:"\10f751"}.fad.fa-i-cursor:after{content:"\10f246"}.fad.fa-ice-cream:after{content:"\10f810"}.fad.fa-ice-skate:after{content:"\10f7ac"}.fad.fa-icicles:after{content:"\10f7ad"}.fad.fa-icons:after{content:"\10f86d"}.fad.fa-icons-alt:after{content:"\10f86e"}.fad.fa-id-badge:after{content:"\10f2c1"}.fad.fa-id-card:after{content:"\10f2c2"}.fad.fa-id-card-alt:after{content:"\10f47f"}.fad.fa-igloo:after{content:"\10f7ae"}.fad.fa-image:after{content:"\10f03e"}.fad.fa-image-polaroid:after{content:"\10f8c4"}.fad.fa-images:after{content:"\10f302"}.fad.fa-inbox:after{content:"\10f01c"}.fad.fa-inbox-in:after{content:"\10f310"}.fad.fa-inbox-out:after{content:"\10f311"}.fad.fa-indent:after{content:"\10f03c"}.fad.fa-industry:after{content:"\10f275"}.fad.fa-industry-alt:after{content:"\10f3b3"}.fad.fa-infinity:after{content:"\10f534"}.fad.fa-info:after{content:"\10f129"}.fad.fa-info-circle:after{content:"\10f05a"}.fad.fa-info-square:after{content:"\10f30f"}.fad.fa-inhaler:after{content:"\10f5f9"}.fad.fa-integral:after{content:"\10f667"}.fad.fa-intersection:after{content:"\10f668"}.fad.fa-inventory:after{content:"\10f480"}.fad.fa-island-tropical:after{content:"\10f811"}.fad.fa-italic:after{content:"\10f033"}.fad.fa-jack-o-lantern:after{content:"\10f30e"}.fad.fa-jedi:after{content:"\10f669"}.fad.fa-joint:after{content:"\10f595"}.fad.fa-journal-whills:after{content:"\10f66a"}.fad.fa-joystick:after{content:"\10f8c5"}.fad.fa-jug:after{content:"\10f8c6"}.fad.fa-kaaba:after{content:"\10f66b"}.fad.fa-kazoo:after{content:"\10f8c7"}.fad.fa-kerning:after{content:"\10f86f"}.fad.fa-key:after{content:"\10f084"}.fad.fa-key-skeleton:after{content:"\10f6f3"}.fad.fa-keyboard:after{content:"\10f11c"}.fad.fa-keynote:after{content:"\10f66c"}.fad.fa-khanda:after{content:"\10f66d"}.fad.fa-kidneys:after{content:"\10f5fb"}.fad.fa-kiss:after{content:"\10f596"}.fad.fa-kiss-beam:after{content:"\10f597"}.fad.fa-kiss-wink-heart:after{content:"\10f598"}.fad.fa-kite:after{content:"\10f6f4"}.fad.fa-kiwi-bird:after{content:"\10f535"}.fad.fa-knife-kitchen:after{content:"\10f6f5"}.fad.fa-lambda:after{content:"\10f66e"}.fad.fa-lamp:after{content:"\10f4ca"}.fad.fa-lamp-desk:after{content:"\10f914"}.fad.fa-lamp-floor:after{content:"\10f915"}.fad.fa-landmark:after{content:"\10f66f"}.fad.fa-landmark-alt:after{content:"\10f752"}.fad.fa-language:after{content:"\10f1ab"}.fad.fa-laptop:after{content:"\10f109"}.fad.fa-laptop-code:after{content:"\10f5fc"}.fad.fa-laptop-medical:after{content:"\10f812"}.fad.fa-lasso:after{content:"\10f8c8"}.fad.fa-laugh:after{content:"\10f599"}.fad.fa-laugh-beam:after{content:"\10f59a"}.fad.fa-laugh-squint:after{content:"\10f59b"}.fad.fa-laugh-wink:after{content:"\10f59c"}.fad.fa-layer-group:after{content:"\10f5fd"}.fad.fa-layer-minus:after{content:"\10f5fe"}.fad.fa-layer-plus:after{content:"\10f5ff"}.fad.fa-leaf:after{content:"\10f06c"}.fad.fa-leaf-heart:after{content:"\10f4cb"}.fad.fa-leaf-maple:after{content:"\10f6f6"}.fad.fa-leaf-oak:after{content:"\10f6f7"}.fad.fa-lemon:after{content:"\10f094"}.fad.fa-less-than:after{content:"\10f536"}.fad.fa-less-than-equal:after{content:"\10f537"}.fad.fa-level-down:after{content:"\10f149"}.fad.fa-level-down-alt:after{content:"\10f3be"}.fad.fa-level-up:after{content:"\10f148"}.fad.fa-level-up-alt:after{content:"\10f3bf"}.fad.fa-life-ring:after{content:"\10f1cd"}.fad.fa-light-ceiling:after{content:"\10f916"}.fad.fa-light-switch:after{content:"\10f917"}.fad.fa-light-switch-off:after{content:"\10f918"}.fad.fa-light-switch-on:after{content:"\10f919"}.fad.fa-lightbulb:after{content:"\10f0eb"}.fad.fa-lightbulb-dollar:after{content:"\10f670"}.fad.fa-lightbulb-exclamation:after{content:"\10f671"}.fad.fa-lightbulb-on:after{content:"\10f672"}.fad.fa-lightbulb-slash:after{content:"\10f673"}.fad.fa-lights-holiday:after{content:"\10f7b2"}.fad.fa-line-columns:after{content:"\10f870"}.fad.fa-line-height:after{content:"\10f871"}.fad.fa-link:after{content:"\10f0c1"}.fad.fa-lips:after{content:"\10f600"}.fad.fa-lira-sign:after{content:"\10f195"}.fad.fa-list:after{content:"\10f03a"}.fad.fa-list-alt:after{content:"\10f022"}.fad.fa-list-music:after{content:"\10f8c9"}.fad.fa-list-ol:after{content:"\10f0cb"}.fad.fa-list-ul:after{content:"\10f0ca"}.fad.fa-location:after{content:"\10f601"}.fad.fa-location-arrow:after{content:"\10f124"}.fad.fa-location-circle:after{content:"\10f602"}.fad.fa-location-slash:after{content:"\10f603"}.fad.fa-lock:after{content:"\10f023"}.fad.fa-lock-alt:after{content:"\10f30d"}.fad.fa-lock-open:after{content:"\10f3c1"}.fad.fa-lock-open-alt:after{content:"\10f3c2"}.fad.fa-long-arrow-alt-down:after{content:"\10f309"}.fad.fa-long-arrow-alt-left:after{content:"\10f30a"}.fad.fa-long-arrow-alt-right:after{content:"\10f30b"}.fad.fa-long-arrow-alt-up:after{content:"\10f30c"}.fad.fa-long-arrow-down:after{content:"\10f175"}.fad.fa-long-arrow-left:after{content:"\10f177"}.fad.fa-long-arrow-right:after{content:"\10f178"}.fad.fa-long-arrow-up:after{content:"\10f176"}.fad.fa-loveseat:after{content:"\10f4cc"}.fad.fa-low-vision:after{content:"\10f2a8"}.fad.fa-luchador:after{content:"\10f455"}.fad.fa-luggage-cart:after{content:"\10f59d"}.fad.fa-lungs:after{content:"\10f604"}.fad.fa-mace:after{content:"\10f6f8"}.fad.fa-magic:after{content:"\10f0d0"}.fad.fa-magnet:after{content:"\10f076"}.fad.fa-mail-bulk:after{content:"\10f674"}.fad.fa-mailbox:after{content:"\10f813"}.fad.fa-male:after{content:"\10f183"}.fad.fa-mandolin:after{content:"\10f6f9"}.fad.fa-map:after{content:"\10f279"}.fad.fa-map-marked:after{content:"\10f59f"}.fad.fa-map-marked-alt:after{content:"\10f5a0"}.fad.fa-map-marker:after{content:"\10f041"}.fad.fa-map-marker-alt:after{content:"\10f3c5"}.fad.fa-map-marker-alt-slash:after{content:"\10f605"}.fad.fa-map-marker-check:after{content:"\10f606"}.fad.fa-map-marker-edit:after{content:"\10f607"}.fad.fa-map-marker-exclamation:after{content:"\10f608"}.fad.fa-map-marker-minus:after{content:"\10f609"}.fad.fa-map-marker-plus:after{content:"\10f60a"}.fad.fa-map-marker-question:after{content:"\10f60b"}.fad.fa-map-marker-slash:after{content:"\10f60c"}.fad.fa-map-marker-smile:after{content:"\10f60d"}.fad.fa-map-marker-times:after{content:"\10f60e"}.fad.fa-map-pin:after{content:"\10f276"}.fad.fa-map-signs:after{content:"\10f277"}.fad.fa-marker:after{content:"\10f5a1"}.fad.fa-mars:after{content:"\10f222"}.fad.fa-mars-double:after{content:"\10f227"}.fad.fa-mars-stroke:after{content:"\10f229"}.fad.fa-mars-stroke-h:after{content:"\10f22b"}.fad.fa-mars-stroke-v:after{content:"\10f22a"}.fad.fa-mask:after{content:"\10f6fa"}.fad.fa-meat:after{content:"\10f814"}.fad.fa-medal:after{content:"\10f5a2"}.fad.fa-medkit:after{content:"\10f0fa"}.fad.fa-megaphone:after{content:"\10f675"}.fad.fa-meh:after{content:"\10f11a"}.fad.fa-meh-blank:after{content:"\10f5a4"}.fad.fa-meh-rolling-eyes:after{content:"\10f5a5"}.fad.fa-memory:after{content:"\10f538"}.fad.fa-menorah:after{content:"\10f676"}.fad.fa-mercury:after{content:"\10f223"}.fad.fa-meteor:after{content:"\10f753"}.fad.fa-microchip:after{content:"\10f2db"}.fad.fa-microphone:after{content:"\10f130"}.fad.fa-microphone-alt:after{content:"\10f3c9"}.fad.fa-microphone-alt-slash:after{content:"\10f539"}.fad.fa-microphone-slash:after{content:"\10f131"}.fad.fa-microphone-stand:after{content:"\10f8cb"}.fad.fa-microscope:after{content:"\10f610"}.fad.fa-microwave:after{content:"\10f91b"}.fad.fa-mind-share:after{content:"\10f677"}.fad.fa-minus:after{content:"\10f068"}.fad.fa-minus-circle:after{content:"\10f056"}.fad.fa-minus-hexagon:after{content:"\10f307"}.fad.fa-minus-octagon:after{content:"\10f308"}.fad.fa-minus-square:after{content:"\10f146"}.fad.fa-mistletoe:after{content:"\10f7b4"}.fad.fa-mitten:after{content:"\10f7b5"}.fad.fa-mobile:after{content:"\10f10b"}.fad.fa-mobile-alt:after{content:"\10f3cd"}.fad.fa-mobile-android:after{content:"\10f3ce"}.fad.fa-mobile-android-alt:after{content:"\10f3cf"}.fad.fa-money-bill:after{content:"\10f0d6"}.fad.fa-money-bill-alt:after{content:"\10f3d1"}.fad.fa-money-bill-wave:after{content:"\10f53a"}.fad.fa-money-bill-wave-alt:after{content:"\10f53b"}.fad.fa-money-check:after{content:"\10f53c"}.fad.fa-money-check-alt:after{content:"\10f53d"}.fad.fa-money-check-edit:after{content:"\10f872"}.fad.fa-money-check-edit-alt:after{content:"\10f873"}.fad.fa-monitor-heart-rate:after{content:"\10f611"}.fad.fa-monkey:after{content:"\10f6fb"}.fad.fa-monument:after{content:"\10f5a6"}.fad.fa-moon:after{content:"\10f186"}.fad.fa-moon-cloud:after{content:"\10f754"}.fad.fa-moon-stars:after{content:"\10f755"}.fad.fa-mortar-pestle:after{content:"\10f5a7"}.fad.fa-mosque:after{content:"\10f678"}.fad.fa-motorcycle:after{content:"\10f21c"}.fad.fa-mountain:after{content:"\10f6fc"}.fad.fa-mountains:after{content:"\10f6fd"}.fad.fa-mouse:after{content:"\10f8cc"}.fad.fa-mouse-alt:after{content:"\10f8cd"}.fad.fa-mouse-pointer:after{content:"\10f245"}.fad.fa-mp3-player:after{content:"\10f8ce"}.fad.fa-mug:after{content:"\10f874"}.fad.fa-mug-hot:after{content:"\10f7b6"}.fad.fa-mug-marshmallows:after{content:"\10f7b7"}.fad.fa-mug-tea:after{content:"\10f875"}.fad.fa-music:after{content:"\10f001"}.fad.fa-music-alt:after{content:"\10f8cf"}.fad.fa-music-alt-slash:after{content:"\10f8d0"}.fad.fa-music-slash:after{content:"\10f8d1"}.fad.fa-narwhal:after{content:"\10f6fe"}.fad.fa-network-wired:after{content:"\10f6ff"}.fad.fa-neuter:after{content:"\10f22c"}.fad.fa-newspaper:after{content:"\10f1ea"}.fad.fa-not-equal:after{content:"\10f53e"}.fad.fa-notes-medical:after{content:"\10f481"}.fad.fa-object-group:after{content:"\10f247"}.fad.fa-object-ungroup:after{content:"\10f248"}.fad.fa-octagon:after{content:"\10f306"}.fad.fa-oil-can:after{content:"\10f613"}.fad.fa-oil-temp:after{content:"\10f614"}.fad.fa-om:after{content:"\10f679"}.fad.fa-omega:after{content:"\10f67a"}.fad.fa-ornament:after{content:"\10f7b8"}.fad.fa-otter:after{content:"\10f700"}.fad.fa-outdent:after{content:"\10f03b"}.fad.fa-outlet:after{content:"\10f91c"}.fad.fa-oven:after{content:"\10f91d"}.fad.fa-overline:after{content:"\10f876"}.fad.fa-page-break:after{content:"\10f877"}.fad.fa-pager:after{content:"\10f815"}.fad.fa-paint-brush:after{content:"\10f1fc"}.fad.fa-paint-brush-alt:after{content:"\10f5a9"}.fad.fa-paint-roller:after{content:"\10f5aa"}.fad.fa-palette:after{content:"\10f53f"}.fad.fa-pallet:after{content:"\10f482"}.fad.fa-pallet-alt:after{content:"\10f483"}.fad.fa-paper-plane:after{content:"\10f1d8"}.fad.fa-paperclip:after{content:"\10f0c6"}.fad.fa-parachute-box:after{content:"\10f4cd"}.fad.fa-paragraph:after{content:"\10f1dd"}.fad.fa-paragraph-rtl:after{content:"\10f878"}.fad.fa-parking:after{content:"\10f540"}.fad.fa-parking-circle:after{content:"\10f615"}.fad.fa-parking-circle-slash:after{content:"\10f616"}.fad.fa-parking-slash:after{content:"\10f617"}.fad.fa-passport:after{content:"\10f5ab"}.fad.fa-pastafarianism:after{content:"\10f67b"}.fad.fa-paste:after{content:"\10f0ea"}.fad.fa-pause:after{content:"\10f04c"}.fad.fa-pause-circle:after{content:"\10f28b"}.fad.fa-paw:after{content:"\10f1b0"}.fad.fa-paw-alt:after{content:"\10f701"}.fad.fa-paw-claws:after{content:"\10f702"}.fad.fa-peace:after{content:"\10f67c"}.fad.fa-pegasus:after{content:"\10f703"}.fad.fa-pen:after{content:"\10f304"}.fad.fa-pen-alt:after{content:"\10f305"}.fad.fa-pen-fancy:after{content:"\10f5ac"}.fad.fa-pen-nib:after{content:"\10f5ad"}.fad.fa-pen-square:after{content:"\10f14b"}.fad.fa-pencil:after{content:"\10f040"}.fad.fa-pencil-alt:after{content:"\10f303"}.fad.fa-pencil-paintbrush:after{content:"\10f618"}.fad.fa-pencil-ruler:after{content:"\10f5ae"}.fad.fa-pennant:after{content:"\10f456"}.fad.fa-people-carry:after{content:"\10f4ce"}.fad.fa-pepper-hot:after{content:"\10f816"}.fad.fa-percent:after{content:"\10f295"}.fad.fa-percentage:after{content:"\10f541"}.fad.fa-person-booth:after{content:"\10f756"}.fad.fa-person-carry:after{content:"\10f4cf"}.fad.fa-person-dolly:after{content:"\10f4d0"}.fad.fa-person-dolly-empty:after{content:"\10f4d1"}.fad.fa-person-sign:after{content:"\10f757"}.fad.fa-phone:after{content:"\10f095"}.fad.fa-phone-alt:after{content:"\10f879"}.fad.fa-phone-laptop:after{content:"\10f87a"}.fad.fa-phone-office:after{content:"\10f67d"}.fad.fa-phone-plus:after{content:"\10f4d2"}.fad.fa-phone-rotary:after{content:"\10f8d3"}.fad.fa-phone-slash:after{content:"\10f3dd"}.fad.fa-phone-square:after{content:"\10f098"}.fad.fa-phone-square-alt:after{content:"\10f87b"}.fad.fa-phone-volume:after{content:"\10f2a0"}.fad.fa-photo-video:after{content:"\10f87c"}.fad.fa-pi:after{content:"\10f67e"}.fad.fa-piano:after{content:"\10f8d4"}.fad.fa-piano-keyboard:after{content:"\10f8d5"}.fad.fa-pie:after{content:"\10f705"}.fad.fa-pig:after{content:"\10f706"}.fad.fa-piggy-bank:after{content:"\10f4d3"}.fad.fa-pills:after{content:"\10f484"}.fad.fa-pizza:after{content:"\10f817"}.fad.fa-pizza-slice:after{content:"\10f818"}.fad.fa-place-of-worship:after{content:"\10f67f"}.fad.fa-plane:after{content:"\10f072"}.fad.fa-plane-alt:after{content:"\10f3de"}.fad.fa-plane-arrival:after{content:"\10f5af"}.fad.fa-plane-departure:after{content:"\10f5b0"}.fad.fa-planet-moon:after{content:"\10f91f"}.fad.fa-planet-ringed:after{content:"\10f920"}.fad.fa-play:after{content:"\10f04b"}.fad.fa-play-circle:after{content:"\10f144"}.fad.fa-plug:after{content:"\10f1e6"}.fad.fa-plus:after{content:"\10f067"}.fad.fa-plus-circle:after{content:"\10f055"}.fad.fa-plus-hexagon:after{content:"\10f300"}.fad.fa-plus-octagon:after{content:"\10f301"}.fad.fa-plus-square:after{content:"\10f0fe"}.fad.fa-podcast:after{content:"\10f2ce"}.fad.fa-podium:after{content:"\10f680"}.fad.fa-podium-star:after{content:"\10f758"}.fad.fa-police-box:after{content:"\10f921"}.fad.fa-poll:after{content:"\10f681"}.fad.fa-poll-h:after{content:"\10f682"}.fad.fa-poll-people:after{content:"\10f759"}.fad.fa-poo:after{content:"\10f2fe"}.fad.fa-poo-storm:after{content:"\10f75a"}.fad.fa-poop:after{content:"\10f619"}.fad.fa-popcorn:after{content:"\10f819"}.fad.fa-portal-enter:after{content:"\10f922"}.fad.fa-portal-exit:after{content:"\10f923"}.fad.fa-portrait:after{content:"\10f3e0"}.fad.fa-pound-sign:after{content:"\10f154"}.fad.fa-power-off:after{content:"\10f011"}.fad.fa-pray:after{content:"\10f683"}.fad.fa-praying-hands:after{content:"\10f684"}.fad.fa-prescription:after{content:"\10f5b1"}.fad.fa-prescription-bottle:after{content:"\10f485"}.fad.fa-prescription-bottle-alt:after{content:"\10f486"}.fad.fa-presentation:after{content:"\10f685"}.fad.fa-print:after{content:"\10f02f"}.fad.fa-print-search:after{content:"\10f81a"}.fad.fa-print-slash:after{content:"\10f686"}.fad.fa-procedures:after{content:"\10f487"}.fad.fa-project-diagram:after{content:"\10f542"}.fad.fa-projector:after{content:"\10f8d6"}.fad.fa-pumpkin:after{content:"\10f707"}.fad.fa-puzzle-piece:after{content:"\10f12e"}.fad.fa-qrcode:after{content:"\10f029"}.fad.fa-question:after{content:"\10f128"}.fad.fa-question-circle:after{content:"\10f059"}.fad.fa-question-square:after{content:"\10f2fd"}.fad.fa-quidditch:after{content:"\10f458"}.fad.fa-quote-left:after{content:"\10f10d"}.fad.fa-quote-right:after{content:"\10f10e"}.fad.fa-quran:after{content:"\10f687"}.fad.fa-rabbit:after{content:"\10f708"}.fad.fa-rabbit-fast:after{content:"\10f709"}.fad.fa-racquet:after{content:"\10f45a"}.fad.fa-radar:after{content:"\10f924"}.fad.fa-radiation:after{content:"\10f7b9"}.fad.fa-radiation-alt:after{content:"\10f7ba"}.fad.fa-radio:after{content:"\10f8d7"}.fad.fa-radio-alt:after{content:"\10f8d8"}.fad.fa-rainbow:after{content:"\10f75b"}.fad.fa-raindrops:after{content:"\10f75c"}.fad.fa-ram:after{content:"\10f70a"}.fad.fa-ramp-loading:after{content:"\10f4d4"}.fad.fa-random:after{content:"\10f074"}.fad.fa-raygun:after{content:"\10f925"}.fad.fa-receipt:after{content:"\10f543"}.fad.fa-record-vinyl:after{content:"\10f8d9"}.fad.fa-rectangle-landscape:after{content:"\10f2fa"}.fad.fa-rectangle-portrait:after{content:"\10f2fb"}.fad.fa-rectangle-wide:after{content:"\10f2fc"}.fad.fa-recycle:after{content:"\10f1b8"}.fad.fa-redo:after{content:"\10f01e"}.fad.fa-redo-alt:after{content:"\10f2f9"}.fad.fa-refrigerator:after{content:"\10f926"}.fad.fa-registered:after{content:"\10f25d"}.fad.fa-remove-format:after{content:"\10f87d"}.fad.fa-repeat:after{content:"\10f363"}.fad.fa-repeat-1:after{content:"\10f365"}.fad.fa-repeat-1-alt:after{content:"\10f366"}.fad.fa-repeat-alt:after{content:"\10f364"}.fad.fa-reply:after{content:"\10f3e5"}.fad.fa-reply-all:after{content:"\10f122"}.fad.fa-republican:after{content:"\10f75e"}.fad.fa-restroom:after{content:"\10f7bd"}.fad.fa-retweet:after{content:"\10f079"}.fad.fa-retweet-alt:after{content:"\10f361"}.fad.fa-ribbon:after{content:"\10f4d6"}.fad.fa-ring:after{content:"\10f70b"}.fad.fa-rings-wedding:after{content:"\10f81b"}.fad.fa-road:after{content:"\10f018"}.fad.fa-robot:after{content:"\10f544"}.fad.fa-rocket:after{content:"\10f135"}.fad.fa-rocket-launch:after{content:"\10f927"}.fad.fa-route:after{content:"\10f4d7"}.fad.fa-route-highway:after{content:"\10f61a"}.fad.fa-route-interstate:after{content:"\10f61b"}.fad.fa-router:after{content:"\10f8da"}.fad.fa-rss:after{content:"\10f09e"}.fad.fa-rss-square:after{content:"\10f143"}.fad.fa-ruble-sign:after{content:"\10f158"}.fad.fa-ruler:after{content:"\10f545"}.fad.fa-ruler-combined:after{content:"\10f546"}.fad.fa-ruler-horizontal:after{content:"\10f547"}.fad.fa-ruler-triangle:after{content:"\10f61c"}.fad.fa-ruler-vertical:after{content:"\10f548"}.fad.fa-running:after{content:"\10f70c"}.fad.fa-rupee-sign:after{content:"\10f156"}.fad.fa-rv:after{content:"\10f7be"}.fad.fa-sack:after{content:"\10f81c"}.fad.fa-sack-dollar:after{content:"\10f81d"}.fad.fa-sad-cry:after{content:"\10f5b3"}.fad.fa-sad-tear:after{content:"\10f5b4"}.fad.fa-salad:after{content:"\10f81e"}.fad.fa-sandwich:after{content:"\10f81f"}.fad.fa-satellite:after{content:"\10f7bf"}.fad.fa-satellite-dish:after{content:"\10f7c0"}.fad.fa-sausage:after{content:"\10f820"}.fad.fa-save:after{content:"\10f0c7"}.fad.fa-sax-hot:after{content:"\10f8db"}.fad.fa-saxophone:after{content:"\10f8dc"}.fad.fa-scalpel:after{content:"\10f61d"}.fad.fa-scalpel-path:after{content:"\10f61e"}.fad.fa-scanner:after{content:"\10f488"}.fad.fa-scanner-image:after{content:"\10f8f3"}.fad.fa-scanner-keyboard:after{content:"\10f489"}.fad.fa-scanner-touchscreen:after{content:"\10f48a"}.fad.fa-scarecrow:after{content:"\10f70d"}.fad.fa-scarf:after{content:"\10f7c1"}.fad.fa-school:after{content:"\10f549"}.fad.fa-screwdriver:after{content:"\10f54a"}.fad.fa-scroll:after{content:"\10f70e"}.fad.fa-scroll-old:after{content:"\10f70f"}.fad.fa-scrubber:after{content:"\10f2f8"}.fad.fa-scythe:after{content:"\10f710"}.fad.fa-sd-card:after{content:"\10f7c2"}.fad.fa-search:after{content:"\10f002"}.fad.fa-search-dollar:after{content:"\10f688"}.fad.fa-search-location:after{content:"\10f689"}.fad.fa-search-minus:after{content:"\10f010"}.fad.fa-search-plus:after{content:"\10f00e"}.fad.fa-seedling:after{content:"\10f4d8"}.fad.fa-send-back:after{content:"\10f87e"}.fad.fa-send-backward:after{content:"\10f87f"}.fad.fa-sensor:after{content:"\10f928"}.fad.fa-sensor-alert:after{content:"\10f929"}.fad.fa-sensor-fire:after{content:"\10f92a"}.fad.fa-sensor-on:after{content:"\10f92b"}.fad.fa-sensor-smoke:after{content:"\10f92c"}.fad.fa-server:after{content:"\10f233"}.fad.fa-shapes:after{content:"\10f61f"}.fad.fa-share:after{content:"\10f064"}.fad.fa-share-all:after{content:"\10f367"}.fad.fa-share-alt:after{content:"\10f1e0"}.fad.fa-share-alt-square:after{content:"\10f1e1"}.fad.fa-share-square:after{content:"\10f14d"}.fad.fa-sheep:after{content:"\10f711"}.fad.fa-shekel-sign:after{content:"\10f20b"}.fad.fa-shield:after{content:"\10f132"}.fad.fa-shield-alt:after{content:"\10f3ed"}.fad.fa-shield-check:after{content:"\10f2f7"}.fad.fa-shield-cross:after{content:"\10f712"}.fad.fa-ship:after{content:"\10f21a"}.fad.fa-shipping-fast:after{content:"\10f48b"}.fad.fa-shipping-timed:after{content:"\10f48c"}.fad.fa-shish-kebab:after{content:"\10f821"}.fad.fa-shoe-prints:after{content:"\10f54b"}.fad.fa-shopping-bag:after{content:"\10f290"}.fad.fa-shopping-basket:after{content:"\10f291"}.fad.fa-shopping-cart:after{content:"\10f07a"}.fad.fa-shovel:after{content:"\10f713"}.fad.fa-shovel-snow:after{content:"\10f7c3"}.fad.fa-shower:after{content:"\10f2cc"}.fad.fa-shredder:after{content:"\10f68a"}.fad.fa-shuttle-van:after{content:"\10f5b6"}.fad.fa-shuttlecock:after{content:"\10f45b"}.fad.fa-sickle:after{content:"\10f822"}.fad.fa-sigma:after{content:"\10f68b"}.fad.fa-sign:after{content:"\10f4d9"}.fad.fa-sign-in:after{content:"\10f090"}.fad.fa-sign-in-alt:after{content:"\10f2f6"}.fad.fa-sign-language:after{content:"\10f2a7"}.fad.fa-sign-out:after{content:"\10f08b"}.fad.fa-sign-out-alt:after{content:"\10f2f5"}.fad.fa-signal:after{content:"\10f012"}.fad.fa-signal-1:after{content:"\10f68c"}.fad.fa-signal-2:after{content:"\10f68d"}.fad.fa-signal-3:after{content:"\10f68e"}.fad.fa-signal-4:after{content:"\10f68f"}.fad.fa-signal-alt:after{content:"\10f690"}.fad.fa-signal-alt-1:after{content:"\10f691"}.fad.fa-signal-alt-2:after{content:"\10f692"}.fad.fa-signal-alt-3:after{content:"\10f693"}.fad.fa-signal-alt-slash:after{content:"\10f694"}.fad.fa-signal-slash:after{content:"\10f695"}.fad.fa-signal-stream:after{content:"\10f8dd"}.fad.fa-signature:after{content:"\10f5b7"}.fad.fa-sim-card:after{content:"\10f7c4"}.fad.fa-siren:after{content:"\10f92d"}.fad.fa-siren-on:after{content:"\10f92e"}.fad.fa-sitemap:after{content:"\10f0e8"}.fad.fa-skating:after{content:"\10f7c5"}.fad.fa-skeleton:after{content:"\10f620"}.fad.fa-ski-jump:after{content:"\10f7c7"}.fad.fa-ski-lift:after{content:"\10f7c8"}.fad.fa-skiing:after{content:"\10f7c9"}.fad.fa-skiing-nordic:after{content:"\10f7ca"}.fad.fa-skull:after{content:"\10f54c"}.fad.fa-skull-cow:after{content:"\10f8de"}.fad.fa-skull-crossbones:after{content:"\10f714"}.fad.fa-slash:after{content:"\10f715"}.fad.fa-sledding:after{content:"\10f7cb"}.fad.fa-sleigh:after{content:"\10f7cc"}.fad.fa-sliders-h:after{content:"\10f1de"}.fad.fa-sliders-h-square:after{content:"\10f3f0"}.fad.fa-sliders-v:after{content:"\10f3f1"}.fad.fa-sliders-v-square:after{content:"\10f3f2"}.fad.fa-smile:after{content:"\10f118"}.fad.fa-smile-beam:after{content:"\10f5b8"}.fad.fa-smile-plus:after{content:"\10f5b9"}.fad.fa-smile-wink:after{content:"\10f4da"}.fad.fa-smog:after{content:"\10f75f"}.fad.fa-smoke:after{content:"\10f760"}.fad.fa-smoking:after{content:"\10f48d"}.fad.fa-smoking-ban:after{content:"\10f54d"}.fad.fa-sms:after{content:"\10f7cd"}.fad.fa-snake:after{content:"\10f716"}.fad.fa-snooze:after{content:"\10f880"}.fad.fa-snow-blowing:after{content:"\10f761"}.fad.fa-snowboarding:after{content:"\10f7ce"}.fad.fa-snowflake:after{content:"\10f2dc"}.fad.fa-snowflakes:after{content:"\10f7cf"}.fad.fa-snowman:after{content:"\10f7d0"}.fad.fa-snowmobile:after{content:"\10f7d1"}.fad.fa-snowplow:after{content:"\10f7d2"}.fad.fa-socks:after{content:"\10f696"}.fad.fa-solar-panel:after{content:"\10f5ba"}.fad.fa-solar-system:after{content:"\10f92f"}.fad.fa-sort:after{content:"\10f0dc"}.fad.fa-sort-alpha-down:after{content:"\10f15d"}.fad.fa-sort-alpha-down-alt:after{content:"\10f881"}.fad.fa-sort-alpha-up:after{content:"\10f15e"}.fad.fa-sort-alpha-up-alt:after{content:"\10f882"}.fad.fa-sort-alt:after{content:"\10f883"}.fad.fa-sort-amount-down:after{content:"\10f160"}.fad.fa-sort-amount-down-alt:after{content:"\10f884"}.fad.fa-sort-amount-up:after{content:"\10f161"}.fad.fa-sort-amount-up-alt:after{content:"\10f885"}.fad.fa-sort-circle:after{content:"\10f930"}.fad.fa-sort-circle-down:after{content:"\10f931"}.fad.fa-sort-circle-up:after{content:"\10f932"}.fad.fa-sort-down:after{content:"\10f0dd"}.fad.fa-sort-numeric-down:after{content:"\10f162"}.fad.fa-sort-numeric-down-alt:after{content:"\10f886"}.fad.fa-sort-numeric-up:after{content:"\10f163"}.fad.fa-sort-numeric-up-alt:after{content:"\10f887"}.fad.fa-sort-shapes-down:after{content:"\10f888"}.fad.fa-sort-shapes-down-alt:after{content:"\10f889"}.fad.fa-sort-shapes-up:after{content:"\10f88a"}.fad.fa-sort-shapes-up-alt:after{content:"\10f88b"}.fad.fa-sort-size-down:after{content:"\10f88c"}.fad.fa-sort-size-down-alt:after{content:"\10f88d"}.fad.fa-sort-size-up:after{content:"\10f88e"}.fad.fa-sort-size-up-alt:after{content:"\10f88f"}.fad.fa-sort-up:after{content:"\10f0de"}.fad.fa-soup:after{content:"\10f823"}.fad.fa-spa:after{content:"\10f5bb"}.fad.fa-space-shuttle:after{content:"\10f197"}.fad.fa-space-station-moon:after{content:"\10f933"}.fad.fa-space-station-moon-alt:after{content:"\10f934"}.fad.fa-spade:after{content:"\10f2f4"}.fad.fa-sparkles:after{content:"\10f890"}.fad.fa-speaker:after{content:"\10f8df"}.fad.fa-speakers:after{content:"\10f8e0"}.fad.fa-spell-check:after{content:"\10f891"}.fad.fa-spider:after{content:"\10f717"}.fad.fa-spider-black-widow:after{content:"\10f718"}.fad.fa-spider-web:after{content:"\10f719"}.fad.fa-spinner:after{content:"\10f110"}.fad.fa-spinner-third:after{content:"\10f3f4"}.fad.fa-splotch:after{content:"\10f5bc"}.fad.fa-spray-can:after{content:"\10f5bd"}.fad.fa-sprinkler:after{content:"\10f935"}.fad.fa-square:after{content:"\10f0c8"}.fad.fa-square-full:after{content:"\10f45c"}.fad.fa-square-root:after{content:"\10f697"}.fad.fa-square-root-alt:after{content:"\10f698"}.fad.fa-squirrel:after{content:"\10f71a"}.fad.fa-staff:after{content:"\10f71b"}.fad.fa-stamp:after{content:"\10f5bf"}.fad.fa-star:after{content:"\10f005"}.fad.fa-star-and-crescent:after{content:"\10f699"}.fad.fa-star-christmas:after{content:"\10f7d4"}.fad.fa-star-exclamation:after{content:"\10f2f3"}.fad.fa-star-half:after{content:"\10f089"}.fad.fa-star-half-alt:after{content:"\10f5c0"}.fad.fa-star-of-david:after{content:"\10f69a"}.fad.fa-star-of-life:after{content:"\10f621"}.fad.fa-star-shooting:after{content:"\10f936"}.fad.fa-starfighter:after{content:"\10f937"}.fad.fa-starfighter-alt:after{content:"\10f938"}.fad.fa-stars:after{content:"\10f762"}.fad.fa-starship:after{content:"\10f939"}.fad.fa-starship-freighter:after{content:"\10f93a"}.fad.fa-steak:after{content:"\10f824"}.fad.fa-steering-wheel:after{content:"\10f622"}.fad.fa-step-backward:after{content:"\10f048"}.fad.fa-step-forward:after{content:"\10f051"}.fad.fa-stethoscope:after{content:"\10f0f1"}.fad.fa-sticky-note:after{content:"\10f249"}.fad.fa-stocking:after{content:"\10f7d5"}.fad.fa-stomach:after{content:"\10f623"}.fad.fa-stop:after{content:"\10f04d"}.fad.fa-stop-circle:after{content:"\10f28d"}.fad.fa-stopwatch:after{content:"\10f2f2"}.fad.fa-store:after{content:"\10f54e"}.fad.fa-store-alt:after{content:"\10f54f"}.fad.fa-stream:after{content:"\10f550"}.fad.fa-street-view:after{content:"\10f21d"}.fad.fa-stretcher:after{content:"\10f825"}.fad.fa-strikethrough:after{content:"\10f0cc"}.fad.fa-stroopwafel:after{content:"\10f551"}.fad.fa-subscript:after{content:"\10f12c"}.fad.fa-subway:after{content:"\10f239"}.fad.fa-suitcase:after{content:"\10f0f2"}.fad.fa-suitcase-rolling:after{content:"\10f5c1"}.fad.fa-sun:after{content:"\10f185"}.fad.fa-sun-cloud:after{content:"\10f763"}.fad.fa-sun-dust:after{content:"\10f764"}.fad.fa-sun-haze:after{content:"\10f765"}.fad.fa-sunglasses:after{content:"\10f892"}.fad.fa-sunrise:after{content:"\10f766"}.fad.fa-sunset:after{content:"\10f767"}.fad.fa-superscript:after{content:"\10f12b"}.fad.fa-surprise:after{content:"\10f5c2"}.fad.fa-swatchbook:after{content:"\10f5c3"}.fad.fa-swimmer:after{content:"\10f5c4"}.fad.fa-swimming-pool:after{content:"\10f5c5"}.fad.fa-sword:after{content:"\10f71c"}.fad.fa-sword-laser:after{content:"\10f93b"}.fad.fa-sword-laser-alt:after{content:"\10f93c"}.fad.fa-swords:after{content:"\10f71d"}.fad.fa-swords-laser:after{content:"\10f93d"}.fad.fa-synagogue:after{content:"\10f69b"}.fad.fa-sync:after{content:"\10f021"}.fad.fa-sync-alt:after{content:"\10f2f1"}.fad.fa-syringe:after{content:"\10f48e"}.fad.fa-table:after{content:"\10f0ce"}.fad.fa-table-tennis:after{content:"\10f45d"}.fad.fa-tablet:after{content:"\10f10a"}.fad.fa-tablet-alt:after{content:"\10f3fa"}.fad.fa-tablet-android:after{content:"\10f3fb"}.fad.fa-tablet-android-alt:after{content:"\10f3fc"}.fad.fa-tablet-rugged:after{content:"\10f48f"}.fad.fa-tablets:after{content:"\10f490"}.fad.fa-tachometer:after{content:"\10f0e4"}.fad.fa-tachometer-alt:after{content:"\10f3fd"}.fad.fa-tachometer-alt-average:after{content:"\10f624"}.fad.fa-tachometer-alt-fast:after{content:"\10f625"}.fad.fa-tachometer-alt-fastest:after{content:"\10f626"}.fad.fa-tachometer-alt-slow:after{content:"\10f627"}.fad.fa-tachometer-alt-slowest:after{content:"\10f628"}.fad.fa-tachometer-average:after{content:"\10f629"}.fad.fa-tachometer-fast:after{content:"\10f62a"}.fad.fa-tachometer-fastest:after{content:"\10f62b"}.fad.fa-tachometer-slow:after{content:"\10f62c"}.fad.fa-tachometer-slowest:after{content:"\10f62d"}.fad.fa-taco:after{content:"\10f826"}.fad.fa-tag:after{content:"\10f02b"}.fad.fa-tags:after{content:"\10f02c"}.fad.fa-tally:after{content:"\10f69c"}.fad.fa-tanakh:after{content:"\10f827"}.fad.fa-tape:after{content:"\10f4db"}.fad.fa-tasks:after{content:"\10f0ae"}.fad.fa-tasks-alt:after{content:"\10f828"}.fad.fa-taxi:after{content:"\10f1ba"}.fad.fa-teeth:after{content:"\10f62e"}.fad.fa-teeth-open:after{content:"\10f62f"}.fad.fa-telescope:after{content:"\10f93e"}.fad.fa-temperature-down:after{content:"\10f93f"}.fad.fa-temperature-frigid:after{content:"\10f768"}.fad.fa-temperature-high:after{content:"\10f769"}.fad.fa-temperature-hot:after{content:"\10f76a"}.fad.fa-temperature-low:after{content:"\10f76b"}.fad.fa-temperature-up:after{content:"\10f940"}.fad.fa-tenge:after{content:"\10f7d7"}.fad.fa-tennis-ball:after{content:"\10f45e"}.fad.fa-terminal:after{content:"\10f120"}.fad.fa-text:after{content:"\10f893"}.fad.fa-text-height:after{content:"\10f034"}.fad.fa-text-size:after{content:"\10f894"}.fad.fa-text-width:after{content:"\10f035"}.fad.fa-th:after{content:"\10f00a"}.fad.fa-th-large:after{content:"\10f009"}.fad.fa-th-list:after{content:"\10f00b"}.fad.fa-theater-masks:after{content:"\10f630"}.fad.fa-thermometer:after{content:"\10f491"}.fad.fa-thermometer-empty:after{content:"\10f2cb"}.fad.fa-thermometer-full:after{content:"\10f2c7"}.fad.fa-thermometer-half:after{content:"\10f2c9"}.fad.fa-thermometer-quarter:after{content:"\10f2ca"}.fad.fa-thermometer-three-quarters:after{content:"\10f2c8"}.fad.fa-theta:after{content:"\10f69e"}.fad.fa-thumbs-down:after{content:"\10f165"}.fad.fa-thumbs-up:after{content:"\10f164"}.fad.fa-thumbtack:after{content:"\10f08d"}.fad.fa-thunderstorm:after{content:"\10f76c"}.fad.fa-thunderstorm-moon:after{content:"\10f76d"}.fad.fa-thunderstorm-sun:after{content:"\10f76e"}.fad.fa-ticket:after{content:"\10f145"}.fad.fa-ticket-alt:after{content:"\10f3ff"}.fad.fa-tilde:after{content:"\10f69f"}.fad.fa-times:after{content:"\10f00d"}.fad.fa-times-circle:after{content:"\10f057"}.fad.fa-times-hexagon:after{content:"\10f2ee"}.fad.fa-times-octagon:after{content:"\10f2f0"}.fad.fa-times-square:after{content:"\10f2d3"}.fad.fa-tint:after{content:"\10f043"}.fad.fa-tint-slash:after{content:"\10f5c7"}.fad.fa-tire:after{content:"\10f631"}.fad.fa-tire-flat:after{content:"\10f632"}.fad.fa-tire-pressure-warning:after{content:"\10f633"}.fad.fa-tire-rugged:after{content:"\10f634"}.fad.fa-tired:after{content:"\10f5c8"}.fad.fa-toggle-off:after{content:"\10f204"}.fad.fa-toggle-on:after{content:"\10f205"}.fad.fa-toilet:after{content:"\10f7d8"}.fad.fa-toilet-paper:after{content:"\10f71e"}.fad.fa-toilet-paper-alt:after{content:"\10f71f"}.fad.fa-tombstone:after{content:"\10f720"}.fad.fa-tombstone-alt:after{content:"\10f721"}.fad.fa-toolbox:after{content:"\10f552"}.fad.fa-tools:after{content:"\10f7d9"}.fad.fa-tooth:after{content:"\10f5c9"}.fad.fa-toothbrush:after{content:"\10f635"}.fad.fa-torah:after{content:"\10f6a0"}.fad.fa-torii-gate:after{content:"\10f6a1"}.fad.fa-tornado:after{content:"\10f76f"}.fad.fa-tractor:after{content:"\10f722"}.fad.fa-trademark:after{content:"\10f25c"}.fad.fa-traffic-cone:after{content:"\10f636"}.fad.fa-traffic-light:after{content:"\10f637"}.fad.fa-traffic-light-go:after{content:"\10f638"}.fad.fa-traffic-light-slow:after{content:"\10f639"}.fad.fa-traffic-light-stop:after{content:"\10f63a"}.fad.fa-trailer:after{content:"\10f941"}.fad.fa-train:after{content:"\10f238"}.fad.fa-tram:after{content:"\10f7da"}.fad.fa-transgender:after{content:"\10f224"}.fad.fa-transgender-alt:after{content:"\10f225"}.fad.fa-transporter:after{content:"\10f942"}.fad.fa-transporter-1:after{content:"\10f943"}.fad.fa-transporter-2:after{content:"\10f944"}.fad.fa-transporter-3:after{content:"\10f945"}.fad.fa-transporter-empty:after{content:"\10f946"}.fad.fa-trash:after{content:"\10f1f8"}.fad.fa-trash-alt:after{content:"\10f2ed"}.fad.fa-trash-restore:after{content:"\10f829"}.fad.fa-trash-restore-alt:after{content:"\10f82a"}.fad.fa-trash-undo:after{content:"\10f895"}.fad.fa-trash-undo-alt:after{content:"\10f896"}.fad.fa-treasure-chest:after{content:"\10f723"}.fad.fa-tree:after{content:"\10f1bb"}.fad.fa-tree-alt:after{content:"\10f400"}.fad.fa-tree-christmas:after{content:"\10f7db"}.fad.fa-tree-decorated:after{content:"\10f7dc"}.fad.fa-tree-large:after{content:"\10f7dd"}.fad.fa-tree-palm:after{content:"\10f82b"}.fad.fa-trees:after{content:"\10f724"}.fad.fa-triangle:after{content:"\10f2ec"}.fad.fa-triangle-music:after{content:"\10f8e2"}.fad.fa-trophy:after{content:"\10f091"}.fad.fa-trophy-alt:after{content:"\10f2eb"}.fad.fa-truck:after{content:"\10f0d1"}.fad.fa-truck-container:after{content:"\10f4dc"}.fad.fa-truck-couch:after{content:"\10f4dd"}.fad.fa-truck-loading:after{content:"\10f4de"}.fad.fa-truck-monster:after{content:"\10f63b"}.fad.fa-truck-moving:after{content:"\10f4df"}.fad.fa-truck-pickup:after{content:"\10f63c"}.fad.fa-truck-plow:after{content:"\10f7de"}.fad.fa-truck-ramp:after{content:"\10f4e0"}.fad.fa-trumpet:after{content:"\10f8e3"}.fad.fa-tshirt:after{content:"\10f553"}.fad.fa-tty:after{content:"\10f1e4"}.fad.fa-turkey:after{content:"\10f725"}.fad.fa-turntable:after{content:"\10f8e4"}.fad.fa-turtle:after{content:"\10f726"}.fad.fa-tv:after{content:"\10f26c"}.fad.fa-tv-alt:after{content:"\10f8e5"}.fad.fa-tv-music:after{content:"\10f8e6"}.fad.fa-tv-retro:after{content:"\10f401"}.fad.fa-typewriter:after{content:"\10f8e7"}.fad.fa-ufo:after{content:"\10f947"}.fad.fa-ufo-beam:after{content:"\10f948"}.fad.fa-umbrella:after{content:"\10f0e9"}.fad.fa-umbrella-beach:after{content:"\10f5ca"}.fad.fa-underline:after{content:"\10f0cd"}.fad.fa-undo:after{content:"\10f0e2"}.fad.fa-undo-alt:after{content:"\10f2ea"}.fad.fa-unicorn:after{content:"\10f727"}.fad.fa-union:after{content:"\10f6a2"}.fad.fa-universal-access:after{content:"\10f29a"}.fad.fa-university:after{content:"\10f19c"}.fad.fa-unlink:after{content:"\10f127"}.fad.fa-unlock:after{content:"\10f09c"}.fad.fa-unlock-alt:after{content:"\10f13e"}.fad.fa-upload:after{content:"\10f093"}.fad.fa-usb-drive:after{content:"\10f8e9"}.fad.fa-usd-circle:after{content:"\10f2e8"}.fad.fa-usd-square:after{content:"\10f2e9"}.fad.fa-user:after{content:"\10f007"}.fad.fa-user-alien:after{content:"\10f94a"}.fad.fa-user-alt:after{content:"\10f406"}.fad.fa-user-alt-slash:after{content:"\10f4fa"}.fad.fa-user-astronaut:after{content:"\10f4fb"}.fad.fa-user-chart:after{content:"\10f6a3"}.fad.fa-user-check:after{content:"\10f4fc"}.fad.fa-user-circle:after{content:"\10f2bd"}.fad.fa-user-clock:after{content:"\10f4fd"}.fad.fa-user-cog:after{content:"\10f4fe"}.fad.fa-user-cowboy:after{content:"\10f8ea"}.fad.fa-user-crown:after{content:"\10f6a4"}.fad.fa-user-edit:after{content:"\10f4ff"}.fad.fa-user-friends:after{content:"\10f500"}.fad.fa-user-graduate:after{content:"\10f501"}.fad.fa-user-hard-hat:after{content:"\10f82c"}.fad.fa-user-headset:after{content:"\10f82d"}.fad.fa-user-injured:after{content:"\10f728"}.fad.fa-user-lock:after{content:"\10f502"}.fad.fa-user-md:after{content:"\10f0f0"}.fad.fa-user-md-chat:after{content:"\10f82e"}.fad.fa-user-minus:after{content:"\10f503"}.fad.fa-user-music:after{content:"\10f8eb"}.fad.fa-user-ninja:after{content:"\10f504"}.fad.fa-user-nurse:after{content:"\10f82f"}.fad.fa-user-plus:after{content:"\10f234"}.fad.fa-user-robot:after{content:"\10f94b"}.fad.fa-user-secret:after{content:"\10f21b"}.fad.fa-user-shield:after{content:"\10f505"}.fad.fa-user-slash:after{content:"\10f506"}.fad.fa-user-tag:after{content:"\10f507"}.fad.fa-user-tie:after{content:"\10f508"}.fad.fa-user-times:after{content:"\10f235"}.fad.fa-user-visor:after{content:"\10f94c"}.fad.fa-users:after{content:"\10f0c0"}.fad.fa-users-class:after{content:"\10f63d"}.fad.fa-users-cog:after{content:"\10f509"}.fad.fa-users-crown:after{content:"\10f6a5"}.fad.fa-users-medical:after{content:"\10f830"}.fad.fa-utensil-fork:after{content:"\10f2e3"}.fad.fa-utensil-knife:after{content:"\10f2e4"}.fad.fa-utensil-spoon:after{content:"\10f2e5"}.fad.fa-utensils:after{content:"\10f2e7"}.fad.fa-utensils-alt:after{content:"\10f2e6"}.fad.fa-vacuum:after{content:"\10f94d"}.fad.fa-vacuum-robot:after{content:"\10f94e"}.fad.fa-value-absolute:after{content:"\10f6a6"}.fad.fa-vector-square:after{content:"\10f5cb"}.fad.fa-venus:after{content:"\10f221"}.fad.fa-venus-double:after{content:"\10f226"}.fad.fa-venus-mars:after{content:"\10f228"}.fad.fa-vhs:after{content:"\10f8ec"}.fad.fa-vial:after{content:"\10f492"}.fad.fa-vials:after{content:"\10f493"}.fad.fa-video:after{content:"\10f03d"}.fad.fa-video-plus:after{content:"\10f4e1"}.fad.fa-video-slash:after{content:"\10f4e2"}.fad.fa-vihara:after{content:"\10f6a7"}.fad.fa-violin:after{content:"\10f8ed"}.fad.fa-voicemail:after{content:"\10f897"}.fad.fa-volcano:after{content:"\10f770"}.fad.fa-volleyball-ball:after{content:"\10f45f"}.fad.fa-volume:after{content:"\10f6a8"}.fad.fa-volume-down:after{content:"\10f027"}.fad.fa-volume-mute:after{content:"\10f6a9"}.fad.fa-volume-off:after{content:"\10f026"}.fad.fa-volume-slash:after{content:"\10f2e2"}.fad.fa-volume-up:after{content:"\10f028"}.fad.fa-vote-nay:after{content:"\10f771"}.fad.fa-vote-yea:after{content:"\10f772"}.fad.fa-vr-cardboard:after{content:"\10f729"}.fad.fa-wagon-covered:after{content:"\10f8ee"}.fad.fa-walker:after{content:"\10f831"}.fad.fa-walkie-talkie:after{content:"\10f8ef"}.fad.fa-walking:after{content:"\10f554"}.fad.fa-wallet:after{content:"\10f555"}.fad.fa-wand:after{content:"\10f72a"}.fad.fa-wand-magic:after{content:"\10f72b"}.fad.fa-warehouse:after{content:"\10f494"}.fad.fa-warehouse-alt:after{content:"\10f495"}.fad.fa-washer:after{content:"\10f898"}.fad.fa-watch:after{content:"\10f2e1"}.fad.fa-watch-calculator:after{content:"\10f8f0"}.fad.fa-watch-fitness:after{content:"\10f63e"}.fad.fa-water:after{content:"\10f773"}.fad.fa-water-lower:after{content:"\10f774"}.fad.fa-water-rise:after{content:"\10f775"}.fad.fa-wave-sine:after{content:"\10f899"}.fad.fa-wave-square:after{content:"\10f83e"}.fad.fa-wave-triangle:after{content:"\10f89a"}.fad.fa-waveform:after{content:"\10f8f1"}.fad.fa-waveform-path:after{content:"\10f8f2"}.fad.fa-webcam:after{content:"\10f832"}.fad.fa-webcam-slash:after{content:"\10f833"}.fad.fa-weight:after{content:"\10f496"}.fad.fa-weight-hanging:after{content:"\10f5cd"}.fad.fa-whale:after{content:"\10f72c"}.fad.fa-wheat:after{content:"\10f72d"}.fad.fa-wheelchair:after{content:"\10f193"}.fad.fa-whistle:after{content:"\10f460"}.fad.fa-wifi:after{content:"\10f1eb"}.fad.fa-wifi-1:after{content:"\10f6aa"}.fad.fa-wifi-2:after{content:"\10f6ab"}.fad.fa-wifi-slash:after{content:"\10f6ac"}.fad.fa-wind:after{content:"\10f72e"}.fad.fa-wind-turbine:after{content:"\10f89b"}.fad.fa-wind-warning:after{content:"\10f776"}.fad.fa-window:after{content:"\10f40e"}.fad.fa-window-alt:after{content:"\10f40f"}.fad.fa-window-close:after{content:"\10f410"}.fad.fa-window-frame:after{content:"\10f94f"}.fad.fa-window-frame-open:after{content:"\10f950"}.fad.fa-window-maximize:after{content:"\10f2d0"}.fad.fa-window-minimize:after{content:"\10f2d1"}.fad.fa-window-restore:after{content:"\10f2d2"}.fad.fa-windsock:after{content:"\10f777"}.fad.fa-wine-bottle:after{content:"\10f72f"}.fad.fa-wine-glass:after{content:"\10f4e3"}.fad.fa-wine-glass-alt:after{content:"\10f5ce"}.fad.fa-won-sign:after{content:"\10f159"}.fad.fa-wreath:after{content:"\10f7e2"}.fad.fa-wrench:after{content:"\10f0ad"}.fad.fa-x-ray:after{content:"\10f497"}.fad.fa-yen-sign:after{content:"\10f157"}.fad.fa-yin-yang:after{content:"\10f6ad"}@font-face{font-family:'font awesome 5 pro';font-style:normal;font-weight:300;font-display:auto;src:url(../fonts/fa-light-300.eot);src:url(../fonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-light-300.woff2) format("woff2"),url(../fonts/fa-light-300.woff) format("woff"),url(../fonts/fa-light-300.ttf) format("truetype"),url(../fonts/fa-light-300.svg#fontawesome) format("svg")}.fal{font-family:'font awesome 5 pro'!important;;font-weight:300}@font-face{font-family:'font awesome 5 pro';font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:'font awesome 5 pro'!important;;font-weight:400}@font-face{font-family:'font awesome 5 pro';font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:'font awesome 5 pro'!important;font-weight:900} +.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-sm{font-size:.875em}.fa-2x{font-size:2em}.fa-fw{text-align:center;width:1.25em}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}:root .fa-flip-horizontal{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-align-left:before{content:"\f036"}.fa-android:before{content:"\f17b"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-alt-down:before{content:"\f354"}.fa-arrow-alt-up:before{content:"\f357"}.fa-arrow-right:before{content:"\f061"}.fa-arrows-v:before{content:"\f07d"}.fa-badge-check:before{content:"\f336"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-bars:before{content:"\f0c9"}.fa-bell:before{content:"\f0f3"}.fa-bold:before{content:"\f032"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-open:before{content:"\f518"}.fa-broom:before{content:"\f51a"}.fa-bug:before{content:"\f188"}.fa-bullhorn:before{content:"\f0a1"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-week:before{content:"\f784"}.fa-candy-cane:before{content:"\f786"}.fa-cat:before{content:"\f6be"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-circle:before{content:"\f111"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clock:before{content:"\f017"}.fa-code:before{content:"\f121"}.fa-cog:before{content:"\f013"}.fa-comment:before{content:"\f075"}.fa-comment-alt-smile:before{content:"\f4aa"}.fa-comment-dots:before{content:"\f4ad"}.fa-comments:before{content:"\f086"}.fa-compress-alt:before{content:"\f422"}.fa-copy:before{content:"\f0c5"}.fa-crown:before{content:"\f521"}.fa-discord:before{content:"\f392"}.fa-dna:before{content:"\f471"}.fa-dollar-sign:before{content:"\f155"}.fa-edit:before{content:"\f044"}.fa-ellipsis-h:before{content:"\f141"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open-text:before{content:"\f658"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand-alt:before{content:"\f424"}.fa-external-link-alt:before{content:"\f35d"}.fa-eye:before{content:"\f06e"}.fa-eye-evil:before{content:"\f6db"}.fa-eye-slash:before{content:"\f070"}.fa-feather-alt:before{content:"\f56b"}.fa-file-signature:before{content:"\f573"}.fa-filter:before{content:"\f0b0"}.fa-fire:before{content:"\f06d"}.fa-flag:before{content:"\f024"}.fa-frown:before{content:"\f119"}.fa-gavel:before{content:"\f0e3"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-github:before{content:"\f09b"}.fa-globe:before{content:"\f0ac"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-home-alt:before{content:"\f80a"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-image:before{content:"\f03e"}.fa-infinity:before{content:"\f534"}.fa-info-circle:before{content:"\f05a"}.fa-italic:before{content:"\f033"}.fa-knife-kitchen:before{content:"\f6f5"}.fa-laugh-squint:before{content:"\f59b"}.fa-lights-holiday:before{content:"\f7b2"}.fa-link:before{content:"\f0c1"}.fa-lock:before{content:"\f023"}.fa-lock-alt:before{content:"\f30d"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-microphone-stand:before{content:"\f8cb"}.fa-mistletoe:before{content:"\f7b4"}.fa-music:before{content:"\f001"}.fa-palette:before{content:"\f53f"}.fa-pencil:before{content:"\f040"}.fa-pizza-slice:before{content:"\f818"}.fa-poop:before{content:"\f619"}.fa-quote-right:before{content:"\f10e"}.fa-random:before{content:"\f074"}.fa-reply:before{content:"\f3e5"}.fa-robot:before{content:"\f544"}.fa-save:before{content:"\f0c7"}.fa-scroll-old:before{content:"\f70f"}.fa-search:before{content:"\f002"}.fa-seedling:before{content:"\f4d8"}.fa-sign-out:before{content:"\f08b"}.fa-smile-beam:before{content:"\f5b8"}.fa-smoke:before{content:"\f760"}.fa-snooze:before{content:"\f880"}.fa-snowflake:before{content:"\f2dc"}.fa-sparkles:before{content:"\f890"}.fa-spider:before{content:"\f717"}.fa-square:before{content:"\f0c8"}.fa-store:before{content:"\f54e"}.fa-thumbtack:before{content:"\f08d";padding:2px;}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-train:before{content:"\f238"}.fa-trash-alt:before{content:"\f2ed"}.fa-treasure-chest:before{content:"\f723"}.fa-trophy:before{content:"\f091"}.fa-twitter:before{content:"\f099"}.fa-user:before{content:"\f007"}.fa-user-circle:before{content:"\f2bd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-friends:before{content:"\f500"}.fa-user-lock:before{content:"\f502"}.fa-user-minus:before{content:"\f503"}.fa-user-plus:before{content:"\f234"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-times:before{content:"\f235"}.fa-volume:before{content:"\f6a8"}.fa-volume-mute:before{content:"\f6a9"}@font-face{font-family:'font awesome 5 brands';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:'font awesome 5 brands'!important}@font-face{font-family:'font awesome 5 duotone';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/fa-duotone-900.eot);src:url(../fonts/fa-duotone-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-duotone-900.woff2) format("woff2"),url(../fonts/fa-duotone-900.woff) format("woff"),url(../fonts/fa-duotone-900.ttf) format("truetype"),url(../fonts/fa-duotone-900.svg#fontawesome) format("svg")}.fad{position:relative;font-family:'font awesome 5 duotone'!important;font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color,inherit);opacity:1;opacity:var(--fa-primary-opacity,1)}.fad:after{color:var(--fa-secondary-color,inherit);opacity:.4;opacity:var(--fa-secondary-opacity,0.4)}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-stack-1x:before,.fad.fa-stack-2x:before,.fad.fa-fw:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fad.fa-align-left:after{content:"\10f036"}.fad.fa-arrow-alt-circle-down:after{content:"\10f358"}.fad.fa-arrow-alt-circle-up:after{content:"\10f35b"}.fad.fa-arrow-alt-down:after{content:"\10f354"}.fad.fa-arrow-alt-up:after{content:"\10f357"}.fad.fa-arrow-right:after{content:"\10f061"}.fad.fa-arrows-v:after{content:"\10f07d"}.fad.fa-badge-check:after{content:"\10f336"}.fad.fa-balance-scale:after{content:"\10f24e"}.fad.fa-ban:after{content:"\10f05e"}.fad.fa-bars:after{content:"\10f0c9"}.fad.fa-bell:after{content:"\10f0f3"}.fad.fa-bold:after{content:"\10f032"}.fad.fa-book:after{content:"\10f02d"}.fad.fa-book-dead:after{content:"\10f6b7"}.fad.fa-book-open:after{content:"\10f518"}.fad.fa-broom:after{content:"\10f51a"}.fad.fa-bug:after{content:"\10f188"}.fad.fa-bullhorn:after{content:"\10f0a1"}.fad.fa-calendar:after{content:"\10f133"}.fad.fa-calendar-alt:after{content:"\10f073"}.fad.fa-calendar-day:after{content:"\10f783"}.fad.fa-calendar-week:after{content:"\10f784"}.fad.fa-candy-cane:after{content:"\10f786"}.fad.fa-cat:after{content:"\10f6be"}.fad.fa-check:after{content:"\10f00c"}.fad.fa-check-circle:after{content:"\10f058"}.fad.fa-circle:after{content:"\10f111"}.fad.fa-clipboard:after{content:"\10f328"}.fad.fa-clipboard-check:after{content:"\10f46c"}.fad.fa-clock:after{content:"\10f017"}.fad.fa-code:after{content:"\10f121"}.fad.fa-cog:after{content:"\10f013"}.fad.fa-comment:after{content:"\10f075"}.fad.fa-comment-alt-smile:after{content:"\10f4aa"}.fad.fa-comment-dots:after{content:"\10f4ad"}.fad.fa-comments:after{content:"\10f086"}.fad.fa-compress-alt:after{content:"\10f422"}.fad.fa-copy:after{content:"\10f0c5"}.fad.fa-crown:after{content:"\10f521"}.fad.fa-dna:after{content:"\10f471"}.fad.fa-dollar-sign:after{content:"\10f155"}.fad.fa-edit:after{content:"\10f044"}.fad.fa-ellipsis-h:after{content:"\10f141"}.fad.fa-envelope:after{content:"\10f0e0"}.fad.fa-envelope-open-text:after{content:"\10f658"}.fad.fa-exclamation-circle:after{content:"\10f06a"}.fad.fa-exclamation-triangle:after{content:"\10f071"}.fad.fa-expand-alt:after{content:"\10f424"}.fad.fa-external-link-alt:after{content:"\10f35d"}.fad.fa-eye:after{content:"\10f06e"}.fad.fa-eye-evil:after{content:"\10f6db"}.fad.fa-eye-slash:after{content:"\10f070"}.fad.fa-feather-alt:after{content:"\10f56b"}.fad.fa-file-signature:after{content:"\10f573"}.fad.fa-filter:after{content:"\10f0b0"}.fad.fa-fire:after{content:"\10f06d"}.fad.fa-flag:after{content:"\10f024"}.fad.fa-frown:after{content:"\10f119"}.fad.fa-gavel:after{content:"\10f0e3"}.fad.fa-ghost:after{content:"\10f6e2"}.fad.fa-gift:after{content:"\10f06b"}.fad.fa-globe:after{content:"\10f0ac"}.fad.fa-grin-beam-sweat:after{content:"\10f583"}.fad.fa-home-alt:after{content:"\10f80a"}.fad.fa-id-badge:after{content:"\10f2c1"}.fad.fa-id-card:after{content:"\10f2c2"}.fad.fa-image:after{content:"\10f03e"}.fad.fa-infinity:after{content:"\10f534"}.fad.fa-info-circle:after{content:"\10f05a"}.fad.fa-italic:after{content:"\10f033"}.fad.fa-knife-kitchen:after{content:"\10f6f5"}.fad.fa-laugh-squint:after{content:"\10f59b"}.fad.fa-lights-holiday:after{content:"\10f7b2"}.fad.fa-link:after{content:"\10f0c1"}.fad.fa-lock:after{content:"\10f023"}.fad.fa-lock-alt:after{content:"\10f30d"}.fad.fa-long-arrow-left:after{content:"\10f177"}.fad.fa-long-arrow-right:after{content:"\10f178"}.fad.fa-microphone-stand:after{content:"\10f8cb"}.fad.fa-mistletoe:after{content:"\10f7b4"}.fad.fa-music:after{content:"\10f001"}.fad.fa-palette:after{content:"\10f53f"}.fad.fa-pencil:after{content:"\10f040"}.fad.fa-pizza-slice:after{content:"\10f818"}.fad.fa-poop:after{content:"\10f619"}.fad.fa-quote-right:after{content:"\10f10e"}.fad.fa-random:after{content:"\10f074"}.fad.fa-reply:after{content:"\10f3e5"}.fad.fa-robot:after{content:"\10f544"}.fad.fa-save:after{content:"\10f0c7"}.fad.fa-scroll-old:after{content:"\10f70f"}.fad.fa-search:after{content:"\10f002"}.fad.fa-seedling:after{content:"\10f4d8"}.fad.fa-sign-out:after{content:"\10f08b"}.fad.fa-smile-beam:after{content:"\10f5b8"}.fad.fa-smoke:after{content:"\10f760"}.fad.fa-snooze:after{content:"\10f880"}.fad.fa-snowflake:after{content:"\10f2dc"}.fad.fa-sparkles:after{content:"\10f890"}.fad.fa-spider:after{content:"\10f717"}.fad.fa-square:after{content:"\10f0c8"}.fad.fa-store:after{content:"\10f54e"}.fad.fa-thumbtack:after{content:"\10f08d"}.fad.fa-times:after{content:"\10f00d"}.fad.fa-times-circle:after{content:"\10f057"}.fad.fa-train:after{content:"\10f238"}.fad.fa-trash-alt:after{content:"\10f2ed"}.fad.fa-treasure-chest:after{content:"\10f723"}.fad.fa-trophy:after{content:"\10f091"}.fad.fa-user:after{content:"\10f007"}.fad.fa-user-circle:after{content:"\10f2bd"}.fad.fa-user-cog:after{content:"\10f4fe"}.fad.fa-user-friends:after{content:"\10f500"}.fad.fa-user-lock:after{content:"\10f502"}.fad.fa-user-minus:after{content:"\10f503"}.fad.fa-user-plus:after{content:"\10f234"}.fad.fa-user-slash:after{content:"\10f506"}.fad.fa-user-tag:after{content:"\10f507"}.fad.fa-user-times:after{content:"\10f235"}.fad.fa-volume:after{content:"\10f6a8"}.fad.fa-volume-mute:after{content:"\10f6a9"}@font-face{font-family:'font awesome 5 pro';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/fa-light-300.eot);src:url(../fonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-light-300.woff2) format("woff2"),url(../fonts/fa-light-300.woff) format("woff"),url(../fonts/fa-light-300.ttf) format("truetype"),url(../fonts/fa-light-300.svg#fontawesome) format("svg")}.fal{font-family:'font awesome 5 pro'!important;;font-weight:300}@font-face{font-family:'font awesome 5 pro';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:'font awesome 5 pro'!important;;font-weight:400}@font-face{font-family:'font awesome 5 pro';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:'font awesome 5 pro'!important;font-weight:900} + +.fa-fish:before{content:"\f578"}.fa-gingerbread-man:before{content:"\f79d"}.fa-fireplace:before{content:"\f79a"}.fa-angry:before{content:"\f556"}.fad.fa-gingerbread-man:after{content:"\10f79d"}.fad.fa-fireplace:after{content:"\10f79a"}.fad.fa-angry:after{content:"\10f556"}.fa-stocking:before{content:"\f7d5"}.fad.fa-stocking:after{content:"\10f7d5"} \ No newline at end of file diff --git a/files/assets/css/main.css b/files/assets/css/main.css index 48e90eb1b..1590016f7 100644 --- a/files/assets/css/main.css +++ b/files/assets/css/main.css @@ -1,10 +1,5 @@ @charset "UTF-8"; -/*@import url('https://fonts.googleapis.com/css?family=Roboto:400,500&display=swap'); -@tailwind base; -@tailwind components; -@tailwind utilities;*/ - *, *::before, *::after { @@ -12,7 +7,7 @@ } html { - font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, 'Tahoma', "Segoe UI", Roboto, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"!important; + font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); @@ -24,7 +19,7 @@ article, aside, figcaption, figure, footer, header, main, nav, section { body { margin: 0; - font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, 'Tahoma', "Segoe UI", Roboto, Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"!important; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1rem; font-weight: 400; line-height: 1.5; @@ -120,15 +115,15 @@ sup { top: -0.5em; } -/*a { +a { color: var(--primary); text-decoration: none; background-color: transparent; -}*/ -/*a:hover { +} +a:hover { color: var(--primary); text-decoration: underline; -}*/ +} a:not([href]) { color: inherit; @@ -183,10 +178,10 @@ th { text-align: inherit; } -/*label { +label { display: inline-block; margin-bottom: 0.5rem; -}*/ +} button { border-radius: 0; @@ -341,7 +336,7 @@ hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); + border-top: 1px solid var(--primary); } small, @@ -356,6 +351,567 @@ mark, background-color: #fcf8e3; } +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.35rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 600; +} + +pre { + display: block; + font-size: 87.5%; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} +.no-gutters > .col, +.no-gutters > [class*=col-] { + padding-right: 0; + padding-left: 0; +} + + .col-xl-3, .col-lg-10, .col-lg-8, .col-lg-4, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-sm-6, .col, .col-12, .col-10 { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + flex: 0 0 100%; + max-width: 100%; +} + +.col-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; +} + +.col-12 { + flex: 0 0 100%; + max-width: 100%; +} + +@media (min-width: 576px) { + + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } +} +@media (min-width: 768px) { + + .row-cols-md-3 > * { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; + } + + .col-md-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667%; + } + + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + + .col-md-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333%; + } + + .col-md-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; + } +} +@media (min-width: 992px) { + + .col-lg-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; + } + + .col-lg-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; + } + + .col-lg-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; + } +} +@media (min-width: 1200px) { + + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } +} +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid var(--gray-400); +} +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid var(--gray-400); +} +.table tbody + tbody { + border-top: 2px solid var(--gray-400); +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid var(--gray-400); + border-radius: 0.35rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} +.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; +} +@media (min-width: 576px) { + .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .input-group { + width: auto; + } + .form-inline .custom-control { + align-items: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + text-align: center; + color: var(--primary); + vertical-align: middle; + cursor: pointer; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.35rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: #212529; + text-decoration: none; +} +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} +.btn.disabled, .btn:disabled { + opacity: 0.65; +} +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: var(--primary); + border-color: var(--primary); +} +.btn-primary:hover { + color: #fff; + background-color: var(--primary); + border-color: #0062cc; +} +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: var(--primary); + border-color: #0062cc; + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: var(--primary); + border-color: var(--primary); +} +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #5a6268; + border-color: #545b62; + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #38A169; + border-color: #38A169; +} +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #218838; + border-color: #1e7e34; + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #38A169; + border-color: #38A169; +} +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c82333; + border-color: #bd2130; + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-link { + font-weight: 400; + color: var(--primary); + text-decoration: none; +} +.btn-link:hover { + color: var(--primary); + text-decoration: underline; +} +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 0.5rem; +} + input[type=submit].btn-block, input[type=reset].btn-block, input[type=button].btn-block { @@ -367,8 +923,8 @@ input[type=button].btn-block { } @media (prefers-reduced-motion: reduce) { .fade { - transition: none; - } + transition: none; + } } .fade:not(.show) { opacity: 0; @@ -386,8 +942,8 @@ input[type=button].btn-block { } @media (prefers-reduced-motion: reduce) { .collapsing { - transition: none; - } + transition: none; + } } .dropup, @@ -429,7 +985,7 @@ input[type=button].btn-block { background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 4px; + border-radius: 0.35rem; } .dropdown-menu-right { @@ -438,9 +994,9 @@ input[type=button].btn-block { } @media (min-width: 992px) { .dropdown-menu-lg-left { - right: auto; - left: 0; - } + right: auto; + left: 0; + } } .dropup .dropdown-menu { top: auto; @@ -467,7 +1023,7 @@ input[type=button].btn-block { bottom: auto; } -/*.dropdown-item { +.dropdown-item { display: block; width: 100%; padding: 0.25rem 1.5rem; @@ -493,21 +1049,12 @@ input[type=button].btn-block { color: #6c757d; pointer-events: none; background-color: transparent; -}*/ +} .dropdown-menu.show { display: block; } -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; -} -.btn-toolbar .input-group { - width: auto; -} - .input-group { position: relative; display: flex; @@ -574,7 +1121,7 @@ input[type=button].btn-block { white-space: nowrap; background-color: #e9ecef; border: 1px solid var(--gray-400); - border-radius: 4px; + border-radius: 0.35rem; } .input-group-text input[type=radio], .input-group-text input[type=checkbox] { @@ -663,7 +1210,7 @@ input[type=button].btn-block { } .custom-checkbox .custom-control-label::before { - border-radius: 4px; + border-radius: 0.35rem; } .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); @@ -701,8 +1248,8 @@ input[type=button].btn-block { } @media (prefers-reduced-motion: reduce) { .custom-switch .custom-control-label::after { - transition: none; - } + transition: none; + } } .custom-switch .custom-control-input:checked ~ .custom-control-label::after { background-color: #fff; @@ -717,8 +1264,8 @@ input[type=button].btn-block { } @media (prefers-reduced-motion: reduce) { .custom-control-label::before { - transition: none; - } + transition: none; + } } .nav { @@ -743,7 +1290,7 @@ input[type=button].btn-block { } .nav-pills .nav-link { - border-radius: 4px; + border-radius: 0.35rem; } .nav-pills .nav-link.active, .nav-pills .show > .nav-link { @@ -814,7 +1361,7 @@ input[type=button].btn-block { line-height: 1; background-color: transparent; border: 1px solid transparent; - border-radius: 4px; + border-radius: 0.35rem; } .navbar-toggler:hover, .navbar-toggler:focus { text-decoration: none; @@ -831,71 +1378,71 @@ input[type=button].btn-block { } @media (max-width: 767.98px) { .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - padding-right: 0; - padding-left: 0; - } +.navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } } @media (min-width: 768px) { .navbar-expand-md { - flex-flow: row 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-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - flex-wrap: nowrap; - } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } + flex-flow: row 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-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, +.navbar-expand-md > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } } @media (max-width: 991.98px) { .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - padding-right: 0; - padding-left: 0; - } +.navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } } @media (min-width: 992px) { .navbar-expand-lg { - flex-flow: row 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-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - flex-wrap: nowrap; - } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } + flex-flow: row 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-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, +.navbar-expand-lg > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } } .navbar-light .navbar-brand { @@ -959,7 +1506,7 @@ input[type=button].btn-block { background-color: #fff; background-clip: border-box; border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 4px; + border-radius: 0.35rem; } .card > hr { margin-right: 0; @@ -1027,22 +1574,22 @@ input[type=button].btn-block { } @media (min-width: 576px) { .card-columns { - column-count: 3; - column-gap: 1.25rem; - orphans: 1; - widows: 1; - } - .card-columns .card { - display: inline-block; - width: 100%; - } + column-count: 3; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } } .pagination { display: flex; padding-left: 0; list-style: none; - border-radius: 4px; + border-radius: 0.35rem; } .page-link { @@ -1105,12 +1652,86 @@ input[type=button].btn-block { border-bottom-right-radius: 0.2rem; } +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 600; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.35rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: var(--primary); +} +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + .alert { position: relative; padding: 0.75rem 1.25rem; margin-bottom: 1rem; border: 1px solid transparent; - border-radius: 4px; + border-radius: 0.35rem; } .alert-link { @@ -1166,11 +1787,11 @@ input[type=button].btn-block { @keyframes progress-bar-stripes { from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } + background-position: 1rem 0; + } + to { + background-position: 0 0; + } } .media { @@ -1254,11 +1875,11 @@ a.close.disabled { max-width: 350px; overflow: hidden; font-size: 0.875rem; - /*background-color: rgba(255, 255, 255, 0.85);*/ + background-color: rgba(255, 255, 255, 0.85); background-clip: padding-box; - /*border: 1px solid rgba(0, 0, 0, 0.1);*/ + border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); - /*backdrop-filter: blur(10px);*/ + backdrop-filter: blur(10px); opacity: 0; border-radius: 0.25rem; } @@ -1312,8 +1933,8 @@ a.close.disabled { } @media (prefers-reduced-motion: reduce) { .modal.fade .modal-dialog { - transition: none; - } + transition: none; + } } .modal.show .modal-dialog { transform: none; @@ -1430,41 +2051,41 @@ a.close.disabled { @media (min-width: 576px) { .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; - } + max-width: 500px; + margin: 1.75rem auto; + } - .modal-dialog-scrollable { - max-height: calc(100% - 3.5rem); - } - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 3.5rem); - } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } - .modal-dialog-centered { - min-height: calc(100% - 3.5rem); - } - .modal-dialog-centered::before { - height: calc(100vh - 3.5rem); - } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } } @media (min-width: 992px) { - - .modal-xl { - max-width: 800px; - } + +.modal-xl { + max-width: 800px; + } } @media (min-width: 1200px) { .modal-xl { - max-width: 1140px; - } + max-width: 1140px; + } } .tooltip { position: absolute; z-index: 1070; display: block; margin: 0; - font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-style: normal; font-weight: 400; line-height: 1.5; @@ -1504,7 +2125,7 @@ a.close.disabled { color: #fff; text-align: center; background-color: #000; - border-radius: 4px; + border-radius: 0.35rem; } .popover { @@ -1514,7 +2135,7 @@ a.close.disabled { z-index: 1060; display: block; max-width: 276px; - font-family: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-style: normal; font-weight: 400; line-height: 1.5; @@ -1587,8 +2208,8 @@ a.close.disabled { } @media (prefers-reduced-motion: reduce) { .carousel-item { - transition: none; - } + transition: none; + } } .carousel-item.active, @@ -1636,8 +2257,8 @@ a.close.disabled { } @media (prefers-reduced-motion: reduce) { .carousel-indicators li { - transition: none; - } + transition: none; + } } .carousel-indicators .active { opacity: 1; @@ -1645,19 +2266,314 @@ a.close.disabled { @keyframes spinner-border { to { - transform: rotate(360deg); - } + transform: rotate(360deg); + } } @keyframes spinner-grow { 0% { - transform: scale(0); - } - 50% { - opacity: 1; - } + transform: scale(0); + } + 50% { + opacity: 1; + } } +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.bg-primary { + background-color: var(--primary) !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-success { + background-color: #38A169 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid var(--gray-400) !important; +} + +.border-top { + border-top: 1px solid var(--gray-400) !important; +} + +.border-bottom { + border-bottom: 1px solid var(--gray-400) !important; +} + +.border-left { + border-left: 1px solid var(--gray-400) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded { + border-radius: 0.35rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.d-none { + display: none !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + + .d-sm-flex { + display: flex !important; + } +} +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + + .d-md-inline-block { + display: inline-block !important; + } + + .d-md-block { + display: block !important; + } + + .d-md-flex { + display: flex !important; + } +} +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + + .d-lg-flex { + display: flex !important; + } +} +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !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; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} +@media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important; + } + + .justify-content-md-between { + justify-content: space-between !important; + } +} + +.float-right { + float: right !important; +} +.overflow-auto { + overflow: auto !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports (position: sticky) { + .sticky-top { + position: sticky; + top: 0; + z-index: 1020; + } +} + +.shadow-sm { + box-shadow: 0 0.1px 3px 0 rgba(0, 0, 0, 0.05), 0 0.1px 2px 0 rgba(0, 0, 0, 0.03) !important; +} + +.shadow { + box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-100 { + width: 100% !important; +} + +.h-100 { + height: 100% !important; +} .stretched-link::after { position: absolute; @@ -1671,7 +2587,7 @@ a.close.disabled { background-color: rgba(0, 0, 0, 0); } -/*.m-0 { +.m-0 { margin: 0 !important; } @@ -1690,7 +2606,7 @@ a.close.disabled { margin-bottom: 0 !important; } - +.ml-0, .mx-0 { margin-left: 0 !important; } @@ -1744,7 +2660,8 @@ a.close.disabled { margin-top: 1rem !important; } -.mr-3 { +.mr-3, +.mx-3 { margin-right: 1rem !important; } @@ -1753,7 +2670,8 @@ a.close.disabled { margin-bottom: 1rem !important; } -.ml-3 { +.ml-3, +.mx-3 { margin-left: 1rem !important; } @@ -1761,7 +2679,8 @@ a.close.disabled { margin: 1.5rem !important; } -.mt-4 { +.mt-4, +.my-4 { margin-top: 1.5rem !important; } @@ -1770,11 +2689,12 @@ a.close.disabled { margin-right: 1.5rem !important; } -.mb-4 { +.mb-4, +.my-4 { margin-bottom: 1.5rem !important; } - +.ml-4, .mx-4 { margin-left: 1.5rem !important; } @@ -1789,16 +2709,17 @@ a.close.disabled { margin-bottom: 3rem !important; } -.mb-6 { +.mb-6, +.my-6 { margin-bottom: 3.5rem !important; } - +.mt-8, .my-8 { margin-top: 10rem !important; } - +.mb-8, .my-8 { margin-bottom: 10rem !important; } @@ -1832,6 +2753,7 @@ a.close.disabled { padding-right: 0.25rem !important; } +.py-1, .pb-1 { padding-bottom: 0.25rem !important; } @@ -1855,7 +2777,7 @@ a.close.disabled { padding-right: 0.5rem !important; } - +.pb-2, .py-2 { padding-bottom: 0.5rem !important; } @@ -1898,7 +2820,7 @@ a.close.disabled { padding-top: 1.5rem !important; } - +.pb-4, .py-4 { padding-bottom: 1.5rem !important; } @@ -1907,22 +2829,22 @@ a.close.disabled { padding: 3rem !important; } - +.pt-5, .py-5 { padding-top: 3rem !important; } - +.pb-5, .py-5 { padding-bottom: 3rem !important; } - +.pt-7, .py-7 { padding-top: 5rem !important; } - +.pb-7, .py-7 { padding-bottom: 5rem !important; } @@ -1937,9 +2859,9 @@ a.close.disabled { .m-auto { margin: auto !important; -}*/ +} -/*.mt-auto, +.mt-auto, .my-auto { margin-top: auto !important; } @@ -1957,86 +2879,318 @@ a.close.disabled { .ml-auto, .mx-auto { margin-left: auto !important; -}*/ +} +@media (min-width: 576px) { + + .mb-sm-5 { + margin-bottom: 3rem !important; + } +} +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + + .mb-md-0 { + margin-bottom: 0 !important; + } + + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + + .mr-md-2 { + margin-right: 0.5rem !important; + } + + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + + .mt-md-3, +.my-md-3 { + margin-top: 1rem !important; + } + + .mb-md-3, +.my-md-3 { + margin-bottom: 1rem !important; + } + + .mb-md-5 { + margin-bottom: 3rem !important; + } + + .p-md-0 { + padding: 0 !important; + } + + +.py-md-0 { + padding-top: 0 !important; + } + + +.py-md-0 { + padding-bottom: 0 !important; + } + + .pl-md-0 { + padding-left: 0 !important; + } + + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + + .pl-md-3 { + padding-left: 1rem !important; + } + + .p-md-4 { + padding: 1.5rem !important; + } + + +.py-md-8 { + padding-top: 10rem !important; + } + + +.py-md-8 { + padding-bottom: 10rem !important; + } + + +.my-md-auto { + margin-top: auto !important; + } + + +.my-md-auto { + margin-bottom: auto !important; + } +} +@media (min-width: 992px) { + + +.mx-lg-5 { + margin-right: 3rem !important; + } + + +.mx-lg-5 { + margin-left: 3rem !important; + } + + +.mx-lg-auto { + margin-right: auto !important; + } + + +.mx-lg-auto { + margin-left: auto !important; + } +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + + .text-md-center { + text-align: center !important; + } +} +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 600 !important; +} + +.font-weight-bolder { + font-weight: 700 !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: var(--primary) !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-success { + color: #38A169 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} @media print { *, - *::before, - *::after { - box-shadow: none !important; - } +*::before, +*::after { + box-shadow: none !important; + } - a:not(.btn) { - text-decoration: underline; - } + a:not(.btn) { + text-decoration: underline; + } - abbr[title]::after { - content: " (" attr(title) ")"; - } + abbr[title]::after { + content: " (" attr(title) ")"; + } - pre { - white-space: pre-wrap !important; - } + pre { + white-space: pre-wrap !important; + } - pre, - blockquote { - border: 1px solid #adb5bd; - page-break-inside: avoid; - } + pre, +blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } - thead { - display: table-header-group; - } + thead { + display: table-header-group; + } - tr, - img { - page-break-inside: avoid; - } + tr, +img { + page-break-inside: avoid; + } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } + p, +h2, +h3 { + orphans: 3; + widows: 3; + } - h2, - h3 { - page-break-after: avoid; - } + h2, +h3 { + page-break-after: avoid; + } - @page { - size: a3; - } - body { - min-width: 992px !important; - } + @page { + size: a3; + } + body { + min-width: 992px !important; + } - .container { - min-width: 992px !important; - } + .container { + min-width: 992px !important; + } - .navbar { - display: none; - } + .navbar { + display: none; + } - .badge { - border: 1px solid #000; - } + .badge { + border: 1px solid #000; + } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } + .table { + border-collapse: collapse !important; + } + .table td, +.table th { + background-color: #fff !important; + } - .table .thead-dark th { - color: inherit; - border-color: var(--gray-400); - } + .table .thead-dark th { + color: inherit; + border-color: var(--gray-400); + } } html { font-size: 14px; @@ -2044,21 +3198,21 @@ html { @supports (font-variation-settings: normal) { html { - font-family: "Inter var", sans-serif; - } + font-family: "Inter var", sans-serif; + } } -/*body { +body { color: var(--black); padding-top: 49px; background-color: var(--gray-700); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -}*/ +} @media (min-width: 1200px) { .container { - max-width: 1300px; - } + max-width: 1300px; + } } p { font-size: 14px; @@ -2112,6 +3266,40 @@ pre { margin-top: 2rem; } +#thread .custom-gutters { + padding: 0 10px; +} + +.custom-gutters { + padding-left: 10px; + padding-right: 10px; +} + +.sticky { + position: -webkit-sticky; + position: sticky; + top: 47px; + height: auto; + overflow-y: auto; + z-index: 4; +} + +.text-lg { + font-size: 1.25rem !important; +} + +.text-base { + font-size: 1rem !important; +} + +.text-small { + font-size: 12px !important; +} + +.text-small-extra { + font-size: 10.1px !important; +} + #page p { font-size: 16px; } @@ -2172,17 +3360,17 @@ ol > li::before { .btn.login, .btn.register { height: calc(1.5em + 0.75rem + 2px); - border-radius: 4px; + border-radius: 0.35rem; } .tooltip { font-weight: 600; } -/*.tooltip-inner { - background-color: var(--black); - color: var(--white); -}*/ +.tooltip-inner { + background-color: var(--white); + color: var(--dark); +} .alert { padding: 0.5rem 1rem; @@ -2284,12 +3472,12 @@ ol > li::before { } .navbar-light .navbar-nav .nav-link:hover { - border-radius: 4px; + border-radius: 0.35rem; } .navbar-light .navbar-nav .nav-link:focus { background-color: rgba(0, 0, 0, 0.15); - border-radius: 4px; + border-radius: 0.35rem; } .navbar-light .navbar-nav .nav-link:active .fa, .navbar-light .navbar-nav .nav-link:active .fas, .navbar-light .navbar-nav .nav-link:active .far, .navbar-light .navbar-nav .nav-link:active .fab { @@ -2314,12 +3502,12 @@ ol > li::before { .navbar-dark .navbar-nav .nav-link:hover { background-color: rgba(0, 0, 0, 0.15); - border-radius: 4px; + border-radius: 0.35rem; } .navbar-dark .navbar-nav .show > .nav-link:focus, .navbar-dark .navbar-nav .show > .nav-link:active, .navbar-dark .navbar-nav .show > .nav-link:hover { background-color: var(--light); - border-radius: 4px; + border-radius: 0.35rem; } .navbar-dark .navbar-nav .nav-link .fa, .navbar-dark .navbar-nav .nav-link .fas, .navbar-dark .navbar-nav .nav-link .far, .navbar-dark .navbar-nav .nav-link .fab { @@ -2523,13 +3711,13 @@ label.color-radio span { color: var(--black); } -/*label { +label { text-transform: uppercase; font-weight: 600; font-size: 12px; letter-spacing: 0.025rem; color: var(--black); -}*/ +} #login label { color: var(--black); @@ -2544,20 +3732,19 @@ label.terms { padding: 0.1rem 0; } -/* .dropdown-menu { padding: 0.5rem; color: var(--white); background-color: var(--gray-600); -}*/ +} -/*.dropdown-item { +.dropdown-item { padding: 0.5rem 1rem; - border-radius: 4px; + border-radius: 0.35rem; color: var(--black); -}*/ +} -/*.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { +.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { color: var(--black); text-decoration: none; background-color: var(--gray-300); @@ -2567,7 +3754,7 @@ label.terms { .dropdown-item:focus .fa, .dropdown-item.active .fa { color: var(--black); } -*/ + small, .small { font-size: 12px; } @@ -2612,7 +3799,7 @@ th { #thread .voting { min-width: 10px; - margin-right: 15px; + margin-right: 10px; overflow-wrap: normal; } @@ -2626,7 +3813,7 @@ th { .arrow-up::before { cursor: pointer; - font-size: 1rem; + font-size: 1.3rem; color: var(--gray-200); font-family: "font awesome 5 pro" !important; font-weight: 900; @@ -2644,7 +3831,7 @@ th { .arrow-down::before { cursor: pointer; - font-size: 1rem; + font-size: 1.3rem; color: var(--gray-200); font-family: "font awesome 5 pro" !important; font-weight: 900; @@ -2717,7 +3904,7 @@ th { #frontpage .pseudo-submit-form.card, #search .search-results.card { background-color: var(--gray-600); - border-radius: 4px; + border-radius: 0.35rem; border: none; } @@ -2762,6 +3949,70 @@ th { height: 28px; } +.profile-pic-20, .pp20 { + margin-right: 0.25rem !important; + width: 20px; + height: 20px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + +.profile-pic-25 { + width: 25px; + height: 25px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + +.profile-pic-35 { + width: 35px; + height: 35px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + +.profile-pic-50 { + width: 50px; + height: 50px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + +.profile-pic-65 { + width: 65px; + height: 65px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + +.profile-pic-75 { + width: 75px; + height: 75px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + +.profile-pic-100 { + width: 100px; + height: 100px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + .card-header:first-child { border-radius: 0.35rem 0.35rem 0 0; } @@ -2782,6 +4033,48 @@ th { background-color: var(--gray-700); } +#frontpage .posts .card:first-of-type, #userpage .posts .card:first-of-type, #search .posts .card:first-of-type { + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; +} + +#frontpage .posts .card, #userpage .posts .card, #search .posts .card { + border-width: 0.1px 0.1px 0 0.1px; + border-color: #303030; + border-style: solid; + border-radius: 0; + padding: 0.5rem; +} + +#frontpage .posts .card:hover, #userpage .posts .card:hover, #search .posts .card:hover { + background-color: var(--gray-600); +} + +.post-title { + font-size: 16px; + font-weight: 600; + word-break: break-word; + overflow: hidden; +} + +.post-title a { + color: var(--black); +} + +.post-title a:hover, .post-title a:active, .post-title a:focus { + text-decoration: none; + color: var(--primary); +} + +#frontpage .post-title a { + color: var(--black); +} + +#frontpage .post-title a:hover, #frontpage .post-title a:active, #frontpage .post-title a:focus { + text-decoration: none; + color: var(--black); +} + .stretched-link a:hover { color: #6f42c1; } @@ -2794,6 +4087,12 @@ th { width: fit-content; } +#frontpage .posts .card .card-footer, #userpage .posts .card .card-footer, #thread .card .card-footer, #search .posts .card .card-footer { + border: 0; + background-color: transparent; + padding: 0; +} + .post-body { word-break: break-word; overflow: hidden; @@ -2810,7 +4109,6 @@ th { .modal-header { border-bottom: none; - background-color: var(--gray-400); border-top-left-radius: 0.35rem; border-top-right-radius: 0.35rem; padding: 0.5rem 1rem; @@ -2824,20 +4122,19 @@ th { .modal-content { border: none; background-color: var(--gray-400); - border-radius: 4px; + border-radius: 0.35rem; box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05); } .modal-footer { border: none; - background-color: var(--gray-400); border-bottom-right-radius: 0.35rem; border-bottom-left-radius: 0.35rem; } .modal .post-actions .list-group-item { border: none; - border-radius: 4px; + border-radius: 0.35rem; background-color: var(--gray-400); } @@ -2903,7 +4200,7 @@ th { } .post-actions .list-inline .list-inline-item { - margin-right: 1.25rem; + margin-right: 1rem; } .post-actions .list-inline .list-inline-item:last-child { @@ -2916,31 +4213,31 @@ th { @media (max-width: 767.98px) { .modal.modal.modal-sm-bottom .modal-dialog { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; - } + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; + } - .modal.modal-sm-bottom .modal-content { - position: absolute; - bottom: 0; - border-radius: 1rem; - } + .modal.modal-sm-bottom .modal-content { + position: absolute; + bottom: 0; + border-radius: 1rem; + } - .modal.fade.modal-sm-bottom .modal-dialog { - transform: translate3d(0, 100vh, 0); - } + .modal.fade.modal-sm-bottom .modal-dialog { + transform: translate3d(0, 100vh, 0); + } - .modal.show.modal-sm-bottom .modal-dialog { - transform: translate3d(0, 0, 0); - } + .modal.show.modal-sm-bottom .modal-dialog { + transform: translate3d(0, 0, 0); + } - .modal.modal-sm-bottom .modal-header { - border-top-right-radius: 1rem; - border-top-left-radius: 1rem; - } + .modal.modal-sm-bottom .modal-header { + border-top-right-radius: 1rem; + border-top-left-radius: 1rem; + } } .dropdown-actions { position: relative; @@ -3018,13 +4315,13 @@ th { @media (max-width: 767.98px) { .post-actions .list-inline .list-inline-item { - margin-right: 1.5rem; - margin-top: 5px; - } + margin-right: 1.5rem; + margin-top: 5px; + } - .post-actions .list-inline .list-inline-item:last-child { - margin-right: 0; - } + .post-actions .list-inline .list-inline-item:last-child { + margin-right: 0; + } } .post-actions .list-inline .list-inline-item .dropdown-item { font-size: 1rem; @@ -3053,16 +4350,16 @@ th { height: 70px; object-fit: cover; border: 0.1px solid var(--primary); - border-radius: 4px; + border-radius: 0.35rem; z-index: 2; background-color: var(--gray-300); } @media (max-width: 767.98px) { .post-img { - width: 80px; - height: 60px; - } + width: 80px; + height: 60px; + } } .post-actions .comments, .post-actions .share, .post-actions .flag { margin-right: 0.5rem; @@ -3083,12 +4380,12 @@ th { color: var(--muted); } -/*.comment { +.comment { display: flex; position: relative; margin-top: 2rem; padding-left: 12px; -}*/ +} #notifications .comment, #userpage .comment { margin-top: 0.5rem; @@ -3125,12 +4422,12 @@ th { .modal .comment-actions .list-group-item { border: none; - border-radius: 4px; + border-radius: 0.35rem; background-color: var(--gray-400); } .modal .comment-actions .list-group-item:focus, .modal .comment-actions .list-group-item:hover { - background-color: var(--gray-300); + background-color: var(--gray-300) !important; } .modal .comment-actions a { @@ -3185,7 +4482,7 @@ th { } .comment-actions .list-inline .list-inline-item { - margin-right: 1.25rem; + margin-right: 0.5rem; } .comment-actions .list-inline .list-inline-item .dropdown-item { @@ -3238,7 +4535,7 @@ ul.comment-section { align-items: center; bottom: 0; left: 0; - padding: 0.5rem 0; + padding: 0.5rem 0 0 0; width: 100%; z-index: 1; } @@ -3271,12 +4568,12 @@ ul.comment-section { color: var(--primary); } -/*.comment.collapsed .comment-body p.text, .comment.collapsed div.comment-text, .comment.collapsed .comment-actions, .comment.collapsed .comment-write, + .comment.collapsed .comment-body p.text, .comment.collapsed div.comment-text, .comment.collapsed .comment-actions, .comment.collapsed .comment-write, .comment.collapsed .comment { display: none; -}*/ +} -/*.comment.collapsed .user-info { +.comment.collapsed .user-info { margin-bottom: 0; } @@ -3290,7 +4587,7 @@ ul.comment-section { .comment.collapsed .comment-body:hover { opacity: 1; -}*/ +} #login { padding-top: 0; @@ -3339,7 +4636,7 @@ ul.comment-section { .settings .settings-section { margin-bottom: 3rem; border: 0.1px solid var(--gray-400); - border-radius: 4px; + border-radius: 0.35rem; overflow: hidden; } @@ -3357,7 +4654,7 @@ ul.comment-section { .modal .profile-actions .list-group-item { border: none; - border-radius: 4px; + border-radius: 0.35rem; } .modal .profile-actions .list-group-item:focus, .modal .profile-actions .list-group-item:hover { @@ -3448,11 +4745,75 @@ ul.comment-section { } @keyframes ghost { 0% { - transform: translateY(0); - } - 100% { - transform: translateY(-20px); - } + transform: translateY(0); + } + 100% { + transform: translateY(-20px); + } +} +.border-top { + border-top: 1px solid var(--gray-400) !important; +} + +.border-bottom { + border-bottom: 1px solid var(--gray-400) !important; +} + +.border-left { + border-left: 1px solid var(--gray-400) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border { + border: 1px solid var(--gray-400) !important; +} + +.border-0 { + border: none !important; +} + +.rounded { + border-radius: 0.35rem; +} + +.rounded-circle { + border-radius: 50%; +} +@media (min-width: 768px) { + + .border-md { + border: 1px solid var(--gray-400) !important; + } + + .border-md-0 { + border: none !important; + } + + .rounded-md { + border-radius: 0.35rem; + } +} +@media (min-width: 992px) { + + .rounded-lg { + border-radius: 0.35rem; + } +} +@media (min-width: 992px) { + .w-lg-25 { + width: 25% !important; + } + + .w-lg-75 { + width: 75% !important; + } + + .w-lg-100 { + width: 100% !important; + } } .submission .body { @@ -3467,8 +4828,8 @@ ul.comment-section { } .custom-control-label { - text-transform: none; - font-weight: 400; + text-transform: uppercase; + font-weight: 600; font-size: 1rem; letter-spacing: 0; color: var(--black); @@ -3529,8 +4890,8 @@ ul.comment-section { @media (prefers-reduced-motion: reduce) { .custom-switch .custom-control-label::after { - transition: none; - } + transition: none; + } } .custom-switch .custom-control-input:checked ~ .custom-control-label::after { background-color: var(--white); @@ -3574,7 +4935,7 @@ pre .com, code .com { } .gif-categories img { - border-radius: 4px; + border-radius: 0.35rem; height: 110px; width: 100%; object-fit: cover; @@ -3605,348 +4966,333 @@ pre .com, code .com { .gif-categories .card:hover .gif-cat-overlay { background-color: rgba(0, 0, 0, 0.6); border: 3px solid var(--primary); - border-radius: 4px; + border-radius: 0.35rem; } -/*@media (max-width: 991.98px) { +@media (max-width: 991.98px) { #frontpage, #search { - padding-top: 49px; - } + padding-top: 49px; + } } @media (max-width: 767.98px) { html { - font-size: 14px; - }*/ + font-size: 14px; + } -/* .container { - overflow: hidden; - max-width: none; - } -*/ -/* body, #settings, #notifications, #submit { - padding-top: 49px; - background-color: var(--gray-700); - }*/ -/* - #thread, #userpage { - background-color: var(--gray-600); - }*/ + .container { + overflow: hidden; + max-width: none; + } -/* .custom-gutters { - padding-left: 0; - padding-right: 0; - }*/ + body, #settings, #notifications, #submit { + padding-top: 49px; + background-color: var(--gray-700); + } - .navbar.bg-primary { - background-color: var(--dark) !important; - } + #thread, #userpage { + background-color: var(--gray-600); + } - .navbar-nav { - height: 100vh; - } + .custom-gutters { + padding-left: 0; + padding-right: 0; + } - .navbar-nav .nav-link, .navbar-expand-md .navbar-nav .nav-link { - padding: 0.5rem; - } + .navbar.bg-primary { + background-color: var(--dark) !important; + } - .navbar-dark .navbar-nav .nav-link:hover { - background-color: transparent; - border-radius: 0; - } + .navbar-nav { + height: 100vh; + } - .navbar-dark .navbar-nav .nav-link:active { - background-color: rgba(0, 0, 0, 0.15); - border-radius: 0; - } + .navbar-nav .nav-link, .navbar-expand-md .navbar-nav .nav-link { + padding: 0.5rem; + } - .navbar-dark .navbar-nav .nav-link .fa, .navbar-dark .navbar-nav .nav-link .fas, .navbar-dark .navbar-nav .nav-link .far, .navbar-dark .navbar-nav .nav-link .fab { - font-size: 1rem; - } + .navbar-dark .navbar-nav .nav-link:hover { + background-color: transparent; + border-radius: 0; + } - .navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { - color: var(--primary); - font-size: 1.25rem; - } + .navbar-dark .navbar-nav .nav-link:active { + background-color: rgba(0, 0, 0, 0.15); + border-radius: 0; + } - #fixed-bar-mobile { - box-shadow: none; - } + .navbar-dark .navbar-nav .nav-link .fa, .navbar-dark .navbar-nav .nav-link .fas, .navbar-dark .navbar-nav .nav-link .far, .navbar-dark .navbar-nav .nav-link .fab { + font-size: 1rem; + } - .mobile-nav-icon { - padding: 0.25rem 0.75rem; - } + .navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { + color: var(--primary); + font-size: 1.25rem; + } - /*#thread, #submit, #error-401, #error-403, #error-404, #error-405, #error-429, #error-451, #error-500 { - background-color: var(--light); - }*/ + #fixed-bar-mobile { + box-shadow: none; + } - /*#frontpage { - padding-top: 49px; - }*/ + .mobile-nav-icon { + padding: 0.25rem 0.75rem; + } - #search .search-results.card { - border-bottom: 0.1px solid var(--gray-400); - border-width: 0 0 0.1px 0; - border-radius: 0; - } + #thread, #submit { + background-color: var(--light); + } - #frontpage .posts .card, #userpage .posts .card, #search .posts .card { - padding: 7px; - border-width: 0 0 0.1px 0; - } + #frontpage { + padding-top: 49px; + } - #frontpage .posts .card:first-of-type, #userpage .posts .card:first-of-type, #search .posts .card:first-of-type { - border-radius: 0; - } + #search .search-results.card { + border-bottom: 0.1px solid var(--gray-400); + border-width: 0 0 0.1px 0; + border-radius: 0; + } - #frontpage .posts .card, #userpage .posts .card, #search .posts .card, #userpage .posts .card { - background-color: var(--gray-600); - } + #frontpage .posts .card, #userpage .posts .card, #search .posts .card { + padding: 7px; + border-width: 0 0 0.1px 0; + } - #frontpage .posts .card:hover .post-title a, #search .posts .card:hover .post-title a { - color: var(--primary); - } + #frontpage .posts .card:first-of-type, #userpage .posts .card:first-of-type, #search .posts .card:first-of-type { + border-radius: 0; + } - #frontpage .posts .card .post-img, #search .posts .card .post-img { - z-index: 3; - } + #frontpage .posts .card, #userpage .posts .card, #search .posts .card, #userpage .posts .card { + background-color: var(--gray-600); + } - .toast { - bottom: 1.5rem; - margin: 0 auto; - left: 0; - right: 0; - } + #frontpage .posts .card:hover .post-title a, #search .posts .card:hover .post-title a { + color: var(--primary); + } - #thread .card { - background-color: var(--gray-600); - } + #frontpage .posts .card .post-img, #search .posts .card .post-img { + z-index: 3; + } - .card { - background-color: var(--gray-600); - } + .toast { + bottom: 1.5rem; + margin: 0 auto; + left: 0; + right: 0; + } - .posts, #thread #main-content-col { - box-shadow: none; - border: none; - border-radius: 0; - } + #thread .card { + background-color: var(--gray-600); + } - #thread #main-content-col { - margin: 0; - } + .card { + background-color: var(--gray-600); + } - .post-title a { - color: var(--black); - } + .posts, #thread #main-content-col { + box-shadow: none; + border: none; + border-radius: 0; + } - .post-title a:hover, .post-title a:active, .post-title a:focus { - color: var(--primary); - } + #thread #main-content-col { + margin: 0; + } - #thread .voting { - min-width: 0; - margin-right: 0; - margin-top: 0; - } + .post-title a { + color: var(--black); + } - .voting { - font-weight: 400; - font-size: 1.2rem; - } + .post-title a:hover, .post-title a:active, .post-title a:focus { + color: var(--primary); + } - #frontpage .voting, #search .voting, #userpage .voting { - margin: 0; - } + #thread .voting { + min-width: 0; + margin-right: 0; + margin-top: 0; + } - .post-title { - font-size: 14px; - font-weight: 400; - line-height: normal; - overflow: hidden; - } + .voting { + font-weight: 400; + font-size: 1.2rem; + } - .post-meta { - font-size: 1rem; - } + #frontpage .voting, #search .voting, #userpage .voting { + margin: 0; + } - .post-actions { - font-weight: 400; - } + .post-title { + font-size: 14px; + font-weight: 400; + line-height: normal; + overflow: hidden; + } - .post-actions a { - font-size: 1rem; - color: var(--gray-200); - } + .post-meta { + font-size: 1rem; + } - .post-actions .fa, .post-actions .fas, .post-actions .far { - font-size: 1rem; - opacity: 0.8; - } + .post-actions { + font-weight: 400; + } - .post-actions .voting .fa, .post-actions .voting .fas, .post-actions .voting .far { - font-size: 1.25rem; - } + .post-actions a { + font-size: 1rem; + color: var(--gray-200); + } - .comment-actions .score { - color: var(--gray-200); - } + .post-actions .fa, .post-actions .fas, .post-actions .far { + font-size: 1rem; + } - .score { - color: var(--gray-200); - } + .post-actions .voting .fa, .post-actions .voting .fas, .post-actions .voting .far { + font-size: 1.25rem; + } - .arrow-up::before, .arrow-down::before, .arrow-up:hover::before, .arrow-down:hover::before { - font-size: 1.25rem; - color: var(--gray-200); - opacity: 1; - } + .comment-actions .score { + color: var(--gray-200); + } - .active.arrow-up::before, .active.arrow-up:hover::before { - color: var(--primary); - } + .score { + color: var(--gray-200); + } - .active.arrow-down::before, .active.arrow-down:hover::before { - color: #38B2AC; - } + .arrow-up::before, .arrow-down::before, .arrow-up:hover::before, .arrow-down:hover::before { + font-size: 1.5rem; + color: var(--gray-200); + opacity: 1; + } - .dropdown-actions a { - font-size: 1rem; - } + .active.arrow-up::before, .active.arrow-up:hover::before { + color: var(--primary); + } - .dropdown-actions .fa, .dropdown-actions .fas, .dropdown-actions .far { - font-size: 1rem; - } + .active.arrow-down::before, .active.arrow-down:hover::before { + color: #38B2AC; + } -/* .comment-section { - background-color: var(--gray-600); - } + .dropdown-actions a { + font-size: 1rem; + } - .comment-section > .comment { - padding-left: 12px; - }*/ + .dropdown-actions .fa, .dropdown-actions .fas, .dropdown-actions .far { + font-size: 1rem; + } -/* .comment { - margin-top: 1.5rem; - } -*/ -/* .comment .comment-collapse { - padding-right: 10px; - } + .comment-section { + background-color: var(--gray-600); + } - .comment.collapsed .user-info { - padding-top: 0.5rem; - }*/ + .comment-section > .comment { + padding-left: 12px; + } - .comment .comment-collapse::before { - content: "\f056"; - position: static; - font-size: 10px; - font-weight: 900; - border: none; - margin-left: 0.25rem; - } + .comment { + margin-top: 1.5rem; + } -/* .comment.collapsed .comment-body:hover { - opacity: 0.5; - }*/ + .comment.collapsed .user-info { + padding-top: 0.5rem; + } - .comment-actions .fa, .comment-actions .fas, .comment-actions .far { - color: var(--gray-100); - } + .comment.collapsed .comment-body:hover { + opacity: 0.5; + } - .banner-pic-135 { - max-width: 100%; - } + .comment-actions .fa, .comment-actions .fas, .comment-actions .far { + color: var(--gray-100); + } - .x-scroll-parent { - overflow: hidden; - } + .banner-pic-135 { + max-width: 100%; + } - .x-scroll { - width: 100%; - overflow-x: scroll; - white-space: nowrap; - scrollbar-width: none; - -ms-overflow-style: none; - } + .x-scroll-parent { + overflow: hidden; + } - .x-scroll::-webkit-scrollbar { - width: 100%; - overflow-x: scroll; - white-space: nowrap; - background: transparent; - } -/* - #thread .post-title { - font-size: 16px; - }*/ + .x-scroll { + width: 100%; + overflow-x: scroll; + white-space: nowrap; + scrollbar-width: none; + -ms-overflow-style: none; + } - #submit .submission { - border: none; - } + .x-scroll::-webkit-scrollbar { + width: 100%; + overflow-x: scroll; + white-space: nowrap; + background: transparent; + } - #submit .submission .body { - padding: 0; - } + #thread .post-title { + font-size: 16px; + } - #submit .submission .footer { - background: transparent; - padding: 1rem 0; - } + #submit .submission { + border: none; + } - .footer .list-inline-item { - line-height: 3; - } + #submit .submission .body { + padding: 0; + } - .comments-count .total { - font-weight: 400; - font-size: 1rem; - } + #submit .submission .footer { + background: transparent; + padding: 1rem 0; + } - .comment-actions { - font-weight: 400; - font-size: 1.2rem; - } + .footer .list-inline-item { + line-height: 3; + } - .user-name { - font-weight: 400; - } + .comments-count .total { + font-weight: 400; + font-size: 1rem; + } - .comment .comment-body .user-name { - color: var(--black); - font-weight: 600; - } + .comment-actions { + font-weight: 400; + font-size: 1.2rem; + } - .pagination { - padding: 1rem; - } - -/* - input[type=color], - input[type=date], - input[type=email], - input[type=month], - input[type=number], - input[type=password], - input[type=search], - input[type=tel], - input[type=text], - input[type=time], - input[type=url], - input[type=week], - select:focus, - textarea { - font-size: 16px !important; - }*/ + .user-name { + font-weight: 400; + } - /*textarea, input[type=text] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - }*/ + .comment .comment-body .user-name { + color: var(--black); + font-weight: 600; + } + + .pagination { + padding: 1rem; + } + + input[type=color], +input[type=date], +input[type=email], +input[type=month], +input[type=number], +input[type=password], +input[type=search], +input[type=tel], +input[type=text], +input[type=time], +input[type=url], +input[type=week], +select:focus, +textarea { + font-size: 16px !important; + } + + textarea, input[type=text] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } } -/*.bg-white { +.bg-white { background-color: var(--gray-600) !important; } @@ -3960,7 +5306,7 @@ pre .com, code .com { .text-gray-400, .text-gray-500 { color: var(--gray-200) !important; -}*/ +} span.red { color: var(--primary); @@ -3976,7 +5322,7 @@ div.banned { } div.deleted { - background-color: #969600 !important; + background-color: #4a4a15 !important; } div.deleted.banned { @@ -3998,22 +5344,22 @@ img.emoji { } .spoiler { - color: #000000; - background-color: #000000; + color: var(--white); + background-color: var(--white); font-weight: 600 !important; padding: 5px; } .spoiler:hover { - color: #FFFFFF; + color: var(--gray); } -/*@media (min-width: 768px) { +@media (min-width: 768px) { .comment { - border-left: 0 !important; - padding-left: 0 !important; - } -}*/ + border-left: 0 !important; + padding-left: 0 !important; + } +} .comment .comment-collapse-desktop { padding-right: 20px; cursor: pointer; @@ -4029,9 +5375,9 @@ img.emoji { @media (max-width: 767.98px) { .settings-nav .nav-link { - font-size: 0.9rem; - padding: 0.75rem 0.6rem; - } + font-size: 1rem; + padding: 0.75rem 0.6rem; + } } .table { color: var(--white); @@ -4041,9 +5387,9 @@ img.emoji { border: 2px solid #e9ecef; } -/*.btn { +.btn { background: transparent; -}*/ +} .form-control { background: transparent; @@ -4079,12 +5425,12 @@ img.emoji { @media (max-width: 767.98px) { .followbutton { - margin-bottom: 10px !important; - } + margin-bottom: 10px !important; + } - .comment-actions { - margin-top: -8px; - } + .comment-actions { + margin-top: -8px; + } } .btn-primary:focus, .btn-primary.focus { box-shadow: none !important; @@ -4102,77 +5448,77 @@ img.emoji { color: var(--primary) !important; } -/** { REMOVED FOR HALLOWEEN EVENT +* { -webkit-animation: None !important; animation: None !important; - }*/ +} - .patron { - padding: 2px 5px 3px 5px !important; - border-radius: 5px !important; - color: white !important; - } +.patron { + padding: 2px 5px 3px 5px !important; + border-radius: 5px !important; + color: white !important; +} - /*.container, .container-fluid { - background-color: var(--gray-700) !important; - border-radius: 5px !important; - }*/ +.container, .container-fluid { + background-color: var(--gray-700) !important; + border-radius: 5px !important; +} - /*.btn { - background-color: var(--gray-700) !important; - } -*/ - .nobackground { - background: None !important; - } +.btn { + background-color: var(--gray-700) !important; +} - /*textarea { - resize: both !important; - }*/ +.nobackground { + background: None !important; +} +textarea { + resize: both !important; +} + +.jumbotron-guild { + position: relative; + background-repeat: no-repeat; + background-size: cover; + background-position: center; + border-radius: 0; + overflow: hidden; + margin-bottom: 0; + padding: 0; + display: flex; + align-items: center; + z-index: 1; +} + +.jumbotron-guild .jumbotron-overlay { + background-color: rgba(0, 0, 0, 0.7); + position: absolute; + width: 100%; + height: 100%; + bottom: 0; + left: 0; + z-index: -1; + pointer-events: none; +} + +@media (max-width: 767.98px) { .jumbotron-guild { - position: relative; - background-repeat: no-repeat; - background-size: cover; - background-position: center; - border-radius: 0; - overflow: hidden; - margin-bottom: 0; - padding: 0; - display: flex; - align-items: center; - z-index: 1; + height: 110px; } - - .jumbotron-guild .jumbotron-overlay { - background-color: rgba(0, 0, 0, 0.7); - position: absolute; - width: 100%; - height: 100%; - bottom: 0; - left: 0; - z-index: -1; - pointer-events: none; - } - - @media (max-width: 767.98px) { - .jumbotron-guild { - height: 110px; - } - } - @media (min-width: 767.98px) { +} +@media (min-width: 767.98px) { .card-columns { - column-count: 4 !important; - } + column-count: 4 !important; + } } @media (min-width: 992px) { .card-columns { - column-count: 5 !important; - } + column-count: 5 !important; + } } -/*.container, .container-fluid { +.container, .container-fluid { padding-bottom: 30px; -}*/ +} .navbar { padding: 0.5rem 0.5rem 0.3rem 0.5rem; @@ -4180,8 +5526,8 @@ img.emoji { @media (min-width: 767.98px) { .navbar { - padding: 0.5rem 3rem 0.3rem 0.5rem; - } + padding: 0.5rem 3rem 0.3rem 0.5rem; + } } blockquote { @@ -4190,16 +5536,16 @@ blockquote { font-size: 1rem; font-weight: 400; background-color: #46444a; - padding: 0.5rem 1rem; - margin: 0.5rem 0rem 0 0.0; + padding: 0 1rem; + margin: 0.5rem 0 0 0; } -blockquote + blockquote { - margin-top: 0px; +div > blockquote:last-child { + margin-bottom: 0.5rem !important; } -blockquote:last-child { - margin-bottom: 10px; +blockquote + blockquote, blockquote:last-child { + margin-top: 0 !important; } blockquote + p { @@ -4208,6 +5554,8 @@ blockquote + p { blockquote p { margin-bottom: 0; + padding-bottom: 0.7rem; + padding-top: 0.7rem; } .unread { @@ -4218,9 +5566,9 @@ blockquote p { @media (min-width: 576px) { .modal-dialog { - max-width: 90% !important; - margin: 1.75rem auto !important; - } + max-width: 50% !important; + margin: 1.75rem auto !important; + } } .in-comment-image { @@ -4240,7 +5588,7 @@ blockquote p { } .embedvid { - max-height: 300px !important; + max-height: 20rem !important; max-width: 100% !important; margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; @@ -4269,13 +5617,48 @@ blockquote p { color: orange !important; } +.text-silver { + color: silver !important; +} + +.text-gold { + color: gold !important; +} + +.text-lightgreen { + color: lightgreen !important; +} + +.text-blue { + color: #1D9BF0 !important; +} + +.text-red { + color: #C30F16 !important; +} + .timeline-Widget { max-height: 500px !important; overflow-y: scroll !important; } -.banner { - margin-top: -3px; +.comment .comment-collapse-icon { + padding-right: 10px; +} + +.comment .comment-collapse-icon::before { + font-family: "font awesome 5 pro" !important; + color: var(--primary); + display: inline-block; + cursor: pointer; + height: 100%; + width: 10px; + content: "\f056"; + position: static; + font-size: 10px; + font-weight: 900; + border: none; + margin-left: 0.25rem; } .text-removed { @@ -4298,459 +5681,31 @@ blockquote p { } } -.offcanvas { - position: fixed; - bottom: 0; - z-index: 1045; - display: flex; - flex-direction: column; - max-width: 100%; - visibility: hidden; - background-color: #fff; - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .offcanvas { - transition: none; - } +.b2 { + border: 2px solid !important; } -.offcanvas-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; -} -.offcanvas-backdrop.fade { - opacity: 0; -} -.offcanvas-backdrop.show { - opacity: 0.8; +.fl-r { + float: right !important; } -.offcanvas-header { - display: flex; - align-items: center; - justify-content: space-between; - padding: 1rem 1rem; -} -.offcanvas-header .btn-close { - padding: 0.5rem 0.5rem; - margin-top: -0.5rem; - margin-right: -0.5rem; - margin-bottom: -0.5rem; -} - -.offcanvas-title { - margin-bottom: 0; - line-height: 1.5; -} - -.offcanvas-body { - flex-grow: 1; - padding: 1rem 1rem; - overflow-y: auto; +.edit-title { + background-color: #fff !important; + color: #000 !important } .emj, .emoji, .emoji-lg { max-width: 100% !important; } -.offcanvas-start { - top: 0; - left: 0; - width: 400px; - border-right: 1px solid rgba(0, 0, 0, 0.2); - transform: translateX(-100%); +.text-lightblue { + color: lightblue; } -.offcanvas-end { - top: 0; - right: 0; - width: 400px; - border-left: 1px solid rgba(0, 0, 0, 0.2); - transform: translateX(100%); +.bet ~ .custom-control-label::before { + border-radius: 50%; } -.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: 30vh; - max-height: 100%; - border-bottom: 1px solid rgba(0, 0, 0, 0.2); - transform: translateY(-100%); -} - -.offcanvas-bottom { - right: 0; - left: 0; - height: 30vh; - max-height: 100%; - border-top: 1px solid rgba(0, 0, 0, 0.2); - transform: translateY(100%); -} - -.offcanvas.show { - transform: none; -} - -.navbar-expand .offcanvas-header { - display: none; -} -.navbar-expand .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; -} -.navbar-expand .offcanvas-top, -.navbar-expand .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; -} -.navbar-expand .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; -} -@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-right: 0.5rem; - padding-left: 0.5rem; - } - .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-header { - display: none; - } - .navbar-expand-sm .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-sm .offcanvas-top, -.navbar-expand-sm .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-sm .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@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-right: 0.5rem; - padding-left: 0.5rem; - } - .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-header { - display: none; - } - .navbar-expand-md .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-md .offcanvas-top, -.navbar-expand-md .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-md .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@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-right: 0.5rem; - padding-left: 0.5rem; - } - .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-header { - display: none; - } - .navbar-expand-lg .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-lg .offcanvas-top, -.navbar-expand-lg .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-lg .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@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-right: 0.5rem; - padding-left: 0.5rem; - } - .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-header { - display: none; - } - .navbar-expand-xl .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-xl .offcanvas-top, -.navbar-expand-xl .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-xl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 1400px) { - .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-right: 0.5rem; - padding-left: 0.5rem; - } - .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-header { - display: none; - } - .navbar-expand-xxl .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-xxl .offcanvas-top, -.navbar-expand-xxl .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-xxl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -.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-right: 0.5rem; - padding-left: 0.5rem; -} -.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-header { - display: none; -} -.navbar-expand .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; -} -.navbar-expand .offcanvas-top, -.navbar-expand .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; -} -.navbar-expand .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; -} - -.pp20 { - width: 20px; - height: 20px; - object-fit: cover; - display: inline; -} - -.max-h-12 { - max-height: 3rem; -} +.emoji-modal { + max-width: 90% !important +} \ No newline at end of file diff --git a/files/assets/images/badges/patron-1.webp b/files/assets/images/badges/patron-1.webp new file mode 100644 index 000000000..7705b5945 Binary files /dev/null and b/files/assets/images/badges/patron-1.webp differ diff --git a/files/assets/images/badges/patron-2.webp b/files/assets/images/badges/patron-2.webp new file mode 100644 index 000000000..80f499dd0 Binary files /dev/null and b/files/assets/images/badges/patron-2.webp differ diff --git a/files/assets/images/badges/patron-3.webp b/files/assets/images/badges/patron-3.webp new file mode 100644 index 000000000..6b07327b5 Binary files /dev/null and b/files/assets/images/badges/patron-3.webp differ diff --git a/files/assets/images/badges/patron-4.webp b/files/assets/images/badges/patron-4.webp new file mode 100644 index 000000000..75bea7f0b Binary files /dev/null and b/files/assets/images/badges/patron-4.webp differ diff --git a/files/assets/images/badges/patron-5.webp b/files/assets/images/badges/patron-5.webp new file mode 100644 index 000000000..a9aeeec9a Binary files /dev/null and b/files/assets/images/badges/patron-5.webp differ diff --git a/files/assets/js/award_modal.js b/files/assets/js/award_modal.js index 85873cc89..d0eca0a48 100644 --- a/files/assets/js/award_modal.js +++ b/files/assets/js/award_modal.js @@ -81,9 +81,9 @@ function awardModal(link) { function bruh(kind) { document.getElementById('giveaward').disabled=false; - // document.getElementById('kind').value=kind; - // try {document.getElementsByClassName('bg-green-400')[0].classList.toggle('bg-green-400');} catch(e) {} - // document.getElementById(kind).classList.toggle('bg-green-400') + document.getElementById('kind').value=kind; + try {document.getElementsByClassName('picked')[0].classList.toggle('picked');} catch(e) {} + document.getElementById(kind).classList.toggle('picked') if (kind == "flairlock") { document.getElementById('notelabel').innerHTML = "New flair:"; document.getElementById('note').placeholder = "Insert new flair here..."; diff --git a/files/assets/js/comments+submission_listing.js b/files/assets/js/comments+submission_listing.js index 6e1e211f6..c8464a3da 100644 --- a/files/assets/js/comments+submission_listing.js +++ b/files/assets/js/comments+submission_listing.js @@ -5,7 +5,7 @@ function timestamp(str, ti) { function pinned_timestamp(id) { const el = document.getElementById(id) - const time = new Date(el.dataset.timestamp) + const time = new Date(parseInt(el.dataset.timestamp)*1000) el.setAttribute("data-bs-original-title", `Pinned until ${time}`) } diff --git a/files/assets/js/comments.js b/files/assets/js/comments.js index 94db69e9f..5f2f5b222 100644 --- a/files/assets/js/comments.js +++ b/files/assets/js/comments.js @@ -1,50 +1,38 @@ -function timestamp(str, ti) { - date = new Date(ti*1000); - document.getElementById(str).setAttribute("data-bs-original-title", date.toString()); -}; - function collapse_comment(comment_id) { - const comment = document.getElementById(`comment-${comment_id}`) - const top = comment.getBoundingClientRect().y; + const comment = "comment-" + comment_id + const element = document.getElementById(comment) + const closed = element.classList.toggle("collapsed") + const top = element.getBoundingClientRect().y - const toggler = document.getElementById(`comment-collapse-${comment_id}`); - - ['hidden', 'pointer-events-none'].map(x=> toggler.classList.toggle(x)); - - ['items-center', 'opacity-50', 'md:hover:opacity-100', 'collapsed'].map(y=> comment.classList.toggle(y)); // apply flex alignment and opacity to comment parent wrapping div - - const isClosed = comment.classList.contains("collapsed"); - - const icon = document.getElementsByClassName(`comment-toggle-icon-${comment_id}`); - for (let i = 0; i < icon.length; i++) { - //icon[i].innerText = isClosed ? '[+]' : '[-]'; // text fallback if we don't want to use icons - icon[i].classList.toggle('fa-minus-circle'); - icon[i].classList.toggle('fa-plus-circle'); - } - - if (isClosed && top < 0) { - comment.scrollIntoView() + if (closed && top < 0) { + element.scrollIntoView() window.scrollBy(0, - 100) } }; -function loadMoreReplies(cid,id,trigger) { - const btn = document.getElementById(trigger) // trigger button - const el = document.getElementById(id) // target element to populate - const form = new FormData(); - const xhr = new XMLHttpRequest(); - - btn.classList.toggle('animate-pulse'); +function poll_vote_no_v() { + var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); + myToast.show(); + document.getElementById('toast-post-error-text').innerText = "Only logged-in users can vote!"; +} +function morecomments(cid) { + btn = document.getElementById(`btn-${cid}`); + btn.disabled = true; + btn.innerHTML = "Requesting..."; + var form = new FormData(); + form.append("formkey", formkey()); + var xhr = new XMLHttpRequest(); xhr.open("post", `/morecomments/${cid}`); xhr.withCredentials=true; xhr.onload=function(){ if (xhr.status==200) { - btn.style.display = "none"; // hide button - el.innerHTML += xhr.response.replace(/data-src/g, 'src').replace(/data-cfsrc/g, 'src').replace(/style="display:none;visibility:hidden;"/g, ''); // replace desired element with response html - initializeBootstrap() - } else { - btn.disabled = false; // enable our button if GET fails + document.getElementById(`morecomments-${cid}`).innerHTML = xhr.response.replace(/data-src/g, 'src').replace(/data-cfsrc/g, 'src').replace(/style="display:none;visibility:hidden;"/g, ''); + var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); + tooltipTriggerList.map(function(element){ + return new bootstrap.Tooltip(element); + }); + popovertrigger() } } xhr.send(form) diff --git a/files/assets/js/comments_admin.js b/files/assets/js/comments_admin.js index 0d230686e..d9355429f 100644 --- a/files/assets/js/comments_admin.js +++ b/files/assets/js/comments_admin.js @@ -4,18 +4,18 @@ function removeComment(post_id,button1,button2) { post(url) try { - document.getElementById("comment-"+post_id+"-only").classList.add("bg-red-200"); + document.getElementById("comment-"+post_id+"-only").classList.add("banned"); } catch(e) { - document.getElementById("context").classList.add("bg-red-200"); + document.getElementById("context").classList.add("banned"); } - const button=document.getElementById("remove-"+post_id); + var button=document.getElementById("remove-"+post_id); button.onclick=function(){approveComment(post_id)}; button.innerHTML='Approve' if (typeof button1 !== 'undefined') { - document.getElementById(button1).classList.toggle("md:block"); - document.getElementById(button2).classList.toggle("md:block"); + document.getElementById(button1).classList.toggle("d-md-inline-block"); + document.getElementById(button2).classList.toggle("d-md-inline-block"); } }; @@ -25,18 +25,18 @@ function approveComment(post_id,button1,button2) { post(url) try { - document.getElementById("comment-"+post_id+"-only").classList.remove("bg-red-200"); + document.getElementById("comment-"+post_id+"-only").classList.remove("banned"); } catch(e) { - document.getElementById("context").classList.remove("bg-red-200"); + document.getElementById("context").classList.remove("banned"); } - const button=document.getElementById("remove-"+post_id); + var button=document.getElementById("remove-"+post_id); button.onclick=function(){removeComment(post_id)}; button.innerHTML='Remove' if (typeof button1 !== 'undefined') { - document.getElementById(button1).classList.toggle("md:block"); - document.getElementById(button2).classList.toggle("md:block"); + document.getElementById(button1).classList.toggle("d-md-inline-block"); + document.getElementById(button2).classList.toggle("d-md-inline-block"); } } @@ -46,14 +46,14 @@ function removeComment2(post_id,button1,button2) { post(url) - document.getElementById("comment-"+post_id+"-only").classList.add("bg-red-200"); - const button=document.getElementById("remove-"+post_id); + document.getElementById("comment-"+post_id+"-only").classList.add("banned"); + var button=document.getElementById("remove-"+post_id); button.onclick=function(){approveComment(post_id)}; button.innerHTML='Approve' if (typeof button1 !== 'undefined') { - document.getElementById(button1).classList.toggle("hidden"); - document.getElementById(button2).classList.toggle("hidden"); + document.getElementById(button1).classList.toggle("d-none"); + document.getElementById(button2).classList.toggle("d-none"); } }; @@ -62,13 +62,13 @@ function approveComment2(post_id,button1,button2) { post(url) - document.getElementById("comment-"+post_id+"-only").classList.remove("bg-red-200"); - const button=document.getElementById("remove-"+post_id); + document.getElementById("comment-"+post_id+"-only").classList.remove("banned"); + var button=document.getElementById("remove-"+post_id); button.onclick=function(){removeComment(post_id)}; button.innerHTML='Remove' if (typeof button1 !== 'undefined') { - document.getElementById(button1).classList.toggle("hidden"); - document.getElementById(button2).classList.toggle("hidden"); + document.getElementById(button1).classList.toggle("d-none"); + document.getElementById(button2).classList.toggle("d-none"); } } \ No newline at end of file diff --git a/files/assets/js/comments_v.js b/files/assets/js/comments_v.js index 5532baa32..9950f6aae 100644 --- a/files/assets/js/comments_v.js +++ b/files/assets/js/comments_v.js @@ -52,8 +52,8 @@ function post_toast3(url, button1, button2) { xhr.send(form); - document.getElementById(button1).classList.toggle("md:block"); - document.getElementById(button2).classList.toggle("md:block"); + document.getElementById(button1).classList.toggle("d-md-inline-block"); + document.getElementById(button2).classList.toggle("d-md-inline-block"); } function report_commentModal(id, author) { @@ -73,8 +73,8 @@ function report_commentModal(id, author) { xhr.withCredentials=true; xhr.onload=function() { - document.getElementById("reportCommentFormBefore").classList.add('hidden'); - document.getElementById("reportCommentFormAfter").classList.remove('hidden'); + document.getElementById("reportCommentFormBefore").classList.add('d-none'); + document.getElementById("reportCommentFormAfter").classList.remove('d-none'); }; xhr.onerror=function(){alert(errortext)}; @@ -85,7 +85,7 @@ function report_commentModal(id, author) { function openReplyBox(id) { const element = document.getElementById(`reply-to-${id}`); - element.classList.remove('hidden') + element.classList.remove('d-none') element.getElementsByTagName('textarea')[0].focus() } @@ -96,9 +96,9 @@ function toggleEdit(id){ box=document.getElementById('comment-edit-body-'+id); actions = document.getElementById('comment-' + id +'-actions'); - comment.classList.toggle("hidden"); - form.classList.toggle("hidden"); - actions.classList.toggle("hidden"); + comment.classList.toggle("d-none"); + form.classList.toggle("d-none"); + actions.classList.toggle("d-none"); autoExpand(box); }; diff --git a/files/assets/js/default.js b/files/assets/js/default.js index b87db87ea..f53dfcf84 100644 --- a/files/assets/js/default.js +++ b/files/assets/js/default.js @@ -1,74 +1,12 @@ -function formkey() { - return document.getElementById("formkey").innerHTML; -} - -function makeBold(form) { - var text = document.getElementById(form); - var startIndex = text.selectionStart, - endIndex = text.selectionEnd; - var selectedText = text.value.substring(startIndex, endIndex); - - var format = '**' - - if (selectedText.includes('**')) { - text.value = selectedText.replace(/\*/g, ''); - } - else if (selectedText.length == 0) { - text.value = text.value.substring(0, startIndex) + selectedText + text.value.substring(endIndex); - } - else { - text.value = text.value.substring(0, startIndex) + format + selectedText + format + text.value.substring(endIndex); - } -} - -function makeItalics(form) { - var text = document.getElementById(form); - var startIndex = text.selectionStart, - endIndex = text.selectionEnd; - var selectedText = text.value.substring(startIndex, endIndex); - - var format = '*' - - if (selectedText.includes('*')) { - text.value = selectedText.replace(/\*/g, ''); - } - else if (selectedText.length == 0) { - text.value = text.value.substring(0, startIndex) + selectedText + text.value.substring(endIndex); - } - else { - text.value = text.value.substring(0, startIndex) + format + selectedText + format + text.value.substring(endIndex); - } -} - -makeQuote = function (form) { - var text = document.getElementById(form); - var startIndex = text.selectionStart, - endIndex = text.selectionEnd; - var selectedText = text.value.substring(startIndex, endIndex); - - var format = '>' - - if (selectedText.includes('>')) { - text.value = text.value.substring(0, startIndex) + selectedText.replace(/\>/g, '') + text.value.substring(endIndex); - } - else if (selectedText.length == 0) { - text.value = text.value.substring(0, startIndex) + selectedText + text.value.substring(endIndex); - } - else { - text.value = text.value.substring(0, startIndex) + format + selectedText + text.value.substring(endIndex); - } -} - function autoExpand (field) { - - xpos=window.scrollX; + xpos=window.scrollX; ypos=window.scrollY; - field.style.height = 'inherit'; + field.style.height = 'inherit'; - var computed = window.getComputedStyle(field); + var computed = window.getComputedStyle(field); - var height = parseInt(computed.getPropertyValue('border-top-width'), 10) + var height = parseInt(computed.getPropertyValue('border-top-width'), 10) + parseInt(computed.getPropertyValue('padding-top'), 10) + field.scrollHeight + parseInt(computed.getPropertyValue('padding-bottom'), 10) @@ -77,71 +15,10 @@ function autoExpand (field) { field.style.height = height + 'px'; - window.scrollTo(xpos,ypos); - + window.scrollTo(xpos,ypos); }; - document.addEventListener('input', function (event) { if (event.target.tagName.toLowerCase() !== 'textarea') return; autoExpand(event.target); -}, false); - -function post_toast2(url, button1, button2) { - var xhr = new XMLHttpRequest(); - xhr.open("POST", url, true); - var form = new FormData() - form.append("formkey", formkey()); - - if(typeof data === 'object' && data !== null) { - for(let k of Object.keys(data)) { - form.append(k, data[k]); - } - } - - - form.append("formkey", formkey()); - xhr.withCredentials=true; - - xhr.onload = function() { - if (xhr.status >= 200 && xhr.status < 300) { - try { - document.getElementById('toast-post-success-text').innerText = JSON.parse(xhr.response)["message"]; - } catch(e) { - document.getElementById('toast-post-success-text').innerText = "Action successful!"; - } - var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); - myToast.show(); - return true - - } else if (xhr.status >= 300 && xhr.status < 400) { - window.location.href = JSON.parse(xhr.response)["redirect"] - } else { - try { - data=JSON.parse(xhr.response); - - var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); - myToast.show(); - document.getElementById('toast-post-error-text').innerText = data["error"]; - return false - } catch(e) { - var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); - myToast.hide(); - var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); - myToast.show(); - return false - } - } - }; - - xhr.send(form); - - document.getElementById(button1).classList.toggle("hidden"); - document.getElementById(button2).classList.toggle("hidden"); -} - -function expandDesktopImage(image) { - document.getElementById("desktop-expanded-image").src = image.replace("200w_d.webp", "giphy.webp"); - document.getElementById("desktop-expanded-image-link").href = image; - document.getElementById("desktop-expanded-image-wrap-link").href=image; -}; \ No newline at end of file +}, false); \ No newline at end of file diff --git a/files/assets/js/emoji_modal.js b/files/assets/js/emoji_modal.js index fe703a893..c0e85cf4e 100644 --- a/files/assets/js/emoji_modal.js +++ b/files/assets/js/emoji_modal.js @@ -875,12 +875,12 @@ function loadEmojis(form) { if (i == 0) { for (const [key, value] of Object.entries(arr)) { - str += ``; + str += ``; } } else { for (let j = 0; j < arr.length; j++) { - str += ``; + str += ``; } } @@ -895,7 +895,7 @@ function loadEmojis(form) { let container = document.getElementById(`EMOJIS_${EMOJIS_STRINGS[i].type}`) for (let j = 0; j < arr.length; j++) { if (arr[j].match(search_bar.value.toLowerCase()) || search_bar.value.toLowerCase().match(arr[j])) { - str += ``; + str += ``; } } @@ -905,7 +905,7 @@ function loadEmojis(form) { for (const [key, value] of Object.entries(arr2)) { if (str.includes(`'${key}'`)) continue; if (key.match(search_bar.value.toLowerCase()) || search_bar.value.toLowerCase().match(key) || value.match(search_bar.value.toLowerCase())) { - str += ``; + str += ``; } } container.innerHTML = "" @@ -928,7 +928,7 @@ if (favorite_emojis) ); for (const emoji of Object.keys(sortable)) - str += `` + str += `` document.getElementById('EMOJIS_favorite').innerHTML = str } diff --git a/files/assets/js/gif_modal.js b/files/assets/js/gif_modal.js index 1c7a99cd3..421af16f7 100644 --- a/files/assets/js/gif_modal.js +++ b/files/assets/js/gif_modal.js @@ -31,9 +31,9 @@ async function getGif(searchTerm) { loadGIFs.innerHTML = null; } else { - backBtn.innerHTML = ''; + backBtn.innerHTML = ''; - cancelBtn.innerHTML = ''; + cancelBtn.innerHTML = ''; let response = await fetch("/giphy?searchTerm=" + searchTerm + "&limit=48"); let data = await response.json() @@ -42,7 +42,7 @@ async function getGif(searchTerm) { var gifURL = []; if (max <= 0) { - noGIFs.innerHTML = '

    Aw shucks. No GIFs found...

    '; + noGIFs.innerHTML = '

    Aw shucks. No GIFs found...

    '; container.innerHTML = null; loadGIFs.innerHTML = null; } @@ -50,13 +50,13 @@ async function getGif(searchTerm) { for (var i = 0; i < 48; i++) { gifURL[i] = "https://media.giphy.com/media/" + data[i].id + "/giphy.webp"; if (data[i].username==''){ - container.innerHTML += ('
    '); + container.innerHTML += ('
    '); } else { - container.innerHTML += ('
    '); + container.innerHTML += ('
    '); } noGIFs.innerHTML = null; - loadGIFs.innerHTML = '

    You have reached the end of the list!

    '; + loadGIFs.innerHTML = '

    Thou've reached the end of the list!

    '; } } } diff --git a/files/assets/js/header.js b/files/assets/js/header.js index 921b3f261..06798de89 100644 --- a/files/assets/js/header.js +++ b/files/assets/js/header.js @@ -1,25 +1,12 @@ -function initializeBootstrap() { - // tooltips - let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); - tooltipTriggerList.map(function(element){ - return new bootstrap.Tooltip(element); - }); - // popovers - let popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); - let popoverList = popoverTriggerList.map(function(popoverTriggerEl) { - let popoverId = popoverTriggerEl.getAttribute('data-content-id'); - let contentEl = document.getElementById(popoverId); - if (contentEl) { - return new bootstrap.Popover(popoverTriggerEl, { - content: contentEl.innerHTML, - html: true, - }); - } - }) +function formkey() { + return document.getElementById("formkey").innerHTML } - + document.addEventListener("DOMContentLoaded", function(){ - initializeBootstrap() + var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); + tooltipTriggerList.map(function(element){ + return new bootstrap.Tooltip(element); + }); }); function post_toast(url, reload, data) { @@ -34,8 +21,6 @@ function post_toast(url, reload, data) { } } - - form.append("formkey", formkey()); xhr.withCredentials=true; xhr.onload = function() { diff --git a/files/assets/js/lozad.js b/files/assets/js/lozad.js index 81235f5ce..a8cd2ee3e 100644 --- a/files/assets/js/lozad.js +++ b/files/assets/js/lozad.js @@ -1 +1,4 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.lozad=e()}(this,function(){"use strict";var g="undefined"!=typeof document&&document.documentMode,f={rootMargin:"0px",threshold:0,load:function(t){if("picture"===t.nodeName.toLowerCase()){var e=t.querySelector("img"),r=!1;null===e&&(e=document.createElement("img"),r=!0),g&&t.getAttribute("data-iesrc")&&(e.src=t.getAttribute("data-iesrc")),t.getAttribute("data-alt")&&(e.alt=t.getAttribute("data-alt")),r&&t.append(e)}if("video"===t.nodeName.toLowerCase()&&!t.getAttribute("data-src")&&t.children){for(var a=t.children,o=void 0,i=0;i<=a.length-1;i++)(o=a[i].getAttribute("data-src"))&&(a[i].src=o);t.load()}t.getAttribute("data-poster")&&(t.poster=t.getAttribute("data-poster")),t.getAttribute("data-src")&&(t.src=t.getAttribute("data-src")),t.getAttribute("data-srcset")&&t.setAttribute("srcset",t.getAttribute("data-srcset"));var n=",";if(t.getAttribute("data-background-delimiter")&&(n=t.getAttribute("data-background-delimiter")),t.getAttribute("data-background-image"))t.style.backgroundImage="url('"+t.getAttribute("data-background-image").split(n).join("'),url('")+"')";else if(t.getAttribute("data-background-image-set")){var d=t.getAttribute("data-background-image-set").split(n),u=d[0].substr(0,d[0].indexOf(" "))||d[0];u=-1===u.indexOf("url(")?"url("+u+")":u,1===d.length?t.style.backgroundImage=u:t.setAttribute("style",(t.getAttribute("style")||"")+"background-image: "+u+"; background-image: -webkit-image-set("+d+"); background-image: image-set("+d+")")}t.getAttribute("data-toggle-class")&&t.classList.toggle(t.getAttribute("data-toggle-class"))},loaded:function(){}};function A(t){t.setAttribute("data-loaded",!0)}var m=function(t){return"true"===t.getAttribute("data-loaded")},v=function(t){var e=1 { - let currentScrollPos = window.pageYOffset; - // var topBar = document.getElementById("fixed-bar-mobile"); - const bottomBar = document.getElementById("mobile-bottom-navigation-bar"); - // var dropdown = document.getElementById("mobileSortDropdown"); - // var navbar = document.getElementById("navbar"); + var topBar = document.getElementById("fixed-bar-mobile"); + + var bottomBar = document.getElementById("mobile-bottom-navigation-bar"); + + var dropdown = document.getElementById("mobileSortDropdown"); + + var navbar = document.getElementById("navbar"); if (bottomBar != null) { - if (currentScrollPos <= 60 || ((window.innerHeight + currentScrollPos) < document.body.offsetHeight)) { - // console.log('less than 60 greater than offsetHeight'); - bottomBar.style.transform = "translateY(60px)"; + if (prevScrollpos > currentScrollPos && (window.innerHeight + currentScrollPos) < (document.body.offsetHeight - 65)) { + bottomBar.style.bottom = "0px"; + } + else if (currentScrollPos <= 125 && (window.innerHeight + currentScrollPos) < (document.body.offsetHeight - 65)) { + bottomBar.style.bottom = "0px"; } - else if (prevScrollpos > currentScrollPos) { - // console.log('prev greater than current'); - bottomBar.style.transform = "translateY(0px)" + else if (prevScrollpos > currentScrollPos && (window.innerHeight + currentScrollPos) >= (document.body.offsetHeight - 65)) { + bottomBar.style.bottom = "-50px"; } else { - // console.log('else'); - bottomBar.style.transform = "translateY(60px)"; + bottomBar.style.bottom = "-50px"; } } - // if (topBar != null && dropdown != null) { - // if (prevScrollpos > currentScrollPos) { - // topBar.style.top = "48px"; - // navbar.classList.remove("shadow"); - // } - // else if (currentScrollPos <= 125) { - // topBar.style.top = "48px"; - // navbar.classList.remove("shadow"); - // } - // else { - // topBar.style.top = "-48px"; - // dropdown.classList.remove('show'); - // navbar.classList.add("shadow"); - // } - // } + if (topBar != null && dropdown != null) { + if (prevScrollpos > currentScrollPos) { + topBar.style.top = "48px"; + navbar.classList.remove("shadow"); + } + else if (currentScrollPos <= 125) { + topBar.style.top = "48px"; + navbar.classList.remove("shadow"); + } + else { + topBar.style.top = "-48px"; + dropdown.classList.remove('show'); + navbar.classList.add("shadow"); + } + } prevScrollpos = currentScrollPos; } \ No newline at end of file diff --git a/files/assets/js/report_post_modal.js b/files/assets/js/report_post_modal.js index 1f19f9a85..ddf9fc353 100644 --- a/files/assets/js/report_post_modal.js +++ b/files/assets/js/report_post_modal.js @@ -16,8 +16,8 @@ function report_postModal(id) { xhr.withCredentials=true; xhr.onload=function() { - document.getElementById("reportPostFormBefore").classList.add('hidden'); - document.getElementById("reportPostFormAfter").classList.remove('hidden'); + document.getElementById("reportPostFormBefore").classList.add('d-none'); + document.getElementById("reportPostFormAfter").classList.remove('d-none'); }; xhr.onerror=function(){alert(errortext)}; diff --git a/files/assets/js/signup.js b/files/assets/js/signup.js index 146c1ae66..baad1cd68 100644 --- a/files/assets/js/signup.js +++ b/files/assets/js/signup.js @@ -7,11 +7,11 @@ document.addEventListener("DOMContentLoaded", function () { var successID = document.getElementById("passwordHelpSuccess"); if (charCount.length >= 8) { - id.classList.add("hidden"); - successID.classList.remove("hidden"); + id.classList.add("d-none"); + successID.classList.remove("d-none"); } else { - id.classList.remove("hidden"); - successID.classList.add("hidden"); + id.classList.remove("d-none"); + successID.classList.add("d-none"); } }); diff --git a/files/assets/js/submission.js b/files/assets/js/submission.js index b3b31cce7..ee43eee62 100644 --- a/files/assets/js/submission.js +++ b/files/assets/js/submission.js @@ -1,11 +1,13 @@ -function togglePostEdit(id){ - body=document.getElementById("post-body"); - title=document.getElementById("post-title"); - form=document.getElementById("edit-post-body-"+id); - box=document.getElementById("post-edit-box-"+id); - - body.classList.toggle("hidden"); - title.classList.toggle("hidden"); - form.classList.toggle("hidden"); - autoExpand(box); -}; +function bet_vote(cid) { + for(let el of document.getElementsByClassName('bet')) { + el.disabled = true; + } + for(let el of document.getElementsByClassName('cost')) { + el.classList.add('d-none') + } + var scoretext = document.getElementById('bet-' + cid); + var score = Number(scoretext.textContent); + scoretext.textContent = score + 1; + post('/bet/' + cid); + document.getElementById("user-coins-amount").innerText = parseInt(document.getElementById("user-coins-amount").innerText) - 200; +} \ No newline at end of file diff --git a/files/assets/js/submission_listing.js b/files/assets/js/submission_listing.js index 46c0682c1..f64ab7c35 100644 --- a/files/assets/js/submission_listing.js +++ b/files/assets/js/submission_listing.js @@ -1,16 +1,5 @@ -function timestamp(str, ti) { - date = new Date(ti*1000); - document.getElementById(str).setAttribute("data-bs-original-title", date.toString()); -}; - function expandText(id) { - const el = document.getElementById('post-text-'+id); - ['gradient-mask', 'max-h-12', 'overflow-hidden', 'pointer-events-none', 'text-gray-600'].map(v=> el.classList.toggle(v)); - ['text-black'].map(v=> el.classList.toggle(v)); - - const trigger = document.getElementsByClassName('text-expand-icon-'+id); - for (let i = 0; i < trigger.length; i++) { - trigger[i].classList.toggle('fa-expand-alt'); - trigger[i].classList.toggle('fa-compress-alt'); - } + document.getElementById('post-text-'+id).classList.toggle('d-none'); + document.getElementsByClassName('text-expand-icon-'+id)[0].classList.toggle('fa-expand-alt'); + document.getElementsByClassName('text-expand-icon-'+id)[0].classList.toggle('fa-compress-alt'); }; \ No newline at end of file diff --git a/files/assets/js/submit.js b/files/assets/js/submit.js index bf8d09013..ef23e7b00 100644 --- a/files/assets/js/submit.js +++ b/files/assets/js/submit.js @@ -2,10 +2,10 @@ function hide_image() { x=document.getElementById('image-upload-block'); url=document.getElementById('post-URL').value; if (url.length>=1){ - x.classList.add('hidden'); + x.classList.add('d-none'); } else { - x.classList.remove('hidden'); + x.classList.remove('d-none'); } } @@ -82,7 +82,7 @@ document.onpaste = function(event) { { f.files = files; document.getElementById('filename-show').textContent = filename; - document.getElementById('urlblock').classList.add('hidden'); + document.getElementById('urlblock').classList.add('d-none'); var fileReader = new FileReader(); fileReader.readAsDataURL(f.files[0]); fileReader.addEventListener("load", function () {document.getElementById('image-preview').setAttribute('src', this.result);}); @@ -93,7 +93,7 @@ document.onpaste = function(event) { document.getElementById('file-upload').addEventListener('change', function(){ f=document.getElementById('file-upload'); - document.getElementById('urlblock').classList.add('hidden'); + document.getElementById('urlblock').classList.add('d-none'); document.getElementById('filename-show').textContent = document.getElementById('file-upload').files[0].name; filename = f.files[0].name.toLowerCase() if (filename.endsWith(".jpg") || filename.endsWith(".jpeg") || filename.endsWith(".png") || filename.endsWith(".webp") || filename.endsWith(".webp")) diff --git a/files/assets/js/twitter.js b/files/assets/js/twitter.js index c4e622091..ec7bea494 100644 --- a/files/assets/js/twitter.js +++ b/files/assets/js/twitter.js @@ -1,4 +1,4 @@ -Function&&Function.prototype&&Function.prototype.bind&&(/(MSIE ([6789]|10|11))|Trident/.test(navigator.userAgent)||(window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.loaded&&window.twttr.widgets.load&&window.twttr.widgets.load(),window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.init||function(t){function e(e){for(var n,i,o=e[0],s=e[1],a=0,c=[];a-1},forIn:i,isObject:s,isEmptyObject:a,toType:o,isType:function(t,e){return t==o(e)},toRealArray:u}},function(t,e){t.exports=window},function(t,e,n){var r=n(6);t.exports=function(){var t=this;this.promise=new r(function(e,n){t.resolve=e,t.reject=n})}},function(t,e,n){var r=n(11),i=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,o=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,s=/^http(s?):\/\/(\w+\.)*twitter\.com([:/]|$)/i,a=/^http(s?):\/\/(ton|pbs)\.twimg\.com/,u=/^#?([^.,<>!\s/#\-()'"]+)$/,c=/twitter\.com(?::\d{2,4})?\/intent\/(\w+)/,d=/^https?:\/\/(?:www\.)?twitter\.com\/\w+\/timelines\/(\d+)/i,l=/^https?:\/\/(?:www\.)?twitter\.com\/i\/moments\/(\d+)/i,f=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/(?:likes|favorites)/i,h=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/lists\/([\w-%]+)/i,p=/^https?:\/\/(?:www\.)?twitter\.com\/i\/live\/(\d+)/i,m=/^https?:\/\/syndication\.twitter\.com\/settings/i,v=/^https?:\/\/(localhost|platform)\.twitter\.com(?::\d+)?\/widgets\/widget_iframe\.(.+)/i,g=/^https?:\/\/(?:www\.)?twitter\.com\/search\?q=(\w+)/i;function w(t){return"string"==typeof t&&i.test(t)&&RegExp.$1.length<=20}function y(t){if(w(t))return RegExp.$1}function b(t,e){var n=r.decodeURL(t);if(e=e||!1,n.screen_name=y(t),n.screen_name)return r.url("https://twitter.com/intent/"+(e?"follow":"user"),n)}function _(t){return"string"==typeof t&&u.test(t)}function E(t){return"string"==typeof t&&o.test(t)}t.exports={isHashTag:_,hashTag:function(t,e){if(e=void 0===e||e,_(t))return(e?"#":"")+RegExp.$1},isScreenName:w,screenName:y,isStatus:E,status:function(t){return E(t)&&RegExp.$1},intentForProfileURL:b,intentForFollowURL:function(t){return b(t,!0)},isTwitterURL:function(t){return s.test(t)},isTwimgURL:function(t){return a.test(t)},isIntentURL:function(t){return c.test(t)},isSettingsURL:function(t){return m.test(t)},isWidgetIframeURL:function(t){return v.test(t)},isSearchUrl:function(t){return g.test(t)},regexen:{profile:i},momentId:function(t){return l.test(t)&&RegExp.$1},collectionId:function(t){return d.test(t)&&RegExp.$1},intentType:function(t){return c.test(t)&&RegExp.$1},likesScreenName:function(t){return f.test(t)&&RegExp.$1},listScreenNameAndSlug:function(t){var e,n,r;if(h.test(t)){e=RegExp.$1,n=RegExp.$2;try{r=decodeURIComponent(n)}catch(t){}return{ownerScreenName:e,slug:r||n}}return!1},eventId:function(t){return p.test(t)&&RegExp.$1}}},function(t,e){t.exports=document},function(t,e,n){var r=n(0),i=[!0,1,"1","on","ON","true","TRUE","yes","YES"],o=[!1,0,"0","off","OFF","false","FALSE","no","NO"];function s(t){return void 0!==t&&null!==t&&""!==t}function a(t){return c(t)&&t%1==0}function u(t){return c(t)&&!a(t)}function c(t){return s(t)&&!isNaN(t)}function d(t){return r.contains(o,t)}function l(t){return r.contains(i,t)}t.exports={hasValue:s,isInt:a,isFloat:u,isNumber:c,isString:function(t){return"string"===r.toType(t)},isArray:function(t){return s(t)&&"array"==r.toType(t)},isTruthValue:l,isFalseValue:d,asInt:function(t){if(a(t))return parseInt(t,10)},asFloat:function(t){if(u(t))return t},asNumber:function(t){if(c(t))return t},asBoolean:function(t){return!(!s(t)||!l(t)&&(d(t)||!t))}}},function(t,e,n){var r=n(1),i=n(21),o=n(49);i.hasPromiseSupport()||(r.Promise=o),t.exports=r.Promise},function(t,e,n){var r=n(0);t.exports=function(t,e){var n=Array.prototype.slice.call(arguments,2);return function(){var i=r.toRealArray(arguments);return t.apply(e,n.concat(i))}}},function(t,e,n){var r=n(51);t.exports=new r("__twttr")},function(t,e){t.exports=location},function(t,e,n){var r=n(0),i=/\b([\w-_]+)\b/g;function o(t){return new RegExp("\\b"+t+"\\b","g")}function s(t,e){t.classList?t.classList.add(e):o(e).test(t.className)||(t.className+=" "+e)}function a(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(o(e)," ")}function u(t,e){return t.classList?t.classList.contains(e):r.contains(c(t),e)}function c(t){return r.toRealArray(t.classList?t.classList:t.className.match(i))}t.exports={add:s,remove:a,replace:function(t,e,n){if(t.classList&&u(t,e))return a(t,e),void s(t,n);t.className=t.className.replace(o(e),n)},toggle:function(t,e,n){return void 0===n&&t.classList&&t.classList.toggle?t.classList.toggle(e,n):(n?s(t,e):a(t,e),n)},present:u,list:c}},function(t,e,n){var r=n(5),i=n(0);function o(t){return encodeURIComponent(t).replace(/\+/g,"%2B").replace(/'/g,"%27")}function s(t){return decodeURIComponent(t)}function a(t){var e=[];return i.forIn(t,function(t,n){var s=o(t);i.isType("array",n)||(n=[n]),n.forEach(function(t){r.hasValue(t)&&e.push(s+"="+o(t))})}),e.sort().join("&")}function u(t){var e={};return t?(t.split("&").forEach(function(t){var n=t.split("="),r=s(n[0]),o=s(n[1]);if(2==n.length){if(!i.isType("array",e[r]))return r in e?(e[r]=[e[r]],void e[r].push(o)):void(e[r]=o);e[r].push(o)}}),e):{}}t.exports={url:function(t,e){return a(e).length>0?i.contains(t,"?")?t+"&"+a(e):t+"?"+a(e):t},decodeURL:function(t){var e=t&&t.split("?");return 2==e.length?u(e[1]):{}},decode:u,encode:a,encodePart:o,decodePart:s}},function(t,e,n){var r=n(9),i=n(1),o=n(0),s={},a=o.contains(r.href,"tw_debug=true");function u(){}function c(){}function d(){return i.performance&&+i.performance.now()||+new Date}function l(t,e){if(i.console&&i.console[t])switch(e.length){case 1:i.console[t](e[0]);break;case 2:i.console[t](e[0],e[1]);break;case 3:i.console[t](e[0],e[1],e[2]);break;case 4:i.console[t](e[0],e[1],e[2],e[3]);break;case 5:i.console[t](e[0],e[1],e[2],e[3],e[4]);break;default:0!==e.length&&i.console.warn&&i.console.warn("too many params passed to logger."+t)}}t.exports={devError:u,devInfo:c,devObject:function(t,e){},publicError:function(){l("error",o.toRealArray(arguments))},publicLog:function(){l("info",o.toRealArray(arguments))},publicWarn:function(){l("warn",o.toRealArray(arguments))},time:function(t){a&&(s[t]=d())},timeEnd:function(t){a&&s[t]&&(d(),s[t])}}},function(t,e,n){var r=n(19),i=n(5),o=n(11),s=n(0),a=n(115);t.exports=function(t){var e=t.href&&t.href.split("?")[1],n=e?o.decode(e):{},u={lang:a(t),width:t.getAttribute("data-bs-width")||t.getAttribute("width"),height:t.getAttribute("data-bs-height")||t.getAttribute("height"),related:t.getAttribute("data-bs-related"),partner:t.getAttribute("data-bs-partner")};return i.asBoolean(t.getAttribute("data-bs-dnt"))&&r.setOn(),s.forIn(u,function(t,e){var r=n[t];n[t]=i.hasValue(r)?r:e}),s.compact(n)}},function(t,e,n){var r=n(77),i=n(22);t.exports=function(){var t="data-bs-twitter-extracted-"+i.generate();return function(e,n){return r(e,n).filter(function(e){return!e.hasAttribute(t)}).map(function(e){return e.setAttribute(t,"true"),e})}}},function(t,e){function n(t,e,n,r,i,o,s){this.factory=t,this.Sandbox=e,this.srcEl=o,this.targetEl=i,this.parameters=r,this.className=n,this.options=s}n.prototype.destroy=function(){this.srcEl=this.targetEl=null},t.exports=n},function(t,e){t.exports={DM_BUTTON:"twitter-dm-button",FOLLOW_BUTTON:"twitter-follow-button",HASHTAG_BUTTON:"twitter-hashtag-button",MENTION_BUTTON:"twitter-mention-button",MOMENT:"twitter-moment",PERISCOPE:"periscope-on-air",SHARE_BUTTON:"twitter-share-button",TIMELINE:"twitter-timeline",TWEET:"twitter-tweet"}},function(t,e,n){var r=n(6),i=n(19),o=n(53),s=n(36),a=n(5),u=n(0);t.exports=function(t,e,n){var c;return t=t||[],e=e||{},c="ƒ("+t.join(", ")+", target, [options]);",function(){var d,l,f,h,p=Array.prototype.slice.apply(arguments,[0,t.length]),m=Array.prototype.slice.apply(arguments,[t.length]);return m.forEach(function(t){t&&(t.nodeType!==Node.ELEMENT_NODE?u.isType("function",t)?d=t:u.isType("object",t)&&(l=t):f=t)}),p.length!==t.length||0===m.length?(d&&u.async(function(){d(!1)}),r.reject(new Error("Not enough parameters. Expected: "+c))):f?(l=u.aug({},l||{},e),t.forEach(function(t){l[t]=p.shift()}),a.asBoolean(l.dnt)&&i.setOn(),h=s.getExperiments().then(function(t){return o.addWidget(n(l,f,void 0,t))}),d&&h.then(d,function(){d(!1)}),h):(d&&u.async(function(){d(!1)}),r.reject(new Error("No target element specified. Expected: "+c)))}}},function(t,e,n){var r=n(98),i=n(2),o=n(0);function s(t,e){return function(){try{e.resolve(t.call(this))}catch(t){e.reject(t)}}}t.exports={sync:function(t,e){t.call(e)},read:function(t,e){var n=new i;return r.read(s(t,n),e),n.promise},write:function(t,e){var n=new i;return r.write(s(t,n),e),n.promise},defer:function(t,e,n){var a=new i;return o.isType("function",t)&&(n=e,e=t,t=1),r.defer(t,s(e,a),n),a.promise}}},function(t,e,n){var r=n(4),i=n(9),o=n(38),s=n(102),a=n(5),u=n(33),c=!1,d=/https?:\/\/([^/]+).*/i;t.exports={setOn:function(){c=!0},enabled:function(t,e){return!!(c||a.asBoolean(u.val("dnt"))||s.isUrlSensitive(e||i.host)||o.isFramed()&&s.isUrlSensitive(o.rootDocumentLocation())||(t=d.test(t||r.referrer)&&RegExp.$1)&&s.isUrlSensitive(t))}}},function(t,e,n){var r=n(8),i=n(59),o="https://platform.twitter.com",s=["https://syndication.twitter.com","https://cdn.syndication.twimg.com","https://localhost.twitter.com:8444"],a=["https://syndication.twitter.com","https://localhost.twitter.com:8445"],u=["https://platform.twitter.com","https://localhost.twitter.com",/^https:\/\/ton\.smf1\.twitter\.com\/syndication-internal\/embed-iframe\/[0-9A-Za-z_-]+\/app/],c=function(t,e){return t.some(function(t){return t instanceof RegExp?t.test(e):t===e})},d=function(){var t=r.get("backendHost");return t&&c(s,t)?t:"https://cdn.syndication.twimg.com"},l=function(){var t=r.get("settingsSvcHost");return t&&c(a,t)?t:"https://syndication.twitter.com"};function f(t,e){var n=[t];return e.forEach(function(t){n.push(function(t){var e=(t||"").toString(),n="/"===e.slice(0,1)?1:0,r=function(t){return"/"===t.slice(-1)}(e)?-1:void 0;return e.slice(n,r)}(t))}),n.join("/")}t.exports={cookieConsent:function(t){var e=t||[];return e.unshift("cookie/consent"),f(l(),e)},embedIframe:function(t,e){var n=t||[],s=o,a=r.get("embedIframeURL");return a&&c(u,a)?f(a,n)+".html":(n.unshift(i.getBaseURLPath(e)),f(s,n)+".html")},eventVideo:function(t){var e=t||[];return e.unshift("video/event"),f(d(),e)},grid:function(t){var e=t||[];return e.unshift("grid/collection"),f(d(),e)},moment:function(t){var e=t||[];return e.unshift("moments"),f(d(),e)},settings:function(t){var e=t||[];return e.unshift("settings"),f(l(),e)},timeline:function(t){var e=t||[];return e.unshift("timeline"),f(d(),e)},tweetBatch:function(t){var e=t||[];return e.unshift("tweets.json"),f(d(),e)},video:function(t){var e=t||[];return e.unshift("widgets/video"),f(d(),e)}}},function(t,e,n){var r=n(4),i=n(92),o=n(1),s=n(0),a=i.userAgent;function u(t){return/(Trident|MSIE|Edge[/ ]?\d)/.test(t=t||a)}t.exports={retina:function(t){return(t=t||o).devicePixelRatio?t.devicePixelRatio>=1.5:!!t.matchMedia&&t.matchMedia("only screen and (min-resolution: 144dpi)").matches},anyIE:u,ie9:function(t){return/MSIE 9/.test(t=t||a)},ie10:function(t){return/MSIE 10/.test(t=t||a)},ios:function(t){return/(iPad|iPhone|iPod)/.test(t=t||a)},android:function(t){return/^Mozilla\/5\.0 \(Linux; (U; )?Android/.test(t=t||a)},canPostMessage:function(t,e){return t=t||o,e=e||a,t.postMessage&&!(u(e)&&t.opener)},touch:function(t,e,n){return t=t||o,e=e||i,n=n||a,"ontouchstart"in t||/Opera Mini/.test(n)||e.msMaxTouchPoints>0},cssTransitions:function(){var t=r.body.style;return void 0!==t.transition||void 0!==t.webkitTransition||void 0!==t.mozTransition||void 0!==t.oTransition||void 0!==t.msTransition},hasPromiseSupport:function(){return!!(o.Promise&&o.Promise.resolve&&o.Promise.reject&&o.Promise.all&&o.Promise.race&&(new o.Promise(function(e){t=e}),s.isType("function",t)));var t},hasIntersectionObserverSupport:function(){return!!o.IntersectionObserver},hasPerformanceInformation:function(){return o.performance&&o.performance.getEntriesByType}}},function(t,e){var n="i",r=0,i=0;t.exports={generate:function(){return n+String(+new Date)+Math.floor(1e5*Math.random())+r++},deterministic:function(){return n+String(i++)}}},function(t,e,n){var r=n(50),i=n(52),o=n(0);t.exports=o.aug(r.get("events")||{},i.Emitter)},function(t,e,n){var r=n(6),i=n(2);function o(t,e){return t.then(e,e)}function s(t){return t instanceof r}t.exports={always:o,allResolved:function(t){var e;return void 0===t?r.reject(new Error("undefined is not an object")):Array.isArray(t)?(e=t.length)?new r(function(n,r){var i=0,o=[];function a(){(i+=1)===e&&(0===o.length?r():n(o))}function u(t){o.push(t),a()}t.forEach(function(t){s(t)?t.then(u,a):u(t)})}):r.resolve([]):r.reject(new Error("Type error"))},some:function(t){var e;return e=(t=t||[]).length,t=t.filter(s),e?e!==t.length?r.reject("non-Promise passed to .some"):new r(function(e,n){var r=0;function i(){(r+=1)===t.length&&n()}t.forEach(function(t){t.then(e,i)})}):r.reject("no promises passed to .some")},isPromise:s,allSettled:function(t){function e(){}return r.all((t||[]).map(function(t){return o(t,e)}))},timeout:function(t,e){var n=new i;return setTimeout(function(){n.reject(new Error("Promise timed out"))},e),t.then(function(t){n.resolve(t)},function(t){n.reject(t)}),n.promise}}},function(t,e,n){var r=n(1).JSON;t.exports={stringify:r.stringify||r.encode,parse:r.parse||r.decode}},function(t,e,n){var r=n(27),i=n(108);t.exports=r.build([i])},function(t,e,n){var r=n(39),i=n(105),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(39),i=n(40),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(79),i=n(80),o=n(81),s=n(9),a=n(71),u=n(82),c=n(19),d=n(5),l=n(22),f=n(0);function h(t){if(!t||!t.headers)throw new Error("unexpected response schema");return{html:t.body,config:t.config,pollInterval:1e3*parseInt(t.headers.xPolling,10)||null,maxCursorPosition:t.headers.maxPosition,minCursorPosition:t.headers.minPosition}}function p(t){if(t&&t.headers)throw new Error(t.headers.status);throw t instanceof Error?t:new Error(t)}t.exports=function(t){t.params({instanceId:{required:!0,fallback:l.deterministic},lang:{required:!0,transform:a.matchLanguage,fallback:"en"},tweetLimit:{transform:d.asInt}}),t.defineProperty("endpoint",{get:function(){throw new Error("endpoint not specified")}}),t.defineProperty("pollEndpoint",{get:function(){return this.endpoint}}),t.define("cbId",function(t){var e=t?"_new":"_old";return"tl_"+this.params.instanceId+"_"+this.id+e}),t.define("queryParams",function(){return{lang:this.params.lang,tz:u.getTimezoneOffset(),t:r(),domain:s.host,tweet_limit:this.params.tweetLimit,dnt:c.enabled()}}),t.define("fetch",function(){return i.fetch(this.endpoint,this.queryParams(),o,this.cbId()).then(h,p)}),t.define("poll",function(t,e){var n,r;return n={since_id:(t=t||{}).sinceId,max_id:t.maxId,min_position:t.minPosition,max_position:t.maxPosition},r=f.aug(this.queryParams(),n),i.fetch(this.pollEndpoint,r,o,this.cbId(e)).then(h,p)})}},function(t,e,n){var r=n(52).makeEmitter();t.exports={emitter:r,START:"start",ALL_WIDGETS_RENDER_START:"all_widgets_render_start",ALL_WIDGETS_RENDER_END:"all_widgets_render_end",ALL_WIDGETS_AND_IMAGES_LOADED:"all_widgets_and_images_loaded"}},function(t,e,n){var r=n(4),i=n(0);t.exports=function(t,e,n){var o;if(n=n||r,t=t||{},e=e||{},t.name){try{o=n.createElement('')}catch(e){(o=n.createElement("iframe")).name=t.name}delete t.name}else o=n.createElement("iframe");return t.id&&(o.id=t.id,delete t.id),o.allowtransparency="true",o.scrolling="no",o.setAttribute("frameBorder",0),o.setAttribute("allowTransparency",!0),i.forIn(t,function(t,e){o.setAttribute(t,e)}),i.forIn(e,function(t,e){o.style[t]=e}),o}},function(t,e,n){var r=n(27),i=n(122);t.exports=r.build([i])},function(t,e,n){var r,i=n(4);function o(t){var e,n,o,s=0;for(r={},e=(t=t||i).getElementsByTagName("meta");e[s];s++){if(n=e[s],/^twitter:/.test(n.getAttribute("name")))o=n.getAttribute("name").replace(/^twitter:/,"");else{if(!/^twitter:/.test(n.getAttribute("property")))continue;o=n.getAttribute("property").replace(/^twitter:/,"")}r[o]=n.getAttribute("content")||n.getAttribute("value")}}o(),t.exports={init:o,val:function(t){return r[t]}}},function(t,e,n){var r=n(0),i=n(45);t.exports={closest:function t(e,n,o){var s;if(n)return o=o||n&&n.ownerDocument,s=r.isType("function",e)?e:function(t){return function(e){return!!e.tagName&&i(e,t)}}(e),n===o?s(n)?n:void 0:s(n)?n:t(s,n.parentNode,o)}}},function(t,e,n){var r=n(10),i={},o=-1,s={};function a(t){var e=t.getAttribute("data-bs-twitter-event-id");return e||(t.setAttribute("data-bs-twitter-event-id",++o),o)}function u(t,e,n){var r=0,i=t&&t.length||0;for(r=0;r1?(e=Math.floor(t.item_ids.length/2),n=t.item_ids.slice(0,e),r={},i=t.item_ids.slice(e),o={},n.forEach(function(e){r[e]=t.item_details[e]}),i.forEach(function(e){o[e]=t.item_details[e]}),[l.aug({},t,{item_ids:n,item_details:r}),l.aug({},t,{item_ids:i,item_details:o})]):[t]},stringify:function(t){var e,n=Array.prototype.toJSON;return delete Array.prototype.toJSON,e=u.stringify(t),n&&(Array.prototype.toJSON=n),e},CLIENT_EVENT_ENDPOINT:p,RUFOUS_REDIRECT:"https://platform.twitter.com/jot.html"}},function(t,e,n){var r=n(9),i=n(75),o=n(0),s=i.getCanonicalURL()||r.href,a=s;t.exports={isFramed:function(){return s!==a},rootDocumentLocation:function(t){return t&&o.isType("string",t)&&(s=t),s},currentDocumentLocation:function(){return a}}},function(t,e,n){var r=n(103),i=n(104),o=n(0);t.exports={couple:function(){return o.toRealArray(arguments)},build:function(t,e,n){var o=new t;return(e=i(r(e||[]))).forEach(function(t){t.call(null,o)}),o.build(n)}}},function(t,e,n){var r=n(106),i=n(0),o=n(41);function s(){this.Component=this.factory(),this._adviceArgs=[],this._lastArgs=[]}i.aug(s.prototype,{factory:o,build:function(t){var e=this;return this.Component,i.aug(this.Component.prototype.boundParams,t),this._adviceArgs.concat(this._lastArgs).forEach(function(t){(function(t,e,n){var r=this[e];if(!r)throw new Error(e+" does not exist");this[e]=t(r,n)}).apply(e.Component.prototype,t)}),delete this._lastArgs,delete this._adviceArgs,this.Component},params:function(t){var e=this.Component.prototype.paramConfigs;t=t||{},this.Component.prototype.paramConfigs=i.aug({},t,e)},define:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.override(t,e)},defineStatic:function(t,e){this.Component[t]=e},override:function(t,e){this.Component.prototype[t]=e},defineProperty:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.overrideProperty(t,e)},overrideProperty:function(t,e){var n=i.aug({configurable:!0},e);Object.defineProperty(this.Component.prototype,t,n)},before:function(t,e){this._adviceArgs.push([r.before,t,e])},after:function(t,e){this._adviceArgs.push([r.after,t,e])},around:function(t,e){this._adviceArgs.push([r.around,t,e])},last:function(t,e){this._lastArgs.push([r.after,t,e])}}),t.exports=s},function(t,e,n){var r=n(0);function i(){return!0}function o(t){return t}t.exports=function(){function t(t){var e=this;t=t||{},this.params=Object.keys(this.paramConfigs).reduce(function(n,s){var a=[],u=e.boundParams,c=e.paramConfigs[s],d=c.validate||i,l=c.transform||o;if(s in u&&a.push(u[s]),s in t&&a.push(t[s]),a="fallback"in c?a.concat(c.fallback):a,n[s]=function(t,e,n){var i=null;return t.some(function(t){if(t=r.isType("function",t)?t():t,e(t))return i=n(t),!0}),i}(a,d,l),c.required&&null==n[s])throw new Error(s+" is a required parameter");return n},{}),this.initialize()}return r.aug(t.prototype,{paramConfigs:{},boundParams:{},initialize:function(){}}),t}},function(t,e,n){var r=n(101),i=n(76),o=new(n(110))(function(t){(!function(t){return 1===t.length&&i.canFlushOneItem(t[0])}(t)?function(t){r.init(),t.forEach(function(t){var e=t.input.namespace,n=t.input.data,i=t.input.offsite,o=t.input.version;r.clientEvent(e,n,i,o)}),r.flush().then(function(){t.forEach(function(t){t.taskDoneDeferred.resolve()})},function(){t.forEach(function(t){t.taskDoneDeferred.reject()})})}:function(t){t.forEach(function(t){var e=t.input.namespace,n=t.input.data,r=t.input.offsite,o=t.input.version;i.clientEvent(e,n,r,o),t.taskDoneDeferred.resolve()})})(t)});t.exports={scribe:function(t,e,n,r){return o.add({namespace:t,data:e,offsite:n,version:r})},pause:function(){o.pause()},resume:function(){o.resume()}}},function(t,e,n){var r,i=n(10),o=n(4),s=n(1),a=n(33),u=n(54),c=n(5),d=n(22),l="csptest";t.exports={inlineStyle:function(){var t=l+d.generate(),e=o.createElement("div"),n=o.createElement("style"),f="."+t+" { visibility: hidden; }";return!!o.body&&(c.asBoolean(a.val("widgets:csp"))&&(r=!1),void 0!==r?r:(e.style.display="none",i.add(e,t),n.type="text/css",n.appendChild(o.createTextNode(f)),o.body.appendChild(n),o.body.appendChild(e),r="hidden"===s.getComputedStyle(e).visibility,u(e),u(n),r))}}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){var i,o=0;return n=n||null,function s(){var a=n||this,u=arguments,c=+new Date;if(r.clearTimeout(i),c-o>e)return o=c,void t.apply(a,u);i=r.setTimeout(function(){s.apply(a,u)},e)}}},function(t,e,n){var r=n(1).HTMLElement,i=r.prototype.matches||r.prototype.matchesSelector||r.prototype.webkitMatchesSelector||r.prototype.mozMatchesSelector||r.prototype.msMatchesSelector||r.prototype.oMatchesSelector;t.exports=function(t,e){if(i)return i.call(t,e)}},function(t){t.exports={version:"82e1070:1619632193066"}},function(t,e){t.exports=function(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height}}},function(t,e,n){var r=n(12).publicWarn;t.exports=function(){r("Warning: This Timeline type belongs to a group that will not be supported in the future (Likes, Collections, & Moments). It is not recommended for use. \n\t","* Twitter will continue to support Profile and List Timelines \n\t","* You can learn more about this change in our announcement: \n\t","https://twittercommunity.com/t/removing-support-for-embedded-like-collection-and-moment-timelines/150313 \n\t","* In order to create a new Embedded Timeline, visit: https://publish.twitter.com")}},function(t,e,n){ +Function&&Function.prototype&&Function.prototype.bind&&(/(MSIE ([6789]|10|11))|Trident/.test(navigator.userAgent)||(window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.loaded&&window.twttr.widgets.load&&window.twttr.widgets.load(),window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.init||function(t){function e(e){for(var n,i,o=e[0],s=e[1],a=0,c=[];a-1},forIn:i,isObject:s,isEmptyObject:a,toType:o,isType:function(t,e){return t==o(e)},toRealArray:u}},function(t,e){t.exports=window},function(t,e,n){var r=n(6);t.exports=function(){var t=this;this.promise=new r(function(e,n){t.resolve=e,t.reject=n})}},function(t,e,n){var r=n(11),i=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,o=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,s=/^http(s?):\/\/(\w+\.)*twitter\.com([:/]|$)/i,a=/^http(s?):\/\/(ton|pbs)\.twimg\.com/,u=/^#?([^.,<>!\s/#\-()'"]+)$/,c=/twitter\.com(?::\d{2,4})?\/intent\/(\w+)/,d=/^https?:\/\/(?:www\.)?twitter\.com\/\w+\/timelines\/(\d+)/i,l=/^https?:\/\/(?:www\.)?twitter\.com\/i\/moments\/(\d+)/i,f=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/(?:likes|favorites)/i,h=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/lists\/([\w-%]+)/i,p=/^https?:\/\/(?:www\.)?twitter\.com\/i\/live\/(\d+)/i,m=/^https?:\/\/syndication\.twitter\.com\/settings/i,v=/^https?:\/\/(localhost|platform)\.twitter\.com(?::\d+)?\/widgets\/widget_iframe\.(.+)/i,g=/^https?:\/\/(?:www\.)?twitter\.com\/search\?q=(\w+)/i;function w(t){return"string"==typeof t&&i.test(t)&&RegExp.$1.length<=20}function y(t){if(w(t))return RegExp.$1}function b(t,e){var n=r.decodeURL(t);if(e=e||!1,n.screen_name=y(t),n.screen_name)return r.url("https://twitter.com/intent/"+(e?"follow":"user"),n)}function _(t){return"string"==typeof t&&u.test(t)}function E(t){return"string"==typeof t&&o.test(t)}t.exports={isHashTag:_,hashTag:function(t,e){if(e=void 0===e||e,_(t))return(e?"#":"")+RegExp.$1},isScreenName:w,screenName:y,isStatus:E,status:function(t){return E(t)&&RegExp.$1},intentForProfileURL:b,intentForFollowURL:function(t){return b(t,!0)},isTwitterURL:function(t){return s.test(t)},isTwimgURL:function(t){return a.test(t)},isIntentURL:function(t){return c.test(t)},isSettingsURL:function(t){return m.test(t)},isWidgetIframeURL:function(t){return v.test(t)},isSearchUrl:function(t){return g.test(t)},regexen:{profile:i},momentId:function(t){return l.test(t)&&RegExp.$1},collectionId:function(t){return d.test(t)&&RegExp.$1},intentType:function(t){return c.test(t)&&RegExp.$1},likesScreenName:function(t){return f.test(t)&&RegExp.$1},listScreenNameAndSlug:function(t){var e,n,r;if(h.test(t)){e=RegExp.$1,n=RegExp.$2;try{r=decodeURIComponent(n)}catch(t){}return{ownerScreenName:e,slug:r||n}}return!1},eventId:function(t){return p.test(t)&&RegExp.$1}}},function(t,e){t.exports=document},function(t,e,n){var r=n(0),i=[!0,1,"1","on","ON","true","TRUE","yes","YES"],o=[!1,0,"0","off","OFF","false","FALSE","no","NO"];function s(t){return void 0!==t&&null!==t&&""!==t}function a(t){return c(t)&&t%1==0}function u(t){return c(t)&&!a(t)}function c(t){return s(t)&&!isNaN(t)}function d(t){return r.contains(o,t)}function l(t){return r.contains(i,t)}t.exports={hasValue:s,isInt:a,isFloat:u,isNumber:c,isString:function(t){return"string"===r.toType(t)},isArray:function(t){return s(t)&&"array"==r.toType(t)},isTruthValue:l,isFalseValue:d,asInt:function(t){if(a(t))return parseInt(t,10)},asFloat:function(t){if(u(t))return t},asNumber:function(t){if(c(t))return t},asBoolean:function(t){return!(!s(t)||!l(t)&&(d(t)||!t))}}},function(t,e,n){var r=n(1),i=n(21),o=n(49);i.hasPromiseSupport()||(r.Promise=o),t.exports=r.Promise},function(t,e,n){var r=n(0);t.exports=function(t,e){var n=Array.prototype.slice.call(arguments,2);return function(){var i=r.toRealArray(arguments);return t.apply(e,n.concat(i))}}},function(t,e,n){var r=n(51);t.exports=new r("__twttr")},function(t,e){t.exports=location},function(t,e,n){var r=n(0),i=/\b([\w-_]+)\b/g;function o(t){return new RegExp("\\b"+t+"\\b","g")}function s(t,e){t.classList?t.classList.add(e):o(e).test(t.className)||(t.className+=" "+e)}function a(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(o(e)," ")}function u(t,e){return t.classList?t.classList.contains(e):r.contains(c(t),e)}function c(t){return r.toRealArray(t.classList?t.classList:t.className.match(i))}t.exports={add:s,remove:a,replace:function(t,e,n){if(t.classList&&u(t,e))return a(t,e),void s(t,n);t.className=t.className.replace(o(e),n)},toggle:function(t,e,n){return void 0===n&&t.classList&&t.classList.toggle?t.classList.toggle(e,n):(n?s(t,e):a(t,e),n)},present:u,list:c}},function(t,e,n){var r=n(5),i=n(0);function o(t){return encodeURIComponent(t).replace(/\+/g,"%2B").replace(/'/g,"%27")}function s(t){return decodeURIComponent(t)}function a(t){var e=[];return i.forIn(t,function(t,n){var s=o(t);i.isType("array",n)||(n=[n]),n.forEach(function(t){r.hasValue(t)&&e.push(s+"="+o(t))})}),e.sort().join("&")}function u(t){var e={};return t?(t.split("&").forEach(function(t){var n=t.split("="),r=s(n[0]),o=s(n[1]);if(2==n.length){if(!i.isType("array",e[r]))return r in e?(e[r]=[e[r]],void e[r].push(o)):void(e[r]=o);e[r].push(o)}}),e):{}}t.exports={url:function(t,e){return a(e).length>0?i.contains(t,"?")?t+"&"+a(e):t+"?"+a(e):t},decodeURL:function(t){var e=t&&t.split("?");return 2==e.length?u(e[1]):{}},decode:u,encode:a,encodePart:o,decodePart:s}},function(t,e,n){var r=n(9),i=n(1),o=n(0),s={},a=o.contains(r.href,"tw_debug=true");function u(){}function c(){}function d(){return i.performance&&+i.performance.now()||+new Date}function l(t,e){if(i.console&&i.console[t])switch(e.length){case 1:i.console[t](e[0]);break;case 2:i.console[t](e[0],e[1]);break;case 3:i.console[t](e[0],e[1],e[2]);break;case 4:i.console[t](e[0],e[1],e[2],e[3]);break;case 5:i.console[t](e[0],e[1],e[2],e[3],e[4]);break;default:0!==e.length&&i.console.warn&&i.console.warn("too many params passed to logger."+t)}}t.exports={devError:u,devInfo:c,devObject:function(t,e){},publicError:function(){l("error",o.toRealArray(arguments))},publicLog:function(){l("info",o.toRealArray(arguments))},publicWarn:function(){l("warn",o.toRealArray(arguments))},time:function(t){a&&(s[t]=d())},timeEnd:function(t){a&&s[t]&&(d(),s[t])}}},function(t,e,n){var r=n(19),i=n(5),o=n(11),s=n(0),a=n(115);t.exports=function(t){var e=t.href&&t.href.split("?")[1],n=e?o.decode(e):{},u={lang:a(t),width:t.getAttribute("data-bs-width")||t.getAttribute("width"),height:t.getAttribute("data-bs-height")||t.getAttribute("height"),related:t.getAttribute("data-bs-related"),partner:t.getAttribute("data-bs-partner")};return i.asBoolean(t.getAttribute("data-bs-dnt"))&&r.setOn(),s.forIn(u,function(t,e){var r=n[t];n[t]=i.hasValue(r)?r:e}),s.compact(n)}},function(t,e,n){var r=n(77),i=n(22);t.exports=function(){var t="data-bs-twitter-extracted-"+i.generate();return function(e,n){return r(e,n).filter(function(e){return!e.hasAttribute(t)}).map(function(e){return e.setAttribute(t,"true"),e})}}},function(t,e){function n(t,e,n,r,i,o,s){this.factory=t,this.Sandbox=e,this.srcEl=o,this.targetEl=i,this.parameters=r,this.className=n,this.options=s}n.prototype.destroy=function(){this.srcEl=this.targetEl=null},t.exports=n},function(t,e){t.exports={DM_BUTTON:"twitter-dm-button",FOLLOW_BUTTON:"twitter-follow-button",HASHTAG_BUTTON:"twitter-hashtag-button",MENTION_BUTTON:"twitter-mention-button",MOMENT:"twitter-moment",PERISCOPE:"periscope-on-air",SHARE_BUTTON:"twitter-share-button",TIMELINE:"twitter-timeline",TWEET:"twitter-tweet"}},function(t,e,n){var r=n(6),i=n(19),o=n(53),s=n(36),a=n(5),u=n(0);t.exports=function(t,e,n){var c;return t=t||[],e=e||{},c="ƒ("+t.join(", ")+", target, [options]);",function(){var d,l,f,h,p=Array.prototype.slice.apply(arguments,[0,t.length]),m=Array.prototype.slice.apply(arguments,[t.length]);return m.forEach(function(t){t&&(t.nodeType!==Node.ELEMENT_NODE?u.isType("function",t)?d=t:u.isType("object",t)&&(l=t):f=t)}),p.length!==t.length||0===m.length?(d&&u.async(function(){d(!1)}),r.reject(new Error("Not enough parameters. Expected: "+c))):f?(l=u.aug({},l||{},e),t.forEach(function(t){l[t]=p.shift()}),a.asBoolean(l.dnt)&&i.setOn(),h=s.getExperiments().then(function(t){return o.addWidget(n(l,f,void 0,t))}),d&&h.then(d,function(){d(!1)}),h):(d&&u.async(function(){d(!1)}),r.reject(new Error("No target element specified. Expected: "+c)))}}},function(t,e,n){var r=n(98),i=n(2),o=n(0);function s(t,e){return function(){try{e.resolve(t.call(this))}catch(t){e.reject(t)}}}t.exports={sync:function(t,e){t.call(e)},read:function(t,e){var n=new i;return r.read(s(t,n),e),n.promise},write:function(t,e){var n=new i;return r.write(s(t,n),e),n.promise},defer:function(t,e,n){var a=new i;return o.isType("function",t)&&(n=e,e=t,t=1),r.defer(t,s(e,a),n),a.promise}}},function(t,e,n){var r=n(4),i=n(9),o=n(38),s=n(102),a=n(5),u=n(33),c=!1,d=/https?:\/\/([^/]+).*/i;t.exports={setOn:function(){c=!0},enabled:function(t,e){return!!(c||a.asBoolean(u.val("dnt"))||s.isUrlSensitive(e||i.host)||o.isFramed()&&s.isUrlSensitive(o.rootDocumentLocation())||(t=d.test(t||r.referrer)&&RegExp.$1)&&s.isUrlSensitive(t))}}},function(t,e,n){var r=n(8),i=n(59),o="https://platform.twitter.com",s=["https://syndication.twitter.com","https://cdn.syndication.twimg.com","https://localhost.twitter.com:8444"],a=["https://syndication.twitter.com","https://localhost.twitter.com:8445"],u=["https://platform.twitter.com","https://localhost.twitter.com",/^https:\/\/ton\.smf1\.twitter\.com\/syndication-internal\/embed-iframe\/[0-9A-Za-z_-]+\/app/],c=function(t,e){return t.some(function(t){return t instanceof RegExp?t.test(e):t===e})},d=function(){var t=r.get("backendHost");return t&&c(s,t)?t:"https://cdn.syndication.twimg.com"},l=function(){var t=r.get("settingsSvcHost");return t&&c(a,t)?t:"https://syndication.twitter.com"};function f(t,e){var n=[t];return e.forEach(function(t){n.push(function(t){var e=(t||"").toString(),n="/"===e.slice(0,1)?1:0,r=function(t){return"/"===t.slice(-1)}(e)?-1:void 0;return e.slice(n,r)}(t))}),n.join("/")}t.exports={cookieConsent:function(t){var e=t||[];return e.unshift("cookie/consent"),f(l(),e)},embedIframe:function(t,e){var n=t||[],s=o,a=r.get("embedIframeURL");return a&&c(u,a)?f(a,n)+".html":(n.unshift(i.getBaseURLPath(e)),f(s,n)+".html")},eventVideo:function(t){var e=t||[];return e.unshift("video/event"),f(d(),e)},grid:function(t){var e=t||[];return e.unshift("grid/collection"),f(d(),e)},moment:function(t){var e=t||[];return e.unshift("moments"),f(d(),e)},settings:function(t){var e=t||[];return e.unshift("settings"),f(l(),e)},timeline:function(t){var e=t||[];return e.unshift("timeline"),f(d(),e)},tweetBatch:function(t){var e=t||[];return e.unshift("tweets.json"),f(d(),e)},video:function(t){var e=t||[];return e.unshift("widgets/video"),f(d(),e)}}},function(t,e,n){var r=n(4),i=n(92),o=n(1),s=n(0),a=i.userAgent;function u(t){return/(Trident|MSIE|Edge[/ ]?\d)/.test(t=t||a)}t.exports={retina:function(t){return(t=t||o).devicePixelRatio?t.devicePixelRatio>=1.5:!!t.matchMedia&&t.matchMedia("only screen and (min-resolution: 144dpi)").matches},anyIE:u,ie9:function(t){return/MSIE 9/.test(t=t||a)},ie10:function(t){return/MSIE 10/.test(t=t||a)},ios:function(t){return/(iPad|iPhone|iPod)/.test(t=t||a)},android:function(t){return/^Mozilla\/5\.0 \(Linux; (U; )?Android/.test(t=t||a)},canPostMessage:function(t,e){return t=t||o,e=e||a,t.postMessage&&!(u(e)&&t.opener)},touch:function(t,e,n){return t=t||o,e=e||i,n=n||a,"ontouchstart"in t||/Opera Mini/.test(n)||e.msMaxTouchPoints>0},cssTransitions:function(){var t=r.body.style;return void 0!==t.transition||void 0!==t.webkitTransition||void 0!==t.mozTransition||void 0!==t.oTransition||void 0!==t.msTransition},hasPromiseSupport:function(){return!!(o.Promise&&o.Promise.resolve&&o.Promise.reject&&o.Promise.all&&o.Promise.race&&(new o.Promise(function(e){t=e}),s.isType("function",t)));var t},hasIntersectionObserverSupport:function(){return!!o.IntersectionObserver},hasPerformanceInformation:function(){return o.performance&&o.performance.getEntriesByType}}},function(t,e){var n="i",r=0,i=0;t.exports={generate:function(){return n+String(+new Date)+Math.floor(1e5*Math.random())+r++},deterministic:function(){return n+String(i++)}}},function(t,e,n){var r=n(50),i=n(52),o=n(0);t.exports=o.aug(r.get("events")||{},i.Emitter)},function(t,e,n){var r=n(6),i=n(2);function o(t,e){return t.then(e,e)}function s(t){return t instanceof r}t.exports={always:o,allResolved:function(t){var e;return void 0===t?r.reject(new Error("undefined is not an object")):Array.isArray(t)?(e=t.length)?new r(function(n,r){var i=0,o=[];function a(){(i+=1)===e&&(0===o.length?r():n(o))}function u(t){o.push(t),a()}t.forEach(function(t){s(t)?t.then(u,a):u(t)})}):r.resolve([]):r.reject(new Error("Type error"))},some:function(t){var e;return e=(t=t||[]).length,t=t.filter(s),e?e!==t.length?r.reject("non-Promise passed to .some"):new r(function(e,n){var r=0;function i(){(r+=1)===t.length&&n()}t.forEach(function(t){t.then(e,i)})}):r.reject("no promises passed to .some")},isPromise:s,allSettled:function(t){function e(){}return r.all((t||[]).map(function(t){return o(t,e)}))},timeout:function(t,e){var n=new i;return setTimeout(function(){n.reject(new Error("Promise timed out"))},e),t.then(function(t){n.resolve(t)},function(t){n.reject(t)}),n.promise}}},function(t,e,n){var r=n(1).JSON;t.exports={stringify:r.stringify||r.encode,parse:r.parse||r.decode}},function(t,e,n){var r=n(27),i=n(108);t.exports=r.build([i])},function(t,e,n){var r=n(39),i=n(105),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(39),i=n(40),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(79),i=n(80),o=n(81),s=n(9),a=n(71),u=n(82),c=n(19),d=n(5),l=n(22),f=n(0);function h(t){if(!t||!t.headers)throw new Error("unexpected response schema");return{html:t.body,config:t.config,pollInterval:1e3*parseInt(t.headers.xPolling,10)||null,maxCursorPosition:t.headers.maxPosition,minCursorPosition:t.headers.minPosition}}function p(t){if(t&&t.headers)throw new Error(t.headers.status);throw t instanceof Error?t:new Error(t)}t.exports=function(t){t.params({instanceId:{required:!0,fallback:l.deterministic},lang:{required:!0,transform:a.matchLanguage,fallback:"en"},tweetLimit:{transform:d.asInt}}),t.defineProperty("endpoint",{get:function(){throw new Error("endpoint not specified")}}),t.defineProperty("pollEndpoint",{get:function(){return this.endpoint}}),t.define("cbId",function(t){var e=t?"_new":"_old";return"tl_"+this.params.instanceId+"_"+this.id+e}),t.define("queryParams",function(){return{lang:this.params.lang,tz:u.getTimezoneOffset(),t:r(),domain:s.host,tweet_limit:this.params.tweetLimit,dnt:c.enabled()}}),t.define("fetch",function(){return i.fetch(this.endpoint,this.queryParams(),o,this.cbId()).then(h,p)}),t.define("poll",function(t,e){var n,r;return n={since_id:(t=t||{}).sinceId,max_id:t.maxId,min_position:t.minPosition,max_position:t.maxPosition},r=f.aug(this.queryParams(),n),i.fetch(this.pollEndpoint,r,o,this.cbId(e)).then(h,p)})}},function(t,e,n){var r=n(52).makeEmitter();t.exports={emitter:r,START:"start",ALL_WIDGETS_RENDER_START:"all_widgets_render_start",ALL_WIDGETS_RENDER_END:"all_widgets_render_end",ALL_WIDGETS_AND_IMAGES_LOADED:"all_widgets_and_images_loaded"}},function(t,e,n){var r=n(4),i=n(0);t.exports=function(t,e,n){var o;if(n=n||r,t=t||{},e=e||{},t.name){try{o=n.createElement('')}catch(e){(o=n.createElement("iframe")).name=t.name}delete t.name}else o=n.createElement("iframe");return t.id&&(o.id=t.id,delete t.id),o.allowtransparency="true",o.scrolling="no",o.setAttribute("frameBorder",0),o.setAttribute("allowTransparency",!0),i.forIn(t,function(t,e){o.setAttribute(t,e)}),i.forIn(e,function(t,e){o.style[t]=e}),o}},function(t,e,n){var r=n(27),i=n(122);t.exports=r.build([i])},function(t,e,n){var r,i=n(4);function o(t){var e,n,o,s=0;for(r={},e=(t=t||i).getElementsByTagName("meta");e[s];s++){if(n=e[s],/^twitter:/.test(n.getAttribute("name")))o=n.getAttribute("name").replace(/^twitter:/,"");else{if(!/^twitter:/.test(n.getAttribute("property")))continue;o=n.getAttribute("property").replace(/^twitter:/,"")}r[o]=n.getAttribute("content")||n.getAttribute("value")}}o(),t.exports={init:o,val:function(t){return r[t]}}},function(t,e,n){var r=n(0),i=n(45);t.exports={closest:function t(e,n,o){var s;if(n)return o=o||n&&n.ownerDocument,s=r.isType("function",e)?e:function(t){return function(e){return!!e.tagName&&i(e,t)}}(e),n===o?s(n)?n:void 0:s(n)?n:t(s,n.parentNode,o)}}},function(t,e,n){var r=n(10),i={},o=-1,s={};function a(t){var e=t.getAttribute("data-bs-twitter-event-id");return e||(t.setAttribute("data-bs-twitter-event-id",++o),o)}function u(t,e,n){var r=0,i=t&&t.length||0;for(r=0;r1?(e=Math.floor(t.item_ids.length/2),n=t.item_ids.slice(0,e),r={},i=t.item_ids.slice(e),o={},n.forEach(function(e){r[e]=t.item_details[e]}),i.forEach(function(e){o[e]=t.item_details[e]}),[l.aug({},t,{item_ids:n,item_details:r}),l.aug({},t,{item_ids:i,item_details:o})]):[t]},stringify:function(t){var e,n=Array.prototype.toJSON;return delete Array.prototype.toJSON,e=u.stringify(t),n&&(Array.prototype.toJSON=n),e},CLIENT_EVENT_ENDPOINT:p,RUFOUS_REDIRECT:"https://platform.twitter.com/jot.html"}},function(t,e,n){var r=n(9),i=n(75),o=n(0),s=i.getCanonicalURL()||r.href,a=s;t.exports={isFramed:function(){return s!==a},rootDocumentLocation:function(t){return t&&o.isType("string",t)&&(s=t),s},currentDocumentLocation:function(){return a}}},function(t,e,n){var r=n(103),i=n(104),o=n(0);t.exports={couple:function(){return o.toRealArray(arguments)},build:function(t,e,n){var o=new t;return(e=i(r(e||[]))).forEach(function(t){t.call(null,o)}),o.build(n)}}},function(t,e,n){var r=n(106),i=n(0),o=n(41);function s(){this.Component=this.factory(),this._adviceArgs=[],this._lastArgs=[]}i.aug(s.prototype,{factory:o,build:function(t){var e=this;return this.Component,i.aug(this.Component.prototype.boundParams,t),this._adviceArgs.concat(this._lastArgs).forEach(function(t){(function(t,e,n){var r=this[e];if(!r)throw new Error(e+" does not exist");this[e]=t(r,n)}).apply(e.Component.prototype,t)}),delete this._lastArgs,delete this._adviceArgs,this.Component},params:function(t){var e=this.Component.prototype.paramConfigs;t=t||{},this.Component.prototype.paramConfigs=i.aug({},t,e)},define:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.override(t,e)},defineStatic:function(t,e){this.Component[t]=e},override:function(t,e){this.Component.prototype[t]=e},defineProperty:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.overrideProperty(t,e)},overrideProperty:function(t,e){var n=i.aug({configurable:!0},e);Object.defineProperty(this.Component.prototype,t,n)},before:function(t,e){this._adviceArgs.push([r.before,t,e])},after:function(t,e){this._adviceArgs.push([r.after,t,e])},around:function(t,e){this._adviceArgs.push([r.around,t,e])},last:function(t,e){this._lastArgs.push([r.after,t,e])}}),t.exports=s},function(t,e,n){var r=n(0);function i(){return!0}function o(t){return t}t.exports=function(){function t(t){var e=this;t=t||{},this.params=Object.keys(this.paramConfigs).reduce(function(n,s){var a=[],u=e.boundParams,c=e.paramConfigs[s],d=c.validate||i,l=c.transform||o;if(s in u&&a.push(u[s]),s in t&&a.push(t[s]),a="fallback"in c?a.concat(c.fallback):a,n[s]=function(t,e,n){var i=null;return t.some(function(t){if(t=r.isType("function",t)?t():t,e(t))return i=n(t),!0}),i}(a,d,l),c.required&&null==n[s])throw new Error(s+" is a required parameter");return n},{}),this.initialize()}return r.aug(t.prototype,{paramConfigs:{},boundParams:{},initialize:function(){}}),t}},function(t,e,n){var r=n(101),i=n(76),o=new(n(110))(function(t){(!function(t){return 1===t.length&&i.canFlushOneItem(t[0])}(t)?function(t){r.init(),t.forEach(function(t){var e=t.input.namespace,n=t.input.data,i=t.input.offsite,o=t.input.version;r.clientEvent(e,n,i,o)}),r.flush().then(function(){t.forEach(function(t){t.taskDoneDeferred.resolve()})},function(){t.forEach(function(t){t.taskDoneDeferred.reject()})})}:function(t){t.forEach(function(t){var e=t.input.namespace,n=t.input.data,r=t.input.offsite,o=t.input.version;i.clientEvent(e,n,r,o),t.taskDoneDeferred.resolve()})})(t)});t.exports={scribe:function(t,e,n,r){return o.add({namespace:t,data:e,offsite:n,version:r})},pause:function(){o.pause()},resume:function(){o.resume()}}},function(t,e,n){var r,i=n(10),o=n(4),s=n(1),a=n(33),u=n(54),c=n(5),d=n(22),l="csptest";t.exports={inlineStyle:function(){var t=l+d.generate(),e=o.createElement("div"),n=o.createElement("style"),f="."+t+" { visibility: hidden; }";return!!o.body&&(c.asBoolean(a.val("widgets:csp"))&&(r=!1),void 0!==r?r:(e.style.display="none",i.add(e,t),n.type="text/css",n.appendChild(o.createTextNode(f)),o.body.appendChild(n),o.body.appendChild(e),r="hidden"===s.getComputedStyle(e).visibility,u(e),u(n),r))}}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){var i,o=0;return n=n||null,function s(){var a=n||this,u=arguments,c=+new Date;if(r.clearTimeout(i),c-o>e)return o=c,void t.apply(a,u);i=r.setTimeout(function(){s.apply(a,u)},e)}}},function(t,e,n){var r=n(1).HTMLElement,i=r.prototype.matches||r.prototype.matchesSelector||r.prototype.webkitMatchesSelector||r.prototype.mozMatchesSelector||r.prototype.msMatchesSelector||r.prototype.oMatchesSelector;t.exports=function(t,e){if(i)return i.call(t,e)}},function(t){t.exports={version:"82e1070:1619632193066"}},function(t,e){t.exports=function(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height}}},function(t,e,n){var r=n(12).publicWarn;t.exports=function(){r("Warning: This Timeline type belongs to a group that will not be supported in the future (Likes, Collections, & Moments). It is not recommended for use. \n\t","* Twitter will continue to support Profile and List Timelines \n\t","* You can learn more about this change in our announcement: \n\t","https://twittercommunity.com/t/removing-support-for-embedded-like-collection-and-moment-timelines/150313 \n\t","* In order to create a new Embedded Timeline, visit: https://publish.twitter.com")}},function(t,e,n){ /*! * @overview es6-promise - a tiny implementation of Promises/A+. * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) diff --git a/files/assets/js/twitterlight.js b/files/assets/js/twitterlight.js index 70d2d8f38..0b11651dc 100644 --- a/files/assets/js/twitterlight.js +++ b/files/assets/js/twitterlight.js @@ -1,4 +1,4 @@ -Function&&Function.prototype&&Function.prototype.bind&&(/(MSIE ([6789]|10|11))|Trident/.test(navigator.userAgent)||(window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.loaded&&window.twttr.widgets.load&&window.twttr.widgets.load(),window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.init||function(t){function e(e){for(var n,i,o=e[0],s=e[1],a=0,c=[];a-1},forIn:i,isObject:s,isEmptyObject:a,toType:o,isType:function(t,e){return t==o(e)},toRealArray:u}},function(t,e){t.exports=window},function(t,e,n){var r=n(6);t.exports=function(){var t=this;this.promise=new r(function(e,n){t.resolve=e,t.reject=n})}},function(t,e,n){var r=n(11),i=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,o=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,s=/^http(s?):\/\/(\w+\.)*twitter\.com([:/]|$)/i,a=/^http(s?):\/\/(ton|pbs)\.twimg\.com/,u=/^#?([^.,<>!\s/#\-()'"]+)$/,c=/twitter\.com(?::\d{2,4})?\/intent\/(\w+)/,d=/^https?:\/\/(?:www\.)?twitter\.com\/\w+\/timelines\/(\d+)/i,l=/^https?:\/\/(?:www\.)?twitter\.com\/i\/moments\/(\d+)/i,f=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/(?:likes|favorites)/i,h=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/lists\/([\w-%]+)/i,p=/^https?:\/\/(?:www\.)?twitter\.com\/i\/live\/(\d+)/i,m=/^https?:\/\/syndication\.twitter\.com\/settings/i,v=/^https?:\/\/(localhost|platform)\.twitter\.com(?::\d+)?\/widgets\/widget_iframe\.(.+)/i,g=/^https?:\/\/(?:www\.)?twitter\.com\/search\?q=(\w+)/i;function w(t){return"string"==typeof t&&i.test(t)&&RegExp.$1.length<=20}function y(t){if(w(t))return RegExp.$1}function b(t,e){var n=r.decodeURL(t);if(e=e||!1,n.screen_name=y(t),n.screen_name)return r.url("https://twitter.com/intent/"+(e?"follow":"user"),n)}function _(t){return"string"==typeof t&&u.test(t)}function E(t){return"string"==typeof t&&o.test(t)}t.exports={isHashTag:_,hashTag:function(t,e){if(e=void 0===e||e,_(t))return(e?"#":"")+RegExp.$1},isScreenName:w,screenName:y,isStatus:E,status:function(t){return E(t)&&RegExp.$1},intentForProfileURL:b,intentForFollowURL:function(t){return b(t,!0)},isTwitterURL:function(t){return s.test(t)},isTwimgURL:function(t){return a.test(t)},isIntentURL:function(t){return c.test(t)},isSettingsURL:function(t){return m.test(t)},isWidgetIframeURL:function(t){return v.test(t)},isSearchUrl:function(t){return g.test(t)},regexen:{profile:i},momentId:function(t){return l.test(t)&&RegExp.$1},collectionId:function(t){return d.test(t)&&RegExp.$1},intentType:function(t){return c.test(t)&&RegExp.$1},likesScreenName:function(t){return f.test(t)&&RegExp.$1},listScreenNameAndSlug:function(t){var e,n,r;if(h.test(t)){e=RegExp.$1,n=RegExp.$2;try{r=decodeURIComponent(n)}catch(t){}return{ownerScreenName:e,slug:r||n}}return!1},eventId:function(t){return p.test(t)&&RegExp.$1}}},function(t,e){t.exports=document},function(t,e,n){var r=n(0),i=[!0,1,"1","on","ON","true","TRUE","yes","YES"],o=[!1,0,"0","off","OFF","false","FALSE","no","NO"];function s(t){return void 0!==t&&null!==t&&""!==t}function a(t){return c(t)&&t%1==0}function u(t){return c(t)&&!a(t)}function c(t){return s(t)&&!isNaN(t)}function d(t){return r.contains(o,t)}function l(t){return r.contains(i,t)}t.exports={hasValue:s,isInt:a,isFloat:u,isNumber:c,isString:function(t){return"string"===r.toType(t)},isArray:function(t){return s(t)&&"array"==r.toType(t)},isTruthValue:l,isFalseValue:d,asInt:function(t){if(a(t))return parseInt(t,10)},asFloat:function(t){if(u(t))return t},asNumber:function(t){if(c(t))return t},asBoolean:function(t){return!(!s(t)||!l(t)&&(d(t)||!t))}}},function(t,e,n){var r=n(1),i=n(21),o=n(49);i.hasPromiseSupport()||(r.Promise=o),t.exports=r.Promise},function(t,e,n){var r=n(0);t.exports=function(t,e){var n=Array.prototype.slice.call(arguments,2);return function(){var i=r.toRealArray(arguments);return t.apply(e,n.concat(i))}}},function(t,e,n){var r=n(51);t.exports=new r("__twttr")},function(t,e){t.exports=location},function(t,e,n){var r=n(0),i=/\b([\w-_]+)\b/g;function o(t){return new RegExp("\\b"+t+"\\b","g")}function s(t,e){t.classList?t.classList.add(e):o(e).test(t.className)||(t.className+=" "+e)}function a(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(o(e)," ")}function u(t,e){return t.classList?t.classList.contains(e):r.contains(c(t),e)}function c(t){return r.toRealArray(t.classList?t.classList:t.className.match(i))}t.exports={add:s,remove:a,replace:function(t,e,n){if(t.classList&&u(t,e))return a(t,e),void s(t,n);t.className=t.className.replace(o(e),n)},toggle:function(t,e,n){return void 0===n&&t.classList&&t.classList.toggle?t.classList.toggle(e,n):(n?s(t,e):a(t,e),n)},present:u,list:c}},function(t,e,n){var r=n(5),i=n(0);function o(t){return encodeURIComponent(t).replace(/\+/g,"%2B").replace(/'/g,"%27")}function s(t){return decodeURIComponent(t)}function a(t){var e=[];return i.forIn(t,function(t,n){var s=o(t);i.isType("array",n)||(n=[n]),n.forEach(function(t){r.hasValue(t)&&e.push(s+"="+o(t))})}),e.sort().join("&")}function u(t){var e={};return t?(t.split("&").forEach(function(t){var n=t.split("="),r=s(n[0]),o=s(n[1]);if(2==n.length){if(!i.isType("array",e[r]))return r in e?(e[r]=[e[r]],void e[r].push(o)):void(e[r]=o);e[r].push(o)}}),e):{}}t.exports={url:function(t,e){return a(e).length>0?i.contains(t,"?")?t+"&"+a(e):t+"?"+a(e):t},decodeURL:function(t){var e=t&&t.split("?");return 2==e.length?u(e[1]):{}},decode:u,encode:a,encodePart:o,decodePart:s}},function(t,e,n){var r=n(9),i=n(1),o=n(0),s={},a=o.contains(r.href,"tw_debug=true");function u(){}function c(){}function d(){return i.performance&&+i.performance.now()||+new Date}function l(t,e){if(i.console&&i.console[t])switch(e.length){case 1:i.console[t](e[0]);break;case 2:i.console[t](e[0],e[1]);break;case 3:i.console[t](e[0],e[1],e[2]);break;case 4:i.console[t](e[0],e[1],e[2],e[3]);break;case 5:i.console[t](e[0],e[1],e[2],e[3],e[4]);break;default:0!==e.length&&i.console.warn&&i.console.warn("too many params passed to logger."+t)}}t.exports={devError:u,devInfo:c,devObject:function(t,e){},publicError:function(){l("error",o.toRealArray(arguments))},publicLog:function(){l("info",o.toRealArray(arguments))},publicWarn:function(){l("warn",o.toRealArray(arguments))},time:function(t){a&&(s[t]=d())},timeEnd:function(t){a&&s[t]&&(d(),s[t])}}},function(t,e,n){var r=n(19),i=n(5),o=n(11),s=n(0),a=n(115);t.exports=function(t){var e=t.href&&t.href.split("?")[1],n=e?o.decode(e):{},u={lang:a(t),width:t.getAttribute("data-width")||t.getAttribute("width"),height:t.getAttribute("data-height")||t.getAttribute("height"),related:t.getAttribute("data-related"),partner:t.getAttribute("data-partner")};return i.asBoolean(t.getAttribute("data-dnt"))&&r.setOn(),s.forIn(u,function(t,e){var r=n[t];n[t]=i.hasValue(r)?r:e}),s.compact(n)}},function(t,e,n){var r=n(77),i=n(22);t.exports=function(){var t="data-twitter-extracted-"+i.generate();return function(e,n){return r(e,n).filter(function(e){return!e.hasAttribute(t)}).map(function(e){return e.setAttribute(t,"true"),e})}}},function(t,e){function n(t,e,n,r,i,o,s){this.factory=t,this.Sandbox=e,this.srcEl=o,this.targetEl=i,this.parameters=r,this.className=n,this.options=s}n.prototype.destroy=function(){this.srcEl=this.targetEl=null},t.exports=n},function(t,e){t.exports={DM_BUTTON:"twitter-dm-button",FOLLOW_BUTTON:"twitter-follow-button",HASHTAG_BUTTON:"twitter-hashtag-button",MENTION_BUTTON:"twitter-mention-button",MOMENT:"twitter-moment",PERISCOPE:"periscope-on-air",SHARE_BUTTON:"twitter-share-button",TIMELINE:"twitter-timeline",TWEET:"twitter-tweet"}},function(t,e,n){var r=n(6),i=n(19),o=n(53),s=n(36),a=n(5),u=n(0);t.exports=function(t,e,n){var c;return t=t||[],e=e||{},c="ƒ("+t.join(", ")+", target, [options]);",function(){var d,l,f,h,p=Array.prototype.slice.apply(arguments,[0,t.length]),m=Array.prototype.slice.apply(arguments,[t.length]);return m.forEach(function(t){t&&(t.nodeType!==Node.ELEMENT_NODE?u.isType("function",t)?d=t:u.isType("object",t)&&(l=t):f=t)}),p.length!==t.length||0===m.length?(d&&u.async(function(){d(!1)}),r.reject(new Error("Not enough parameters. Expected: "+c))):f?(l=u.aug({},l||{},e),t.forEach(function(t){l[t]=p.shift()}),a.asBoolean(l.dnt)&&i.setOn(),h=s.getExperiments().then(function(t){return o.addWidget(n(l,f,void 0,t))}),d&&h.then(d,function(){d(!1)}),h):(d&&u.async(function(){d(!1)}),r.reject(new Error("No target element specified. Expected: "+c)))}}},function(t,e,n){var r=n(98),i=n(2),o=n(0);function s(t,e){return function(){try{e.resolve(t.call(this))}catch(t){e.reject(t)}}}t.exports={sync:function(t,e){t.call(e)},read:function(t,e){var n=new i;return r.read(s(t,n),e),n.promise},write:function(t,e){var n=new i;return r.write(s(t,n),e),n.promise},defer:function(t,e,n){var a=new i;return o.isType("function",t)&&(n=e,e=t,t=1),r.defer(t,s(e,a),n),a.promise}}},function(t,e,n){var r=n(4),i=n(9),o=n(38),s=n(102),a=n(5),u=n(33),c=!1,d=/https?:\/\/([^/]+).*/i;t.exports={setOn:function(){c=!0},enabled:function(t,e){return!!(c||a.asBoolean(u.val("dnt"))||s.isUrlSensitive(e||i.host)||o.isFramed()&&s.isUrlSensitive(o.rootDocumentLocation())||(t=d.test(t||r.referrer)&&RegExp.$1)&&s.isUrlSensitive(t))}}},function(t,e,n){var r=n(8),i=n(59),o="https://syndication.twitter.com",s="https://platform.twitter.com",a=["https://syndication.twitter.com","https://cdn.syndication.twimg.com","https://localhost.twitter.com:8444"],u=["https://syndication.twitter.com","https://localhost.twitter.com:8445"],c=["https://platform.twitter.com","https://localhost.twitter.com",/^https:\/\/ton\.smf1\.twitter\.com\/syndication-internal\/embed-iframe\/[0-9A-Za-z_-]+\/app/],d=function(t,e){return t.some(function(t){return t instanceof RegExp?t.test(e):t===e})},l=function(){var t=r.get("backendHost");return t&&d(a,t)?t:"https://cdn.syndication.twimg.com"},f=function(){var t=r.get("settingsSvcHost");return t&&d(u,t)?t:o};function h(t,e){var n=[t];return e.forEach(function(t){n.push(function(t){var e=(t||"").toString(),n="/"===e.slice(0,1)?1:0,r=function(t){return"/"===t.slice(-1)}(e)?-1:void 0;return e.slice(n,r)}(t))}),n.join("/")}t.exports={cookieConsent:function(t){var e=t||[];return e.unshift("cookie/consent"),h(f(),e)},embedIframe:function(t,e){var n=t||[],o=s,a=r.get("embedIframeURL");return a&&d(c,a)?h(a,n)+".html":(n.unshift(i.getBaseURLPath(e)),h(o,n)+".html")},embedService:function(t){var e=t||[],n=o;return e.unshift("srv"),h(n,e)},eventVideo:function(t){var e=t||[];return e.unshift("video/event"),h(l(),e)},grid:function(t){var e=t||[];return e.unshift("grid/collection"),h(l(),e)},moment:function(t){var e=t||[];return e.unshift("moments"),h(l(),e)},settings:function(t){var e=t||[];return e.unshift("settings"),h(f(),e)},timeline:function(t){var e=t||[];return e.unshift("timeline"),h(l(),e)},tweetBatch:function(t){var e=t||[];return e.unshift("tweets.json"),h(l(),e)},video:function(t){var e=t||[];return e.unshift("widgets/video"),h(l(),e)}}},function(t,e,n){var r=n(4),i=n(92),o=n(1),s=n(0),a=i.userAgent;function u(t){return/(Trident|MSIE|Edge[/ ]?\d)/.test(t=t||a)}t.exports={retina:function(t){return(t=t||o).devicePixelRatio?t.devicePixelRatio>=1.5:!!t.matchMedia&&t.matchMedia("only screen and (min-resolution: 144dpi)").matches},anyIE:u,ie9:function(t){return/MSIE 9/.test(t=t||a)},ie10:function(t){return/MSIE 10/.test(t=t||a)},ios:function(t){return/(iPad|iPhone|iPod)/.test(t=t||a)},android:function(t){return/^Mozilla\/5\.0 \(Linux; (U; )?Android/.test(t=t||a)},canPostMessage:function(t,e){return t=t||o,e=e||a,t.postMessage&&!(u(e)&&t.opener)},touch:function(t,e,n){return t=t||o,e=e||i,n=n||a,"ontouchstart"in t||/Opera Mini/.test(n)||e.msMaxTouchPoints>0},cssTransitions:function(){var t=r.body.style;return void 0!==t.transition||void 0!==t.webkitTransition||void 0!==t.mozTransition||void 0!==t.oTransition||void 0!==t.msTransition},hasPromiseSupport:function(){return!!(o.Promise&&o.Promise.resolve&&o.Promise.reject&&o.Promise.all&&o.Promise.race&&(new o.Promise(function(e){t=e}),s.isType("function",t)));var t},hasIntersectionObserverSupport:function(){return!!o.IntersectionObserver},hasPerformanceInformation:function(){return o.performance&&o.performance.getEntriesByType}}},function(t,e){var n="i",r=0,i=0;t.exports={generate:function(){return n+String(+new Date)+Math.floor(1e5*Math.random())+r++},deterministic:function(){return n+String(i++)}}},function(t,e,n){var r=n(50),i=n(52),o=n(0);t.exports=o.aug(r.get("events")||{},i.Emitter)},function(t,e,n){var r=n(6),i=n(2);function o(t,e){return t.then(e,e)}function s(t){return t instanceof r}t.exports={always:o,allResolved:function(t){var e;return void 0===t?r.reject(new Error("undefined is not an object")):Array.isArray(t)?(e=t.length)?new r(function(n,r){var i=0,o=[];function a(){(i+=1)===e&&(0===o.length?r():n(o))}function u(t){o.push(t),a()}t.forEach(function(t){s(t)?t.then(u,a):u(t)})}):r.resolve([]):r.reject(new Error("Type error"))},some:function(t){var e;return e=(t=t||[]).length,t=t.filter(s),e?e!==t.length?r.reject("non-Promise passed to .some"):new r(function(e,n){var r=0;function i(){(r+=1)===t.length&&n()}t.forEach(function(t){t.then(e,i)})}):r.reject("no promises passed to .some")},isPromise:s,allSettled:function(t){function e(){}return r.all((t||[]).map(function(t){return o(t,e)}))},timeout:function(t,e){var n=new i;return setTimeout(function(){n.reject(new Error("Promise timed out"))},e),t.then(function(t){n.resolve(t)},function(t){n.reject(t)}),n.promise}}},function(t,e,n){var r=n(1).JSON;t.exports={stringify:r.stringify||r.encode,parse:r.parse||r.decode}},function(t,e,n){var r=n(27),i=n(108);t.exports=r.build([i])},function(t,e,n){var r=n(39),i=n(105),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(39),i=n(40),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(79),i=n(80),o=n(81),s=n(9),a=n(71),u=n(82),c=n(19),d=n(5),l=n(22),f=n(0);function h(t){if(!t||!t.headers)throw new Error("unexpected response schema");return{html:t.body,config:t.config,pollInterval:1e3*parseInt(t.headers.xPolling,10)||null,maxCursorPosition:t.headers.maxPosition,minCursorPosition:t.headers.minPosition}}function p(t){if(t&&t.headers)throw new Error(t.headers.status);throw t instanceof Error?t:new Error(t)}t.exports=function(t){t.params({height:{transform:d.asInt},instanceId:{required:!0,fallback:l.deterministic},lang:{required:!0,transform:a.matchLanguage,fallback:"en"},theme:{},tweetLimit:{transform:d.asInt}}),t.defineProperty("endpoint",{get:function(){throw new Error("endpoint not specified")}}),t.defineProperty("pollEndpoint",{get:function(){return this.endpoint}}),t.define("cbId",function(t){var e=t?"_new":"_old";return"tl_"+this.params.instanceId+"_"+this.id+e}),t.define("queryParams",function(){return{lang:this.params.lang,tz:u.getTimezoneOffset(),t:r(),domain:s.host,tweet_limit:this.params.tweetLimit,dnt:c.enabled()}}),t.define("horizonQueryParams",function(){return f.compact({dnt:c.enabled(),limit:this.params.tweetLimit,lang:this.params.lang,maxHeight:this.params.height,theme:this.params.theme})}),t.define("fetch",function(){return i.fetch(this.endpoint,this.queryParams(),o,this.cbId()).then(h,p)}),t.define("poll",function(t,e){var n,r;return n={since_id:(t=t||{}).sinceId,max_id:t.maxId,min_position:t.minPosition,max_position:t.maxPosition},r=f.aug(this.queryParams(),n),i.fetch(this.pollEndpoint,r,o,this.cbId(e)).then(h,p)})}},function(t,e,n){var r=n(52).makeEmitter();t.exports={emitter:r,START:"start",ALL_WIDGETS_RENDER_START:"all_widgets_render_start",ALL_WIDGETS_RENDER_END:"all_widgets_render_end",ALL_WIDGETS_AND_IMAGES_LOADED:"all_widgets_and_images_loaded"}},function(t,e,n){var r=n(4),i=n(0);t.exports=function(t,e,n){var o;if(n=n||r,t=t||{},e=e||{},t.name){try{o=n.createElement('')}catch(e){(o=n.createElement("iframe")).name=t.name}delete t.name}else o=n.createElement("iframe");return t.id&&(o.id=t.id,delete t.id),o.allowtransparency="true",o.scrolling="no",o.setAttribute("frameBorder",0),o.setAttribute("allowTransparency",!0),i.forIn(t,function(t,e){o.setAttribute(t,e)}),i.forIn(e,function(t,e){o.style[t]=e}),o}},function(t,e,n){var r=n(27),i=n(122);t.exports=r.build([i])},function(t,e,n){var r,i=n(4);function o(t){var e,n,o,s=0;for(r={},e=(t=t||i).getElementsByTagName("meta");e[s];s++){if(n=e[s],/^twitter:/.test(n.getAttribute("name")))o=n.getAttribute("name").replace(/^twitter:/,"");else{if(!/^twitter:/.test(n.getAttribute("property")))continue;o=n.getAttribute("property").replace(/^twitter:/,"")}r[o]=n.getAttribute("content")||n.getAttribute("value")}}o(),t.exports={init:o,val:function(t){return r[t]}}},function(t,e,n){var r=n(0),i=n(45);t.exports={closest:function t(e,n,o){var s;if(n)return o=o||n&&n.ownerDocument,s=r.isType("function",e)?e:function(t){return function(e){return!!e.tagName&&i(e,t)}}(e),n===o?s(n)?n:void 0:s(n)?n:t(s,n.parentNode,o)}}},function(t,e,n){var r=n(10),i={},o=-1,s={};function a(t){var e=t.getAttribute("data-twitter-event-id");return e||(t.setAttribute("data-twitter-event-id",++o),o)}function u(t,e,n){var r=0,i=t&&t.length||0;for(r=0;r1?(e=Math.floor(t.item_ids.length/2),n=t.item_ids.slice(0,e),r={},i=t.item_ids.slice(e),o={},n.forEach(function(e){r[e]=t.item_details[e]}),i.forEach(function(e){o[e]=t.item_details[e]}),[l.aug({},t,{item_ids:n,item_details:r}),l.aug({},t,{item_ids:i,item_details:o})]):[t]},stringify:function(t){var e,n=Array.prototype.toJSON;return delete Array.prototype.toJSON,e=u.stringify(t),n&&(Array.prototype.toJSON=n),e},CLIENT_EVENT_ENDPOINT:p,RUFOUS_REDIRECT:"https://platform.twitter.com/jot.html"}},function(t,e,n){var r=n(9),i=n(75),o=n(0),s=i.getCanonicalURL()||r.href,a=s;t.exports={isFramed:function(){return s!==a},rootDocumentLocation:function(t){return t&&o.isType("string",t)&&(s=t),s},currentDocumentLocation:function(){return a}}},function(t,e,n){var r=n(103),i=n(104),o=n(0);t.exports={couple:function(){return o.toRealArray(arguments)},build:function(t,e,n){var o=new t;return(e=i(r(e||[]))).forEach(function(t){t.call(null,o)}),o.build(n)}}},function(t,e,n){var r=n(106),i=n(0),o=n(41);function s(){this.Component=this.factory(),this._adviceArgs=[],this._lastArgs=[]}i.aug(s.prototype,{factory:o,build:function(t){var e=this;return this.Component,i.aug(this.Component.prototype.boundParams,t),this._adviceArgs.concat(this._lastArgs).forEach(function(t){(function(t,e,n){var r=this[e];if(!r)throw new Error(e+" does not exist");this[e]=t(r,n)}).apply(e.Component.prototype,t)}),delete this._lastArgs,delete this._adviceArgs,this.Component},params:function(t){var e=this.Component.prototype.paramConfigs;t=t||{},this.Component.prototype.paramConfigs=i.aug({},t,e)},define:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.override(t,e)},defineStatic:function(t,e){this.Component[t]=e},override:function(t,e){this.Component.prototype[t]=e},defineProperty:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.overrideProperty(t,e)},overrideProperty:function(t,e){var n=i.aug({configurable:!0},e);Object.defineProperty(this.Component.prototype,t,n)},before:function(t,e){this._adviceArgs.push([r.before,t,e])},after:function(t,e){this._adviceArgs.push([r.after,t,e])},around:function(t,e){this._adviceArgs.push([r.around,t,e])},last:function(t,e){this._lastArgs.push([r.after,t,e])}}),t.exports=s},function(t,e,n){var r=n(0);function i(){return!0}function o(t){return t}t.exports=function(){function t(t){var e=this;t=t||{},this.params=Object.keys(this.paramConfigs).reduce(function(n,s){var a=[],u=e.boundParams,c=e.paramConfigs[s],d=c.validate||i,l=c.transform||o;if(s in u&&a.push(u[s]),s in t&&a.push(t[s]),a="fallback"in c?a.concat(c.fallback):a,n[s]=function(t,e,n){var i=null;return t.some(function(t){if(t=r.isType("function",t)?t():t,e(t))return i=n(t),!0}),i}(a,d,l),c.required&&null==n[s])throw new Error(s+" is a required parameter");return n},{}),this.initialize()}return r.aug(t.prototype,{paramConfigs:{},boundParams:{},initialize:function(){}}),t}},function(t,e,n){var r=n(101),i=n(76),o=new(n(110))(function(t){(!function(t){return 1===t.length&&i.canFlushOneItem(t[0])}(t)?function(t){r.init(),t.forEach(function(t){var e=t.input.namespace,n=t.input.data,i=t.input.offsite,o=t.input.version;r.clientEvent(e,n,i,o)}),r.flush().then(function(){t.forEach(function(t){t.taskDoneDeferred.resolve()})},function(){t.forEach(function(t){t.taskDoneDeferred.reject()})})}:function(t){t.forEach(function(t){var e=t.input.namespace,n=t.input.data,r=t.input.offsite,o=t.input.version;i.clientEvent(e,n,r,o),t.taskDoneDeferred.resolve()})})(t)});t.exports={scribe:function(t,e,n,r){return o.add({namespace:t,data:e,offsite:n,version:r})},pause:function(){o.pause()},resume:function(){o.resume()}}},function(t,e,n){var r,i=n(10),o=n(4),s=n(1),a=n(33),u=n(54),c=n(5),d=n(22),l="csptest";t.exports={inlineStyle:function(){var t=l+d.generate(),e=o.createElement("div"),n=o.createElement("style"),f="."+t+" { visibility: hidden; }";return!!o.body&&(c.asBoolean(a.val("widgets:csp"))&&(r=!1),void 0!==r?r:(e.style.display="none",i.add(e,t),n.type="text/css",n.appendChild(o.createTextNode(f)),o.body.appendChild(n),o.body.appendChild(e),r="hidden"===s.getComputedStyle(e).visibility,u(e),u(n),r))}}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){var i,o=0;return n=n||null,function s(){var a=n||this,u=arguments,c=+new Date;if(r.clearTimeout(i),c-o>e)return o=c,void t.apply(a,u);i=r.setTimeout(function(){s.apply(a,u)},e)}}},function(t,e,n){var r=n(1).HTMLElement,i=r.prototype.matches||r.prototype.matchesSelector||r.prototype.webkitMatchesSelector||r.prototype.mozMatchesSelector||r.prototype.msMatchesSelector||r.prototype.oMatchesSelector;t.exports=function(t,e){if(i)return i.call(t,e)}},function(t){t.exports={version:"9fd78d5:1638479056965"}},function(t,e){t.exports=function(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height}}},function(t,e,n){var r=n(12).publicWarn;t.exports=function(){r("Warning: This Timeline type belongs to a group that will not be supported in the future (Likes, Collections, & Moments). It is not recommended for use. \n\t","* Twitter will continue to support Profile and List Timelines \n\t","* You can learn more about this change in our announcement: \n\t","https://twittercommunity.com/t/removing-support-for-embedded-like-collection-and-moment-timelines/150313 \n\t","* In order to create a new Embedded Timeline, visit: https://publish.twitter.com")}},function(t,e,n){ +Function&&Function.prototype&&Function.prototype.bind&&(/(MSIE ([6789]|10|11))|Trident/.test(navigator.userAgent)||(window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.loaded&&window.twttr.widgets.load&&window.twttr.widgets.load(),window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.init||function(t){function e(e){for(var n,i,o=e[0],s=e[1],a=0,c=[];a-1},forIn:i,isObject:s,isEmptyObject:a,toType:o,isType:function(t,e){return t==o(e)},toRealArray:u}},function(t,e){t.exports=window},function(t,e,n){var r=n(6);t.exports=function(){var t=this;this.promise=new r(function(e,n){t.resolve=e,t.reject=n})}},function(t,e,n){var r=n(11),i=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,o=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,s=/^http(s?):\/\/(\w+\.)*twitter\.com([:/]|$)/i,a=/^http(s?):\/\/(ton|pbs)\.twimg\.com/,u=/^#?([^.,<>!\s/#\-()'"]+)$/,c=/twitter\.com(?::\d{2,4})?\/intent\/(\w+)/,d=/^https?:\/\/(?:www\.)?twitter\.com\/\w+\/timelines\/(\d+)/i,l=/^https?:\/\/(?:www\.)?twitter\.com\/i\/moments\/(\d+)/i,f=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/(?:likes|favorites)/i,h=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/lists\/([\w-%]+)/i,p=/^https?:\/\/(?:www\.)?twitter\.com\/i\/live\/(\d+)/i,m=/^https?:\/\/syndication\.twitter\.com\/settings/i,v=/^https?:\/\/(localhost|platform)\.twitter\.com(?::\d+)?\/widgets\/widget_iframe\.(.+)/i,g=/^https?:\/\/(?:www\.)?twitter\.com\/search\?q=(\w+)/i;function w(t){return"string"==typeof t&&i.test(t)&&RegExp.$1.length<=20}function y(t){if(w(t))return RegExp.$1}function b(t,e){var n=r.decodeURL(t);if(e=e||!1,n.screen_name=y(t),n.screen_name)return r.url("https://twitter.com/intent/"+(e?"follow":"user"),n)}function _(t){return"string"==typeof t&&u.test(t)}function E(t){return"string"==typeof t&&o.test(t)}t.exports={isHashTag:_,hashTag:function(t,e){if(e=void 0===e||e,_(t))return(e?"#":"")+RegExp.$1},isScreenName:w,screenName:y,isStatus:E,status:function(t){return E(t)&&RegExp.$1},intentForProfileURL:b,intentForFollowURL:function(t){return b(t,!0)},isTwitterURL:function(t){return s.test(t)},isTwimgURL:function(t){return a.test(t)},isIntentURL:function(t){return c.test(t)},isSettingsURL:function(t){return m.test(t)},isWidgetIframeURL:function(t){return v.test(t)},isSearchUrl:function(t){return g.test(t)},regexen:{profile:i},momentId:function(t){return l.test(t)&&RegExp.$1},collectionId:function(t){return d.test(t)&&RegExp.$1},intentType:function(t){return c.test(t)&&RegExp.$1},likesScreenName:function(t){return f.test(t)&&RegExp.$1},listScreenNameAndSlug:function(t){var e,n,r;if(h.test(t)){e=RegExp.$1,n=RegExp.$2;try{r=decodeURIComponent(n)}catch(t){}return{ownerScreenName:e,slug:r||n}}return!1},eventId:function(t){return p.test(t)&&RegExp.$1}}},function(t,e){t.exports=document},function(t,e,n){var r=n(0),i=[!0,1,"1","on","ON","true","TRUE","yes","YES"],o=[!1,0,"0","off","OFF","false","FALSE","no","NO"];function s(t){return void 0!==t&&null!==t&&""!==t}function a(t){return c(t)&&t%1==0}function u(t){return c(t)&&!a(t)}function c(t){return s(t)&&!isNaN(t)}function d(t){return r.contains(o,t)}function l(t){return r.contains(i,t)}t.exports={hasValue:s,isInt:a,isFloat:u,isNumber:c,isString:function(t){return"string"===r.toType(t)},isArray:function(t){return s(t)&&"array"==r.toType(t)},isTruthValue:l,isFalseValue:d,asInt:function(t){if(a(t))return parseInt(t,10)},asFloat:function(t){if(u(t))return t},asNumber:function(t){if(c(t))return t},asBoolean:function(t){return!(!s(t)||!l(t)&&(d(t)||!t))}}},function(t,e,n){var r=n(1),i=n(21),o=n(49);i.hasPromiseSupport()||(r.Promise=o),t.exports=r.Promise},function(t,e,n){var r=n(0);t.exports=function(t,e){var n=Array.prototype.slice.call(arguments,2);return function(){var i=r.toRealArray(arguments);return t.apply(e,n.concat(i))}}},function(t,e,n){var r=n(51);t.exports=new r("__twttr")},function(t,e){t.exports=location},function(t,e,n){var r=n(0),i=/\b([\w-_]+)\b/g;function o(t){return new RegExp("\\b"+t+"\\b","g")}function s(t,e){t.classList?t.classList.add(e):o(e).test(t.className)||(t.className+=" "+e)}function a(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(o(e)," ")}function u(t,e){return t.classList?t.classList.contains(e):r.contains(c(t),e)}function c(t){return r.toRealArray(t.classList?t.classList:t.className.match(i))}t.exports={add:s,remove:a,replace:function(t,e,n){if(t.classList&&u(t,e))return a(t,e),void s(t,n);t.className=t.className.replace(o(e),n)},toggle:function(t,e,n){return void 0===n&&t.classList&&t.classList.toggle?t.classList.toggle(e,n):(n?s(t,e):a(t,e),n)},present:u,list:c}},function(t,e,n){var r=n(5),i=n(0);function o(t){return encodeURIComponent(t).replace(/\+/g,"%2B").replace(/'/g,"%27")}function s(t){return decodeURIComponent(t)}function a(t){var e=[];return i.forIn(t,function(t,n){var s=o(t);i.isType("array",n)||(n=[n]),n.forEach(function(t){r.hasValue(t)&&e.push(s+"="+o(t))})}),e.sort().join("&")}function u(t){var e={};return t?(t.split("&").forEach(function(t){var n=t.split("="),r=s(n[0]),o=s(n[1]);if(2==n.length){if(!i.isType("array",e[r]))return r in e?(e[r]=[e[r]],void e[r].push(o)):void(e[r]=o);e[r].push(o)}}),e):{}}t.exports={url:function(t,e){return a(e).length>0?i.contains(t,"?")?t+"&"+a(e):t+"?"+a(e):t},decodeURL:function(t){var e=t&&t.split("?");return 2==e.length?u(e[1]):{}},decode:u,encode:a,encodePart:o,decodePart:s}},function(t,e,n){var r=n(9),i=n(1),o=n(0),s={},a=o.contains(r.href,"tw_debug=true");function u(){}function c(){}function d(){return i.performance&&+i.performance.now()||+new Date}function l(t,e){if(i.console&&i.console[t])switch(e.length){case 1:i.console[t](e[0]);break;case 2:i.console[t](e[0],e[1]);break;case 3:i.console[t](e[0],e[1],e[2]);break;case 4:i.console[t](e[0],e[1],e[2],e[3]);break;case 5:i.console[t](e[0],e[1],e[2],e[3],e[4]);break;default:0!==e.length&&i.console.warn&&i.console.warn("too many params passed to logger."+t)}}t.exports={devError:u,devInfo:c,devObject:function(t,e){},publicError:function(){l("error",o.toRealArray(arguments))},publicLog:function(){l("info",o.toRealArray(arguments))},publicWarn:function(){l("warn",o.toRealArray(arguments))},time:function(t){a&&(s[t]=d())},timeEnd:function(t){a&&s[t]&&(d(),s[t])}}},function(t,e,n){var r=n(19),i=n(5),o=n(11),s=n(0),a=n(115);t.exports=function(t){var e=t.href&&t.href.split("?")[1],n=e?o.decode(e):{},u={lang:a(t),width:t.getAttribute("data-width")||t.getAttribute("width"),height:t.getAttribute("data-height")||t.getAttribute("height"),related:t.getAttribute("data-related"),partner:t.getAttribute("data-partner")};return i.asBoolean(t.getAttribute("data-dnt"))&&r.setOn(),s.forIn(u,function(t,e){var r=n[t];n[t]=i.hasValue(r)?r:e}),s.compact(n)}},function(t,e,n){var r=n(77),i=n(22);t.exports=function(){var t="data-twitter-extracted-"+i.generate();return function(e,n){return r(e,n).filter(function(e){return!e.hasAttribute(t)}).map(function(e){return e.setAttribute(t,"true"),e})}}},function(t,e){function n(t,e,n,r,i,o,s){this.factory=t,this.Sandbox=e,this.srcEl=o,this.targetEl=i,this.parameters=r,this.className=n,this.options=s}n.prototype.destroy=function(){this.srcEl=this.targetEl=null},t.exports=n},function(t,e){t.exports={DM_BUTTON:"twitter-dm-button",FOLLOW_BUTTON:"twitter-follow-button",HASHTAG_BUTTON:"twitter-hashtag-button",MENTION_BUTTON:"twitter-mention-button",MOMENT:"twitter-moment",PERISCOPE:"periscope-on-air",SHARE_BUTTON:"twitter-share-button",TIMELINE:"twitter-timeline",TWEET:"twitter-tweet"}},function(t,e,n){var r=n(6),i=n(19),o=n(53),s=n(36),a=n(5),u=n(0);t.exports=function(t,e,n){var c;return t=t||[],e=e||{},c="ƒ("+t.join(", ")+", target, [options]);",function(){var d,l,f,h,p=Array.prototype.slice.apply(arguments,[0,t.length]),m=Array.prototype.slice.apply(arguments,[t.length]);return m.forEach(function(t){t&&(t.nodeType!==Node.ELEMENT_NODE?u.isType("function",t)?d=t:u.isType("object",t)&&(l=t):f=t)}),p.length!==t.length||0===m.length?(d&&u.async(function(){d(!1)}),r.reject(new Error("Not enough parameters. Expected: "+c))):f?(l=u.aug({},l||{},e),t.forEach(function(t){l[t]=p.shift()}),a.asBoolean(l.dnt)&&i.setOn(),h=s.getExperiments().then(function(t){return o.addWidget(n(l,f,void 0,t))}),d&&h.then(d,function(){d(!1)}),h):(d&&u.async(function(){d(!1)}),r.reject(new Error("No target element specified. Expected: "+c)))}}},function(t,e,n){var r=n(98),i=n(2),o=n(0);function s(t,e){return function(){try{e.resolve(t.call(this))}catch(t){e.reject(t)}}}t.exports={sync:function(t,e){t.call(e)},read:function(t,e){var n=new i;return r.read(s(t,n),e),n.promise},write:function(t,e){var n=new i;return r.write(s(t,n),e),n.promise},defer:function(t,e,n){var a=new i;return o.isType("function",t)&&(n=e,e=t,t=1),r.defer(t,s(e,a),n),a.promise}}},function(t,e,n){var r=n(4),i=n(9),o=n(38),s=n(102),a=n(5),u=n(33),c=!1,d=/https?:\/\/([^/]+).*/i;t.exports={setOn:function(){c=!0},enabled:function(t,e){return!!(c||a.asBoolean(u.val("dnt"))||s.isUrlSensitive(e||i.host)||o.isFramed()&&s.isUrlSensitive(o.rootDocumentLocation())||(t=d.test(t||r.referrer)&&RegExp.$1)&&s.isUrlSensitive(t))}}},function(t,e,n){var r=n(8),i=n(59),o="https://syndication.twitter.com",s="https://platform.twitter.com",a=["https://syndication.twitter.com","https://cdn.syndication.twimg.com","https://localhost.twitter.com:8444"],u=["https://syndication.twitter.com","https://localhost.twitter.com:8445"],c=["https://platform.twitter.com","https://localhost.twitter.com",/^https:\/\/ton\.smf1\.twitter\.com\/syndication-internal\/embed-iframe\/[0-9A-Za-z_-]+\/app/],d=function(t,e){return t.some(function(t){return t instanceof RegExp?t.test(e):t===e})},l=function(){var t=r.get("backendHost");return t&&d(a,t)?t:"https://cdn.syndication.twimg.com"},f=function(){var t=r.get("settingsSvcHost");return t&&d(u,t)?t:o};function h(t,e){var n=[t];return e.forEach(function(t){n.push(function(t){var e=(t||"").toString(),n="/"===e.slice(0,1)?1:0,r=function(t){return"/"===t.slice(-1)}(e)?-1:void 0;return e.slice(n,r)}(t))}),n.join("/")}t.exports={cookieConsent:function(t){var e=t||[];return e.unshift("cookie/consent"),h(f(),e)},embedIframe:function(t,e){var n=t||[],o=s,a=r.get("embedIframeURL");return a&&d(c,a)?h(a,n)+".html":(n.unshift(i.getBaseURLPath(e)),h(o,n)+".html")},embedService:function(t){var e=t||[],n=o;return e.unshift("srv"),h(n,e)},eventVideo:function(t){var e=t||[];return e.unshift("video/event"),h(l(),e)},grid:function(t){var e=t||[];return e.unshift("grid/collection"),h(l(),e)},moment:function(t){var e=t||[];return e.unshift("moments"),h(l(),e)},settings:function(t){var e=t||[];return e.unshift("settings"),h(f(),e)},timeline:function(t){var e=t||[];return e.unshift("timeline"),h(l(),e)},tweetBatch:function(t){var e=t||[];return e.unshift("tweets.json"),h(l(),e)},video:function(t){var e=t||[];return e.unshift("widgets/video"),h(l(),e)}}},function(t,e,n){var r=n(4),i=n(92),o=n(1),s=n(0),a=i.userAgent;function u(t){return/(Trident|MSIE|Edge[/ ]?\d)/.test(t=t||a)}t.exports={retina:function(t){return(t=t||o).devicePixelRatio?t.devicePixelRatio>=1.5:!!t.matchMedia&&t.matchMedia("only screen and (min-resolution: 144dpi)").matches},anyIE:u,ie9:function(t){return/MSIE 9/.test(t=t||a)},ie10:function(t){return/MSIE 10/.test(t=t||a)},ios:function(t){return/(iPad|iPhone|iPod)/.test(t=t||a)},android:function(t){return/^Mozilla\/5\.0 \(Linux; (U; )?Android/.test(t=t||a)},canPostMessage:function(t,e){return t=t||o,e=e||a,t.postMessage&&!(u(e)&&t.opener)},touch:function(t,e,n){return t=t||o,e=e||i,n=n||a,"ontouchstart"in t||/Opera Mini/.test(n)||e.msMaxTouchPoints>0},cssTransitions:function(){var t=r.body.style;return void 0!==t.transition||void 0!==t.webkitTransition||void 0!==t.mozTransition||void 0!==t.oTransition||void 0!==t.msTransition},hasPromiseSupport:function(){return!!(o.Promise&&o.Promise.resolve&&o.Promise.reject&&o.Promise.all&&o.Promise.race&&(new o.Promise(function(e){t=e}),s.isType("function",t)));var t},hasIntersectionObserverSupport:function(){return!!o.IntersectionObserver},hasPerformanceInformation:function(){return o.performance&&o.performance.getEntriesByType}}},function(t,e){var n="i",r=0,i=0;t.exports={generate:function(){return n+String(+new Date)+Math.floor(1e5*Math.random())+r++},deterministic:function(){return n+String(i++)}}},function(t,e,n){var r=n(50),i=n(52),o=n(0);t.exports=o.aug(r.get("events")||{},i.Emitter)},function(t,e,n){var r=n(6),i=n(2);function o(t,e){return t.then(e,e)}function s(t){return t instanceof r}t.exports={always:o,allResolved:function(t){var e;return void 0===t?r.reject(new Error("undefined is not an object")):Array.isArray(t)?(e=t.length)?new r(function(n,r){var i=0,o=[];function a(){(i+=1)===e&&(0===o.length?r():n(o))}function u(t){o.push(t),a()}t.forEach(function(t){s(t)?t.then(u,a):u(t)})}):r.resolve([]):r.reject(new Error("Type error"))},some:function(t){var e;return e=(t=t||[]).length,t=t.filter(s),e?e!==t.length?r.reject("non-Promise passed to .some"):new r(function(e,n){var r=0;function i(){(r+=1)===t.length&&n()}t.forEach(function(t){t.then(e,i)})}):r.reject("no promises passed to .some")},isPromise:s,allSettled:function(t){function e(){}return r.all((t||[]).map(function(t){return o(t,e)}))},timeout:function(t,e){var n=new i;return setTimeout(function(){n.reject(new Error("Promise timed out"))},e),t.then(function(t){n.resolve(t)},function(t){n.reject(t)}),n.promise}}},function(t,e,n){var r=n(1).JSON;t.exports={stringify:r.stringify||r.encode,parse:r.parse||r.decode}},function(t,e,n){var r=n(27),i=n(108);t.exports=r.build([i])},function(t,e,n){var r=n(39),i=n(105),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(39),i=n(40),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(79),i=n(80),o=n(81),s=n(9),a=n(71),u=n(82),c=n(19),d=n(5),l=n(22),f=n(0);function h(t){if(!t||!t.headers)throw new Error("unexpected response schema");return{html:t.body,config:t.config,pollInterval:1e3*parseInt(t.headers.xPolling,10)||null,maxCursorPosition:t.headers.maxPosition,minCursorPosition:t.headers.minPosition}}function p(t){if(t&&t.headers)throw new Error(t.headers.status);throw t instanceof Error?t:new Error(t)}t.exports=function(t){t.params({height:{transform:d.asInt},instanceId:{required:!0,fallback:l.deterministic},lang:{required:!0,transform:a.matchLanguage,fallback:"en"},theme:{},tweetLimit:{transform:d.asInt}}),t.defineProperty("endpoint",{get:function(){throw new Error("endpoint not specified")}}),t.defineProperty("pollEndpoint",{get:function(){return this.endpoint}}),t.define("cbId",function(t){var e=t?"_new":"_old";return"tl_"+this.params.instanceId+"_"+this.id+e}),t.define("queryParams",function(){return{lang:this.params.lang,tz:u.getTimezoneOffset(),t:r(),domain:s.host,tweet_limit:this.params.tweetLimit,dnt:c.enabled()}}),t.define("horizonQueryParams",function(){return f.compact({dnt:c.enabled(),limit:this.params.tweetLimit,lang:this.params.lang,maxHeight:this.params.height,theme:this.params.theme})}),t.define("fetch",function(){return i.fetch(this.endpoint,this.queryParams(),o,this.cbId()).then(h,p)}),t.define("poll",function(t,e){var n,r;return n={since_id:(t=t||{}).sinceId,max_id:t.maxId,min_position:t.minPosition,max_position:t.maxPosition},r=f.aug(this.queryParams(),n),i.fetch(this.pollEndpoint,r,o,this.cbId(e)).then(h,p)})}},function(t,e,n){var r=n(52).makeEmitter();t.exports={emitter:r,START:"start",ALL_WIDGETS_RENDER_START:"all_widgets_render_start",ALL_WIDGETS_RENDER_END:"all_widgets_render_end",ALL_WIDGETS_AND_IMAGES_LOADED:"all_widgets_and_images_loaded"}},function(t,e,n){var r=n(4),i=n(0);t.exports=function(t,e,n){var o;if(n=n||r,t=t||{},e=e||{},t.name){try{o=n.createElement('')}catch(e){(o=n.createElement("iframe")).name=t.name}delete t.name}else o=n.createElement("iframe");return t.id&&(o.id=t.id,delete t.id),o.allowtransparency="true",o.scrolling="no",o.setAttribute("frameBorder",0),o.setAttribute("allowTransparency",!0),i.forIn(t,function(t,e){o.setAttribute(t,e)}),i.forIn(e,function(t,e){o.style[t]=e}),o}},function(t,e,n){var r=n(27),i=n(122);t.exports=r.build([i])},function(t,e,n){var r,i=n(4);function o(t){var e,n,o,s=0;for(r={},e=(t=t||i).getElementsByTagName("meta");e[s];s++){if(n=e[s],/^twitter:/.test(n.getAttribute("name")))o=n.getAttribute("name").replace(/^twitter:/,"");else{if(!/^twitter:/.test(n.getAttribute("property")))continue;o=n.getAttribute("property").replace(/^twitter:/,"")}r[o]=n.getAttribute("content")||n.getAttribute("value")}}o(),t.exports={init:o,val:function(t){return r[t]}}},function(t,e,n){var r=n(0),i=n(45);t.exports={closest:function t(e,n,o){var s;if(n)return o=o||n&&n.ownerDocument,s=r.isType("function",e)?e:function(t){return function(e){return!!e.tagName&&i(e,t)}}(e),n===o?s(n)?n:void 0:s(n)?n:t(s,n.parentNode,o)}}},function(t,e,n){var r=n(10),i={},o=-1,s={};function a(t){var e=t.getAttribute("data-twitter-event-id");return e||(t.setAttribute("data-twitter-event-id",++o),o)}function u(t,e,n){var r=0,i=t&&t.length||0;for(r=0;r1?(e=Math.floor(t.item_ids.length/2),n=t.item_ids.slice(0,e),r={},i=t.item_ids.slice(e),o={},n.forEach(function(e){r[e]=t.item_details[e]}),i.forEach(function(e){o[e]=t.item_details[e]}),[l.aug({},t,{item_ids:n,item_details:r}),l.aug({},t,{item_ids:i,item_details:o})]):[t]},stringify:function(t){var e,n=Array.prototype.toJSON;return delete Array.prototype.toJSON,e=u.stringify(t),n&&(Array.prototype.toJSON=n),e},CLIENT_EVENT_ENDPOINT:p,RUFOUS_REDIRECT:"https://platform.twitter.com/jot.html"}},function(t,e,n){var r=n(9),i=n(75),o=n(0),s=i.getCanonicalURL()||r.href,a=s;t.exports={isFramed:function(){return s!==a},rootDocumentLocation:function(t){return t&&o.isType("string",t)&&(s=t),s},currentDocumentLocation:function(){return a}}},function(t,e,n){var r=n(103),i=n(104),o=n(0);t.exports={couple:function(){return o.toRealArray(arguments)},build:function(t,e,n){var o=new t;return(e=i(r(e||[]))).forEach(function(t){t.call(null,o)}),o.build(n)}}},function(t,e,n){var r=n(106),i=n(0),o=n(41);function s(){this.Component=this.factory(),this._adviceArgs=[],this._lastArgs=[]}i.aug(s.prototype,{factory:o,build:function(t){var e=this;return this.Component,i.aug(this.Component.prototype.boundParams,t),this._adviceArgs.concat(this._lastArgs).forEach(function(t){(function(t,e,n){var r=this[e];if(!r)throw new Error(e+" does not exist");this[e]=t(r,n)}).apply(e.Component.prototype,t)}),delete this._lastArgs,delete this._adviceArgs,this.Component},params:function(t){var e=this.Component.prototype.paramConfigs;t=t||{},this.Component.prototype.paramConfigs=i.aug({},t,e)},define:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.override(t,e)},defineStatic:function(t,e){this.Component[t]=e},override:function(t,e){this.Component.prototype[t]=e},defineProperty:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.overrideProperty(t,e)},overrideProperty:function(t,e){var n=i.aug({configurable:!0},e);Object.defineProperty(this.Component.prototype,t,n)},before:function(t,e){this._adviceArgs.push([r.before,t,e])},after:function(t,e){this._adviceArgs.push([r.after,t,e])},around:function(t,e){this._adviceArgs.push([r.around,t,e])},last:function(t,e){this._lastArgs.push([r.after,t,e])}}),t.exports=s},function(t,e,n){var r=n(0);function i(){return!0}function o(t){return t}t.exports=function(){function t(t){var e=this;t=t||{},this.params=Object.keys(this.paramConfigs).reduce(function(n,s){var a=[],u=e.boundParams,c=e.paramConfigs[s],d=c.validate||i,l=c.transform||o;if(s in u&&a.push(u[s]),s in t&&a.push(t[s]),a="fallback"in c?a.concat(c.fallback):a,n[s]=function(t,e,n){var i=null;return t.some(function(t){if(t=r.isType("function",t)?t():t,e(t))return i=n(t),!0}),i}(a,d,l),c.required&&null==n[s])throw new Error(s+" is a required parameter");return n},{}),this.initialize()}return r.aug(t.prototype,{paramConfigs:{},boundParams:{},initialize:function(){}}),t}},function(t,e,n){var r=n(101),i=n(76),o=new(n(110))(function(t){(!function(t){return 1===t.length&&i.canFlushOneItem(t[0])}(t)?function(t){r.init(),t.forEach(function(t){var e=t.input.namespace,n=t.input.data,i=t.input.offsite,o=t.input.version;r.clientEvent(e,n,i,o)}),r.flush().then(function(){t.forEach(function(t){t.taskDoneDeferred.resolve()})},function(){t.forEach(function(t){t.taskDoneDeferred.reject()})})}:function(t){t.forEach(function(t){var e=t.input.namespace,n=t.input.data,r=t.input.offsite,o=t.input.version;i.clientEvent(e,n,r,o),t.taskDoneDeferred.resolve()})})(t)});t.exports={scribe:function(t,e,n,r){return o.add({namespace:t,data:e,offsite:n,version:r})},pause:function(){o.pause()},resume:function(){o.resume()}}},function(t,e,n){var r,i=n(10),o=n(4),s=n(1),a=n(33),u=n(54),c=n(5),d=n(22),l="csptest";t.exports={inlineStyle:function(){var t=l+d.generate(),e=o.createElement("div"),n=o.createElement("style"),f="."+t+" { visibility: hidden; }";return!!o.body&&(c.asBoolean(a.val("widgets:csp"))&&(r=!1),void 0!==r?r:(e.style.display="none",i.add(e,t),n.type="text/css",n.appendChild(o.createTextNode(f)),o.body.appendChild(n),o.body.appendChild(e),r="hidden"===s.getComputedStyle(e).visibility,u(e),u(n),r))}}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){var i,o=0;return n=n||null,function s(){var a=n||this,u=arguments,c=+new Date;if(r.clearTimeout(i),c-o>e)return o=c,void t.apply(a,u);i=r.setTimeout(function(){s.apply(a,u)},e)}}},function(t,e,n){var r=n(1).HTMLElement,i=r.prototype.matches||r.prototype.matchesSelector||r.prototype.webkitMatchesSelector||r.prototype.mozMatchesSelector||r.prototype.msMatchesSelector||r.prototype.oMatchesSelector;t.exports=function(t,e){if(i)return i.call(t,e)}},function(t){t.exports={version:"9fd78d5:1638479056965"}},function(t,e){t.exports=function(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height}}},function(t,e,n){var r=n(12).publicWarn;t.exports=function(){r("Warning: This Timeline type belongs to a group that will not be supported in the future (Likes, Collections, & Moments). It is not recommended for use. \n\t","* Twitter will continue to support Profile and List Timelines \n\t","* You can learn more about this change in our announcement: \n\t","https://twittercommunity.com/t/removing-support-for-embedded-like-collection-and-moment-timelines/150313 \n\t","* In order to create a new Embedded Timeline, visit: https://publish.twitter.com")}},function(t,e,n){ /*! * @overview es6-promise - a tiny implementation of Promises/A+. * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) diff --git a/files/assets/js/userpage.js b/files/assets/js/userpage.js index 3cb7960bb..451402f2c 100644 --- a/files/assets/js/userpage.js +++ b/files/assets/js/userpage.js @@ -1,68 +1,32 @@ -function post_toast_callback(url, data, callback) { - var xhr = new XMLHttpRequest(); - xhr.open("POST", url, true); - var form = new FormData() +let uid = document.getElementById('uid') - if(typeof data === 'object' && data !== null) { - for(let k of Object.keys(data)) { - form.append(k, data[k]); - } +if (uid) +{ + uid = uid.innerHTML + + let audio = new Audio(`/songs/${uid}`); + audio.loop=true; + + function pause() { + audio.pause(); + document.getElementById("pause1").classList.toggle("d-none"); + document.getElementById("play1").classList.toggle("d-none"); + document.getElementById("pause2").classList.toggle("d-none"); + document.getElementById("play2").classList.toggle("d-none"); } - form.append("formkey", formkey()); - xhr.withCredentials=true; - - xhr.onload = function() { - let result = callback(xhr); - if (xhr.status >= 200 && xhr.status < 300) { - var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); - myToast.hide(); - - var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); - myToast.show(); - - try { - if(typeof result == "string") { - document.getElementById('toast-post-success-text').innerText = result; - } else { - document.getElementById('toast-post-success-text').innerText = JSON.parse(xhr.response)["message"]; - } - } catch(e) { - document.getElementById('toast-post-success-text').innerText = "Action successful!"; - } - - return true; - } else { - var myToast = new bootstrap.Toast(document.getElementById('toast-post-success')); - myToast.hide(); - - var myToast = new bootstrap.Toast(document.getElementById('toast-post-error')); - myToast.show(); - - try { - if(typeof result == "string") { - document.getElementById('toast-post-error-text').innerText = result; - } else { - document.getElementById('toast-post-error-text').innerText = JSON.parse(xhr.response)["error"]; - } - return false - } catch(e) {} - - return false; - } - }; - - xhr.send(form); - -} - -function toggleElement(group, id) { - for(let el of document.getElementsByClassName(group)) { - if(el.id != id) { - el.classList.add('hidden'); - } + function play() { + audio.play(); + document.getElementById("pause1").classList.toggle("d-none"); + document.getElementById("play1").classList.toggle("d-none"); + document.getElementById("pause2").classList.toggle("d-none"); + document.getElementById("play2").classList.toggle("d-none"); } - document.getElementById(id).classList.toggle('hidden'); -} - + window.addEventListener('load', (e) => { + audio.play(); + document.getElementById('userpage').addEventListener('click', () => { + if (audio.paused) audio.play(); + }, {once : true}); + }); +} \ No newline at end of file diff --git a/files/assets/js/viewmore.js b/files/assets/js/viewmore.js index b9e997360..1146119cd 100644 --- a/files/assets/js/viewmore.js +++ b/files/assets/js/viewmore.js @@ -1,20 +1,20 @@ -function loadMore(pid,sort,offset,id,trigger) { - const btn = document.getElementById(trigger) // trigger button - const el = document.getElementById(id) // target element to populate - const form = new FormData(); - const xhr = new XMLHttpRequest(); - - btn.classList.toggle('animate-pulse'); - +function viewmore(pid,sort,offset) { + btn = document.getElementById("viewbtn"); + btn.disabled = true; + btn.innerHTML = "Requesting..."; + var form = new FormData(); + form.append("formkey", formkey()); + var xhr = new XMLHttpRequest(); xhr.open("post", `/viewmore/${pid}/${sort}/${offset}`); xhr.withCredentials=true; xhr.onload=function(){ if (xhr.status==200) { - btn.style.display = "none"; // hide button - el.innerHTML += xhr.response.replace(/data-src/g, 'src').replace(/data-cfsrc/g, 'src').replace(/style="display:none;visibility:hidden;"/g, ''); // replace desired element with response html - initializeBootstrap() - } else { - btn.disabled = false; // enable our button if GET fails + document.getElementById(`viewmore-${offset}`).innerHTML = xhr.response.replace(/data-src/g, 'src').replace(/data-cfsrc/g, 'src').replace(/style="display:none;visibility:hidden;"/g, ''); + var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); + tooltipTriggerList.map(function(element){ + return new bootstrap.Tooltip(element); + }); + popovertrigger() } } xhr.send(form) diff --git a/files/templates/Bets.html b/files/templates/CHRISTMAS/Bets.html similarity index 100% rename from files/templates/Bets.html rename to files/templates/CHRISTMAS/Bets.html diff --git a/files/templates/Poll.html b/files/templates/CHRISTMAS/Poll.html similarity index 100% rename from files/templates/Poll.html rename to files/templates/CHRISTMAS/Poll.html diff --git a/files/templates/ProfilePopover.html b/files/templates/CHRISTMAS/ProfilePopover.html similarity index 100% rename from files/templates/ProfilePopover.html rename to files/templates/CHRISTMAS/ProfilePopover.html diff --git a/files/templates/CHRISTMAS/admin/admin_home.html b/files/templates/CHRISTMAS/admin/admin_home.html new file mode 100644 index 000000000..dfb3e5f92 --- /dev/null +++ b/files/templates/CHRISTMAS/admin/admin_home.html @@ -0,0 +1,60 @@ +{% extends "default.html" %} + +{% block title %} +{{'SITE_NAME' | app_config}} + +{% endblock %} + +{% block content %} +
    +

    Admin Tools

    + +

    Content

    + + +

    Users

    + + +

    Safety

    + + +

    Grant

    + + +

    API Access Control

    + + +

    Statistics

    + + +

    Configuration

    + + +
    + + +
    +
    +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/alt_votes.html b/files/templates/CHRISTMAS/admin/alt_votes.html new file mode 100644 index 000000000..b448bce5b --- /dev/null +++ b/files/templates/CHRISTMAS/admin/alt_votes.html @@ -0,0 +1,89 @@ +{% extends "default.html" %} + +{% block title %} +{{'SITE_NAME' | app_config}} + +{% endblock %} + +{% block content %} +
    +
    +
    +
    +
    +
    +
    Vote Info
    + +
    + + + + +
    + +{% if u1 and u2 %} + + +

    Analysis

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    @{{u1.username}} only(% unique)Both@{{u2.username}} only (% unique)
    Post Upvotes{{data['u1_only_post_ups']}} ({{data['u1_post_ups_unique']}}%){{data['both_post_ups']}}{{data['u2_only_post_ups']}} ({{data['u2_post_ups_unique']}}%)
    Post Downvotes{{data['u1_only_post_downs']}} ({{data['u1_post_downs_unique']}}%){{data['both_post_downs']}}{{data['u2_only_post_downs']}} ({{data['u2_post_downs_unique']}}%)
    Comment Upvotes{{data['u1_only_comment_ups']}} ({{data['u1_comment_ups_unique']}}%){{data['both_comment_ups']}}{{data['u2_only_comment_ups']}} ({{data['u2_comment_ups_unique']}}%)
    Comment Downvotes{{data['u1_only_comment_downs']}} ({{data['u1_comment_downs_unique']}}%){{data['both_comment_downs']}}{{data['u2_only_comment_downs']}} ({{data['u2_comment_downs_unique']}}%)
    + +

    Link Accounts

    + +{% if u2 in u1.alts %} +

    Accounts are known alts of eachother.

    +{% else %} + +

    Two accounts controlled by different people should have most uniqueness percentages at or above 70-80%

    +

    A sockpuppet account will have its uniqueness percentages significantly lower.

    + +Link Accounts +
    + + + + +
    + +{% endif %} + +{% endif %} + +
    +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/app.html b/files/templates/CHRISTMAS/admin/app.html new file mode 100644 index 000000000..f53e048f3 --- /dev/null +++ b/files/templates/CHRISTMAS/admin/app.html @@ -0,0 +1,66 @@ +{% extends "default.html" %} + +{% block title %} +API App Administration + +{% endblock %} + +{% block content %} +
    + +
    +
    +
    + +
    +
    + + + + + + + + + + + +
    +
    + +
    + +{% if listing %} + {% include "submission_listing.html" %} +{% elif comments %} + {% include "comments.html" %} +{% endif %} + +
    + + + + + + +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/apps.html b/files/templates/CHRISTMAS/admin/apps.html new file mode 100644 index 000000000..9b1202f32 --- /dev/null +++ b/files/templates/CHRISTMAS/admin/apps.html @@ -0,0 +1,68 @@ +{% extends "default.html" %} + +{% block title %} +API App Administration + +{% endblock %} + +{% block content %} +
    + {% for app in apps %} +
    +
    + +
    + + + + + + + {% if app.client_id %} + + + {% endif %} + + + + + + +
    +
    +
    +
    + {% if not app.client_id %} + + Approve + Reject + + {% else %} + + Revoke + + {% endif %} +
    +
    +
    + {% endfor %} +
    + + + + + + +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/awards.html b/files/templates/CHRISTMAS/admin/awards.html new file mode 100644 index 000000000..e4606f753 --- /dev/null +++ b/files/templates/CHRISTMAS/admin/awards.html @@ -0,0 +1,73 @@ +{% extends "default.html" %} + +{% block title %} +Grant User Award +{% endblock %} + +{% block pagetype %}message{% endblock %} + +{% block content %} + +
    + + {% if error %} + + {% endif %} + {% if msg %} + + {% endif %} + +
    
    +	
    
    +	
    User Award Grant
    + +
    + +
    + + + + + + + + + + + + {% for a in awards %} + + + + + + {% endfor %} +
    IconTitleAmount
    {{a['title']}}
    + + + +
    + +
    
    +	{% if 'rdrama.net' not in request.host or v.admin_level > 2 %}
    +		
    +	{% endif %}
    +
    +
    +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/badge_grant.html b/files/templates/CHRISTMAS/admin/badge_grant.html new file mode 100644 index 000000000..5bdc1596d --- /dev/null +++ b/files/templates/CHRISTMAS/admin/badge_grant.html @@ -0,0 +1,87 @@ +{% extends "default.html" %} + +{% block title %} +Badge Grant +{% endblock %} + +{% block pagetype %}message{% endblock %} + +{% block content %} +
    + + {% if error %} + + {% endif %} + {% if msg %} + + {% endif %} + +
    
    +
    
    +
    Badge Grant
    + +
    + + + +
    + + + + + + + + + + + + +{% for k, v in badge_types.items() %} + + + + + + +{% endfor %} +
    SelectImageNameDefault Description
    {{v['name']}}{{v['description']}}
    + +
    + + +
    + + + + +
    + +
    + + + +{% endblock %} diff --git a/files/templates/CHRISTMAS/admin/banned_domains.html b/files/templates/CHRISTMAS/admin/banned_domains.html new file mode 100644 index 000000000..dc931c16b --- /dev/null +++ b/files/templates/CHRISTMAS/admin/banned_domains.html @@ -0,0 +1,37 @@ +{% extends "default.html" %} + +{% block title %} + Banned Domains +{% endblock %} + +{% block content %} + +
    +
    +
    + + + + + + + + + + {% for domain in banned_domains %} + + + + + {% endfor %} +
    DomainBan reason
    {{domain.domain}}{{domain.reason}}
    + + +
    + + + + +
    + +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/content_stats.html b/files/templates/CHRISTMAS/admin/content_stats.html new file mode 100644 index 000000000..4485750c2 --- /dev/null +++ b/files/templates/CHRISTMAS/admin/content_stats.html @@ -0,0 +1,25 @@ +{% extends "default.html" %} + +{% block title %} +{{'SITE_NAME' | app_config}} + +{% endblock %} + +{% block content %} +
    
    +
    +
    +	
    +		
    +		
    +	
    +
    +{% for entry in data %}
    +	
    +		
    +		
    +	
    +{% endfor %}
    +
    StatisticValue
    {{entry}}{{data[entry]}}
    + +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/image_posts.html b/files/templates/CHRISTMAS/admin/image_posts.html new file mode 100644 index 000000000..7a3feb461 --- /dev/null +++ b/files/templates/CHRISTMAS/admin/image_posts.html @@ -0,0 +1,56 @@ +{% extends "userpage.html" %} + +{% block adminpanel %}{% endblock %} +{% block pagetype %}userpage{% endblock %} +{% block banner %}{% endblock %} +{% block mobileBanner %}{% endblock %} +{% block desktopBanner %}{% endblock %} +{% block desktopUserBanner %}{% endblock %} +{% block mobileUserBanner %}{% endblock %} + +{% block postNav %}{% endblock %} + +{% block fixedMobileBarJS %} +{% endblock %} + +{% block title %} +Image feed + +{% endblock %} + + +{% block content %} + +
    + +
    + + {% block listing %} +
    + {% include "submission_listing.html" %} +
    + {% endblock %} +
    +
    +{% endblock %} + +{% block pagenav %} + +{% endblock %} diff --git a/files/templates/CHRISTMAS/admin/new_users.html b/files/templates/CHRISTMAS/admin/new_users.html new file mode 100644 index 000000000..f20a160cd --- /dev/null +++ b/files/templates/CHRISTMAS/admin/new_users.html @@ -0,0 +1,9 @@ +{% extends "mine.html" %} + +{% block maincontent %} + + +{% include "user_listing.html" %} +{% endblock %} + +{% block navbar %}{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/removed_posts.html b/files/templates/CHRISTMAS/admin/removed_posts.html new file mode 100644 index 000000000..4dbfabcbb --- /dev/null +++ b/files/templates/CHRISTMAS/admin/removed_posts.html @@ -0,0 +1,59 @@ +{% extends "admin/image_posts.html" %} + + +{% block title %} +Removed Content + +{% endblock %} + +{% block content %} + +
    +
    +
    +
    +
    +
    
    +				
    Removed Posts
    + +
    + +
    + +
    +
    +
    + +
    + +
    + + {% block listing %} +
    + {% include "submission_listing.html" %} +
    + {% endblock %} +
    +
    +{% endblock %} + +{% block pagenav %} + +{% endblock %} diff --git a/files/templates/CHRISTMAS/admin/reported_comments.html b/files/templates/CHRISTMAS/admin/reported_comments.html new file mode 100644 index 000000000..c264aa8cf --- /dev/null +++ b/files/templates/CHRISTMAS/admin/reported_comments.html @@ -0,0 +1,24 @@ +{% extends "admin/reported_posts.html" %} + + + +{% block listing %} + + +
    + {% with comments=listing %} + {% include "comments.html" %} + {% endwith %} + {% if not listing %} +
    +
    +
    +
    There are no comments here (yet).
    +
    +
    +
    + {% endif %} +
    + +{% endblock %} + diff --git a/files/templates/CHRISTMAS/admin/reported_posts.html b/files/templates/CHRISTMAS/admin/reported_posts.html new file mode 100644 index 000000000..b860f07ed --- /dev/null +++ b/files/templates/CHRISTMAS/admin/reported_posts.html @@ -0,0 +1,83 @@ +{% extends "userpage.html" %} + +{% block adminpanel %}{% endblock %} +{% block pagetype %}userpage{% endblock %} +{% block banner %}{% endblock %} +{% block mobileBanner %}{% endblock %} +{% block desktopBanner %}{% endblock %} +{% block desktopUserBanner %}{% endblock %} +{% block mobileUserBanner %}{% endblock %} + + {% block postNav %} +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + {% endblock %} + + +{% block fixedMobileBarJS %} +{% endblock %} + +{% block title %} +Reported Posts + +{% endblock %} + +{% block content %} + +
    + +
    + + {% block listing %} +
    + {% include "submission_listing.html" %} +
    + {% endblock %} +
    +
    +{% endblock %} + +{% block pagenav %} + +{% endblock %} diff --git a/files/templates/CHRISTMAS/admins.html b/files/templates/CHRISTMAS/admins.html new file mode 100644 index 000000000..a57b82259 --- /dev/null +++ b/files/templates/CHRISTMAS/admins.html @@ -0,0 +1,31 @@ +{% extends "settings2.html" %} + +{% block pagetitle %}Admins{% endblock %} + +{% block content %} + +
    Admins
    +
    
    +
    +	
    +		
    +			
    +			
    +		
    +	
    +	{% for user in admins %}
    +	
    +		
    +		
    +	
    +	{% endfor %}
    +
    NameScore
    + + + {{user.username}} + + {% if user.admin_level == 1 and v and v.admin_level > 1 %} + + {% endif %} + {{user.truecoins}}
    +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/agendaposters.html b/files/templates/CHRISTMAS/agendaposters.html new file mode 100644 index 000000000..5a2168b70 --- /dev/null +++ b/files/templates/CHRISTMAS/agendaposters.html @@ -0,0 +1,19 @@ +{% extends "settings2.html" %} + +{% block content %} + + + + + + + +{% for user in users %} + + + + +{% endfor %} +
    #Name
    {{loop.index}}{{user.username}}
    + +{% endblock %} diff --git a/files/templates/CHRISTMAS/api.html b/files/templates/CHRISTMAS/api.html new file mode 100644 index 000000000..94dee7924 --- /dev/null +++ b/files/templates/CHRISTMAS/api.html @@ -0,0 +1,82 @@ +{% extends "default.html" %} + +{% block title %} +{{'SITE_NAME' | app_config}} - API + +{% endblock %} + +{% block content %} +
    +
    +
    +
    +

    API Guide for Bots

    +
    
    +

    This page explains how to obtain and use an access token.

    +

    Step 1: Create your Application

    +

    In the apps tab of Drama settings, fill in and submit the form to request an access token. You will need:

    +
      +
    • an application name
    • +
    • a Redirect URI. May not use HTTP unless using localhost (use HTTPS instead).
    • +
    • a brief description of what your bot is intended to do
    • +
    +

    Don't worry too much about accuracy; you will be able to change all of these later.

    +

    Drama administrators will review and approve or deny your request for an access token. You'll know when your request has been approved when you get a private message with an access token tied to your account.

    +

    DO NOT reveal your Client ID or Access Token. Anyone with these information will be able to pretend to be you. You are responsible for keeping them a secret!

    +

    Step 2: Using the Access Token

    +

    To use the access token, include the following header in subsequent API requests to Drama: Authorization: access_token_goes_here

    +

    Python example:

    +
    	import requests
    +
    +	headers={"Authorization": "access_token_goes_here"}
    +
    +	url="https://rdrama.net/@carpathianflorist"
    +
    +	r=requests.get(url, headers=headers)
    +
    +	print(r.json())
    +
    +

    The expected result of this would be a large JSON representation of the posts posted by @carpathianflorist

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    API Guide for Applications

    +
    
    +

    The OAuth2 authorization flow is used to enable users to authorize third-party applications to access their Drama account without having to provide their login information to the application.

    +

    This page explains how to obtain API application keys, how to prompt a user for authorization, and how to obtain and use access tokens.

    +

    Step 1: Create your Application

    +

    In the apps tab of Drama settings, fill in and submit the form to request new API keys. You will need:

    +
      +
    • an application name
    • +
    • a Redirect URI. May not use HTTP unless using localhost (use HTTPS instead).
    • +
    • a brief description of what your application is intended to do
    • +
    +

    Don't worry too much about accuracy; you will be able to change all of these later.

    +

    Drama administrators will review and approve or deny your request for API keys. You'll know when your request has been approved when you get a private message with an access token tied to your account.

    +

    DO NOT reveal your Client ID or Access Token. Anyone with these information will be able to pretend to be you. You are responsible for keeping them a secret!

    +

    Step 2: Prompt Your User for Authorization

    +

    Send your user to https://rdrama.net/authorize/?client_id=YOUR_CLIENT_ID

    +

    If done correctly, the user will see that your application wants to access their Drama account, and be prompted to approve or deny the request.

    +

    Step 3: Catch the redirect

    +

    The user clicks "Authorize". Drama will redirect the user's browser to GET the designated redirect URI. The access token URL parameter will be included in the redirect, which your server should process.

    +

    Step 4: Using the Access Token

    +

    To use the access token, include the following header in subsequent API requests to Drama: Authorization: access_token_goes_here

    +

    Python example:

    +
    	import requests
    +
    +	headers={"Authorization": "access_token_goes_here"}
    +
    +	url="https://rdrama.net/@carpathianflorist"
    +
    +	r=requests.get(url, headers=headers)
    +
    +	print(r.json())
    +
    +

    The expected result of this would be a large JSON representation of the submissions submitted by @carpathianflorist

    +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/authforms.html b/files/templates/CHRISTMAS/authforms.html new file mode 100644 index 000000000..aea28f07b --- /dev/null +++ b/files/templates/CHRISTMAS/authforms.html @@ -0,0 +1,103 @@ + + + + + + + + + + + + {% block pagetitle %}{{'SITE_NAME' | app_config}}{% endblock %} + + + {% if v %} + + + {% if v.agendaposter %}{% elif v.css %}{% endif %} + {% else %} + + + {% endif %} + + + + + + + + +
    +
    + +
    + +
    + +
    + + + +

    {% block authtitle %}{% endblock %}

    + +

    {% block authtext %}{% endblock %}

    + + {% if error %} + + {% endif %} + {% if msg %} + + {% endif %} + + {% block content %} + {% endblock %} + +
    + +
    + +
    + +
    + +
    + +
    + + +
    + +
    + +
    +
    + + + + \ No newline at end of file diff --git a/files/templates/CHRISTMAS/award_modal.html b/files/templates/CHRISTMAS/award_modal.html new file mode 100644 index 000000000..988eea6cb --- /dev/null +++ b/files/templates/CHRISTMAS/award_modal.html @@ -0,0 +1,91 @@ + + + + + \ No newline at end of file diff --git a/files/templates/awards/Christmas/Fireplace.html b/files/templates/CHRISTMAS/awards/Christmas/Fireplace.html similarity index 100% rename from files/templates/awards/Christmas/Fireplace.html rename to files/templates/CHRISTMAS/awards/Christmas/Fireplace.html diff --git a/files/templates/awards/Christmas/Gingerbread.html b/files/templates/CHRISTMAS/awards/Christmas/Gingerbread.html similarity index 83% rename from files/templates/awards/Christmas/Gingerbread.html rename to files/templates/CHRISTMAS/awards/Christmas/Gingerbread.html index 04e045fb1..fd1ec85f8 100644 --- a/files/templates/awards/Christmas/Gingerbread.html +++ b/files/templates/CHRISTMAS/awards/Christmas/Gingerbread.html @@ -3,7 +3,7 @@
    {% for i in range(count) %}
    - animate marsey gingerbread icon + animate marsey gingerbread icon
    {% endfor %}
    \ No newline at end of file diff --git a/files/templates/awards/Christmas/Sleighs.html b/files/templates/CHRISTMAS/awards/Christmas/Sleighs.html similarity index 85% rename from files/templates/awards/Christmas/Sleighs.html rename to files/templates/CHRISTMAS/awards/Christmas/Sleighs.html index 9777b8afa..dcefe3234 100644 --- a/files/templates/awards/Christmas/Sleighs.html +++ b/files/templates/CHRISTMAS/awards/Christmas/Sleighs.html @@ -2,18 +2,18 @@ - + {% if p.award_count("train") > 1 %} - + {% endif %} {% if p.award_count("train") > 2 %} - + {% endif %} {% if p.award_count("train") > 3 %} - + {% endif %} diff --git a/files/templates/comments/CommentActions.html b/files/templates/CHRISTMAS/comments/CommentActions.html similarity index 100% rename from files/templates/comments/CommentActions.html rename to files/templates/CHRISTMAS/comments/CommentActions.html diff --git a/files/templates/comments/CommentEditForm.html b/files/templates/CHRISTMAS/comments/CommentEditForm.html similarity index 100% rename from files/templates/comments/CommentEditForm.html rename to files/templates/CHRISTMAS/comments/CommentEditForm.html diff --git a/files/templates/comments/CommentForm.html b/files/templates/CHRISTMAS/comments/CommentForm.html similarity index 100% rename from files/templates/comments/CommentForm.html rename to files/templates/CHRISTMAS/comments/CommentForm.html diff --git a/files/templates/comments/CommentMessageReplyForm.html b/files/templates/CHRISTMAS/comments/CommentMessageReplyForm.html similarity index 100% rename from files/templates/comments/CommentMessageReplyForm.html rename to files/templates/CHRISTMAS/comments/CommentMessageReplyForm.html diff --git a/files/templates/comments/CommentReplyForm.html b/files/templates/CHRISTMAS/comments/CommentReplyForm.html similarity index 100% rename from files/templates/comments/CommentReplyForm.html rename to files/templates/CHRISTMAS/comments/CommentReplyForm.html diff --git a/files/templates/CHRISTMAS/contact.html b/files/templates/CHRISTMAS/contact.html new file mode 100644 index 000000000..277f49fa7 --- /dev/null +++ b/files/templates/CHRISTMAS/contact.html @@ -0,0 +1,67 @@ +{% extends "default.html" %} + +{% block title %} +{{'SITE_NAME' | app_config}} - Contact + +{% endblock %} + +{% block content %} + +
    + + {% if request.values.get('error') or error %} + + {% endif %} + {% if request.values.get('msg') or msg %} + + {% endif %} + +

    Contact {{'SITE_NAME' | app_config}} Admins

    + {% if v and v.is_activated and not v.is_suspended %} + +

    Use this form to contact {{'SITE_NAME' | app_config}} Admins.

    + + + + +
    + + + + + + +
    + + + {% elif v %} + +

    Please verify your email address in order to ensure we can respond to your message if needed. Then, refresh this page.

    + + {% else %} + +

    In order to ensure that we can respond to your message, please first sign up or log in and make sure you have verified your email address. Then, refresh this page.

    + + {% endif %} + +

    If you can see this line, we haven't been contacted by any law enforcement or governmental organizations in 2021 yet.

    + +
    + +{% endblock %} diff --git a/files/templates/CHRISTMAS/default.html b/files/templates/CHRISTMAS/default.html new file mode 100644 index 000000000..4165d2d93 --- /dev/null +++ b/files/templates/CHRISTMAS/default.html @@ -0,0 +1,353 @@ + + + + {% if v and v.agendaposter %} + + + {% endif %} + + + + + + + {% block title %} + {{'SITE_NAME' | app_config}} + + + + + + + + + + + + + + + + + + {% endblock %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% block stylesheets %} + + + + + + + + {% if v %} + + + + {% if v.agendaposter %} + + {% elif v.css %} + + {% endif %} + {% else %} + + + + {% endif %} + + {% endblock %} + + + + + + + + + +{% block Banner %} +{% endblock %} + +{% include "header-tw.html" %} + +{% block mobileUserBanner %} +{% endblock %} + +{% block mobileBanner %} +{% endblock %} + +{% block postNav %} +{% endblock %} + +
    +
    + + {% block desktopUserBanner %} + {% endblock %} + + {% block desktopBanner %} + {% endblock %} + +
    + {% block subHeader %} + {% endblock %} +
    + + {% block subHeader2 %} + {% endblock %} + +
    +
    + + {% block searchText %} + {% endblock %} + + {% block content %} + {% endblock %} + + {% block pagenav %} + {% endblock %} + + {% block sidebar %} + {% endblock %} +
    +
    + + {% include "footer.html" %} +
    +
    + +{% if v %} + +{% endif %} + +{% include "ProfilePopover.html" %} + +{% block mobilenavbar %} + {% include "mobile_navigation_bar.html" %} +{% endblock %} + +{% block actionsModal %} +{% endblock %} + +{% block reportCommentModal %} +{% endblock %} + +{% block GIFtoast %} +{% endblock %} + +{% block GIFpicker %} +{% endblock %} + + + +{% include "/toasts/toasts.html" %} + +{% block modals %} +{% endblock %} + +{% block popovers %} +{% endblock %} + +{% block fixedMobileBarJS %} +{% endblock %} + +{% block scripts %} +{% endblock %} + + + + + + + + + + + + + + + + + + + + + + + + + + +{% if v %} + + +{% endif %} + + + diff --git a/files/templates/CHRISTMAS/delete_post_modal.html b/files/templates/CHRISTMAS/delete_post_modal.html new file mode 100644 index 000000000..5df4ac9dd --- /dev/null +++ b/files/templates/CHRISTMAS/delete_post_modal.html @@ -0,0 +1,39 @@ + + + diff --git a/files/templates/dropdowns/NavbarExtraLinks.html b/files/templates/CHRISTMAS/dropdowns/NavbarExtraLinks.html similarity index 97% rename from files/templates/dropdowns/NavbarExtraLinks.html rename to files/templates/CHRISTMAS/dropdowns/NavbarExtraLinks.html index e2dc296ed..c98f66a6a 100644 --- a/files/templates/dropdowns/NavbarExtraLinks.html +++ b/files/templates/CHRISTMAS/dropdowns/NavbarExtraLinks.html @@ -41,7 +41,7 @@
  • - + Android App
  • diff --git a/files/templates/dropdowns/NavbarProfile.html b/files/templates/CHRISTMAS/dropdowns/NavbarProfile.html similarity index 92% rename from files/templates/dropdowns/NavbarProfile.html rename to files/templates/CHRISTMAS/dropdowns/NavbarProfile.html index ae605d20d..059b8e44b 100644 --- a/files/templates/dropdowns/NavbarProfile.html +++ b/files/templates/CHRISTMAS/dropdowns/NavbarProfile.html @@ -17,12 +17,12 @@
    - coin icon + coin icon {{v.coins}} {% if v.procoins %} - coin icon + coin icon {{v.procoins}} {% endif %} diff --git a/files/templates/dropdowns/ProfileAdminDropdown.html b/files/templates/CHRISTMAS/dropdowns/ProfileAdminDropdown.html similarity index 100% rename from files/templates/dropdowns/ProfileAdminDropdown.html rename to files/templates/CHRISTMAS/dropdowns/ProfileAdminDropdown.html diff --git a/files/templates/dropdowns/ProfileDropdown.html b/files/templates/CHRISTMAS/dropdowns/ProfileDropdown.html similarity index 100% rename from files/templates/dropdowns/ProfileDropdown.html rename to files/templates/CHRISTMAS/dropdowns/ProfileDropdown.html diff --git a/files/templates/dropdowns/SearchSorts.html b/files/templates/CHRISTMAS/dropdowns/SearchSorts.html similarity index 100% rename from files/templates/dropdowns/SearchSorts.html rename to files/templates/CHRISTMAS/dropdowns/SearchSorts.html diff --git a/files/templates/dropdowns/SubmissionSorts.html b/files/templates/CHRISTMAS/dropdowns/SubmissionSorts.html similarity index 100% rename from files/templates/dropdowns/SubmissionSorts.html rename to files/templates/CHRISTMAS/dropdowns/SubmissionSorts.html diff --git a/files/templates/CHRISTMAS/email/2fa_remove.html b/files/templates/CHRISTMAS/email/2fa_remove.html new file mode 100644 index 000000000..619e53aaf --- /dev/null +++ b/files/templates/CHRISTMAS/email/2fa_remove.html @@ -0,0 +1,34 @@ +{% extends "email/default.html" %} + +{% block title %}Remove Two-Factor Authentication{% endblock %} + +{% block preheader %}Remove Two-Factor Authentication.{% endblock %} + +{% block content %} +

    We received a request to remove two-factor authentication from your account. In 72 hours, click the link below.

    +

    If you didn't make this request, change your password and use the Log Out Everywhere feature in your Security Settings to permanently invalidate the link.

    + + + + + +

    Please note that {{'SITE_NAME' | app_config}} will never ask you for your email, password, or two-factor token via email, text, or phone.

    + + + + + +{% endblock %} diff --git a/files/templates/CHRISTMAS/email/default.html b/files/templates/CHRISTMAS/email/default.html new file mode 100644 index 000000000..f375d1bbb --- /dev/null +++ b/files/templates/CHRISTMAS/email/default.html @@ -0,0 +1,409 @@ + + + + + + + + + + + + + + {% block preheader %}Thanks for joining {{'SITE_NAME' | app_config}}! Please take a sec to verify the email you used to sign up.{% endblock %} + + + + + + + diff --git a/files/templates/CHRISTMAS/email/email_change.html b/files/templates/CHRISTMAS/email/email_change.html new file mode 100644 index 000000000..01101d177 --- /dev/null +++ b/files/templates/CHRISTMAS/email/email_change.html @@ -0,0 +1,56 @@ +{% extends "email/default.html" %} + +{% block title %}Verify Your Email{% endblock %} + +{% block preheader %}Verify your new {{'SITE_NAME' | app_config}} email.{% endblock %} + +{% block content %} +

    You told us you wanted to change your {{'SITE_NAME' | app_config}} account email. To finish this process, please verify your new email address:

    + + + + + +

    For reference, here's your current information:

    + + + + + +

    Please note that {{'SITE_NAME' | app_config}} will never ask you for your email, password, or two-factor token via email, text, or phone.

    + + + + + +{% endblock %} diff --git a/files/templates/CHRISTMAS/email/email_verify.html b/files/templates/CHRISTMAS/email/email_verify.html new file mode 100644 index 000000000..e039ed539 --- /dev/null +++ b/files/templates/CHRISTMAS/email/email_verify.html @@ -0,0 +1,54 @@ +{% extends "email/default.html" %} + +{% block title %}Welcome to {{'SITE_NAME' | app_config}}!{% endblock %} + +{% block content %} +

    Thanks for joining {{'SITE_NAME' | app_config}}. We’re happy to have you on board. To get the most out of {{'SITE_NAME' | app_config}}, please verify your account email:

    + + + + + +

    For reference, here's your username.

    + + + + + +

    Please note that {{'SITE_NAME' | app_config}} will never ask you for your email, password, or two-factor token via email, text, or phone.

    + + + + + +{% endblock %} diff --git a/files/templates/CHRISTMAS/email/password_reset.html b/files/templates/CHRISTMAS/email/password_reset.html new file mode 100644 index 000000000..c5df8e03e --- /dev/null +++ b/files/templates/CHRISTMAS/email/password_reset.html @@ -0,0 +1,54 @@ +{% extends "email/default.html" %} + +{% block title %}Reset Your Password{% endblock %} +{% block preheader %}Reset your {{'SITE_NAME' | app_config}} password.{% endblock %} + +{% block content %} +

    To reset your password, click the button below:

    + + + + + +

    For reference, here's your login information:

    + + + + + + + + + + +{% endblock %} diff --git a/files/templates/CHRISTMAS/emoji_modal.html b/files/templates/CHRISTMAS/emoji_modal.html new file mode 100644 index 000000000..f764dc796 --- /dev/null +++ b/files/templates/CHRISTMAS/emoji_modal.html @@ -0,0 +1,105 @@ +
    + + + diff --git a/files/templates/CHRISTMAS/emojis.html b/files/templates/CHRISTMAS/emojis.html new file mode 100644 index 000000000..f0d577a24 --- /dev/null +++ b/files/templates/CHRISTMAS/emojis.html @@ -0,0 +1,26 @@ +{% extends "default.html" %} +{% block content %} +
    +
    +	
    +
    + + + + + + + + + +{% for emoji in emojis %} + + + + + +{% endfor %} + +
    #NameEmoji
    {{loop.index}}{{emoji}}:{{emoji}}:
    + +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/errors/400.html b/files/templates/CHRISTMAS/errors/400.html new file mode 100644 index 000000000..ff08a4d0a --- /dev/null +++ b/files/templates/CHRISTMAS/errors/400.html @@ -0,0 +1,19 @@ +{% extends "default.html" %} + +{% block title %} +400 Bad Request +{% endblock %} + +{% block pagetype %}error-400{% endblock %} + +{% block content %} +
    +
    + +

    400 Bad Request

    +

    + That request was bad and you should feel bad. +

    +
    +
    +{% endblock %} diff --git a/files/templates/CHRISTMAS/errors/401.html b/files/templates/CHRISTMAS/errors/401.html new file mode 100644 index 000000000..2a2895e6f --- /dev/null +++ b/files/templates/CHRISTMAS/errors/401.html @@ -0,0 +1,21 @@ +{% extends "default.html" %} + +{% block title %} +401 Not Authorized +{% endblock %} + +{% block pagetype %}error-401{% endblock %} + +{% block content %} +
    +
    + +

    401 Not Authorized

    +

    + What you're trying to do requires an account. I think. The original error message said something about a castle and I hated that. +

    + Create an account + Login +
    +
    +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/errors/403.html b/files/templates/CHRISTMAS/errors/403.html new file mode 100644 index 000000000..55596acef --- /dev/null +++ b/files/templates/CHRISTMAS/errors/403.html @@ -0,0 +1,20 @@ +{% extends "default.html" %} + +{% block title %} +403 Forbidden +{% endblock %} + +{% block pagetype %}error-403{% endblock %} + +{% block content %} +
    +
    + +

    403 Forbidden

    +

    + YOU AREN'T WELCOME HERE GO AWAY +

    + Go to frontpage +
    +
    +{% endblock %} diff --git a/files/templates/CHRISTMAS/errors/404.html b/files/templates/CHRISTMAS/errors/404.html new file mode 100644 index 000000000..1f797432c --- /dev/null +++ b/files/templates/CHRISTMAS/errors/404.html @@ -0,0 +1,19 @@ +{% extends "default.html" %} + +{% block title %} +404 Page Not Found +{% endblock %} + +{% block pagetype %}error-404{% endblock %} + +{% block content %} +
    +
    + +

    404 Page Not Found

    +

    + Someone typed something wrong and it was probably you, please do better. +

    +
    +
    +{% endblock %} diff --git a/files/templates/CHRISTMAS/errors/405.html b/files/templates/CHRISTMAS/errors/405.html new file mode 100644 index 000000000..cf98e006a --- /dev/null +++ b/files/templates/CHRISTMAS/errors/405.html @@ -0,0 +1,23 @@ +{% extends "default.html" %} + +{% block title %} +405 Method Not Allowed +{% endblock %} + +{% block pagetype %}error-405{% endblock %} + +{% block content %} +
    +
    + +

    405 Method Not Allowed

    +

    + idk how anyone gets this error but if you see this, remember to follow @carpathianflorist +

    +

    + the original error text here talked about internet gremlins and wtf +

    + Go to frontpage +
    +
    +{% endblock %} diff --git a/files/templates/CHRISTMAS/errors/429.html b/files/templates/CHRISTMAS/errors/429.html new file mode 100644 index 000000000..a77719384 --- /dev/null +++ b/files/templates/CHRISTMAS/errors/429.html @@ -0,0 +1,20 @@ +{% extends "default.html" %} + +{% block title %} +429 Too Many Requests +{% endblock %} + +{% block pagetype %}error-429{% endblock %} + +{% block content %} +
    +
    + +

    429 Too Many Requests

    +

    + go spam somewhere else nerd +

    + Go to frontpage +
    +
    +{% endblock %} diff --git a/files/templates/CHRISTMAS/errors/500.html b/files/templates/CHRISTMAS/errors/500.html new file mode 100644 index 000000000..eda67c782 --- /dev/null +++ b/files/templates/CHRISTMAS/errors/500.html @@ -0,0 +1,20 @@ +{% extends "default.html" %} + +{% block title %} +500 Internal Server Error +{% endblock %} + +{% block pagetype %}error-500{% endblock %} + +{% block content %} +
    +
    + +

    500 Interal Server Error

    +

    + Hiiiii it's carp! I think this error means that there's a timeout error. And I think that means something took too long to load so it decided not to work at all. If you keep seeing this on the same page but not other pages, then something is probably wrong with that specific function. It may not be called a function, but that sounds right to me. Anyway, ping me and I'll whine to someone smarter to fix it. Don't bother them. Thanks ily <3 +

    + Go to frontpage +
    +
    +{% endblock %} diff --git a/files/templates/CHRISTMAS/errors/nsfw.html b/files/templates/CHRISTMAS/errors/nsfw.html new file mode 100644 index 000000000..5708a682d --- /dev/null +++ b/files/templates/CHRISTMAS/errors/nsfw.html @@ -0,0 +1,27 @@ +{% extends "default.html" %} + +{% block title %} ++18 +{% endblock %} + +{% block pagetype %}error-451{% endblock %} + +{% block content %} +
    +
    + +

    Are you over 18?

    +

    + This post is rated +18 (Adult-Only). You must be 18 or older to continue. Are you sure you want to proceed? +

    +
    +
    + + +
    + No +
    +
    +
    +{% endblock %} + diff --git a/files/templates/CHRISTMAS/errors/patron.html b/files/templates/CHRISTMAS/errors/patron.html new file mode 100644 index 000000000..c1f6497f5 --- /dev/null +++ b/files/templates/CHRISTMAS/errors/patron.html @@ -0,0 +1,20 @@ +{% extends "default.html" %} + +{% block title %} +401 Not Authorized +{% endblock %} + +{% block pagetype %}error-401{% endblock %} + +{% block content %} +
    +
    + +

    401 Not Authorized

    +

    + This page is only available to {% if "rama" in request.host %}paypigs{% else %}patrons{% endif %}: +

    + {{'GUMROAD_LINK' | app_config}} +
    +
    +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/expanded_image_modal.html b/files/templates/CHRISTMAS/expanded_image_modal.html new file mode 100644 index 000000000..ac95d65f3 --- /dev/null +++ b/files/templates/CHRISTMAS/expanded_image_modal.html @@ -0,0 +1,28 @@ + + + \ No newline at end of file diff --git a/files/templates/CHRISTMAS/followers.html b/files/templates/CHRISTMAS/followers.html new file mode 100644 index 000000000..2c6b93629 --- /dev/null +++ b/files/templates/CHRISTMAS/followers.html @@ -0,0 +1,37 @@ +{% extends "default.html" %} +{% block content %} +
    +
    +
    +	
    +
    +
    @{{u.username}}'s followers
    +
    
    +
    +
    +	
    +		
    +		
    +		{% if v.id == u.id %}
    +			
    +		{% endif %}
    +	
    +
    +
    +{% for user in users %}
    +	
    +		
    +		
    +		{% if v.id == u.id %}
    +		
    +		{% endif %}
    +	
    +{% endfor %}
    +
    +
    #Name
    {{loop.index}}{{user.username}}
    Remove follow
    +
    +{% endblock %} + +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/following.html b/files/templates/CHRISTMAS/following.html new file mode 100644 index 000000000..5b374a141 --- /dev/null +++ b/files/templates/CHRISTMAS/following.html @@ -0,0 +1,33 @@ +{% extends "default.html" %} +{% block content %} +
    +
    Users followed by @{{u.username}}
    +
    
    +
    +
    +	
    +		
    +		
    +		{% if v.id == u.id %}
    +			
    +		{% endif %}
    +	
    +
    +
    +{% for user in users %}
    +	
    +		
    +		
    +		{% if v.id == u.id %}
    +		
    +		{% endif %}
    +	
    +{% endfor %}
    +
    +
    #Name
    {{loop.index}}{{user.username}}
    Unfollow
    +
    +{% endblock %} + +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/files/templates/footer.html b/files/templates/CHRISTMAS/footer.html similarity index 100% rename from files/templates/footer.html rename to files/templates/CHRISTMAS/footer.html diff --git a/files/templates/CHRISTMAS/forgot_password.html b/files/templates/CHRISTMAS/forgot_password.html new file mode 100644 index 000000000..cdfee69bd --- /dev/null +++ b/files/templates/CHRISTMAS/forgot_password.html @@ -0,0 +1,31 @@ +{% extends "authforms.html" %} + +{% block pagetitle %}{{'SITE_NAME' | app_config}} Password Reset{% endblock %} + +{% block authtitle %}Reset your password.{% endblock %} + +{% block authtext %}If there's an email address associated with your account, you can use it to recover your {{'SITE_NAME' | app_config}} account and change your password.{% endblock %} + +{% block content %} + +
    + +
    + + + + + + + + + + + +
    + +
    + +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/formatting.html b/files/templates/CHRISTMAS/formatting.html new file mode 100644 index 000000000..6fe045293 --- /dev/null +++ b/files/templates/CHRISTMAS/formatting.html @@ -0,0 +1,524 @@ +{% extends "settings2.html" %} +{% block title %} +{{'SITE_NAME' | app_config}} - Formatting + +{% endblock %} + +{% block content %} +
    +
    +
    +
    +

    Markdown Formatting

    + +You can use Markdown formatting: + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameWhat you typeWhat gets displayed
    Italics*text*text
    Bold**text**text
    Code`text`text
    Strikethrough~~text~~text
    Links[{{'SITE_NAME' | app_config}}]({{request.host_url}}){{'SITE_NAME' | app_config}}
    Imageshttps://i.imgur.com/Lf6dfPO.jpg
    Youtube Videoshttps://youtube.com/watch?v=3Hecr51ByE4
    MP4 Fileshttps://files.catbox.moe/v4om92.mp4
    WEBM Fileshttps://files.catbox.moe/v4om92.mp4
    Emojis:marseylove::marseylove:
    Mirrored Emojis:!marseylove::!marseylove:
    Large Emojis:#marseylove::!marseylove:
    Large Mirroed Emojis:#!marseylove::!marseylove:
    Poll Options$$bussy$$ +
    + + +
    +
    Blockquote> text
    text
    Headers 1-6# Header 1
    ## Header 2
    ### Header 3
    #### Header 4
    ##### Header 5
    ###### Header 6

    Header 1

    Header 2

    Header 3

    Header 4

    Header 5
    Header 6
    Ordered list1. First thing
    2. Second thing
    1. First thing
    2. Second thing
    Unordered list* First thing
    * Second thing
    • First thing
    • Second thing
    Code Block```
    Use three backticks above and below.
    Or, indent the lines with four spaces.
    ```
    +
    +				Use three backticks above and below.
    +				Or, indent the lines with four spaces.
    +				
    +
    Spoilers||bussy > gussy||

    bussy > gussy

    Username Mention@QuadNarca@QuadNarca
    Subreddit Mentionr/{{'SITE_NAME' | app_config}}r/{{'SITE_NAME' | app_config}}
    Redditor Mentionu/Bardfinnu/Bardfinn
    + +

    HTML Formatting

    + +And we allow custom HTML in most places: + +
    +
    +
    + +

    Allowed Tags

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameWhat you typeWhat gets displayed
    Span + My mother has <span style="color:blue">blue</span> eyes. + + My mother has blue eyes. +
    BoldThis will be <b>bold</b> + This will be bold +
    Blockquote + <blockquote>This is a blockquote</blockquote> + +
    + This is a blockquote +
    +
    Line Break +
    +Line 1
    +<br>
    +Line 2
    +				
    +
    + Line 1 +
    + Line 2 +
    Code + <code>This is code</code> + + This is code +
    Strikethrough + The last word will have a <del>strikethrough</del> + + The last word will have a strikethrough +
    Emphasis + We <em>cannot</em> live like this. + + We cannot live like this. +
    Headings +
    +<h1>This is heading 1</h1>
    +<h2>This is heading 2</h2>
    +<h3>This is heading 3</h3>
    +<h4>This is heading 4</h4>
    +<h5>This is heading 5</h5>
    +<h6>This is heading 6</h6>
    +				
    +
    +

    This is heading 1

    +

    This is heading 2

    +

    This is heading 3

    +

    This is heading 4

    +
    This is heading 5
    +
    This is heading 6
    +
    Horizontal Rule +
    +Text 1
    +<hr>
    +Text 2
    +				
    +
    + Text 1 +
    + Text 2 +
    Italics + <i>This</i> is how you get italics. + + This is how you get italics. +
    Lists +
    +<ul>
    +	<li>Bullet 1</li>
    +	<li>Bullet 2</li>
    +</ul>
    +<ol>
    +	<li>Number 1</li>
    +	<li>Number 2</li>
    +</ol>
    +				
    +
    +
      +
    • Bullet 1
    • +
    • Bullet 2
    • +
    +
      +
    1. Number 1
    2. +
    3. Number 2
    4. +
    +
    Paragraphs +
    +<p>Paragraph 1</p>
    +<p>Paragraph 2</p>
    +				
    +
    +

    Paragraph 1

    +

    Paragraph 2

    +
    Preformatted Text
    +<pre>
    +	Text in a pre element
    +	is displayed in a fixed-width
    +	font, and it preserves
    +	both	  spaces and
    +	line breaks
    +</pre>
    +			
    +
    +Text in a pre element
    +is displayed in a fixed-width
    +font, and it preserves
    +both	  spaces and
    +line breaks
    +				
    +
    Strong + <strong>This text is important!</strong> + + This text is important! +
    Subscript + This text contains <sub>subscript</sub> text. + + This text contains subscript text. +
    Superscript + E = mc<sup>2</sup> + + E = mc2 +
    Tables
    +<table>
    +	<thead>
    +		<tr>
    +			<td>Col 1</td>
    +			<td>Col 2</td>
    +			<td>Col 3</td>
    +		</tr>
    +	</thead>
    +	<tbody>
    +		<tr>
    +			<td>1</td>
    +			<td>2</td>
    +			<td>3</td>
    +		</tr>
    +		<tr>
    +			<td>4</td>
    +			<td>5</td>
    +			<td>6</td>
    +		</tr>
    +	</tbody>
    +</table>
    +
    + + + + + + + + + + + + + + + + + + + + +
    Col 1Col 2Col 3
    123
    456
    +
    Marquee + <marquee direction="up" behavior="scroll" scrollamount="10" height="100"> + This is a sample scrolling text that has scrolls in the upper direction. + </marquee> + + + This is a sample scrolling text that has scrolls in the upper direction. + +
    Links + This is a <a href='https://www.w3schools.com/tags/tag_a.asp'>link</a> + + This is a link +
    Images + <img src="https://i.imgur.com/SwVuagI_d.webp" width="200"> + + +
    + +

    Allowed Attributes

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Name
    href
    style
    src
    class
    title
    direction
    behavior
    scrollamount
    + +
    Allowed Styles
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Name
    color
    background-color
    font-weight
    transform
    -webkit-transform
    + +{% include "expanded_image_modal.html" %} + +{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/gif_modal.html b/files/templates/CHRISTMAS/gif_modal.html new file mode 100644 index 000000000..98a160890 --- /dev/null +++ b/files/templates/CHRISTMAS/gif_modal.html @@ -0,0 +1,23 @@ + diff --git a/files/templates/header-tw.html b/files/templates/CHRISTMAS/header-tw.html similarity index 94% rename from files/templates/header-tw.html rename to files/templates/CHRISTMAS/header-tw.html index 5219b14bc..20af72dae 100644 --- a/files/templates/header-tw.html +++ b/files/templates/CHRISTMAS/header-tw.html @@ -33,8 +33,8 @@