From f04d7a67b934b270ae753fea5cf0124d6c5aea54 Mon Sep 17 00:00:00 2001 From: blmage Date: Tue, 31 Oct 2023 12:29:47 +0100 Subject: [PATCH] Update production build and bump extension version --- dist/assets/css/ui.css | 688 ++++++++++++++++++++++++++++++----------- dist/manifest.json | 2 +- dist/src/observer.js | 2 +- dist/src/ui.js | 21 +- package.json | 2 +- 5 files changed, 515 insertions(+), 200 deletions(-) diff --git a/dist/assets/css/ui.css b/dist/assets/css/ui.css index e9b15b3..fe926ef 100644 --- a/dist/assets/css/ui.css +++ b/dist/assets/css/ui.css @@ -1,119 +1,68 @@ -svg:not(:root).svg-inline--fa { +:root,:host { + --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Solid'; + --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Regular'; + --fa-font-light: normal 300 1em/1 'Font Awesome 6 Light'; + --fa-font-thin: normal 100 1em/1 'Font Awesome 6 Thin'; + --fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone'; + --fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp'; + --fa-font-sharp-regular: normal 400 1em/1 'Font Awesome 6 Sharp'; + --fa-font-sharp-light: normal 300 1em/1 'Font Awesome 6 Sharp'; + --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; +} + +svg:not(:root).svg-inline--fa,svg:not(:host).svg-inline--fa { overflow: visible; + box-sizing: content-box; } .svg-inline--fa { - display: inline-block; - font-size: inherit; + display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -.125em; } -.svg-inline--fa.fa-lg { - vertical-align: -.225em; -} - -.svg-inline--fa.fa-w-1 { - width: 0.0625em; -} - -.svg-inline--fa.fa-w-2 { - width: 0.125em; -} - -.svg-inline--fa.fa-w-3 { - width: 0.1875em; -} - -.svg-inline--fa.fa-w-4 { - width: 0.25em; -} - -.svg-inline--fa.fa-w-5 { - width: 0.3125em; -} - -.svg-inline--fa.fa-w-6 { - width: 0.375em; +.svg-inline--fa.fa-2xs { + vertical-align: 0.1em; } -.svg-inline--fa.fa-w-7 { - width: 0.4375em; +.svg-inline--fa.fa-xs { + vertical-align: 0em; } -.svg-inline--fa.fa-w-8 { - width: 0.5em; +.svg-inline--fa.fa-sm { + vertical-align: -0.07143em; } -.svg-inline--fa.fa-w-9 { - width: 0.5625em; -} - -.svg-inline--fa.fa-w-10 { - width: 0.625em; -} - -.svg-inline--fa.fa-w-11 { - width: 0.6875em; -} - -.svg-inline--fa.fa-w-12 { - width: 0.75em; -} - -.svg-inline--fa.fa-w-13 { - width: 0.8125em; -} - -.svg-inline--fa.fa-w-14 { - width: 0.875em; -} - -.svg-inline--fa.fa-w-15 { - width: 0.9375em; -} - -.svg-inline--fa.fa-w-16 { - width: 1em; -} - -.svg-inline--fa.fa-w-17 { - width: 1.0625em; +.svg-inline--fa.fa-lg { + vertical-align: -0.2em; } -.svg-inline--fa.fa-w-18 { - width: 1.125em; +.svg-inline--fa.fa-xl { + vertical-align: -0.25em; } -.svg-inline--fa.fa-w-19 { - width: 1.1875em; -} - -.svg-inline--fa.fa-w-20 { - width: 1.25em; +.svg-inline--fa.fa-2xl { + vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { - margin-right: .3em; + margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { - margin-left: .3em; + margin-left: var(--fa-pull-margin, 0.3em); width: auto; } -.svg-inline--fa.fa-border { - height: 1.5em; -} - .svg-inline--fa.fa-li { - width: 2em; + width: var(--fa-li-width, 2em); + top: 0.25em; } .svg-inline--fa.fa-fw { - width: 1.25em; + width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { @@ -125,6 +74,12 @@ svg:not(:root).svg-inline--fa { top: 0; } +.fa-layers-text,.fa-layers-counter { + display: inline-block; + position: absolute; + text-align: center; +} + .fa-layers { display: inline-block; height: 1em; @@ -139,12 +94,6 @@ svg:not(:root).svg-inline--fa { transform-origin: center center; } -.fa-layers-text,.fa-layers-counter { - display: inline-block; - position: absolute; - text-align: center; -} - .fa-layers-text { left: 50%; top: 50%; @@ -155,80 +104,64 @@ svg:not(:root).svg-inline--fa { } .fa-layers-counter { - background-color: #ff253a; - border-radius: 1em; - -webkit-box-sizing: border-box; + background-color: var(--fa-counter-background-color, #ff253a); + border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; - color: #fff; - height: 1.5em; - line-height: 1; - max-width: 5em; - min-width: 1.5em; + color: var(--fa-inverse, #fff); + line-height: var(--fa-counter-line-height, 1); + max-width: var(--fa-counter-max-width, 5em); + min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; - padding: .25em; - right: 0; + padding: var(--fa-counter-padding, 0.25em 0.5em); + right: var(--fa-right, 0); text-overflow: ellipsis; - top: 0; - -webkit-transform: scale(0.25); - transform: scale(0.25); + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-counter-scale, 0.25)); + transform: scale(var(--fa-counter-scale, 0.25)); -webkit-transform-origin: top right; transform-origin: top right; } .fa-layers-bottom-right { - bottom: 0; - right: 0; + bottom: var(--fa-bottom, 0); + right: var(--fa-right, 0); top: auto; - -webkit-transform: scale(0.25); - transform: scale(0.25); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); -webkit-transform-origin: bottom right; transform-origin: bottom right; } .fa-layers-bottom-left { - bottom: 0; - left: 0; + bottom: var(--fa-bottom, 0); + left: var(--fa-left, 0); right: auto; top: auto; - -webkit-transform: scale(0.25); - transform: scale(0.25); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); -webkit-transform-origin: bottom left; transform-origin: bottom left; } .fa-layers-top-right { - right: 0; - top: 0; - -webkit-transform: scale(0.25); - transform: scale(0.25); + top: var(--fa-top, 0); + right: var(--fa-right, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); -webkit-transform-origin: top right; transform-origin: top right; } .fa-layers-top-left { - left: 0; + left: var(--fa-left, 0); right: auto; - top: 0; - -webkit-transform: scale(0.25); - transform: scale(0.25); + top: var(--fa-top, 0); + -webkit-transform: scale(var(--fa-layers-scale, 0.25)); + transform: scale(var(--fa-layers-scale, 0.25)); -webkit-transform-origin: top left; transform-origin: top left; } -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -.0667em; -} - -.fa-xs { - font-size: .75em; -} - -.fa-sm { - font-size: .875em; -} - .fa-1x { font-size: 1em; } @@ -269,6 +202,42 @@ svg:not(:root).svg-inline--fa { font-size: 10em; } +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; +} + +.fa-xs { + font-size: 0.75em; + line-height: 0.08333em; + vertical-align: 0.125em; +} + +.fa-sm { + font-size: 0.875em; + line-height: 0.07143em; + vertical-align: 0.05357em; +} + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; +} + +.fa-xl { + font-size: 1.5em; + line-height: 0.04167em; + vertical-align: -0.125em; +} + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; +} + .fa-fw { text-align: center; width: 1.25em; @@ -276,7 +245,7 @@ svg:not(:root).svg-inline--fa { .fa-ul { list-style-type: none; - margin-left: 2.5em; + margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } @@ -285,43 +254,412 @@ svg:not(:root).svg-inline--fa { } .fa-li { - left: -2em; + left: calc(var(--fa-li-width, 2em) * -1); position: absolute; text-align: center; - width: 2em; + width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { - border: solid 0.08em #eee; - border-radius: .1em; - padding: .2em .25em .15em; + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; + margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; + margin-left: var(--fa-pull-margin, 0.3em); +} + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); +} + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } -.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left { - margin-right: .3em; +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-reverse { + --fa-animation-direction: reverse; +} + +.fa-pulse,.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); +} + +@media (prefers-reduced-motion: reduce) { + .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transition-duration: 0s; + transition-duration: 0s; + } } -.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right { - margin-left: .3em; +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); + } } -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); + } +} + +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } +} + +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } + + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); + } +} + +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} + +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} + +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); + } + + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} + +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); + } + + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} + +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} + +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} + +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); + } + + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); + } + + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); + } + + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); + } + + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); + } + + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); + } + + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); + } + + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); + } + + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } } -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); + } + + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); + } + + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); + } + + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); + } + + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); + } + + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); + } + + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); + } + + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); + } + + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } } @-webkit-keyframes fa-spin { @@ -349,48 +687,43 @@ svg:not(:root).svg-inline--fa { } .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-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, none)); + transform: rotate(var(--fa-rotate-angle, none)); } .fa-stack { display: inline-block; + vertical-align: middle; height: 2em; position: relative; width: 2.5em; @@ -403,6 +736,7 @@ svg:not(:root).svg-inline--fa { position: absolute; right: 0; top: 0; + z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { @@ -416,48 +750,48 @@ svg:not(:root).svg-inline--fa { } .fa-inverse { - color: #fff; + color: var(--fa-inverse, #fff); } -.sr-only { - border: 0; - clip: rect(0, 0, 0, 0); +.sr-only,.fa-sr-only { + position: absolute; + width: 1px; height: 1px; + padding: 0; margin: -1px; overflow: hidden; - padding: 0; - position: absolute; - width: 1px; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } -.sr-only-focusable:active,.sr-only-focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; +.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); - opacity: 1; opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); - opacity: 0.4; opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { - opacity: 0.4; opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { - opacity: 1; opacity: var(--fa-primary-opacity, 1); } @@ -465,8 +799,8 @@ svg:not(:root).svg-inline--fa { fill: black; } -.fad.fa-inverse { - color: #fff; +.fad.fa-inverse,.fa-duotone.fa-inverse { + color: var(--fa-inverse, #fff); } /* Global styles */ diff --git a/dist/manifest.json b/dist/manifest.json index ef98989..9e040f0 100644 --- a/dist/manifest.json +++ b/dist/manifest.json @@ -1,6 +1,6 @@ { "name": "Duolingo TTS Controls", - "version": "2.4.2", + "version": "2.5.0", "description": "Provides playback controls for some of the challenges on Duolingo.", "permissions": [ "https://*.duolingo.com/" diff --git a/dist/src/observer.js b/dist/src/observer.js index a0b133b..3a66c45 100644 --- a/dist/src/observer.js +++ b/dist/src/observer.js @@ -1 +1 @@ -!function(){"use strict";const e=()=>{},t=e=>"number"==typeof e&&Number.isFinite(e),n=e=>"string"==typeof e,a=Array.isArray,l=e=>"object"==typeof e&&!!e&&!a(e),o=e=>"function"==typeof e,s=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r=e=>{for(let t in e)if(s(e,t))return!1;return!0},i=e=>{let t=null;if("/"===e.charAt(0)&&("/"===e.charAt(1)?e=`https://${e}`:t=e),null===t)try{t=new URL(e).pathname}catch(n){t=e}return t},u=e=>`__duo-toolbox__-${e}`,d=u("global_variables"),c=(e,t)=>(l(window[d])||(window[d]={}),s(window[d],e)?window[d][e]:t),p=(e,t)=>{l(window[d])||(window[d]={}),window[d][e]=t},v=(e,t,n)=>{const a=t(c(e,n));return p(e,a),a},f=(e,t,n,a,l=1)=>{s(window,e)&&t(window[e])?n(window[e]):v("pending_global_listeners",((o={})=>{var s;if(!o[e]){o[e]={};let n=window[e];Object.defineProperty(window,e,{get:()=>n,set:a=>{t(a)?(Object.defineProperty(window,e,{value:a,configurable:!0,enumerable:!0,writable:!0}),Object.values(o[e]).forEach((e=>e.callback(a)))):n=a},configurable:!0})}return l>(Number(null===(s=o[e][a])||void 0===s?void 0:s.version)||0)&&(o[e][a]={callback:n,version:l}),o}))},g=u("original_function"),h=u("override_version"),m=(t,n,a,o=1)=>{var s;if(l(t)&&o>(Number(null===(s=t[n])||void 0===s?void 0:s[h])||0)){var r;const l=(null===(r=t[n])||void 0===r?void 0:r[g])||t[n]||e;t[n]=a(l),t[n][g]=l,t[n][h]=o}},_=(e,t,n,a=1)=>f(e,o,(e=>m(null==e?void 0:e.prototype,t,n,a)),`instance_method:${t}`,a),y=u("logging_iframe"),b=()=>(()=>{let e=document.getElementById(y);return e&&e.isConnected||(e=document.createElement("iframe"),e.id=y,e.style.display="none",document.body.appendChild(e)),e})().contentWindow.console,w=(...e)=>b().error(...e),T=["characterIntro","characterMatch","characterPuzzle","characterSelect","characterTrace","selectPronunciation","selectTranscription"],k=e=>{var t,n;return(null===(t=e.metadata)||void 0===t?void 0:t.source_language)||e.sourceLanguage||(null===(n=e.metadata)||void 0===n?void 0:n.learning_language)},x=e=>{var t;return(null===(t=e.metadata)||void 0===t?void 0:t.target_language)||e.targetLanguage||k(e)},O="effect",L="tts_sentence",S="tts_word",M="tts_morpheme",q="unknown",R="normal",$="slow",E="howler",K="rate",j="volume",C=u("forced_setting"),V=e=>l(e)&&!!e[C],D=e=>e.value,N=e=>({[C]:!0,value:e}),U=(e,n)=>K===e&&t(n)||j===e&&n>=0&&n<=1,I=(e,n)=>((e,t,n,a=1)=>{if(!l(e))return;const o=u(`${t}_override_version`);a>(Number(e[o])||0)&&Object.defineProperty(e,t,n(Object.getOwnPropertyDescriptor(e,t)))})(HTMLMediaElement,n,(n=>({...n,set:function(a){const l=H[e];t(a)?(this[l.originalValueKey]=a,s(this,l.valueKey)&&(a=this[l.isRelativeKey]?z(e,a*this[l.valueKey]):this[l.valueKey])):V(a)&&(a=D(a)),t(a)&&(this[l.listenerValueKey]=a),n.set.call(this,a)}}))),P=(e,t)=>_("Howl",t,(n=>function(){const a=this,l=arguments,o=H[e];let r=!1;const i=a._queue.length;(1===l.length||2===l.length&&void 0===l[1])&&-1===a._getSoundIds().indexOf(l[0])&&(V(l[0])?(r=!0,l[0]=D(l[0])):U(e,l[0])&&(a[o.originalValueKey]=l[0],s(a,o.valueKey)&&(r=!0,a[o.isRelativeKey]?l[0]=z(e,l[0]*a[o.valueKey]):l[0]=a[o.valueKey])),r&&(a[o.listenerValueKey]=l[0]));const u=n.apply(a,arguments);return r&&i({...a,functions:{audio:{applyOverride:()=>I(e,n),getter:e=>e[t],setter:(e,n)=>e[t]=n,hasQueuedUpdate:()=>!1},[E]:{applyOverride:()=>P(e,n),getter:e=>e[n](),setter:(e,t)=>e[n](t),hasQueuedUpdate:e=>e._queue.find((e=>e.event===n))}},priorityKey:u(`${e}_priority`),isRelativeKey:u(`${e}_is_relative`),valueKey:u(`forced_${e}_value`),originalValueKey:u(`original_${e}_value`),listenerValueKey:u(`${e}_value`)}),H={[K]:A(K,"playbackRate","rate",{minValue:.5,maxValue:4,defaultValue:1}),[j]:A(j,"volume","volume",{minValue:0,maxValue:1,defaultValue:1})},z=(e,t)=>H[e]?Math.max(H[e].minValue,Math.min(t,H[e].maxValue)):t,B="event_listeners",Q=()=>{return`__listener::${e="last_event_listener_id",v(`__counter::${e}__`,(e=>e+1),0)}__`;var e},X=e=>{var t;return(null===(t=c(B,{}))||void 0===t?void 0:t[e])||{}},F=(e,t)=>{v(B,(n=>Object.assign(n||{},{[e]:t})))},J=e=>!r(X(e)),W=(e,t)=>{const n=X(e);return r(n)?null:t(Object.values(n))},G=(e,t,n=Q())=>{const a=X(e);return a[n]=t,F(e,a),()=>Z(e,n)},Y=(e,t,n,l,o=G,s=Q())=>{const r=`__${t}::${e}__`;var i;i=r,X(t)[i]||o(t,((...t)=>{const n=l(...t);a(n)&&ee(e,...n)}),r);const u=G(e,n,s);return()=>{u(),J(e)||Z(t,r)}},Z=(e,t)=>{const n=X(e);delete n[t],F(e,n)},ee=(e,...t)=>W(e,(e=>e.flatMap((e=>{try{return[e(...t)]}catch(e){return[]}})))),te="practice_session_loaded",ne="practice_challenges_loaded",ae="pre_fetched_session_loaded",le="story_loaded",oe="alphabets_loaded",se="alphabet_hints_loaded",re="forum_discussion_loaded",ie="guidebook_loaded",ue="sound_initialized",de={[oe]:/\/[\d]{4}-[\d]{2}-[\d]{2}\/alphabets\/courses\/(?[^/]+)\/(?[^/?]+)\/?/g,[re]:/\/comments\/([\d]+)/g,[ie]:/\/guidebook\/compiled\/(?[^/]+)\/(?[^/]+)\/?/g,[te]:/\/[\d]{4}-[\d]{2}-[\d]{2}\/sessions/g,[le]:/\/api2\/stories/g,user_data_loaded:/\/[\d]{4}-[\d]{2}-[\d]{2}\/users\/[\d]+/g},ce="http_request_url_event_map",pe=()=>{let e=c(ce);return e instanceof Map||(e=new Map,Object.entries(de).forEach((([t,n])=>{e.set(n,{eventType:t,urlRegExp:n,requestData:{}})})),p(ce,e)),e},ve=e=>{let t,n;const a=pe();for(const l of a.values()){const a=Array.from(e.matchAll(l.urlRegExp))[0];if(a){t=l.eventType,n={...l.requestData,...a.groups||{}};break}}return t?{eventType:t,requestData:n}:null},fe=(e,t,n=Q())=>(_("XMLHttpRequest","open",(e=>function(t,n,a,o,s){const r=ve(n);return r&&W(r.eventType,(e=>{this.addEventListener("load",(()=>{try{const t=l(this.response)?this.response:JSON.parse(this.responseText);e.forEach((e=>e(t,r.requestData)))}catch(e){w(e,`Could not handle the XHR result (event: "${r.eventType}"): `)}}))})),e.call(this,t,n,a,o,s)}),3),((e,t,n=1)=>{f(e,o,(()=>m(window,e,t,n)),"global",n)})("fetch",(e=>function(t,n){const a=t instanceof Request?t.url:String(t);let l=null;const o=ve(a);return o&&(l=W(o.eventType,(e=>t=>{try{e.forEach((e=>e(t,o.requestData)))}catch(e){w(e,`Could not handle the fetch result (event: "${o.eventType}"): `)}}))),e.call(this,t,n).then((e=>{if(!l)return e;const t=e.clone();return e.json().then((e=>(l(e),t))).catch((()=>t))}))}),2),G(e,t,n)),ge=(e,t=Q())=>{const a=ae,l=e=>W(a,(t=>{e.addEventListener("success",(()=>{try{t.forEach((t=>t(e.result)))}catch(e){w(e,`Could not handle the IDBRequest result (event: ${a}): `)}}))}));return _("IDBIndex","get",(e=>function(t){const a=e.call(this,t);return n(t)&&t&&"prefetchedSessions"===this.objectStore.name&&l(a),a})),_("IDBObjectStore","get",(e=>function(t){const n=e.call(this,t);return"prefetchedSessions"===this.name&&l(n),n})),G(a,e,t)},he=e=>{const t=e=>{let t;if(l(e)){var n;l(e.session)&&(e=e.session);t=[{challenges:[e.challenges,e.adaptiveChallenges,e.easierAdaptiveChallenges,e.mistakesReplacementChallenges,null===(n=e.adaptiveInterleavedChallenges)||void 0===n?void 0:n.challenges].filter(a).flat(),sessionMetaData:e.metadata||{}}]}return t},n=Y(ne,te,e,t,fe),o=Y(ne,ae,e,t,((e,t,n)=>ge(t,n)));return()=>{n(),o()}},me=(e,t)=>({url:e,type:L,speed:R,language:t}),_e=(e,t)=>({url:e,type:S,speed:R,language:t}),ye=(e,t)=>({url:e,type:M,speed:R,language:t}),be=Object.fromEntries(["/sounds/7abe057dc8446ad325229edd6d8fd250.mp3","/sounds/2aae0ea735c8e9ed884107d6f0a09e35.mp3","/sounds/421d48c53ad6d52618dba715722278e0.mp3","/sounds/37d8f0b39dcfe63872192c89653a93f6.mp3","/sounds/0a27c1ee63dd220647e8410a0029aed2.mp3","/sounds/a28ff0a501ef5f33ca78c0afc45ee53e.mp3","/sounds/2e4669d8cf839272f0731f8afa488caf.mp3","/sounds/f0b6ab4396d5891241ef4ca73b4de13a.mp3"].map((e=>{return[e,(t=e,{url:t,type:O,speed:R,language:null})];var t}))),we=/\/duolingo-data\/tts\/(?[a-z-_]+)\/token\//i,Te="sound_type_map",ke=()=>c(Te,be),xe=[q,L,S,M,O],Oe=[R,$],Le=(e,t)=>((e,t,n)=>{for(const a of e){const e=Number(a(t,n));if(!isNaN(e)&&0!==e)return e}return 0})([(e,t)=>xe.indexOf(e.type)-xe.indexOf(t.type),(e,t)=>Oe.indexOf(e.speed)-Oe.indexOf(t.speed)],e,t),Se=e=>{const t=ke()||{};for(const n of e){const e=i(n.url);(!t[e]||Le(n,t[e])>0)&&(t[e]=n)}p(Te,t)},Me="sound_detection_listeners_version",qe="sound_detection_unregistration_callbacks",Re=(e,t,n)=>{var a;return{url:e.url,type:t,speed:(null===(a=e.speed)||void 0===a?void 0:a.value)||R,language:n}},$e=(e,t)=>{if(a(null==e?void 0:e.alphabets)&&n(null==t?void 0:t.toLanguage)){const o=t.toLanguage;Se(e.alphabets.flatMap((e=>null==e?void 0:e.groups)).flatMap((e=>null==e?void 0:e.characters)).flat().map((e=>null==e?void 0:e.ttsUrl)).filter(n).map((e=>ye(e,o))));const s=[];for(const t of e.alphabets){var l;n(t.explanationUrl)&&s.push(t.explanationUrl),a(null===(l=t.explanationListing)||void 0===l?void 0:l.groups)&&s.push(...t.explanationListing.groups.flatMap((e=>null==e?void 0:e.tips)).map((e=>null==e?void 0:e.url)).filter(n))}s.length>0&&((e,t,n={})=>{const a=pe();for(const o of t)a.set(o,{eventType:e,requestData:n,urlRegExp:o instanceof RegExp?o:new RegExp((l=String(o),l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),"g")});var l})(se,s,t)}},Ee=(e,t)=>{if(a(null==e?void 0:e.elements)&&n(null==t?void 0:t.toLanguage)){const a=t.toLanguage;Se(e.elements.flatMap((({element:e})=>l(e)&&[e].concat(e.phrases||[]).concat(e.examples||[]))).filter(l).flatMap((e=>((e,t)=>{var a,o,s,r,i;const u=[],d=e.ttsURL;return n(d)&&u.push(me(d,t)),u.concat([(null===(a=e.tokenTTS)||void 0===a?void 0:a.tokenTTSCollection)||[],(null===(o=e.text)||void 0===o||null===(s=o.tokenTTS)||void 0===s?void 0:s.tokenTTSCollection)||[],(null===(r=e.subtext)||void 0===r||null===(i=r.tokenTTS)||void 0===i?void 0:i.tokenTTSCollection)||[]].flat().filter(l).map((e=>null==e?void 0:e.ttsURL)).filter((e=>(e=>n(e))&&e!==d)).map((e=>_e(e,t))))})(e,a))))}},Ke=()=>{const e=3<=(Number(c(Me))||0);var t,o,s,r,i,u;!!c(qe)&&e||(e||je(),p(Me,3),p(qe,[(u=e=>(e=>{const t=e.learningLanguage;a(null==e?void 0:e.elements)&&Se(e.elements.map((e=>{var t;return(null==e||null===(t=e.line)||void 0===t?void 0:t.content)||(null==e?void 0:e.learningLanguageTitleContent)})).flatMap((e=>[null==e?void 0:e.audio,null==e?void 0:e.audioPrefix,null==e?void 0:e.audioSuffix])).map((e=>null==e?void 0:e.url)).filter(n).map((e=>me(e,t))))})(e),fe(le,u)),(r=(e,t)=>$e(e,t),fe(oe,r,i)),(s=(e,t)=>((e,t)=>{if(a(null==e?void 0:e.elements)&&n(null==t?void 0:t.toLanguage)){const a=e.elements.map((e=>null==e?void 0:e.element)).flatMap((e=>{var t;return null==e||null===(t=e.tokenTTS)||void 0===t?void 0:t.tokenTTSCollection}));a.push(...e.elements.map((e=>null==e?void 0:e.element)).flatMap((e=>null==e?void 0:e.cells)).flat().flatMap((e=>{var t;return null==e||null===(t=e.tokenTTS)||void 0===t?void 0:t.tokenTTSCollection})));const l=t.toLanguage;Se(a.map((e=>null==e?void 0:e.ttsURL)).filter(n).map((e=>ye(e,l))))}})(e,t),fe(se,s)),(o=e=>{var t;n(null==(t=e)?void 0:t.tts_url)&&Se([me(t.tts_url,t.sentence_language)])},fe(re,o)),(t=(e,t)=>Ee(e,t),fe(ie,t)),he((e=>(e=>{const t=[];for(const i of e){var o;const e=i.type,u=k(i),d=x(i);if(n(i.tts)){const n=T.indexOf(e)>=0?ye:me;t.push(n(i.tts,u))}if(n(i.slowTts)&&t.push({url:i.slowTts,type:L,speed:$,language:u}),n(i.solutionTts)&&t.push(me(i.solutionTts,d)),a(i.choices)){const a=-1===T.indexOf(e)?_e:ye;t.push(i.choices.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>a(e,d))))}if(a(i.tokens)&&t.push(i.tokens.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>_e(e,u)))),a(i.questionTokens)&&t.push(i.questionTokens.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>_e(e,d)))),a(null===(o=i.metadata)||void 0===o?void 0:o.speakers))for(const e of i.metadata.speakers){var s,r;l(null===(s=e.tts)||void 0===s?void 0:s.tokens)&&t.push(Object.values(e.tts.tokens).filter((e=>n(e.url))).map((e=>Re(e,S,d)))),a(null===(r=e.tts)||void 0===r?void 0:r.sentence)&&t.push(e.tts.sentence.filter((e=>n(e.url))).map((e=>Re(e,L,d))))}if(a(i.pairs)){const a=-1===T.indexOf(e)?_e:ye;t.push(i.pairs.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>a(e,d))))}a(i.options)&&t.push(i.options.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>_e(e,d))))}Se(t.flat())})(e.challenges)))]))},je=()=>{const e=c(qe);!a(e)||J(ue)||J("sound_playback_requested")||J("sound_playback_cancelled")||J("sound_playback_confirmed")||(e.forEach((e=>e())),p(Me,null),p(qe,null))},Ce=(e,t,n)=>{const a=(e=>{const t=ke()[e];if(l(t))return t;const n=e.match(we);return n?_e(e,n.language):null})(i(t));return{url:t,type:(null==a?void 0:a.type)||q,speed:(null==a?void 0:a.speed)||R,language:null==a?void 0:a.language,playbackStrategy:n,sound:e}};(e=>{_("Howl","init",(e=>function(t){var n;p("is_howler_used",!0);const a=e.call(this,t),l=String(this._src||(null===(n=this._parent)||void 0===n?void 0:n._src)||"").trim();return""!==l&&ee(ue,Ce(this,l,E)),a})),Ke();const t=G(ue,e)})(e)}(); +!function(){"use strict";const e=()=>{},t=e=>"number"==typeof e&&Number.isFinite(e),n=e=>"string"==typeof e,l=Array.isArray,a=e=>"object"==typeof e&&!!e&&!l(e),o=e=>"function"==typeof e,s=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i=e=>{for(let t in e)if(s(e,t))return!1;return!0},r=e=>{let t=null;if("/"===e.charAt(0)&&("/"===e.charAt(1)?e=`https://${e}`:t=e),null===t)try{t=new URL(e).pathname}catch(n){t=e}return t},u=e=>`__duo-toolbox__-${e}`,d=u("global_variables"),c=(e,t)=>(a(window[d])||(window[d]={}),s(window[d],e)?window[d][e]:t),p=(e,t)=>{a(window[d])||(window[d]={}),window[d][e]=t},v=(e,t,n)=>{const l=t(c(e,n));return p(e,l),l},f=(e,t,n,l,a=1)=>{s(window,e)&&t(window[e])?n(window[e]):v("pending_global_listeners",((o={})=>{var s;if(!o[e]){o[e]={};let n=window[e];Object.defineProperty(window,e,{get:()=>n,set:l=>{t(l)?(Object.defineProperty(window,e,{value:l,configurable:!0,enumerable:!0,writable:!0}),Object.values(o[e]).forEach((e=>e.callback(l)))):n=l},configurable:!0})}return a>(Number(null===(s=o[e][l])||void 0===s?void 0:s.version)||0)&&(o[e][l]={callback:n,version:a}),o}))},g=u("original_function"),h=u("override_version"),m=(t,n,l,o=1)=>{var s;if(a(t)&&o>(Number(null===(s=t[n])||void 0===s?void 0:s[h])||0)){var i;const a=(null===(i=t[n])||void 0===i?void 0:i[g])||t[n]||e;t[n]=l(a),t[n][g]=a,t[n][h]=o}},_=(e,t,n,l=1)=>f(e,o,(e=>m(null==e?void 0:e.prototype,t,n,l)),`instance_method:${t}`,l),y=u("logging_iframe"),b=()=>(()=>{let e=document.getElementById(y);return e&&e.isConnected||(e=document.createElement("iframe"),e.id=y,e.style.display="none",document.body.appendChild(e)),e})().contentWindow.console,w=(...e)=>b().error(...e),T=["characterIntro","characterMatch","characterPuzzle","characterSelect","characterTrace","selectPronunciation","selectTranscription"],k=e=>{var t,n;return(null===(t=e.metadata)||void 0===t?void 0:t.source_language)||e.sourceLanguage||(null===(n=e.metadata)||void 0===n?void 0:n.learning_language)},x=e=>{var t;return(null===(t=e.metadata)||void 0===t?void 0:t.target_language)||e.targetLanguage||k(e)},O="effect",L="tts_sentence",S="tts_word",M="tts_morpheme",q="unknown",R="normal",$="slow",E="howler",K="rate",j="volume",C=u("forced_setting"),V=e=>a(e)&&!!e[C],D=e=>e.value,N=(e,n)=>((e,t,n,l=1)=>{if(!a(e))return;const o=u(`${t}_override_version`);l>(Number(e[o])||0)&&Object.defineProperty(e,t,n(Object.getOwnPropertyDescriptor(e,t)))})(HTMLMediaElement,n,(n=>({...n,set:function(l){const a=P[e];t(l)?(this[a.originalValueKey]=l,s(this,a.valueKey)&&(l=this[a.isRelativeKey]?A(e,l*this[a.valueKey]):this[a.valueKey])):V(l)&&(l=D(l)),t(l)&&(this[a.listenerValueKey]=l),n.set.call(this,l)}}))),U=(e,n)=>_("Howl",n,(l=>function(){const a=this,o=arguments,i=P[e];let r=!1;const u=a._queue.length;(1===o.length||2===o.length&&void 0===o[1])&&-1===a._getSoundIds().indexOf(o[0])&&(V(o[0])?(r=!0,o[0]=D(o[0])):((e,n)=>K===e&&t(n)||j===e&&n>=0&&n<=1)(e,o[0])&&(a[i.originalValueKey]=o[0],s(a,i.valueKey)&&(r=!0,a[i.isRelativeKey]?o[0]=A(e,o[0]*a[i.valueKey]):o[0]=a[i.valueKey])),r&&(a[i.listenerValueKey]=o[0]));const d=l.apply(a,arguments);return r&&u({...l,functions:{audio:{applyOverride:()=>N(e,n),getter:e=>e[t],setter:(e,n)=>e[t]=n,hasQueuedUpdate:()=>!1},[E]:{applyOverride:()=>U(e,n),getter:e=>e[n](),setter:(e,t)=>e[n](t),hasQueuedUpdate:e=>e._queue.find((e=>e.event===n))}},priorityKey:u(`${e}_priority`),isRelativeKey:u(`${e}_is_relative`),valueKey:u(`forced_${e}_value`),originalValueKey:u(`original_${e}_value`),listenerValueKey:u(`${e}_value`)}),P={[K]:I(K,"playbackRate","rate",{minValue:.5,maxValue:4,defaultValue:1}),[j]:I(j,"volume","volume",{minValue:0,maxValue:1,defaultValue:1})},A=(e,t)=>P[e]?Math.max(P[e].minValue,Math.min(t,P[e].maxValue)):t,H="event_listeners",z=()=>{return`__listener::${e="last_event_listener_id",v(`__counter::${e}__`,(e=>e+1),0)}__`;var e},B=e=>{var t;return(null===(t=c(H,{}))||void 0===t?void 0:t[e])||{}},Q=(e,t)=>{v(H,(n=>Object.assign(n||{},{[e]:t})))},X=e=>!i(B(e)),F=(e,t)=>{const n=B(e);return i(n)?null:t(Object.values(n))},J=(e,t,n=z())=>{const l=B(e);return l[n]=t,Q(e,l),()=>G(e,n)},W=(e,t,n,a,o=J,s=z())=>{const i=`__${t}::${e}__`;var r;r=i,B(t)[r]||o(t,((...t)=>{const n=a(...t);l(n)&&Y(e,...n)}),i);const u=J(e,n,s);return()=>{u(),X(e)||G(t,i)}},G=(e,t)=>{const n=B(e);delete n[t],Q(e,n)},Y=(e,...t)=>F(e,(e=>e.flatMap((e=>{try{return[e(...t)]}catch(e){return[]}})))),Z="practice_session_loaded",ee="practice_challenges_loaded",te="pre_fetched_session_loaded",ne="story_loaded",le="alphabets_loaded",ae="alphabet_hints_loaded",oe="forum_discussion_loaded",se="guidebook_loaded",ie="sound_initialized",re={[le]:/\/[\d]{4}-[\d]{2}-[\d]{2}\/alphabets\/courses\/(?[^/]+)\/(?[^/?]+)\/?/g,[oe]:/\/comments\/([\d]+)/g,[se]:/\/guidebook\/compiled\/(?[^/]+)\/(?[^/]+)\/?/g,[Z]:/\/[\d]{4}-[\d]{2}-[\d]{2}\/sessions/g,[ne]:/\/api2\/stories/g,user_data_loaded:/\/[\d]{4}-[\d]{2}-[\d]{2}\/users\/[\d]+/g},ue="http_request_url_event_map",de=()=>{let e=c(ue);return e instanceof Map||(e=new Map,Object.entries(re).forEach((([t,n])=>{e.set(n,{eventType:t,urlRegExp:n,requestData:{}})})),p(ue,e)),e},ce=e=>{let t,n;const l=de();for(const a of l.values()){const l=Array.from(e.matchAll(a.urlRegExp))[0];if(l){t=a.eventType,n={...a.requestData,...l.groups||{}};break}}return t?{eventType:t,requestData:n}:null},pe=(e,t,n=z())=>(_("XMLHttpRequest","open",(e=>function(t,n,l,o,s){const i=ce(n);return i&&F(i.eventType,(e=>{this.addEventListener("load",(()=>{try{const t=a(this.response)?this.response:JSON.parse(this.responseText);e.forEach((e=>e(t,i.requestData)))}catch(e){w(e,`Could not handle the XHR result (event: "${i.eventType}"): `)}}))})),e.call(this,t,n,l,o,s)}),3),((e,t,n=1)=>{f(e,o,(()=>m(window,e,t,n)),"global",n)})("fetch",(e=>function(t,n){const l=t instanceof Request?t.url:String(t);let a=null;const o=ce(l);return o&&(a=F(o.eventType,(e=>t=>{try{e.forEach((e=>e(t,o.requestData)))}catch(e){w(e,`Could not handle the fetch result (event: "${o.eventType}"): `)}}))),e.call(this,t,n).then((e=>{if(!a)return e;const t=e.clone();return e.json().then((e=>(a(e),t))).catch((()=>t))}))}),2),J(e,t,n)),ve=(e,t=z())=>{const l=te,a=e=>F(l,(t=>{e.addEventListener("success",(()=>{try{t.forEach((t=>t(e.result)))}catch(e){w(e,`Could not handle the IDBRequest result (event: ${l}): `)}}))}));return _("IDBIndex","get",(e=>function(t){const l=e.call(this,t);return n(t)&&t&&"prefetchedSessions"===this.objectStore.name&&a(l),l})),_("IDBObjectStore","get",(e=>function(t){const n=e.call(this,t);return"prefetchedSessions"===this.name&&a(n),n})),J(l,e,t)},fe=e=>{const t=e=>{let t;if(a(e)){var n;a(e.session)&&(e=e.session);t=[{challenges:[e.challenges,e.adaptiveChallenges,e.easierAdaptiveChallenges,e.mistakesReplacementChallenges,null===(n=e.adaptiveInterleavedChallenges)||void 0===n?void 0:n.challenges].filter(l).flat(),sessionMetaData:e.metadata||{}}]}return t},n=W(ee,Z,e,t,pe),o=W(ee,te,e,t,((e,t,n)=>ve(t,n)));return()=>{n(),o()}},ge=(e,t)=>({url:e,type:L,speed:R,language:t}),he=(e,t)=>({url:e,type:S,speed:R,language:t}),me=(e,t)=>({url:e,type:M,speed:R,language:t}),_e=Object.fromEntries(["/sounds/7abe057dc8446ad325229edd6d8fd250.mp3","/sounds/2aae0ea735c8e9ed884107d6f0a09e35.mp3","/sounds/421d48c53ad6d52618dba715722278e0.mp3","/sounds/37d8f0b39dcfe63872192c89653a93f6.mp3","/sounds/0a27c1ee63dd220647e8410a0029aed2.mp3","/sounds/a28ff0a501ef5f33ca78c0afc45ee53e.mp3","/sounds/2e4669d8cf839272f0731f8afa488caf.mp3","/sounds/f0b6ab4396d5891241ef4ca73b4de13a.mp3"].map((e=>{return[e,(t=e,{url:t,type:O,speed:R,language:null})];var t}))),ye=/\/duolingo-data\/tts\/(?[a-z-_]+)\/token\//i,be="sound_type_map",we=()=>c(be,_e),Te=[q,L,S,M,O],ke=[R,$],xe=(e,t)=>((e,t,n)=>{for(const l of e){const e=Number(l(t,n));if(!isNaN(e)&&0!==e)return e}return 0})([(e,t)=>Te.indexOf(e.type)-Te.indexOf(t.type),(e,t)=>ke.indexOf(e.speed)-ke.indexOf(t.speed)],e,t),Oe=e=>{const t=we()||{};for(const n of e){const e=r(n.url);(!t[e]||xe(n,t[e])>0)&&(t[e]=n)}p(be,t)},Le="sound_detection_listeners_version",Se="sound_detection_unregistration_callbacks",Me=(e,t,n)=>{var l;return{url:e.url,type:t,speed:(null===(l=e.speed)||void 0===l?void 0:l.value)||R,language:n}},qe=(e,t)=>{if(l(null==e?void 0:e.alphabets)&&n(null==t?void 0:t.toLanguage)){const o=t.toLanguage;Oe(e.alphabets.flatMap((e=>null==e?void 0:e.groups)).flatMap((e=>null==e?void 0:e.characters)).flat().map((e=>null==e?void 0:e.ttsUrl)).filter(n).map((e=>me(e,o))));const s=[];for(const t of e.alphabets){var a;n(t.explanationUrl)&&s.push(t.explanationUrl),l(null===(a=t.explanationListing)||void 0===a?void 0:a.groups)&&s.push(...t.explanationListing.groups.flatMap((e=>null==e?void 0:e.tips)).map((e=>null==e?void 0:e.url)).filter(n))}s.length>0&&((e,t,n={})=>{const l=de();for(const o of t)l.set(o,{eventType:e,requestData:n,urlRegExp:o instanceof RegExp?o:new RegExp((a=String(o),a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),"g")});var a})(ae,s,t)}},Re=(e,t)=>{if(l(null==e?void 0:e.elements)&&n(null==t?void 0:t.toLanguage)){const l=t.toLanguage;Oe(e.elements.flatMap((({element:e})=>a(e)&&[e].concat(e.phrases||[]).concat(e.examples||[]))).filter(a).flatMap((e=>((e,t)=>{var l,o,s,i,r;const u=[],d=e.ttsURL;return n(d)&&u.push(ge(d,t)),u.concat([(null===(l=e.tokenTTS)||void 0===l?void 0:l.tokenTTSCollection)||[],(null===(o=e.text)||void 0===o||null===(s=o.tokenTTS)||void 0===s?void 0:s.tokenTTSCollection)||[],(null===(i=e.subtext)||void 0===i||null===(r=i.tokenTTS)||void 0===r?void 0:r.tokenTTSCollection)||[]].flat().filter(a).map((e=>null==e?void 0:e.ttsURL)).filter((e=>(e=>n(e))&&e!==d)).map((e=>he(e,t))))})(e,l))))}},$e=()=>{const e=4<=(Number(c(Le))||0);var t,o,s,i,r,u;!!c(Se)&&e||(e||Ee(),p(Le,4),p(Se,[(u=e=>(e=>{const t=e.learningLanguage;l(null==e?void 0:e.elements)&&Oe(e.elements.map((e=>{var t;return(null==e||null===(t=e.line)||void 0===t?void 0:t.content)||(null==e?void 0:e.learningLanguageTitleContent)})).flatMap((e=>[null==e?void 0:e.audio,null==e?void 0:e.audioPrefix,null==e?void 0:e.audioSuffix])).map((e=>null==e?void 0:e.url)).filter(n).map((e=>ge(e,t))))})(e),pe(ne,u)),(i=(e,t)=>qe(e,t),pe(le,i,r)),(s=(e,t)=>((e,t)=>{if(l(null==e?void 0:e.elements)&&n(null==t?void 0:t.toLanguage)){const l=e.elements.map((e=>null==e?void 0:e.element)).flatMap((e=>{var t;return null==e||null===(t=e.tokenTTS)||void 0===t?void 0:t.tokenTTSCollection}));l.push(...e.elements.map((e=>null==e?void 0:e.element)).flatMap((e=>null==e?void 0:e.cells)).flat().flatMap((e=>{var t;return null==e||null===(t=e.tokenTTS)||void 0===t?void 0:t.tokenTTSCollection})));const a=t.toLanguage;Oe(l.map((e=>null==e?void 0:e.ttsURL)).filter(n).map((e=>me(e,a))))}})(e,t),pe(ae,s)),(o=e=>{var t;n(null==(t=e)?void 0:t.tts_url)&&Oe([ge(t.tts_url,t.sentence_language)])},pe(oe,o)),(t=(e,t)=>Re(e,t),pe(se,t)),fe((e=>(e=>{const t=[];for(const r of e){var o;const e=r.type,u=k(r),d=x(r);if(n(r.tts)){const n=T.indexOf(e)>=0?me:ge;t.push(n(r.tts,u))}if(n(r.slowTts)&&t.push({url:r.slowTts,type:L,speed:$,language:u}),n(r.solutionTts)&&t.push(ge(r.solutionTts,d)),l(r.choices)){const l=-1===T.indexOf(e)?he:me;t.push(r.choices.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>l(e,d))))}if(l(r.tokens)&&t.push(r.tokens.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>he(e,u)))),l(r.displayTokens)&&t.push(r.displayTokens.map((e=>{var t;return null==e||null===(t=e.hintToken)||void 0===t?void 0:t.tts})).filter(n).map((e=>he(e,u)))),l(r.questionTokens)&&t.push(r.questionTokens.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>he(e,d)))),l(null===(o=r.metadata)||void 0===o?void 0:o.speakers))for(const e of r.metadata.speakers){var s,i;a(null===(s=e.tts)||void 0===s?void 0:s.tokens)&&t.push(Object.values(e.tts.tokens).filter((e=>n(e.url))).map((e=>Me(e,S,d)))),l(null===(i=e.tts)||void 0===i?void 0:i.sentence)&&t.push(e.tts.sentence.filter((e=>n(e.url))).map((e=>Me(e,L,d))))}if(l(r.pairs)){const l=-1===T.indexOf(e)?he:me;t.push(r.pairs.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>l(e,d))))}l(r.options)&&t.push(r.options.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>he(e,d)))),l(r.dialogue)&&(t.push(r.dialogue.map((e=>null==e?void 0:e.tts)).filter(n).map((e=>ge(e,d)))),t.push(r.dialogue.map((e=>null==e?void 0:e.hintTokens)).filter(l).flat().map((e=>null==e?void 0:e.tts)).filter(n).map((e=>he(e,d)))))}Oe(t.flat())})(e.challenges)))]))},Ee=()=>{const e=c(Se);!l(e)||X(ie)||X("sound_playback_requested")||X("sound_playback_cancelled")||X("sound_playback_confirmed")||(e.forEach((e=>e())),p(Le,null),p(Se,null))},Ke=(e,t,n)=>{const l=(e=>{const t=we()[e];if(a(t))return t;const n=e.match(ye);return n?he(e,n.language):null})(r(t));return{url:t,type:(null==l?void 0:l.type)||q,speed:(null==l?void 0:l.speed)||R,language:null==l?void 0:l.language,playbackStrategy:n,sound:e}};(e=>{_("Howl","init",(e=>function(t){var n;p("is_howler_used",!0);const l=e.call(this,t),a=String(this._src||(null===(n=this._parent)||void 0===n?void 0:n._src)||"").trim();return""!==a&&Y(ie,Ke(this,a,E)),l})),$e();const t=J(ie,e)})(e)}(); diff --git a/dist/src/ui.js b/dist/src/ui.js index 25533cc..ae1e813 100644 --- a/dist/src/ui.js +++ b/dist/src/ui.js @@ -1,20 +1 @@ -!function(){"use strict";var e,n,t,r,o,a,i,l={},c=[],u=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function s(e,n){for(var t in n)e[t]=n[t];return e}function f(e){var n=e.parentNode;n&&n.removeChild(e)}function d(e,n,t){var r,o,a,i=arguments,l={};for(a in n)"key"==a?r=n[a]:"ref"==a?o=n[a]:l[a]=n[a];if(arguments.length>3)for(t=[t],a=3;a1&&C(o,n,t),n=w(t,o,o,e.__k,null,o.__e,n),"function"==typeof e.type&&(e.__d=n)))}function E(n,t,r,o,a,i,u,f,d){var p,h,v,y,g,w,k,O,E,S,T,M=t.type;if(void 0!==t.constructor)return null;(p=e.__b)&&p(t);try{e:if("function"==typeof M){if(O=t.props,E=(p=M.contextType)&&o[p.__c],S=p?E?E.props.value:p.__:o,r.__c?k=(h=t.__c=r.__c).__=h.__E:("prototype"in M&&M.prototype.render?t.__c=h=new M(O,S):(t.__c=h=new m(O,S),h.constructor=M,h.render=N),E&&E.sub(h),h.props=O,h.state||(h.state={}),h.context=S,h.__n=o,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=M.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=s({},h.__s)),s(h.__s,M.getDerivedStateFromProps(O,h.__s))),y=h.props,g=h.state,v)null==M.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==M.getDerivedStateFromProps&&O!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(O,S),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(O,h.__s,S)||t.__v===r.__v){h.props=O,h.state=h.__s,t.__v!==r.__v&&(h.__d=!1),h.__v=t,t.__e=r.__e,t.__k=r.__k,h.__h.length&&u.push(h),C(t,f,n);break e}null!=h.componentWillUpdate&&h.componentWillUpdate(O,h.__s,S),null!=h.componentDidUpdate&&h.__h.push((function(){h.componentDidUpdate(y,g,w)}))}h.context=S,h.props=O,h.state=h.__s,(p=e.__r)&&p(t),h.__d=!1,h.__v=t,h.__P=n,p=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(o=s(s({},o),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(w=h.getSnapshotBeforeUpdate(y,g)),T=null!=p&&p.type==_&&null==p.key?p.props.children:p,b(n,Array.isArray(T)?T:[T],t,r,o,a,i,u,f,d),h.base=t.__e,h.__h.length&&u.push(h),k&&(h.__E=h.__=null),h.__e=!1}else null==i&&t.__v===r.__v?(t.__k=r.__k,t.__e=r.__e):t.__e=function(e,n,t,r,o,a,i,u){var s,f,d,p,_,m=t.props,h=n.props;if(o="svg"===n.type||o,null!=a)for(s=0;s3)for(t=[t],a=3;a0;)n+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return n}function ae(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ie(e){return Object.keys(e||{}).reduce((function(n,t){return n+"".concat(t,": ").concat(e[t],";")}),"")}function le(e){return e.size!==re.size||e.x!==re.x||e.y!==re.y||e.rotate!==re.rotate||e.flipX||e.flipY}function ce(e){var n=e.transform,t=e.containerWidth,r=e.iconWidth,o={transform:"translate(".concat(t/2," 256)")},a="translate(".concat(32*n.x,", ").concat(32*n.y,") "),i="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),l="rotate(".concat(n.rotate," 0 0)");return{outer:o,inner:{transform:"".concat(a," ").concat(i," ").concat(l)},path:{transform:"translate(".concat(r/2*-1," -256)")}}}var ue={x:0,y:0,width:"100%",height:"100%"};function se(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||n)&&(e.attributes.fill="black"),e}function fe(e){var n=e.icons,t=n.main,r=n.mask,o=e.prefix,a=e.iconName,i=e.transform,l=e.symbol,c=e.title,u=e.maskId,s=e.titleId,f=e.extra,d=e.watchable,p=void 0!==d&&d,_=r.found?r:t,m=_.width,h=_.height,v="fak"===o,y=v?"":"fa-w-".concat(Math.ceil(m/h*16)),g=[J.replacementClass,a?"".concat(J.familyPrefix,"-").concat(a):"",y].filter((function(e){return-1===f.classes.indexOf(e)})).filter((function(e){return""!==e||!!e})).concat(f.classes).join(" "),b={children:[],attributes:j({},f.attributes,{"data-prefix":o,"data-icon":a,class:g,role:f.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(m," ").concat(h)})},w=v&&!~f.classes.indexOf("fa-fw")?{width:"".concat(m/h*16*.0625,"em")}:{};p&&(b.attributes["data-fa-i2svg"]=""),c&&b.children.push({tag:"title",attributes:{id:b.attributes["aria-labelledby"]||"title-".concat(s||oe())},children:[c]});var k=j({},b,{prefix:o,iconName:a,main:t,mask:r,maskId:u,transform:i,symbol:l,styles:j({},w,f.styles)}),x=r.found&&t.found?function(e){var n,t=e.children,r=e.attributes,o=e.main,a=e.mask,i=e.maskId,l=e.transform,c=o.width,u=o.icon,s=a.width,f=a.icon,d=ce({transform:l,containerWidth:s,iconWidth:c}),p={tag:"rect",attributes:j({},ue,{fill:"white"})},_=u.children?{children:u.children.map(se)}:{},m={tag:"g",attributes:j({},d.inner),children:[se(j({tag:u.tag,attributes:j({},u.attributes,d.path)},_))]},h={tag:"g",attributes:j({},d.outer),children:[m]},v="mask-".concat(i||oe()),y="clip-".concat(i||oe()),g={tag:"mask",attributes:j({},ue,{id:v,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,h]},b={tag:"defs",children:[{tag:"clipPath",attributes:{id:y},children:(n=f,"g"===n.tag?n.children:[n])},g]};return t.push(b,{tag:"rect",attributes:j({fill:"currentColor","clip-path":"url(#".concat(y,")"),mask:"url(#".concat(v,")")},ue)}),{children:t,attributes:r}}(k):function(e){var n=e.children,t=e.attributes,r=e.main,o=e.transform,a=ie(e.styles);if(a.length>0&&(t.style=a),le(o)){var i=ce({transform:o,containerWidth:r.width,iconWidth:r.width});n.push({tag:"g",attributes:j({},i.outer),children:[{tag:"g",attributes:j({},i.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:j({},r.icon.attributes,i.path)}]}]})}else n.push(r.icon);return{children:n,attributes:t}}(k),O=x.children,C=x.attributes;return k.children=O,k.attributes=C,l?function(e){var n=e.prefix,t=e.iconName,r=e.children,o=e.attributes,a=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:j({},o,{id:!0===a?"".concat(n,"-").concat(J.familyPrefix,"-").concat(t):a}),children:r}]}]}(k):function(e){var n=e.children,t=e.main,r=e.mask,o=e.attributes,a=e.styles,i=e.transform;if(le(i)&&t.found&&!r.found){var l={x:t.width/t.height/2,y:.5};o.style=ie(j({},a,{"transform-origin":"".concat(l.x+i.x/16,"em ").concat(l.y+i.y/16,"em")}))}return[{tag:"svg",attributes:o,children:n}]}(k)}J.measurePerformance&&q&&q.mark&&q.measure;var de=function(e,n,t,r){var o,a,i,l=Object.keys(e),c=l.length,u=void 0!==r?function(e,n){return function(t,r,o,a){return e.call(n,t,r,o,a)}}(n,r):n;for(void 0===t?(o=1,i=e[l[0]]):(o=0,i=t);o2&&void 0!==arguments[2]?arguments[2]:{},r=t.skipHooks,o=void 0!==r&&r,a=Object.keys(n).reduce((function(e,t){var r=n[t];return!!r.icon?e[r.iconName]=r.icon:e[t]=r,e}),{});"function"!=typeof ne.hooks.addPack||o?ne.styles[e]=j({},ne.styles[e]||{},a):ne.hooks.addPack(e,a),"fas"===e&&pe("fa",n)}var _e=ne.styles,me=ne.shims,he=function(){var e=function(e){return de(_e,(function(n,t,r){return n[r]=de(t,e,{}),n}),{})};e((function(e,n,t){return n[3]&&(e[n[3]]=t),e})),e((function(e,n,t){var r=n[2];return e[t]=t,r.forEach((function(n){e[n]=t})),e}));var n="far"in _e;de(me,(function(e,t){var r=t[0],o=t[1],a=t[2];return"far"!==o||n||(o="fas"),e[r]={prefix:o,iconName:a},e}),{})};function ve(e,n,t){if(e&&e[n]&&e[n][t])return{prefix:n,iconName:t,icon:e[n][t]}}function ye(e){var n=e.tag,t=e.attributes,r=void 0===t?{}:t,o=e.children,a=void 0===o?[]:o;return"string"==typeof e?ae(e):"<".concat(n," ").concat(function(e){return Object.keys(e||{}).reduce((function(n,t){return n+"".concat(t,'="').concat(ae(e[t]),'" ')}),"").trim()}(r),">").concat(a.map(ye).join(""),"")}he(),ne.styles;function ge(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}ge.prototype=Object.create(Error.prototype),ge.prototype.constructor=ge;var be={fill:"currentColor"},we={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};j({},be,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"});var ke=j({},we,{attributeName:"opacity"});function xe(e){var n=e[0],t=e[1],r=D(e.slice(4),1)[0];return{found:!0,width:n,height:t,icon:Array.isArray(r)?{tag:"g",attributes:{class:"".concat(J.familyPrefix,"-").concat(X)},children:[{tag:"path",attributes:{class:"".concat(J.familyPrefix,"-").concat(G),fill:"currentColor",d:r[0]}},{tag:"path",attributes:{class:"".concat(J.familyPrefix,"-").concat(Y),fill:"currentColor",d:r[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:r}}}}j({},be,{cx:"256",cy:"364",r:"28"}),j({},we,{attributeName:"r",values:"28;14;28;28;14;28;"}),j({},ke,{values:"1;0;1;1;0;1;"}),j({},be,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),j({},ke,{values:"1;0;0;0;0;1;"}),j({},be,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),j({},ke,{values:"0;0;1;1;0;0;"}),ne.styles,ne.styles;var Oe=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var n,t,r;return n=e,t=[{key:"add",value:function(){for(var e=this,n=arguments.length,t=new Array(n),r=0;r-1;o--){var a=t[o],i=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(i)>-1&&(r=a)}V.head.insertBefore(n,r)}}(function(){var e="fa",n=$,t=J.familyPrefix,r=J.replacementClass,o='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';if(t!==e||r!==n){var a=new RegExp("\\.".concat(e,"\\-"),"g"),i=new RegExp("\\--".concat(e,"\\-"),"g"),l=new RegExp("\\.".concat(n),"g");o=o.replace(a,".".concat(t,"-")).replace(i,"--".concat(t,"-")).replace(l,".".concat(r))}return o}()),Ne=!0)}function Ee(e,n){return Object.defineProperty(e,"abstract",{get:n}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return ye(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(B){var n=V.createElement("div");return n.innerHTML=e.html,n.children}}}),e}function Se(e){var n=e.prefix,t=void 0===n?"fa":n,r=e.iconName;if(r)return ve(Me.definitions,t,r)||ve(ne.styles,t,r)}var Te,Me=new Oe,Ne=!1,Le=function(e){return function(e){var n={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,n){var t=n.toLowerCase().split("-"),r=t[0],o=t.slice(1).join("-");if(r&&"h"===o)return e.flipX=!0,e;if(r&&"v"===o)return e.flipY=!0,e;if(o=parseFloat(o),isNaN(o))return e;switch(r){case"grow":e.size=e.size+o;break;case"shrink":e.size=e.size-o;break;case"left":e.x=e.x-o;break;case"right":e.x=e.x+o;break;case"up":e.y=e.y-o;break;case"down":e.y=e.y+o;break;case"rotate":e.rotate=e.rotate+o}return e}),n):n}(e)},ze=(Te=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.transform,r=void 0===t?re:t,o=n.symbol,a=void 0!==o&&o,i=n.mask,l=void 0===i?null:i,c=n.maskId,u=void 0===c?null:c,s=n.title,f=void 0===s?null:s,d=n.titleId,p=void 0===d?null:d,_=n.classes,m=void 0===_?[]:_,h=n.attributes,v=void 0===h?{}:h,y=n.styles,g=void 0===y?{}:y;if(e){var b=e.prefix,w=e.iconName,k=e.icon;return Ee(j({type:"icon"},e),(function(){return Ce(),J.autoA11y&&(f?v["aria-labelledby"]="".concat(J.replacementClass,"-title-").concat(p||oe()):(v["aria-hidden"]="true",v.focusable="false")),fe({icons:{main:xe(k),mask:l?xe(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:b,iconName:w,transform:j({},re,r),symbol:a,title:f,maskId:u,titleId:p,extra:{attributes:v,styles:g,classes:m}})}))}},function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(e||{}).icon?e:Se(e||{}),r=n.mask;return r&&(r=(r||{}).icon?r:Se(r||{})),Te(t,j({},n,{mask:r}))});const Ae=()=>{},Pe=e=>"number"==typeof e&&Number.isFinite(e),je=e=>"string"==typeof e,De=Array.isArray,Ie=e=>"object"==typeof e&&!!e&&!De(e),Re=e=>"function"==typeof e,Ue=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),Ke=e=>{for(let n in e)if(Ue(e,n))return!1;return!0},He=(e,n)=>e>n,Fe=(e,n)=>((e,n,t)=>{let r,o;if(De(e))for(let a=0,i=e.length;a{let n=null;if("/"===e.charAt(0)&&("/"===e.charAt(1)?e=`https://${e}`:n=e),null===n)try{n=new URL(e).pathname}catch(t){n=e}return n},Ve=e=>`__duo-toolbox__-${e}`,qe=Ve("global_variables"),Be=(e,n)=>(Ie(window[qe])||(window[qe]={}),Ue(window[qe],e)?window[qe][e]:n),$e=(e,n)=>{Ie(window[qe])||(window[qe]={}),window[qe][e]=n},Xe=(e,n,t)=>{const r=n(Be(e,t));return $e(e,r),r},Ye=e=>Xe(`__counter::${e}__`,(e=>e+1),0),Ge=(e,n,t,r,o=1)=>{Ue(window,e)&&n(window[e])?t(window[e]):Xe("pending_global_listeners",((a={})=>{var i;if(!a[e]){a[e]={};let t=window[e];Object.defineProperty(window,e,{get:()=>t,set:r=>{n(r)?(Object.defineProperty(window,e,{value:r,configurable:!0,enumerable:!0,writable:!0}),Object.values(a[e]).forEach((e=>e.callback(r)))):t=r},configurable:!0})}return o>(Number(null===(i=a[e][r])||void 0===i?void 0:i.version)||0)&&(a[e][r]={callback:t,version:o}),a}))},Ze=Ve("original_function"),Qe=Ve("override_version"),Je=(e,n,t,r=1)=>{var o;if(Ie(e)&&r>(Number(null===(o=e[n])||void 0===o?void 0:o[Qe])||0)){var a;const o=(null===(a=e[n])||void 0===a?void 0:a[Ze])||e[n]||Ae;e[n]=t(o),e[n][Ze]=o,e[n][Qe]=r}},en=(e,n,t,r=1)=>Ge(e,Re,(e=>Je(null==e?void 0:e.prototype,n,t,r)),`instance_method:${n}`,r),nn=Ve("logging_iframe"),tn=e=>{e.preventDefault(),e.stopPropagation()},rn=()=>document.activeElement&&["input","select","textarea"].indexOf(document.activeElement.tagName.toLowerCase())>=0?document.activeElement:null,on=()=>(()=>{let e=document.getElementById(nn);return e&&e.isConnected||(e=document.createElement("iframe"),e.id=nn,e.style.display="none",document.body.appendChild(e)),e})().contentWindow.console,an=(...e)=>on().error(...e),ln=["characterIntro","characterMatch","characterPuzzle","characterSelect","characterTrace","selectPronunciation","selectTranscription"],cn=e=>{var n,t;return(null===(n=e.metadata)||void 0===n?void 0:n.source_language)||e.sourceLanguage||(null===(t=e.metadata)||void 0===t?void 0:t.learning_language)},un=e=>{var n;return(null===(n=e.metadata)||void 0===n?void 0:n.target_language)||e.targetLanguage||cn(e)},sn=Number.MAX_SAFE_INTEGER,fn=Math.round(sn/4),dn=Math.round(2*fn),pn=Math.round(3*fn),_n="effect",mn="tts_sentence",hn="tts_word",vn="tts_morpheme",yn="unknown",gn="normal",bn="slow",wn="audio",kn="howler",xn=[wn,kn],On="rate",Cn="volume",En=Ve("forced_setting"),Sn=e=>Ie(e)&&!!e[En],Tn=e=>e.value,Mn=e=>({[En]:!0,value:e}),Nn=(e,n)=>On===e&&Pe(n)||Cn===e&&n>=0&&n<=1,Ln=(e,n)=>((e,n,t,r=1)=>{if(!Ie(e))return;const o=Ve(`${n}_override_version`);r>(Number(e[o])||0)&&Object.defineProperty(e,n,t(Object.getOwnPropertyDescriptor(e,n)))})(HTMLMediaElement,n,(n=>({...n,set:function(t){const r=Pn[e];Pe(t)?(this[r.originalValueKey]=t,Ue(this,r.valueKey)&&(t=this[r.isRelativeKey]?Dn(e,t*this[r.valueKey]):this[r.valueKey])):Sn(t)&&(t=Tn(t)),Pe(t)&&(this[r.listenerValueKey]=t),n.set.call(this,t)}}))),zn=(e,n)=>en("Howl",n,(t=>function(){const r=this,o=arguments,a=Pn[e];let i=!1;const l=r._queue.length;(1===o.length||2===o.length&&void 0===o[1])&&-1===r._getSoundIds().indexOf(o[0])&&(Sn(o[0])?(i=!0,o[0]=Tn(o[0])):Nn(e,o[0])&&(r[a.originalValueKey]=o[0],Ue(r,a.valueKey)&&(i=!0,r[a.isRelativeKey]?o[0]=Dn(e,o[0]*r[a.valueKey]):o[0]=r[a.valueKey])),i&&(r[a.listenerValueKey]=o[0]));const c=t.apply(r,arguments);return i&&l({...r,functions:{[wn]:{applyOverride:()=>Ln(e,t),getter:e=>e[n],setter:(e,t)=>e[n]=t,hasQueuedUpdate:()=>!1},[kn]:{applyOverride:()=>zn(e,t),getter:e=>e[t](),setter:(e,n)=>e[t](n),hasQueuedUpdate:e=>e._queue.find((e=>e.event===t))}},priorityKey:Ve(`${e}_priority`),isRelativeKey:Ve(`${e}_is_relative`),valueKey:Ve(`forced_${e}_value`),originalValueKey:Ve(`original_${e}_value`),listenerValueKey:Ve(`${e}_value`)}),Pn={[On]:An(On,"playbackRate","rate",{minValue:.5,maxValue:4,defaultValue:1}),[Cn]:An(Cn,"volume","volume",{minValue:0,maxValue:1,defaultValue:1})},jn=e=>{const n=Pn[e];if(!n)throw new Error(`Unknown sound setting: "${e}".`);return n},Dn=(e,n)=>Pn[e]?Math.max(Pn[e].minValue,Math.min(n,Pn[e].maxValue)):n,In=(e,n,t,r,o=!1,a=1)=>{const i=jn(e);if(a>=(Number(t[i.priorityKey])||0)){const l=Dn(e,n),c=((e,n)=>{if(-1===xn.indexOf(n))throw new Error(`Unknown sound playback strategy: "${n}".`);return jn(e).functions[n]})(e,r);c.applyOverride(),t[i.valueKey]=l,t[i.priorityKey]=a,t[i.isRelativeKey]=o,Ue(t,i.originalValueKey)||(t[i.originalValueKey]=c.getter(t)),c.hasQueuedUpdate(t)||c.setter(t,Mn(Dn(e,l*(o?t[i.originalValueKey]:1))))}},Rn=(e,n)=>wn===n?e.currentTime:(e=>{if("loaded"!==e.state())return 0;const n=!!e._playLock;let t;n&&(e._playLock=!1);const r=e._getSoundIds();for(let n=0;n`__listener::${Ye("last_event_listener_id")}__`,Hn=e=>{var n;return(null===(n=Be(Un,{}))||void 0===n?void 0:n[e])||{}},Fn=(e,n)=>{Xe(Un,(t=>Object.assign(t||{},{[e]:n})))},Wn=e=>!Ke(Hn(e)),Vn=(e,n)=>{const t=Hn(e);return Ke(t)?null:n(Object.values(t))},qn=(e,n,t=Kn())=>{const r=Hn(e);return r[t]=n,Fn(e,r),()=>$n(e,t)},Bn=(e,n,t,r,o=qn,a=Kn())=>{const i=`__${n}::${e}__`;var l;l=i,Hn(n)[l]||o(n,((...n)=>{const t=r(...n);De(t)&&Xn(e,...t)}),i);const c=qn(e,t,a);return()=>{c(),Wn(e)||$n(n,i)}},$n=(e,n)=>{const t=Hn(e);delete t[n],Fn(e,t)},Xn=(e,...n)=>Vn(e,(e=>e.flatMap((e=>{try{return[e(...n)]}catch(e){return[]}})))),Yn="practice_session_loaded",Gn="practice_challenges_loaded",Zn="pre_fetched_session_loaded",Qn="story_loaded",Jn="alphabets_loaded",et="alphabet_hints_loaded",nt="forum_discussion_loaded",tt="guidebook_loaded",rt="sound_initialized",ot="sound_playback_requested",at="sound_playback_confirmed",it="sound_playback_cancelled",lt={[Jn]:/\/[\d]{4}-[\d]{2}-[\d]{2}\/alphabets\/courses\/(?[^/]+)\/(?[^/?]+)\/?/g,[nt]:/\/comments\/([\d]+)/g,[tt]:/\/guidebook\/compiled\/(?[^/]+)\/(?[^/]+)\/?/g,[Yn]:/\/[\d]{4}-[\d]{2}-[\d]{2}\/sessions/g,[Qn]:/\/api2\/stories/g,user_data_loaded:/\/[\d]{4}-[\d]{2}-[\d]{2}\/users\/[\d]+/g},ct="http_request_url_event_map",ut=()=>{let e=Be(ct);return e instanceof Map||(e=new Map,Object.entries(lt).forEach((([n,t])=>{e.set(t,{eventType:n,urlRegExp:t,requestData:{}})})),$e(ct,e)),e},st=e=>{let n,t;const r=ut();for(const o of r.values()){const r=Array.from(e.matchAll(o.urlRegExp))[0];if(r){n=o.eventType,t={...o.requestData,...r.groups||{}};break}}return n?{eventType:n,requestData:t}:null},ft=(e,n,t=Kn())=>(en("XMLHttpRequest","open",(e=>function(n,t,r,o,a){const i=st(t);return i&&Vn(i.eventType,(e=>{this.addEventListener("load",(()=>{try{const n=Ie(this.response)?this.response:JSON.parse(this.responseText);e.forEach((e=>e(n,i.requestData)))}catch(e){an(e,`Could not handle the XHR result (event: "${i.eventType}"): `)}}))})),e.call(this,n,t,r,o,a)}),3),((e,n,t=1)=>{Ge(e,Re,(()=>Je(window,e,n,t)),"global",t)})("fetch",(e=>function(n,t){const r=n instanceof Request?n.url:String(n);let o=null;const a=st(r);return a&&(o=Vn(a.eventType,(e=>n=>{try{e.forEach((e=>e(n,a.requestData)))}catch(e){an(e,`Could not handle the fetch result (event: "${a.eventType}"): `)}}))),e.call(this,n,t).then((e=>{if(!o)return e;const n=e.clone();return e.json().then((e=>(o(e),n))).catch((()=>n))}))}),2),qn(e,n,t)),dt=(e,n=Kn())=>{const t=Zn,r=e=>Vn(t,(n=>{e.addEventListener("success",(()=>{try{n.forEach((n=>n(e.result)))}catch(e){an(e,`Could not handle the IDBRequest result (event: ${t}): `)}}))}));return en("IDBIndex","get",(e=>function(n){const t=e.call(this,n);return je(n)&&n&&"prefetchedSessions"===this.objectStore.name&&r(t),t})),en("IDBObjectStore","get",(e=>function(n){const t=e.call(this,n);return"prefetchedSessions"===this.name&&r(t),t})),qn(t,e,n)},pt=e=>{const n=e=>{let n;if(Ie(e)){var t;Ie(e.session)&&(e=e.session);n=[{challenges:[e.challenges,e.adaptiveChallenges,e.easierAdaptiveChallenges,e.mistakesReplacementChallenges,null===(t=e.adaptiveInterleavedChallenges)||void 0===t?void 0:t.challenges].filter(De).flat(),sessionMetaData:e.metadata||{}}]}return n},t=Bn(Gn,Yn,e,n,ft),r=Bn(Gn,Zn,e,n,((e,n,t)=>dt(n,t)));return()=>{t(),r()}},_t=(e,n)=>({url:e,type:mn,speed:gn,language:n}),mt=(e,n)=>({url:e,type:hn,speed:gn,language:n}),ht=(e,n)=>({url:e,type:vn,speed:gn,language:n}),vt=Object.fromEntries(["/sounds/7abe057dc8446ad325229edd6d8fd250.mp3","/sounds/2aae0ea735c8e9ed884107d6f0a09e35.mp3","/sounds/421d48c53ad6d52618dba715722278e0.mp3","/sounds/37d8f0b39dcfe63872192c89653a93f6.mp3","/sounds/0a27c1ee63dd220647e8410a0029aed2.mp3","/sounds/a28ff0a501ef5f33ca78c0afc45ee53e.mp3","/sounds/2e4669d8cf839272f0731f8afa488caf.mp3","/sounds/f0b6ab4396d5891241ef4ca73b4de13a.mp3"].map((e=>{return[e,(n=e,{url:n,type:_n,speed:gn,language:null})];var n}))),yt=/\/duolingo-data\/tts\/(?[a-z-_]+)\/token\//i,gt="sound_type_map",bt="is_howler_used",wt=()=>Be(gt,vt),kt=[yn,mn,hn,vn,_n],xt=[gn,bn],Ot=(e,n)=>((e,n,t)=>{for(const r of e){const e=Number(r(n,t));if(!isNaN(e)&&0!==e)return e}return 0})([(e,n)=>kt.indexOf(e.type)-kt.indexOf(n.type),(e,n)=>xt.indexOf(e.speed)-xt.indexOf(n.speed)],e,n),Ct=e=>{const n=wt()||{};for(const t of e){const e=We(t.url);(!n[e]||Ot(t,n[e])>0)&&(n[e]=t)}$e(gt,n)},Et="sound_detection_listeners_version",St="sound_detection_unregistration_callbacks",Tt=(e,n,t)=>{var r;return{url:e.url,type:n,speed:(null===(r=e.speed)||void 0===r?void 0:r.value)||gn,language:t}},Mt=(e,n)=>{if(De(null==e?void 0:e.alphabets)&&je(null==n?void 0:n.toLanguage)){const r=n.toLanguage;Ct(e.alphabets.flatMap((e=>null==e?void 0:e.groups)).flatMap((e=>null==e?void 0:e.characters)).flat().map((e=>null==e?void 0:e.ttsUrl)).filter(je).map((e=>ht(e,r))));const o=[];for(const n of e.alphabets){var t;je(n.explanationUrl)&&o.push(n.explanationUrl),De(null===(t=n.explanationListing)||void 0===t?void 0:t.groups)&&o.push(...n.explanationListing.groups.flatMap((e=>null==e?void 0:e.tips)).map((e=>null==e?void 0:e.url)).filter(je))}o.length>0&&((e,n,t={})=>{const r=ut();for(const a of n)r.set(a,{eventType:e,requestData:t,urlRegExp:a instanceof RegExp?a:new RegExp((o=String(a),o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),"g")});var o})(et,o,n)}},Nt=(e,n)=>{if(De(null==e?void 0:e.elements)&&je(null==n?void 0:n.toLanguage)){const t=n.toLanguage;Ct(e.elements.flatMap((({element:e})=>Ie(e)&&[e].concat(e.phrases||[]).concat(e.examples||[]))).filter(Ie).flatMap((e=>((e,n)=>{var t,r,o,a,i;const l=[],c=e.ttsURL;return je(c)&&l.push(_t(c,n)),l.concat([(null===(t=e.tokenTTS)||void 0===t?void 0:t.tokenTTSCollection)||[],(null===(r=e.text)||void 0===r||null===(o=r.tokenTTS)||void 0===o?void 0:o.tokenTTSCollection)||[],(null===(a=e.subtext)||void 0===a||null===(i=a.tokenTTS)||void 0===i?void 0:i.tokenTTSCollection)||[]].flat().filter(Ie).map((e=>null==e?void 0:e.ttsURL)).filter((e=>(e=>je(e))&&e!==c)).map((e=>mt(e,n))))})(e,t))))}},Lt=()=>{const e=3<=(Number(Be(Et))||0);var n,t,r,o,a,i;!!Be(St)&&e||(e||zt(),$e(Et,3),$e(St,[(i=e=>(e=>{const n=e.learningLanguage;De(null==e?void 0:e.elements)&&Ct(e.elements.map((e=>{var n;return(null==e||null===(n=e.line)||void 0===n?void 0:n.content)||(null==e?void 0:e.learningLanguageTitleContent)})).flatMap((e=>[null==e?void 0:e.audio,null==e?void 0:e.audioPrefix,null==e?void 0:e.audioSuffix])).map((e=>null==e?void 0:e.url)).filter(je).map((e=>_t(e,n))))})(e),ft(Qn,i)),(o=(e,n)=>Mt(e,n),ft(Jn,o,a)),(r=(e,n)=>((e,n)=>{if(De(null==e?void 0:e.elements)&&je(null==n?void 0:n.toLanguage)){const t=e.elements.map((e=>null==e?void 0:e.element)).flatMap((e=>{var n;return null==e||null===(n=e.tokenTTS)||void 0===n?void 0:n.tokenTTSCollection}));t.push(...e.elements.map((e=>null==e?void 0:e.element)).flatMap((e=>null==e?void 0:e.cells)).flat().flatMap((e=>{var n;return null==e||null===(n=e.tokenTTS)||void 0===n?void 0:n.tokenTTSCollection})));const r=n.toLanguage;Ct(t.map((e=>null==e?void 0:e.ttsURL)).filter(je).map((e=>ht(e,r))))}})(e,n),ft(et,r)),(t=e=>{var n;je(null==(n=e)?void 0:n.tts_url)&&Ct([_t(n.tts_url,n.sentence_language)])},ft(nt,t)),(n=(e,n)=>Nt(e,n),ft(tt,n)),pt((e=>(e=>{const n=[];for(const a of e){var t;const e=a.type,i=cn(a),l=un(a);if(je(a.tts)){const t=ln.indexOf(e)>=0?ht:_t;n.push(t(a.tts,i))}if(je(a.slowTts)&&n.push({url:a.slowTts,type:mn,speed:bn,language:i}),je(a.solutionTts)&&n.push(_t(a.solutionTts,l)),De(a.choices)){const t=-1===ln.indexOf(e)?mt:ht;n.push(a.choices.map((e=>null==e?void 0:e.tts)).filter(je).map((e=>t(e,l))))}if(De(a.tokens)&&n.push(a.tokens.map((e=>null==e?void 0:e.tts)).filter(je).map((e=>mt(e,i)))),De(a.questionTokens)&&n.push(a.questionTokens.map((e=>null==e?void 0:e.tts)).filter(je).map((e=>mt(e,l)))),De(null===(t=a.metadata)||void 0===t?void 0:t.speakers))for(const e of a.metadata.speakers){var r,o;Ie(null===(r=e.tts)||void 0===r?void 0:r.tokens)&&n.push(Object.values(e.tts.tokens).filter((e=>je(e.url))).map((e=>Tt(e,hn,l)))),De(null===(o=e.tts)||void 0===o?void 0:o.sentence)&&n.push(e.tts.sentence.filter((e=>je(e.url))).map((e=>Tt(e,mn,l))))}if(De(a.pairs)){const t=-1===ln.indexOf(e)?mt:ht;n.push(a.pairs.map((e=>null==e?void 0:e.tts)).filter(je).map((e=>t(e,l))))}De(a.options)&&n.push(a.options.map((e=>null==e?void 0:e.tts)).filter(je).map((e=>mt(e,l))))}Ct(n.flat())})(e.challenges)))]))},zt=()=>{const e=Be(St);!De(e)||Wn(rt)||Wn(ot)||Wn(it)||Wn(at)||(e.forEach((e=>e())),$e(Et,null),$e(St,null))},At=(e,n,t)=>{const r=(e=>{const n=wt()[e];if(Ie(n))return n;const t=e.match(yt);return t?mt(e,t.language):null})(We(n));return{url:n,type:(null==r?void 0:r.type)||yn,speed:(null==r?void 0:r.speed)||gn,language:null==r?void 0:r.language,playbackStrategy:t,sound:e}},Pt=(e,n)=>{en("Howl","play",(e=>function(n){var t;$e(bt,!0);const r=String(this._src||(null===(t=this._parent)||void 0===t?void 0:t._src)||"").trim();return""!==r?((e,n,t,r)=>{const o=At(e,n,t);let a=!1;try{var i;a=null===(i=Xn(ot,o))||void 0===i?void 0:i.some((e=>!1===e)),Xn(a?it:at,o)}catch(e){an(e,`Could not handle playback for sound "${n}" (using "${t}"): `)}return a?null:r()})(this,r,kn,(()=>e.call(this,n))):e.call(this,n)})),Lt();const t=qn(e,n);return()=>{t(),zt()}},jt=(e,n)=>{Xe("mutexes",(t=>(Ie(t[e])||(t[e]={currentHolder:null,pendingHolders:[]}),t[e]=n(t[e]),t)),{})},Dt=async(e,{priority:n=dn,timeoutDelay:t=null,onSupersessionRequest:r=Ae}={})=>new Promise(((o,a)=>{const i=Ye("last_mutex_holder_id"),l=t>0?setTimeout((()=>{jt(e,(e=>({...e,pendingHolders:e.pendingHolders.filter((e=>i!==e.uniqueId))}))),a()}),t):null,c=()=>{l&&clearTimeout(l),o((()=>((e,n)=>{jt(e,(e=>{var t;if((null===(t=e.currentHolder)||void 0===t?void 0:t.uniqueId)!==n)return;const r=Fe(e.pendingHolders,(e=>e.priority));return r?(setTimeout((()=>r.onAcquired())),e.currentHolder=r,e.pendingHolders=e.pendingHolders.filter((e=>e.uniqueId!==r.uniqueId))):e.currentHolder=null,e}))})(e,i)))},u={uniqueId:i,priority:n,onAcquired:c,onSupersessionRequest:r};jt(e,(e=>(e.currentHolder?(e.pendingHolders.push(u),u.priority>e.currentHolder.priority&&setTimeout((()=>e.currentHolder.onSupersessionRequest()))):(e.currentHolder=u,setTimeout((()=>c()))),e)))}));var It,Rt,Ut,Kt="_duo-ttsc_",Ht=["0","1","2","3","4","5","6","7","8","9"],Ft="basic",Wt="cartoon",Vt=[Ft,Wt],qt=0,Bt=[],$t=e.__r,Xt=e.diffed,Yt=e.__c,Gt=e.unmount;function Zt(n,t){e.__h&&e.__h(Rt,n,qt||t),qt=0;var r=Rt.__H||(Rt.__H={__:[],__h:[]});return n>=r.__.length&&r.__.push({}),r.__[n]}function Qt(e){return qt=1,Jt(sr,e)}function Jt(e,n,t){var r=Zt(It++,2);return r.t=e,r.__c||(r.__c=Rt,r.__=[t?t(n):sr(void 0,n),function(e){var n=r.t(r.__[0],e);r.__[0]!==n&&(r.__=[n,r.__[1]],r.__c.setState({}))}]),r.__}function er(n,t){var r=Zt(It++,3);!e.__s&&ur(r.__H,t)&&(r.__=n,r.__H=t,Rt.__H.__h.push(r))}function nr(n,t){var r=Zt(It++,4);!e.__s&&ur(r.__H,t)&&(r.__=n,r.__H=t,Rt.__h.push(r))}function tr(e){return qt=5,rr((function(){return{current:e}}),[])}function rr(e,n){var t=Zt(It++,7);return ur(t.__H,n)?(t.__H=n,t.__h=e,t.__=e()):t.__}function or(e,n){return qt=8,rr((function(){return e}),n)}function ar(){Bt.some((function(n){if(n.__P)try{n.__H.__h.forEach(lr),n.__H.__h.forEach(cr),n.__H.__h=[]}catch(t){return n.__H.__h=[],e.__e(t,n.__v),!0}})),Bt=[]}e.__r=function(e){$t&&$t(e),It=0;var n=(Rt=e.__c).__H;n&&(n.__h.forEach(lr),n.__h.forEach(cr),n.__h=[])},e.diffed=function(n){Xt&&Xt(n);var t=n.__c;t&&t.__H&&t.__H.__h.length&&(1!==Bt.push(t)&&Ut===e.requestAnimationFrame||((Ut=e.requestAnimationFrame)||function(e){var n,t=function(){clearTimeout(r),ir&&cancelAnimationFrame(n),setTimeout(e)},r=setTimeout(t,100);ir&&(n=requestAnimationFrame(t))})(ar))},e.__c=function(n,t){t.some((function(n){try{n.__h.forEach(lr),n.__h=n.__h.filter((function(e){return!e.__||cr(e)}))}catch(r){t.some((function(e){e.__h&&(e.__h=[])})),t=[],e.__e(r,n.__v)}})),Yt&&Yt(n,t)},e.unmount=function(n){Gt&&Gt(n);var t=n.__c;if(t&&t.__H)try{t.__H.__.forEach(lr)}catch(n){e.__e(n,t.__v)}};var ir="function"==typeof requestAnimationFrame;function lr(e){"function"==typeof e.u&&e.u()}function cr(e){e.u=e.__()}function ur(e,n){return!e||n.some((function(n,t){return n!==e[t]}))}function sr(e,n){return"function"==typeof n?n(e):n}var fr=Object.freeze({__proto__:null,useState:Qt,useReducer:Jt,useEffect:er,useLayoutEffect:nr,useRef:tr,useImperativeHandle:function(e,n,t){qt=6,nr((function(){"function"==typeof e?e(n()):e&&(e.current=n())}),null==t?t:t.concat(e))},useMemo:rr,useCallback:or,useContext:function(e){var n=Rt.context[e.__c],t=Zt(It++,9);return t.__c=e,n?(null==t.__&&(t.__=!0,n.sub(Rt)),n.props.value):e.__},useDebugValue:function(n,t){e.useDebugValue&&e.useDebugValue(t?t(n):n)},useErrorBoundary:function(e){var n=Zt(It++,10),t=Qt();return n.__=e,Rt.componentDidCatch||(Rt.componentDidCatch=function(e){n.__&&n.__(e),t[1](e)}),[t[0],function(){t[1](void 0)}]}});function dr(e,n,t){return e(t={path:n,exports:{},require:function(e,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&t.path)}},t.exports),t.exports}function pr(e){if(e.__esModule)return e;var n=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}var _r=pr(fr),mr=pr(z),hr=dr((function(e,n){var t=_r,r=mr;function o(e,n){for(var t in n)e[t]=n[t];return e}function a(e,n){for(var t in e)if("__source"!==t&&!(t in n))return!0;for(var r in n)if("__source"!==r&&e[r]!==n[r])return!0;return!1}function i(e){this.props=e}function l(e,n){function t(e){var t=this.props.ref,r=t==e.ref;return!r&&t&&(t.call?t(null):t.current=null),n?!n(this.props,e)||!r:a(this.props,e)}function o(n){return this.shouldComponentUpdate=t,r.createElement(e,n)}return o.displayName="Memo("+(e.displayName||e.name)+")",o.prototype.isReactComponent=!0,o.__f=!0,o}(i.prototype=new r.Component).isPureReactComponent=!0,i.prototype.shouldComponentUpdate=function(e,n){return a(this.props,e)||a(this.state,n)};var c=r.options.__b;r.options.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),c&&c(e)};var u="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function s(e){function n(n,t){var r=o({},n);return delete r.ref,e(r,(t=n.ref||t)&&("object"!=typeof t||"current"in t)?t:null)}return n.$$typeof=u,n.render=n,n.prototype.isReactComponent=n.__f=!0,n.displayName="ForwardRef("+(e.displayName||e.name)+")",n}var f=function(e,n){return e?r.toChildArray(r.toChildArray(e).map(n)):null},d={map:f,forEach:f,count:function(e){return e?r.toChildArray(e).length:0},only:function(e){var n=r.toChildArray(e);if(1!==n.length)throw"Children.only";return n[0]},toArray:r.toChildArray},p=r.options.__e;function _(e){return e&&((e=o({},e)).__c=null,e.__k=e.__k&&e.__k.map(_)),e}function m(e){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map(m)),e}function h(){this.__u=0,this.t=null,this.__b=null}function v(e){var n=e.__.__c;return n&&n.o&&n.o(e)}function y(e){var n,t,o;function a(a){if(n||(n=e()).then((function(e){t=e.default||e}),(function(e){o=e})),o)throw o;if(!t)throw n;return r.createElement(t,a)}return a.displayName="Lazy",a.__f=!0,a}function g(){this.u=null,this.i=null}r.options.__e=function(e,n,t){if(e.then)for(var r,o=n;o=o.__;)if((r=o.__c)&&r.__c)return null==n.__e&&(n.__e=t.__e,n.__k=t.__k),r.__c(e,n.__c);p(e,n,t)},(h.prototype=new r.Component).__c=function(e,n){var t=this;null==t.t&&(t.t=[]),t.t.push(n);var r=v(t.__v),o=!1,a=function(){o||(o=!0,n.componentWillUnmount=n.__c,r?r(i):i())};n.__c=n.componentWillUnmount,n.componentWillUnmount=function(){a(),n.__c&&n.__c()};var i=function(){var e;if(!--t.__u)for(t.__v.__k[0]=m(t.state.o),t.setState({o:t.__b=null});e=t.t.pop();)e.forceUpdate()};t.__u++||t.setState({o:t.__b=t.__v.__k[0]}),e.then(a,a)},h.prototype.componentWillUnmount=function(){this.t=[]},h.prototype.render=function(e,n){return this.__b&&(this.__v.__k&&(this.__v.__k[0]=_(this.__b)),this.__b=null),[r.createElement(r.Fragment,null,n.o?null:e.children),n.o&&e.fallback]};var b=function(e,n,t){if(++t[1]===t[0]&&e.i.delete(n),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.i.size))for(t=e.u;t;){for(;t.length>3;)t.pop()();if(t[1]Dn(On,bn===e?1:.5),Mr=e=>Dn(On,bn===e?2.5:2),Nr=()=>Dn(Cn,.05),Lr=()=>Dn(Cn,1),zr=(e,n)=>Math.max(Tr(e),Math.min(n,Mr(e))),Ar=e=>Math.max(Nr(),Math.min(e,Lr())),Pr=e=>"".concat(Kt,"tts_rate_").concat(e),jr=e=>"".concat(Kt,"tts_volume_").concat(e),Dr=e=>zr(e,Number(localStorage.getItem(Pr(e)))||1),Ir=e=>Ar(Number(localStorage.getItem(jr(e)))||1),Rr=e=>Rn(e,kn),Ur=(e,n,t)=>{In(On,e,t,kn,!1,pn),In(Cn,n,t,kn,!1,pn)};function Kr(){}function Hr(){}Hr.resetWarningCache=Kr;var Fr=dr((function(e){e.exports=function(){function e(e,n,t,r,o,a){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==a){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function n(){return e}e.isRequired=e;var t={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:Hr,resetWarningCache:Kr};return t.PropTypes=t,t}()}));function Wr(e){return Wr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Wr(e)}function Vr(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function qr(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function Br(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}function Xr(e){return function(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n0||!Array.isArray(n)&&n?Vr({},e,n):{}}function eo(e){var n=e.forwardedRef,t=$r(e,["forwardedRef"]),r=t.icon,o=t.mask,a=t.symbol,i=t.className,l=t.title,c=t.titleId,u=Qr(r),s=Jr("classes",[].concat(Xr(function(e){var n,t=e.spin,r=e.pulse,o=e.fixedWidth,a=e.inverse,i=e.border,l=e.listItem,c=e.flip,u=e.size,s=e.rotation,f=e.pull,d=(Vr(n={"fa-spin":t,"fa-pulse":r,"fa-fw":o,"fa-inverse":a,"fa-border":i,"fa-li":l,"fa-flip-horizontal":"horizontal"===c||"both"===c,"fa-flip-vertical":"vertical"===c||"both"===c},"fa-".concat(u),null!=u),Vr(n,"fa-rotate-".concat(s),null!=s&&0!==s),Vr(n,"fa-pull-".concat(f),null!=f),Vr(n,"fa-swap-opacity",e.swapOpacity),n);return Object.keys(d).map((function(e){return d[e]?e:null})).filter((function(e){return e}))}(t)),Xr(i.split(" ")))),f=Jr("transform","string"==typeof t.transform?Le(t.transform):t.transform),d=Jr("mask",Qr(o)),p=ze(u,Br({},s,{},f,{},d,{symbol:a,title:l,titleId:c}));if(!p)return function(){var e;!Zr&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",u),null;var _=p.abstract,m={ref:n};return Object.keys(t).forEach((function(e){eo.defaultProps.hasOwnProperty(e)||(m[e]=t[e])})),no(_[0],m)}eo.displayName="FontAwesomeIcon",eo.propTypes={border:Fr.bool,className:Fr.string,mask:Fr.oneOfType([Fr.object,Fr.array,Fr.string]),fixedWidth:Fr.bool,inverse:Fr.bool,flip:Fr.oneOf(["horizontal","vertical","both"]),icon:Fr.oneOfType([Fr.object,Fr.array,Fr.string]),listItem:Fr.bool,pull:Fr.oneOf(["right","left"]),pulse:Fr.bool,rotation:Fr.oneOf([0,90,180,270]),size:Fr.oneOf(["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:Fr.bool,symbol:Fr.oneOfType([Fr.bool,Fr.string]),title:Fr.string,transform:Fr.oneOfType([Fr.string,Fr.object]),swapOpacity:Fr.bool},eo.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var no=function e(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof t)return t;var o=(t.children||[]).map((function(t){return e(n,t)})),a=Object.keys(t.attributes||{}).reduce((function(e,n){var r=t.attributes[n];switch(n){case"class":e.attrs.className=r,delete t.attributes.class;break;case"style":e.attrs.style=Gr(r);break;default:0===n.indexOf("aria-")||0===n.indexOf("data-")?e.attrs[n.toLowerCase()]=r:e.attrs[Yr(n)]=r}return e}),{attrs:{}}),i=r.style,l=void 0===i?{}:i,c=$r(r,["style"]);return a.attrs.style=Br({},a.attrs.style,{},l),n.apply(void 0,[t.tag,Br({},a.attrs,{},c)].concat(Xr(o)))}.bind(null,hr.createElement),to=Symbol("base"),ro=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return or((t=>(De(t)?t:[t]).flatMap((t=>{var r=[];return e[to]&&e[to][t]&&r.push(...e[to][t]),n.forEach((n=>{n&&e[n]&&e[n][t]&&r.push(...e[n][t])})),r})).join(" ")),n.concat([e]))},oo="pause",ao="pin",io="play",lo="speed_normal",co="speed_slow",uo="stop",so="toggle",fo=[oo,ao,io,lo,co,uo,so],po={[oo]:"pause",[ao]:"thumbtack",[io]:"play",[lo]:["fas","volume"],[co]:["fas","turtle"],[uo]:"stop",[so]:"cog"},_o={[ao]:"s",[lo]:"s",[co]:"s",[so]:"s"},mo=e=>{var{type:n,disabled:t=!1,active:r=!1,onClick:o=Ae}=e,a=tr(null),i=ro(bo,[n]);er((()=>{t&&a.current&&document.activeElement===a.current&&a.current.blur()}));var l=[vo,"BUTTON__".concat(n),r&&yo];return d("div",{className:i(ho)},d("button",{ref:a,disabled:t,onClick:o,onKeyUp:e=>e.preventDefault(),className:i(l)},d(eo,{icon:po[n],size:_o[n]||"xs",fixedWidth:!0,className:i(go)})))},ho="wrapper",vo="button",yo="button__active",go="icon",bo={[to]:Object.assign({[ho]:["_1OCDB"],[vo]:["WOZnx","_275sd","_1ZefG","_3f9XI","".concat(Kt,"control-button")],[yo]:["k6MEx"],[go]:["_3cbXv","".concat(Kt,"control-button-icon")]},Object.fromEntries(fo.map((e=>["BUTTON__".concat(e),["".concat(Kt,"control-button_").concat(e)]]))))},wo="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function ko(e,n,t){e.addEventListener?e.addEventListener(n,t,!1):e.attachEvent&&e.attachEvent("on".concat(n),(function(){t(window.event)}))}function xo(e,n){for(var t=n.slice(0,n.length-1),r=0;r=0;)n[t-1]+=",",n.splice(t,1),t=n.lastIndexOf("");return n}for(var Co={backspace:8,tab:9,clear:12,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":wo?173:189,"=":wo?61:187,";":wo?59:186,"'":222,"[":219,"]":221,"\\":220},Eo={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},So={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},To={16:!1,18:!1,17:!1,91:!1},Mo={},No=1;No<20;No++)Co["f".concat(No)]=111+No;var Lo=[],zo="all",Ao=[],Po=function(e){return Co[e.toLowerCase()]||Eo[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function jo(e){zo=e||"all"}function Do(){return zo||"all"}var Io=function(e){var n=e.key,t=e.scope,r=e.method,o=e.splitKey,a=void 0===o?"+":o;Oo(n).forEach((function(e){var n=e.split(a),o=n.length,i=n[o-1],l="*"===i?"*":Po(i);if(Mo[l]){t||(t=Do());var c=o>1?xo(Eo,n):[];Mo[l]=Mo[l].map((function(e){return(!r||e.method===r)&&e.scope===t&&function(e,n){for(var t=e.length>=n.length?e:n,r=e.length>=n.length?n:e,o=!0,a=0;a0,To)Object.prototype.hasOwnProperty.call(To,o)&&(!To[o]&&n.mods.indexOf(+o)>-1||To[o]&&-1===n.mods.indexOf(+o))&&(r=!1);(0!==n.mods.length||To[16]||To[18]||To[17]||To[91])&&!r&&"*"!==n.shortcut||!1===n.method(e,n)&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0))}}function Uo(e){var n=Mo["*"],t=e.keyCode||e.which||e.charCode;if(Ko.filter.call(this,e)){if(93!==t&&224!==t||(t=91),-1===Lo.indexOf(t)&&229!==t&&Lo.push(t),["ctrlKey","altKey","shiftKey","metaKey"].forEach((function(n){var t=So[n];e[n]&&-1===Lo.indexOf(t)?Lo.push(t):!e[n]&&Lo.indexOf(t)>-1?Lo.splice(Lo.indexOf(t),1):"metaKey"===n&&e[n]&&3===Lo.length&&(e.ctrlKey||e.shiftKey||e.altKey||(Lo=Lo.slice(Lo.indexOf(t))))})),t in To){for(var r in To[t]=!0,Eo)Eo[r]===t&&(Ko[r]=!0);if(!n)return}for(var o in To)Object.prototype.hasOwnProperty.call(To,o)&&(To[o]=e[So[o]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(-1===Lo.indexOf(17)&&Lo.push(17),-1===Lo.indexOf(18)&&Lo.push(18),To[17]=!0,To[18]=!0);var a=Do();if(n)for(var i=0;i1&&(o=xo(Eo,e)),(e="*"===(e=e[e.length-1])?"*":Po(e))in Mo||(Mo[e]=[]),Mo[e].push({keyup:c,keydown:u,scope:a,mods:o,shortcut:r[l],method:t,key:r[l],splitKey:s});void 0!==i&&!function(e){return Ao.indexOf(e)>-1}(i)&&window&&(Ao.push(i),ko(i,"keydown",(function(e){Uo(e)})),ko(window,"focus",(function(){Lo=[]})),ko(i,"keyup",(function(e){Uo(e),function(e){var n=e.keyCode||e.which||e.charCode,t=Lo.indexOf(n);if(t>=0&&Lo.splice(t,1),e.key&&"meta"===e.key.toLowerCase()&&Lo.splice(0,Lo.length),93!==n&&224!==n||(n=91),n in To)for(var r in To[n]=!1,Eo)Eo[r]===n&&(Ko[r]=!1)}(e)})))}var Ho={setScope:jo,getScope:Do,deleteScope:function(e,n){var t,r;for(var o in e||(e=Do()),Mo)if(Object.prototype.hasOwnProperty.call(Mo,o))for(t=Mo[o],r=0;r1?n-1:0),r=1;r{var{type:n,value:t=1,min:r=t,max:o=t,step:a=.1,hint:i="",disabled:l=!1,onChangeStart:c=Ae,onChange:u=Ae,onChangeEnd:s=Ae}=e,f=tr(!1),p=or((e=>{var n=e.target.value;f.current?u(n):(f.current=!0,c(n))}),[c,u,f]),_=or((e=>{f.current&&(f.current=!1,s(e.target.value))}),[s,f]),m=ro(na,[n]);return d("div",{className:m(Zo)},d("input",{type:"range",min:r,max:o,step:a,value:t,disabled:l,onKeyDown:e=>e.preventDefault(),onKeyUp:e=>e.preventDefault(),onInput:p,onChange:_,onMouseUp:_,className:m(Qo)}),""!==i&&d("span",{className:m(Jo)},d(eo,{icon:Yo[n],className:m([ea])}),i))},Zo="wrapper",Qo="input",Jo="hint",ea="button",na={[to]:{[Zo]:["".concat(Kt,"slider")],[Qo]:["_2YmyD","_2_zk1","_2Z5hP","".concat(Kt,"slider-input")],[Jo]:["_3cbXv","".concat(Kt,"slider-hint")],[ea]:["".concat(Kt,"slider-hint-icon")]}},ta=e=>{var{formStyle:n=Ft,ttsSpeed:t=gn,selected:r=!1,focused:o=!1,howl:a=null}=e,[i,l,c]=(e=>{var[n,t,r]=Or(Dr(e));return[n,t,or((n=>{var t=Number(n),o=zr(e,isNaN(t)?1:t);r(o),localStorage.setItem(Pr(e),String(o))}),[e,r])]})(t),[u,s,f]=(e=>{var[n,t,r]=Or(Ir(e));return[n,t,or((n=>{var t=Number(n),o=Ar(isNaN(t)?1:t);r(o),localStorage.setItem(jr(e),String(o))}),[e,r])]})(t),[p,_]=Qt(0),[m,h,v]=Or(0),[y,g,b]=Or(!1),[w,k,x]=Or(!1),O=tr(0),C=or((()=>!g.current||k.current),[g,k]),[E,S]=Qt(!1),[T,M]=Qt(!1),[N,L]=Qt(!1),[,z,A]=gr((()=>S(!0)),200,!1),P=or((()=>{S(!1),z()}),[S,z]),[,j,D]=gr((()=>L(!1)),750,!1),I=or((()=>{L(!0),j()}),[L,j]),R=Er(((e,n,t)=>e&&Ur(n,t,e)),{delay:50,defer:!0},a),U=or((e=>{c(e),R(e,s.current)}),[s,c,R]),K=or((e=>{f(e),R(l.current,e)}),[l,f,R]),H=tr(null),F=tr(!1),W=or((e=>{var n=Math.round(10*Number(e))/10;return isNaN(n)?null:Math.max(0,Math.min(n,p))}),[p]),V=or((e=>{v(e),H.current=null}),[v,H]),q=or((e=>{v(e),H.current=e}),[v,H]),B=tr(new Set),$=tr(!1),X=or((()=>B.current.size>0),[B]),Y=or((e=>{var n,t=W(e);null!==t&&(X()?n=!$.current:(a&&a.seek(t),n=C()),n?q(t):V(t));return t}),[a,W,V,q,C,X,$]),G=or(((e,n)=>{B.current.add(e),Y(n),1===B.current.size&&(a&&y?($.current=!w,a.pause()):$.current=!1)}),[a,y,w,B,$,Y]),Z=or(((e,n)=>{B.current.delete(e);var t=Y(n);0===B.current.size&&(a&&(null!==t&&a.seek(t),$.current&&(Q.current=!0,a.play())),$.current=!1)}),[a,B,$,Y]),Q=tr(!1),J=or((()=>{a&&!X()&&(Q.current=!0,a.play())}),[a,X]),ee=or((()=>{if(a){a.pause();var e=Rr(a);e>=p-.2&&a.seek(e)}}),[a,p]),ne=or((()=>{a&&(F.current=!0,a.stop())}),[a]),te=or((()=>{var e=W(h.current);null!==e&&(O.current=e)}),[h,O,W]),re=e=>{var{keys:n,onKeyDown:t=null,onKeyUp:r=null,deps:a=[]}=e;return qo(n,((e,n)=>{tn(e),e.stopImmediatePropagation(),"keyup"===e.type?r(n.shortcut,e):t(n.shortcut,e)}),{enabled:o,enableOnTags:["INPUT"],keyup:Re(r),keydown:Re(t)},a)},oe=e=>{var{keys:n,onKeyDown:t=Ae,onKeyUp:r=Ae,deps:o=[]}=e;return re({keys:n,onKeyDown:(e,n)=>{I(),t(e,n)},onKeyUp:(e,n)=>{D(),r(e,n)},deps:o.concat(I,D)})};oe({keys:"<, ctrl+left, >, ctrl+right",onKeyDown:e=>["<","ctrl+left"].includes(e)?l.current>Tr(t)&&U(l.current-.1):l.current"down"===e?s.current>Nr()&&K(s.current-Sr):s.currentY("end"===e?p:0),deps:[p,Y]}),oe({keys:Ht.map((e=>"num_".concat(e))).join(","),onKeyDown:e=>{var n,t=(null===(n=e.match(/num_(\d+)/))||void 0===n?void 0:n[1])||0;Y(W(p*Number(t)/10))},deps:[p,W,Y]}),oe({keys:"left, right",onKeyDown:(e,n)=>{var t="left"===e?Math.max(0,h.current-.1):Math.min(p,h.current+.1);n.repeat?t!==h.current&&Y(t):G(e,t)},onKeyUp:e=>{null!==h.current&&Z(e,h.current)},deps:[p,h,Y,G,Z]}),re({keys:"k, space, ctrl+up",onKeyDown:()=>!y||w?J():ee(),deps:[y,w,J,ee]}),re({keys:"p, ctrl+down",onKeyDown:()=>te(),deps:[te]});var ae=tr(!1);er((()=>{if(a){var e=a.playing(),n=Rr(a);_(a.duration()),V(n||0),b(e),x(!e&&n>0);var t=function(){_(this.duration())},r=function(e){ae.current||Q.current&&!(this._getSoundIds().length>1)?(b(!0),x(!1),H.current=null,ae.current=!1,Q.current=!1):(ae.current=!0,this.seek(h.current,e))},o=()=>{x(!0),H.current=Rr(a)};return a.once("load",t),a.on("play",r),a.on("pause",o),()=>{a&&(a.off("load",t),a.off("play",r),a.off("pause",o))}}}),[a,l,h,_,V,b,x,H,ae]);var ie=tr(!1),le=or((function(){if(!ie.current){var e=F.current||null===H.current||H.current>=p?O.current:H.current;F.current&&(H.current=null,F.current=!1),b(!1),v(e),this.seek(e)}}),[p,b,O,H,F,v,ie]);er((()=>{if(a)return a.on("end",le),a.on("stop",le),()=>{a.off("end",le),a.off("stop",le)}}),[a,le]),xr((()=>{a&&(ie.current=!0,a.stop(),a.seek(0))})),wr((()=>{if(a&&a.playing()){var e=Rr(a);w||e===m||e===H.current||V(e)}}),y&&!w?75:null);var ce=Ie(a),ue=1===i?"1x":"".concat(i.toFixed(1),"x"),se=ce?"".concat(m.toFixed(1),"s / ").concat(p.toFixed(1),"s"):"? / ?",fe=kr("(hover: none), (pointer: none), (pointer: coarse)"),de=[o&&aa,r&&oa,(N||T||E&&!fe)&&ia],pe=ro(ua,[n]);return d("div",{onMouseEnter:A,onMouseLeave:P,className:pe([ra,...de])},d("div",{className:pe(la)},d(mo,!y||w?{type:io,disabled:!ce,onClick:J}:{type:oo,disabled:!ce,onClick:ee}),d(mo,{type:uo,disabled:!ce||!y,onClick:ne}),d(mo,{type:ao,disabled:!ce,onClick:te}),d(mo,{type:so,active:T,onClick:()=>M(!T)}),(r||o)&&d(eo,{icon:"keyboard",className:pe(ca)})),d(Go,{type:Bo,value:m,min:0,max:p,step:.1,hint:se,disabled:!ce,onChangeStart:e=>G("slider",e),onChange:Y,onChangeEnd:e=>Z("slider",e)}),d(Go,{type:$o,value:i,min:Tr(t),max:Mr(t),step:.1,hint:ue,onChangeStart:U,onChange:U,onChangeEnd:U}),d(Go,{type:Xo,value:u,min:Nr(),max:Lr(),step:Sr,hint:"".concat(Math.round(100*u),"%"),onChangeStart:K,onChange:K,onChangeEnd:K}))},ra="wrapper",oa="wrapper__selected",aa="wrapper__focused",ia="wrapper__opened",la="button_wrapper",ca="keyboard_hint",ua={[to]:Object.assign({[ra]:["".concat(Kt,"control-panel")],[oa]:["".concat(Kt,"selected")],[aa]:["".concat(Kt,"focused")],[ia]:["_2ti2i","".concat(Kt,"opened")],[la]:["gcfYU","".concat(Kt,"control-buttons")],[ca]:["".concat(Kt,"control-keyboard-hint")]})};J.autoAddCss=!1,Me.add({prefix:"far",iconName:"clock",icon:[512,512,[],"f017","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z"]},{prefix:"fas",iconName:"cog",icon:[512,512,[],"f013","M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},{prefix:"fas",iconName:"keyboard",icon:[576,512,[],"f11c","M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"]},{prefix:"fas",iconName:"pause",icon:[448,512,[],"f04c","M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z"]},{prefix:"fas",iconName:"play",icon:[448,512,[],"f04b","M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"]},{prefix:"fas",iconName:"stop",icon:[448,512,[],"f04d","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},{prefix:"far",iconName:"tachometer-alt",icon:[576,512,[],"f3fd","M128 288c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm154.65-97.08l16.24-48.71c1.16-3.45 3.18-6.35 4.92-9.43-4.73-2.76-9.94-4.78-15.81-4.78-17.67 0-32 14.33-32 32 0 15.78 11.63 28.29 26.65 30.92zM176 176c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zM288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm212.27 400H75.73C57.56 397.63 48 359.12 48 320 48 187.66 155.66 80 288 80s240 107.66 240 240c0 39.12-9.56 77.63-27.73 112zM416 320c0 17.67 14.33 32 32 32s32-14.33 32-32-14.33-32-32-32-32 14.33-32 32zm-56.41-182.77c-12.72-4.23-26.16 2.62-30.38 15.17l-45.34 136.01C250.49 290.58 224 318.06 224 352c0 11.72 3.38 22.55 8.88 32h110.25c5.5-9.45 8.88-20.28 8.88-32 0-19.45-8.86-36.66-22.55-48.4l45.34-136.01c4.17-12.57-2.64-26.17-15.21-30.36zM432 208c0-15.8-11.66-28.33-26.72-30.93-.07.21-.07.43-.14.65l-19.5 58.49c4.37 2.24 9.11 3.8 14.36 3.8 17.67-.01 32-14.34 32-32.01z"]},{prefix:"fas",iconName:"thumbtack",icon:[384,512,[],"f08d","M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z"]},{prefix:"fas",iconName:"turtle",icon:[576,512,[],"f726","M68.25 256h279.51c23.54 0 40.97-19.8 35.1-40.04C362.84 146.97 292.33 64 208.41 64h-.82c-83.91 0-154.43 82.97-174.44 151.96C27.27 236.2 44.71 256 68.25 256zm484.03-118.75l-48.65-34.75c-35.17-17.42-80.49 1.57-86.81 40.31-.54 3.32-.82 6.72-.82 10.19v71.22c-.03 13.88-4.6 27.18-13.27 38.44-12.42 16.11-31.25 25.34-51.68 25.34H18.6C8.33 288 0 296.33 0 306.6c0 8 5.12 15.11 12.71 17.64l98.29 22.1L66.17 424c-6.16 10.67 1.54 24 13.86 24h36.95c5.71 0 11-3.05 13.86-8l40.3-69.8c25.99 8.52 45.55 13.8 84.87 13.8s58.89-5.28 84.87-13.8l40.3 69.8c2.86 4.95 8.14 8 13.86 8h36.95c12.32 0 20.01-13.33 13.86-24l-47.21-81.76c21.25-8.42 40.36-21.78 54.81-40.53 14.08-18.28 22.47-39.4 25.29-61.7h40.62c31.29 0 56.65-25.36 56.65-56.65a56.7 56.7 0 0 0-23.73-46.11zM480 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},{prefix:"far",iconName:"volume",icon:[480,512,[],"f6a8","M394.23 100.85c-11.19-7.09-26.03-3.8-33.12 7.41s-3.78 26.03 7.41 33.12C408.27 166.6 432 209.44 432 256s-23.73 89.41-63.48 114.62c-11.19 7.09-14.5 21.92-7.41 33.12 6.51 10.28 21.12 15.03 33.12 7.41C447.94 377.09 480 319.09 480 256s-32.06-121.09-85.77-155.15zm-56 78.28c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.37-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.87s-17.54-61.33-45.78-76.87zM231.81 64c-5.91 0-11.92 2.18-16.78 7.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c4.87 4.87 10.88 7.05 16.78 7.05 12.33 0 24.19-9.52 24.19-24.02V88.02C256 73.51 244.13 64 231.81 64zM208 366.05L145.94 304H48v-96h97.94L208 145.95v220.1z"]},{prefix:"fas",iconName:"volume",icon:[480,512,[],"f6a8","M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.53 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"]});var sa={},fa=null,da=null,pa=null,_a=null,ma=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document.body,r=Array.from(t.querySelectorAll(Ia[e][n]));return r.forEach((t=>{t.classList.add("".concat(Kt).concat(e),"".concat(Kt).concat(e,"_").concat(n))})),r},ha=()=>Object.keys(sa),va=()=>Object.values(sa).find((e=>e.isSelected)),ya=e=>{if(sa[e]&&sa[e].panelWrapper.isConnected){var{formStyle:n,isSelected:t,isFocused:r,panelWrapper:o,soundData:a}=sa[e];L(d(ta,{formStyle:n,ttsSpeed:e,selected:t,focused:t&&r,howl:a.sound}),o),t&&fa&&L(d(mo,{onClick:ga,type:e===bn?co:lo}),fa)}},ga=()=>{var e=va()||Object.values(sa)[0];if(e){var n=ha(),t=(n.indexOf(e.ttsType)+1)%n.length;(e=>{if(sa[e]&&sa[e].panelWrapper.isConnected){var n=va(),t=!(null==n||!n.isFocused);if(n&&(n.isSelected=!1,n.isFocused=!1,ya(n.ttsType)),(null==n?void 0:n.ttsType)!==e){var r=sa[e];r.isSelected=!0,r.isFocused=t,ya(e)}}})(n[t])}},ba=()=>{_a&&(_a(),_a=null)},wa=()=>{var e=va();return e?(_a?Promise.resolve():pa||(pa=Dt("hotkeys",{timeoutDelay:20,priority:dn,onSupersessionRequest:ka}).then((e=>{_a=e})).finally((()=>{pa=null})))).then((()=>{e.isFocused=!0,ya(e.ttsType)})):Promise.reject()},ka=()=>{var e=va();null!=e&&e.isFocused&&(e.isFocused=!1,ya(e.ttsType)),ba()},xa=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];Object.entries(sa).forEach((n=>{var[t,r]=n;!e&&r.panelWrapper.isConnected||(L("",r.panelWrapper),delete sa[t],r.isFocused&&ba())}))};setInterval((()=>xa()),100);var Oa=e=>{var n=null,t=Vt.find((e=>([n]=ma(Aa,e),!!n)));if(n!==da&&(xa(!0),da=n,n)){var r=ma(Pa,t,n).flatMap((e=>ma(ja,t,e)));0!==r.length&&(r.length>1?((fa=document.createElement("div")).classList.add("".concat(Kt,"switch-button")),n.append(fa)):fa=null,r.forEach(((r,o)=>{var a=r.matches(Ia[Da][t])?bn:gn,i=e[a];if(i){((e,n)=>{Ur(Dr(e),Ir(e),n)})(i.speed,i.sound);var l=document.createElement("div");l.classList.add(...Ra),n.insertBefore(l,fa),sa[a]={formStyle:t,ttsType:a,isSelected:0===o,isFocused:!1,panelWrapper:l,playbackButton:r,soundData:i},ya(a)}})))}},Ca=new Set,Ea={},Sa={};pt((e=>{var{challenges:n}=e;return n.forEach((e=>{var n=je(e.tts)&&e.tts.trim(),t=je(e.slowTts)&&e.slowTts.trim();n&&Ca.add(n),t&&(Ca.add(t),n&&(Ea[t]=[n],Ea[n]=[t]))}))})),(e=>{en("Howl","init",(e=>function(n){var t;$e(bt,!0);const r=e.call(this,n),o=String(this._src||(null===(t=this._parent)||void 0===t?void 0:t._src)||"").trim();return""!==o&&Xn(rt,At(this,o,kn)),r})),Lt();const n=qn(rt,e)})((e=>{Ca.has(e.url)&&(Sa[e.url]=e)})),Pt(ot,(e=>{if(kn===e.playbackStrategy&&Ca.has(e.url)){Sa[e.url]=e;var n=Object.fromEntries([e.url,...Ea[e.url]||[]].map((e=>Sa[e])).filter(Ie).map((e=>[e.speed,e])));setTimeout((()=>Oa(n)))}return!0}));var Ta=!1,Ma=()=>{var e=rn();return e&&!Object.values(sa).some((n=>n.isSelected&&n.panelWrapper.contains(e)))?e:void 0};document.addEventListener("focusin",(()=>!Ta&&Ma()&&ka()));var Na={control:()=>{var e,n=va();n&&(n.isFocused?(ka(),null===(e=document.querySelector(Ua))||void 0===e||e.focus()):wa().then((()=>{var e;return null===(e=Ma())||void 0===e?void 0:e.blur()})).catch(Ae))},tab:()=>{if(ha().length>1){var e=Object.values(sa).find((e=>e.isSelected&&e.isFocused));e&&(ga(),Ta=!0,e.playbackButton.focus(),Ta=!1)}}},La=new Set,za=null;document.addEventListener("keydown",(e=>{13===e.keyCode&&""===e.key||(za=0===La.size?e.code:null,La.add(e.code))})),document.addEventListener("keyup",(e=>{if(e.code===za){var n=e.key.toLowerCase();Na[n]&&(tn(e),Na[n](e))}La.delete(e.code),za=null})),window.addEventListener("blur",(()=>{La.clear(),za=null}));var Aa="playback-buttons-wrapper",Pa="playback-button-wrapper",ja="playback-button",Da="slow-playback-button",Ia={[Aa]:{[Ft]:"._863KE:first-child ._3L7Fu",[Wt]:"._863KE:first-child ._2O14B"},[Pa]:{[Ft]:".sgs9X",[Wt]:".sgs9X"},[ja]:{[Ft]:"._1x6bc",[Wt]:"._2kfEr"},[Da]:{[Ft]:"._1Uoqa",[Wt]:"._1Vrvu"}},Ra=["".concat(Kt,"control-form"),"_1wJYQ"],Ua=['input[data-test="challenge-text-input"]','textarea[data-test="challenge-translate-input"]'].join(", ")}(); +!function(){"use strict";var e,n,t,a,r,o,i,c={},l=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function u(e,n){for(var t in n)e[t]=n[t];return e}function f(e){var n=e.parentNode;n&&n.removeChild(e)}function d(e,n,t){var a,r,o,i=arguments,c={};for(o in n)"key"==o?a=n[o]:"ref"==o?r=n[o]:c[o]=n[o];if(arguments.length>3)for(t=[t],o=3;o1&&C(r,n,t),n=k(t,r,r,e.__k,null,r.__e,n),"function"==typeof e.type&&(e.__d=n)))}function S(n,t,a,r,o,i,s,f,d){var p,h,y,g,b,k,w,O,S,E,A,N=t.type;if(void 0!==t.constructor)return null;(p=e.__b)&&p(t);try{e:if("function"==typeof N){if(O=t.props,S=(p=N.contextType)&&r[p.__c],E=p?S?S.props.value:p.__:r,a.__c?w=(h=t.__c=a.__c).__=h.__E:("prototype"in N&&N.prototype.render?t.__c=h=new N(O,E):(t.__c=h=new v(O,E),h.constructor=N,h.render=P),S&&S.sub(h),h.props=O,h.state||(h.state={}),h.context=E,h.__n=r,y=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=N.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=u({},h.__s)),u(h.__s,N.getDerivedStateFromProps(O,h.__s))),g=h.props,b=h.state,y)null==N.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==N.getDerivedStateFromProps&&O!==g&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(O,E),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(O,h.__s,E)||t.__v===a.__v){h.props=O,h.state=h.__s,t.__v!==a.__v&&(h.__d=!1),h.__v=t,t.__e=a.__e,t.__k=a.__k,h.__h.length&&s.push(h),C(t,f,n);break e}null!=h.componentWillUpdate&&h.componentWillUpdate(O,h.__s,E),null!=h.componentDidUpdate&&h.__h.push((function(){h.componentDidUpdate(g,b,k)}))}h.context=E,h.props=O,h.state=h.__s,(p=e.__r)&&p(t),h.__d=!1,h.__v=t,h.__P=n,p=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(r=u(u({},r),h.getChildContext())),y||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(g,b)),A=null!=p&&p.type==m&&null==p.key?p.props.children:p,_(n,Array.isArray(A)?A:[A],t,a,r,o,i,s,f,d),h.base=t.__e,h.__h.length&&s.push(h),w&&(h.__E=h.__=null),h.__e=!1}else null==i&&t.__v===a.__v?(t.__k=a.__k,t.__e=a.__e):t.__e=function(e,n,t,a,r,o,i,s){var u,f,d,p,m,v=t.props,h=n.props;if(r="svg"===n.type||r,null!=o)for(u=0;u3)for(t=[t],o=3;oe.length)&&(n=e.length);for(var t=0,a=new Array(n);t0;)n+=We[62*Math.random()|0];return n}function qe(e){for(var n=[],t=(e||[]).length>>>0;t--;)n[t]=e[t];return n}function $e(e){return e.classList?qe(e.classList):(e.getAttribute("class")||"").split(" ").filter((function(e){return e}))}function Be(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Xe(e){return Object.keys(e||{}).reduce((function(n,t){return n+"".concat(t,": ").concat(e[t].trim(),";")}),"")}function Ge(e){return e.size!==Ke.size||e.x!==Ke.x||e.y!==Ke.y||e.rotate!==Ke.rotate||e.flipX||e.flipY}var Qe=':root, :host {\n --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid";\n --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular";\n --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light";\n --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin";\n --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\n --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";\n --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-counter-scale, 0.25));\n transform: scale(var(--fa-counter-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(var(--fa-li-width, 2em) * -1);\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n -webkit-animation-name: fa-beat;\n animation-name: fa-beat;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n -webkit-animation-name: fa-bounce;\n animation-name: fa-bounce;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n -webkit-animation-name: fa-fade;\n animation-name: fa-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n -webkit-animation-name: fa-beat-fade;\n animation-name: fa-beat-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n -webkit-animation-name: fa-flip;\n animation-name: fa-flip;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n -webkit-animation-name: fa-shake;\n animation-name: fa-shake;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\n animation-duration: var(--fa-animation-duration, 2s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n -webkit-animation-delay: -1ms;\n animation-delay: -1ms;\n -webkit-animation-duration: 1ms;\n animation-duration: 1ms;\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n -webkit-transition-delay: 0s;\n transition-delay: 0s;\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n}\n@-webkit-keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@-webkit-keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@-webkit-keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@-webkit-keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@-webkit-keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@-webkit-keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\n transform: rotate(var(--fa-rotate-angle, none));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse,\n.fa-duotone.fa-inverse {\n color: var(--fa-inverse, #fff);\n}';function Je(){var e=le,n=se,t=Ue.cssPrefix,a=Ue.replacementClass,r=Qe;if(t!==e||a!==n){var o=new RegExp("\\.".concat(e,"\\-"),"g"),i=new RegExp("\\--".concat(e,"\\-"),"g"),c=new RegExp("\\.".concat(n),"g");r=r.replace(o,".".concat(t,"-")).replace(i,"--".concat(t,"-")).replace(c,".".concat(a))}return r}var Ze=!1;function en(){Ue.autoAddCss&&!Ze&&(!function(e){if(e&&re){var n=G.createElement("style");n.setAttribute("type","text/css"),n.innerHTML=e;for(var t=G.head.childNodes,a=null,r=t.length-1;r>-1;r--){var o=t[r],i=(o.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(i)>-1&&(a=o)}G.head.insertBefore(n,a)}}(Je()),Ze=!0)}var nn={mixout:function(){return{dom:{css:Je,insertCss:en}}},hooks:function(){return{beforeDOMElementCreation:function(){en()},beforeI2svg:function(){en()}}}},tn=X||{};tn[ie]||(tn[ie]={}),tn[ie].styles||(tn[ie].styles={}),tn[ie].hooks||(tn[ie].hooks={}),tn[ie].shims||(tn[ie].shims=[]);var an=tn[ie],rn=[],on=!1;function cn(e){var n=e.tag,t=e.attributes,a=void 0===t?{}:t,r=e.children,o=void 0===r?[]:r;return"string"==typeof e?Be(e):"<".concat(n," ").concat(function(e){return Object.keys(e||{}).reduce((function(n,t){return n+"".concat(t,'="').concat(Be(e[t]),'" ')}),"").trim()}(a),">").concat(o.map(cn).join(""),"")}function ln(e,n,t){if(e&&e[n]&&e[n][t])return{prefix:n,iconName:t,icon:e[n][t]}}re&&((on=(G.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(G.readyState))||G.addEventListener("DOMContentLoaded",(function e(){G.removeEventListener("DOMContentLoaded",e),on=1,rn.map((function(e){return e()}))})));var sn,un,fn,dn=function(e,n,t,a){var r,o,i,c=Object.keys(e),l=c.length,s=void 0!==a?function(e,n){return function(t,a,r,o){return e.call(n,t,a,r,o)}}(n,a):n;for(void 0===t?(r=1,i=e[c[0]]):(r=0,i=t);r=55296&&r<=56319&&t2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,a=void 0!==t&&t,r=mn(n);"function"!=typeof an.hooks.addPack||a?an.styles[e]=L(L({},an.styles[e]||{}),r):an.hooks.addPack(e,mn(n)),"fas"===e&&vn("fa",n)}var hn=an.styles,yn=an.shims,gn=(I(sn={},be,Object.values(Ce[be])),I(sn,_e,Object.values(Ce[_e])),sn),bn=null,_n={},kn={},wn={},xn={},On={},Cn=(I(un={},be,Object.keys(xe[be])),I(un,_e,Object.keys(xe[_e])),un);function Sn(e,n){var t,a=n.split("-"),r=a[0],o=a.slice(1).join("-");return r!==e||""===o||(t=o,~Re.indexOf(t))?null:o}var En,An=function(){var e=function(e){return dn(hn,(function(n,t,a){return n[a]=dn(t,e,{}),n}),{})};_n=e((function(e,n,t){if(n[3]&&(e[n[3]]=t),n[2]){var a=n[2].filter((function(e){return"number"==typeof e}));a.forEach((function(n){e[n.toString(16)]=t}))}return e})),kn=e((function(e,n,t){if(e[t]=t,n[2]){var a=n[2].filter((function(e){return"string"==typeof e}));a.forEach((function(n){e[n]=t}))}return e})),On=e((function(e,n,t){var a=n[2];return e[t]=t,a.forEach((function(n){e[n]=t})),e}));var n="far"in hn||Ue.autoFetchSvg,t=dn(yn,(function(e,t){var a=t[0],r=t[1],o=t[2];return"far"!==r||n||(r="fas"),"string"==typeof a&&(e.names[a]={prefix:r,iconName:o}),"number"==typeof a&&(e.unicodes[a.toString(16)]={prefix:r,iconName:o}),e}),{names:{},unicodes:{}});wn=t.names,xn=t.unicodes,bn=Ln(Ue.styleDefault,{family:Ue.familyDefault})};function Nn(e,n){return(_n[e]||{})[n]}function Pn(e,n){return(On[e]||{})[n]}function Mn(e){return wn[e]||{prefix:null,iconName:null}}function jn(){return bn}En=function(e){bn=Ln(e.styleDefault,{family:Ue.familyDefault})},Ve.push(En),An();var Tn=function(){return{prefix:null,iconName:null,rest:[]}};function Ln(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).family,t=void 0===n?be:n,a=xe[t][e],r=Oe[t][e]||Oe[t][a],o=e in an.styles?e:null;return r||o||null}var zn=(I(fn={},be,Object.keys(Ce[be])),I(fn,_e,Object.keys(Ce[_e])),fn);function Rn(e){var n,t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).skipLookups,a=void 0!==t&&t,r=(I(n={},be,"".concat(Ue.cssPrefix,"-").concat(be)),I(n,_e,"".concat(Ue.cssPrefix,"-").concat(_e)),n),o=null,i=be;(e.includes(r[be])||e.some((function(e){return zn[be].includes(e)})))&&(i=be),(e.includes(r[_e])||e.some((function(e){return zn[_e].includes(e)})))&&(i=_e);var c=e.reduce((function(e,n){var t=Sn(Ue.cssPrefix,n);if(hn[n]?(n=gn[i].includes(n)?Se[i][n]:n,o=n,e.prefix=n):Cn[i].indexOf(n)>-1?(o=n,e.prefix=Ln(n,{family:i})):t?e.iconName=t:n!==Ue.replacementClass&&n!==r[be]&&n!==r[_e]&&e.rest.push(n),!a&&e.prefix&&e.iconName){var c="fa"===o?Mn(e.iconName):{},l=Pn(e.prefix,e.iconName);c.prefix&&(o=null),e.iconName=c.iconName||l||e.iconName,e.prefix=c.prefix||e.prefix,"far"!==e.prefix||hn.far||!hn.fas||Ue.autoFetchSvg||(e.prefix="fas")}return e}),Tn());return(e.includes("fa-brands")||e.includes("fab"))&&(c.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(c.prefix="fad"),c.prefix||i!==_e||!hn.fass&&!Ue.autoFetchSvg||(c.prefix="fass",c.iconName=Pn(c.prefix,c.iconName)||c.iconName),"fa"!==c.prefix&&"fa"!==o||(c.prefix=jn()||"fas"),c}var In=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var n,t,a;return n=e,t=[{key:"add",value:function(){for(var e=this,n=arguments.length,t=new Array(n),a=0;a0&&c.forEach((function(n){"string"==typeof n&&(e[r][n]=i)})),e[r][o]=i})),e}}],t&&R(n.prototype,t),a&&R(n,a),Object.defineProperty(n,"prototype",{writable:!1}),e}(),Dn=[],Hn={},Un={},Vn=Object.keys(Un);function Fn(e,n){for(var t=arguments.length,a=new Array(t>2?t-2:0),r=2;r1?n-1:0),a=1;a0&&void 0!==arguments[0]?arguments[0]:{};return re?(Kn("beforeI2svg",e),Wn("pseudoElements2svg",e),Wn("i2svg",e)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=n.autoReplaceSvgRoot;!1===Ue.autoReplaceSvg&&(Ue.autoReplaceSvg=!0),Ue.observeMutations=!0,e=function(){Xn({autoReplaceSvgRoot:t}),Kn("watch",n)},re&&(on?setTimeout(e,0):rn.push(e))}},Bn={noAuto:function(){Ue.autoReplaceSvg=!1,Ue.observeMutations=!1,Kn("noAuto")},config:Ue,dom:$n,parse:{icon:function(e){if(null===e)return null;if("object"===z(e)&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:Pn(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&2===e.length){var n=0===e[1].indexOf("fa-")?e[1].slice(3):e[1],t=Ln(e[0]);return{prefix:t,iconName:Pn(t,n)||n}}if("string"==typeof e&&(e.indexOf("".concat(Ue.cssPrefix,"-"))>-1||e.match(Ee))){var a=Rn(e.split(" "),{skipLookups:!0});return{prefix:a.prefix||jn(),iconName:Pn(a.prefix,a.iconName)||a.iconName}}if("string"==typeof e){var r=jn();return{prefix:r,iconName:Pn(r,e)||e}}}},library:qn,findIconDefinition:Yn,toHtml:cn},Xn=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).autoReplaceSvgRoot,n=void 0===e?G:e;(Object.keys(an.styles).length>0||Ue.autoFetchSvg)&&re&&Ue.autoReplaceSvg&&Bn.dom.i2svg({node:n})};function Gn(e,n){return Object.defineProperty(e,"abstract",{get:n}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return cn(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(re){var n=G.createElement("div");return n.innerHTML=e.html,n.children}}}),e}function Qn(e){var n=e.icons,t=n.main,a=n.mask,r=e.prefix,o=e.iconName,i=e.transform,c=e.symbol,l=e.title,s=e.maskId,u=e.titleId,f=e.extra,d=e.watchable,p=void 0!==d&&d,m=a.found?a:t,v=m.width,h=m.height,y="fak"===r,g=[Ue.replacementClass,o?"".concat(Ue.cssPrefix,"-").concat(o):""].filter((function(e){return-1===f.classes.indexOf(e)})).filter((function(e){return""!==e||!!e})).concat(f.classes).join(" "),b={children:[],attributes:L(L({},f.attributes),{},{"data-prefix":r,"data-icon":o,class:g,role:f.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(v," ").concat(h)})},_=y&&!~f.classes.indexOf("fa-fw")?{width:"".concat(v/h*16*.0625,"em")}:{};p&&(b.attributes[ue]=""),l&&(b.children.push({tag:"title",attributes:{id:b.attributes["aria-labelledby"]||"title-".concat(u||Ye())},children:[l]}),delete b.attributes.title);var k=L(L({},b),{},{prefix:r,iconName:o,main:t,mask:a,maskId:s,transform:i,symbol:c,styles:L(L({},_),f.styles)}),w=a.found&&t.found?Wn("generateAbstractMask",k)||{children:[],attributes:{}}:Wn("generateAbstractIcon",k)||{children:[],attributes:{}},x=w.children,O=w.attributes;return k.children=x,k.attributes=O,c?function(e){var n=e.prefix,t=e.iconName,a=e.children,r=e.attributes,o=e.symbol,i=!0===o?"".concat(n,"-").concat(Ue.cssPrefix,"-").concat(t):o;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:L(L({},r),{},{id:i}),children:a}]}]}(k):function(e){var n=e.children,t=e.main,a=e.mask,r=e.attributes,o=e.styles,i=e.transform;if(Ge(i)&&t.found&&!a.found){var c={x:t.width/t.height/2,y:.5};r.style=Xe(L(L({},o),{},{"transform-origin":"".concat(c.x+i.x/16,"em ").concat(c.y+i.y/16,"em")}))}return[{tag:"svg",attributes:r,children:n}]}(k)}function Jn(e){var n=e.content,t=e.width,a=e.height,r=e.transform,o=e.title,i=e.extra,c=e.watchable,l=void 0!==c&&c,s=L(L(L({},i.attributes),o?{title:o}:{}),{},{class:i.classes.join(" ")});l&&(s[ue]="");var u=L({},i.styles);Ge(r)&&(u.transform=function(e){var n=e.transform,t=e.width,a=void 0===t?ce:t,r=e.height,o=void 0===r?ce:r,i=e.startCentered,c=void 0!==i&&i,l="";return l+=c&&oe?"translate(".concat(n.x/Fe-a/2,"em, ").concat(n.y/Fe-o/2,"em) "):c?"translate(calc(-50% + ".concat(n.x/Fe,"em), calc(-50% + ").concat(n.y/Fe,"em)) "):"translate(".concat(n.x/Fe,"em, ").concat(n.y/Fe,"em) "),l+="scale(".concat(n.size/Fe*(n.flipX?-1:1),", ").concat(n.size/Fe*(n.flipY?-1:1),") "),l+"rotate(".concat(n.rotate,"deg) ")}({transform:r,startCentered:!0,width:t,height:a}),u["-webkit-transform"]=u.transform);var f=Xe(u);f.length>0&&(s.style=f);var d=[];return d.push({tag:"span",attributes:s,children:[n]}),o&&d.push({tag:"span",attributes:{class:"sr-only"},children:[o]}),d}var Zn=an.styles;function et(e){var n=e[0],t=e[1],a=D(e.slice(4),1)[0];return{found:!0,width:n,height:t,icon:Array.isArray(a)?{tag:"g",attributes:{class:"".concat(Ue.cssPrefix,"-").concat(Le.GROUP)},children:[{tag:"path",attributes:{class:"".concat(Ue.cssPrefix,"-").concat(Le.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(Ue.cssPrefix,"-").concat(Le.PRIMARY),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}}}}var nt={found:!1,width:512,height:512};function tt(e,n){var t=n;return"fa"===n&&null!==Ue.styleDefault&&(n=jn()),new Promise((function(a,r){if(Wn("missingIconAbstract"),"fa"===t){var o=Mn(e)||{};e=o.iconName||e,n=o.prefix||n}if(e&&n&&Zn[n]&&Zn[n][e])return a(et(Zn[n][e]));!function(e,n){ge||Ue.showMissingIcons||!e||console.error('Icon with name "'.concat(e,'" and prefix "').concat(n,'" is missing.'))}(e,n),a(L(L({},nt),{},{icon:Ue.showMissingIcons&&e&&Wn("missingIconAbstract")||{}}))}))}var at=function(){},rt=Ue.measurePerformance&&J&&J.mark&&J.measure?J:{mark:at,measure:at},ot='FA "6.4.2"',it=function(e){rt.mark("".concat(ot," ").concat(e," ends")),rt.measure("".concat(ot," ").concat(e),"".concat(ot," ").concat(e," begins"),"".concat(ot," ").concat(e," ends"))},ct={begin:function(e){return rt.mark("".concat(ot," ").concat(e," begins")),function(){return it(e)}},end:it},lt=function(){};function st(e){return"string"==typeof(e.getAttribute?e.getAttribute(ue):null)}function ut(e){return G.createElementNS("http://www.w3.org/2000/svg",e)}function ft(e){return G.createElement(e)}function dt(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).ceFn,t=void 0===n?"svg"===e.tag?ut:ft:n;if("string"==typeof e)return G.createTextNode(e);var a=t(e.tag);return Object.keys(e.attributes||[]).forEach((function(n){a.setAttribute(n,e.attributes[n])})),(e.children||[]).forEach((function(e){a.appendChild(dt(e,{ceFn:t}))})),a}var pt={replace:function(e){var n=e[0];if(n.parentNode)if(e[1].forEach((function(e){n.parentNode.insertBefore(dt(e),n)})),null===n.getAttribute(ue)&&Ue.keepOriginalSource){var t=G.createComment(function(e){var n=" ".concat(e.outerHTML," ");return"".concat(n,"Font Awesome fontawesome.com ")}(n));n.parentNode.replaceChild(t,n)}else n.remove()},nest:function(e){var n=e[0],t=e[1];if(~$e(n).indexOf(Ue.replacementClass))return pt.replace(e);var a=new RegExp("".concat(Ue.cssPrefix,"-.*"));if(delete t[0].attributes.id,t[0].attributes.class){var r=t[0].attributes.class.split(" ").reduce((function(e,n){return n===Ue.replacementClass||n.match(a)?e.toSvg.push(n):e.toNode.push(n),e}),{toNode:[],toSvg:[]});t[0].attributes.class=r.toSvg.join(" "),0===r.toNode.length?n.removeAttribute("class"):n.setAttribute("class",r.toNode.join(" "))}var o=t.map((function(e){return cn(e)})).join("\n");n.setAttribute(ue,""),n.innerHTML=o}};function mt(e){e()}function vt(e,n){var t="function"==typeof n?n:lt;if(0===e.length)t();else{var a=mt;Ue.mutateApproach===he&&(a=X.requestAnimationFrame||mt),a((function(){var n=!0===Ue.autoReplaceSvg?pt.replace:pt[Ue.autoReplaceSvg]||pt.replace,a=ct.begin("mutate");e.map(n),a(),t()}))}}var ht=!1;function yt(){ht=!0}function gt(){ht=!1}var bt=null;function _t(e){if(Q&&Ue.observeMutations){var n=e.treeCallback,t=void 0===n?lt:n,a=e.nodeCallback,r=void 0===a?lt:a,o=e.pseudoElementsCallback,i=void 0===o?lt:o,c=e.observeMutationsRoot,l=void 0===c?G:c;bt=new Q((function(e){if(!ht){var n=jn();qe(e).forEach((function(e){if("childList"===e.type&&e.addedNodes.length>0&&!st(e.addedNodes[0])&&(Ue.searchPseudoElements&&i(e.target),t(e.target)),"attributes"===e.type&&e.target.parentNode&&Ue.searchPseudoElements&&i(e.target.parentNode),"attributes"===e.type&&st(e.target)&&~Te.indexOf(e.attributeName))if("class"===e.attributeName&&function(e){var n=e.getAttribute?e.getAttribute(pe):null,t=e.getAttribute?e.getAttribute(me):null;return n&&t}(e.target)){var a=Rn($e(e.target)),o=a.prefix,c=a.iconName;e.target.setAttribute(pe,o||n),c&&e.target.setAttribute(me,c)}else(l=e.target)&&l.classList&&l.classList.contains&&l.classList.contains(Ue.replacementClass)&&r(e.target);var l}))}})),re&&bt.observe(l,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function kt(e){var n,t,a=e.getAttribute("data-prefix"),r=e.getAttribute("data-icon"),o=void 0!==e.innerText?e.innerText.trim():"",i=Rn($e(e));return i.prefix||(i.prefix=jn()),a&&r&&(i.prefix=a,i.iconName=r),i.iconName&&i.prefix||(i.prefix&&o.length>0&&(i.iconName=(n=i.prefix,t=e.innerText,(kn[n]||{})[t]||Nn(i.prefix,pn(e.innerText)))),!i.iconName&&Ue.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data)),i}function wt(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{styleParser:!0},t=kt(e),a=t.iconName,r=t.prefix,o=t.rest,i=function(e){var n=qe(e.attributes).reduce((function(e,n){return"class"!==e.name&&"style"!==e.name&&(e[n.name]=n.value),e}),{}),t=e.getAttribute("title"),a=e.getAttribute("data-fa-title-id");return Ue.autoA11y&&(t?n["aria-labelledby"]="".concat(Ue.replacementClass,"-title-").concat(a||Ye()):(n["aria-hidden"]="true",n.focusable="false")),n}(e),c=Fn("parseNodeAttributes",{},e),l=n.styleParser?function(e){var n=e.getAttribute("style"),t=[];return n&&(t=n.split(";").reduce((function(e,n){var t=n.split(":"),a=t[0],r=t.slice(1);return a&&r.length>0&&(e[a]=r.join(":").trim()),e}),{})),t}(e):[];return L({iconName:a,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:r,transform:Ke,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:o,styles:l,attributes:i}},c)}var xt=an.styles;function Ot(e){var n="nest"===Ue.autoReplaceSvg?wt(e,{styleParser:!1}):wt(e);return~n.extra.classes.indexOf(Ae)?Wn("generateLayersText",e,n):Wn("generateSvgReplacementMutation",e,n)}var Ct=new Set;function St(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!re)return Promise.resolve();var t=G.documentElement.classList,a=function(e){return t.add("".concat(ve,"-").concat(e))},r=function(e){return t.remove("".concat(ve,"-").concat(e))},o=Ue.autoFetchSvg?Ct:ke.map((function(e){return"fa-".concat(e)})).concat(Object.keys(xt));o.includes("fa")||o.push("fa");var i=[".".concat(Ae,":not([").concat(ue,"])")].concat(o.map((function(e){return".".concat(e,":not([").concat(ue,"])")}))).join(", ");if(0===i.length)return Promise.resolve();var c=[];try{c=qe(e.querySelectorAll(i))}catch(e){}if(!(c.length>0))return Promise.resolve();a("pending"),r("complete");var l=ct.begin("onTree"),s=c.reduce((function(e,n){try{var t=Ot(n);t&&e.push(t)}catch(e){ge||"MissingIcon"===e.name&&console.error(e)}return e}),[]);return new Promise((function(e,t){Promise.all(s).then((function(t){vt(t,(function(){a("active"),a("complete"),r("pending"),"function"==typeof n&&n(),l(),e()}))})).catch((function(e){l(),t(e)}))}))}function Et(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;Ot(e).then((function(e){e&&vt([e],n)}))}ke.map((function(e){Ct.add("fa-".concat(e))})),Object.keys(xe[be]).map(Ct.add.bind(Ct)),Object.keys(xe[_e]).map(Ct.add.bind(Ct)),Ct=H(Ct);var At=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.transform,a=void 0===t?Ke:t,r=n.symbol,o=void 0!==r&&r,i=n.mask,c=void 0===i?null:i,l=n.maskId,s=void 0===l?null:l,u=n.title,f=void 0===u?null:u,d=n.titleId,p=void 0===d?null:d,m=n.classes,v=void 0===m?[]:m,h=n.attributes,y=void 0===h?{}:h,g=n.styles,b=void 0===g?{}:g;if(e){var _=e.prefix,k=e.iconName,w=e.icon;return Gn(L({type:"icon"},e),(function(){return Kn("beforeDOMElementCreation",{iconDefinition:e,params:n}),Ue.autoA11y&&(f?y["aria-labelledby"]="".concat(Ue.replacementClass,"-title-").concat(p||Ye()):(y["aria-hidden"]="true",y.focusable="false")),Qn({icons:{main:et(w),mask:c?et(c.icon):{found:!1,width:null,height:null,icon:{}}},prefix:_,iconName:k,transform:L(L({},Ke),a),symbol:o,title:f,maskId:s,titleId:p,extra:{attributes:y,styles:b,classes:v}})}))}},Nt={mixout:function(){return{icon:(e=At,function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=(n||{}).icon?n:Yn(n||{}),r=t.mask;return r&&(r=(r||{}).icon?r:Yn(r||{})),e(a,L(L({},t),{},{mask:r}))})};var e},hooks:function(){return{mutationObserverCallbacks:function(e){return e.treeCallback=St,e.nodeCallback=Et,e}}},provides:function(e){e.i2svg=function(e){var n=e.node,t=void 0===n?G:n,a=e.callback;return St(t,void 0===a?function(){}:a)},e.generateSvgReplacementMutation=function(e,n){var t=n.iconName,a=n.title,r=n.titleId,o=n.prefix,i=n.transform,c=n.symbol,l=n.mask,s=n.maskId,u=n.extra;return new Promise((function(n,f){Promise.all([tt(t,o),l.iconName?tt(l.iconName,l.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then((function(l){var f=D(l,2),d=f[0],p=f[1];n([e,Qn({icons:{main:d,mask:p},prefix:o,iconName:t,transform:i,symbol:c,maskId:s,title:a,titleId:r,extra:u,watchable:!0})])})).catch(f)}))},e.generateAbstractIcon=function(e){var n,t=e.children,a=e.attributes,r=e.main,o=e.transform,i=Xe(e.styles);return i.length>0&&(a.style=i),Ge(o)&&(n=Wn("generateAbstractTransformGrouping",{main:r,transform:o,containerWidth:r.width,iconWidth:r.width})),t.push(n||r.icon),{children:t,attributes:a}}}},Pt={mixout:function(){return{layer:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.classes,a=void 0===t?[]:t;return Gn({type:"layer"},(function(){Kn("beforeDOMElementCreation",{assembler:e,params:n});var t=[];return e((function(e){Array.isArray(e)?e.map((function(e){t=t.concat(e.abstract)})):t=t.concat(e.abstract)})),[{tag:"span",attributes:{class:["".concat(Ue.cssPrefix,"-layers")].concat(H(a)).join(" ")},children:t}]}))}}}},Mt={mixout:function(){return{counter:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.title,a=void 0===t?null:t,r=n.classes,o=void 0===r?[]:r,i=n.attributes,c=void 0===i?{}:i,l=n.styles,s=void 0===l?{}:l;return Gn({type:"counter",content:e},(function(){return Kn("beforeDOMElementCreation",{content:e,params:n}),function(e){var n=e.content,t=e.title,a=e.extra,r=L(L(L({},a.attributes),t?{title:t}:{}),{},{class:a.classes.join(" ")}),o=Xe(a.styles);o.length>0&&(r.style=o);var i=[];return i.push({tag:"span",attributes:r,children:[n]}),t&&i.push({tag:"span",attributes:{class:"sr-only"},children:[t]}),i}({content:e.toString(),title:a,extra:{attributes:c,styles:s,classes:["".concat(Ue.cssPrefix,"-layers-counter")].concat(H(o))}})}))}}}},jt={mixout:function(){return{text:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.transform,a=void 0===t?Ke:t,r=n.title,o=void 0===r?null:r,i=n.classes,c=void 0===i?[]:i,l=n.attributes,s=void 0===l?{}:l,u=n.styles,f=void 0===u?{}:u;return Gn({type:"text",content:e},(function(){return Kn("beforeDOMElementCreation",{content:e,params:n}),Jn({content:e,transform:L(L({},Ke),a),title:o,extra:{attributes:s,styles:f,classes:["".concat(Ue.cssPrefix,"-layers-text")].concat(H(c))}})}))}}},provides:function(e){e.generateLayersText=function(e,n){var t=n.title,a=n.transform,r=n.extra,o=null,i=null;if(oe){var c=parseInt(getComputedStyle(e).fontSize,10),l=e.getBoundingClientRect();o=l.width/c,i=l.height/c}return Ue.autoA11y&&!t&&(r.attributes["aria-hidden"]="true"),Promise.resolve([e,Jn({content:e.innerHTML,width:o,height:i,transform:a,title:t,extra:r,watchable:!0})])}}},Tt=new RegExp('"',"ug"),Lt=[1105920,1112319];function zt(e,n){var t="".concat(de).concat(n.replace(":","-"));return new Promise((function(a,r){if(null!==e.getAttribute(t))return a();var o,i,c,l=qe(e.children).filter((function(e){return e.getAttribute(fe)===n}))[0],s=X.getComputedStyle(e,n),u=s.getPropertyValue("font-family").match(Ne),f=s.getPropertyValue("font-weight"),d=s.getPropertyValue("content");if(l&&!u)return e.removeChild(l),a();if(u&&"none"!==d&&""!==d){var p=s.getPropertyValue("content"),m=~["Sharp"].indexOf(u[2])?_e:be,v=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(u[2])?Oe[m][u[2].toLowerCase()]:Pe[m][f],h=function(e){var n,t,a,r,o,i=e.replace(Tt,""),c=(t=0,r=(n=i).length,(o=n.charCodeAt(t))>=55296&&o<=56319&&r>t+1&&(a=n.charCodeAt(t+1))>=56320&&a<=57343?1024*(o-55296)+a-56320+65536:o),l=c>=Lt[0]&&c<=Lt[1],s=2===i.length&&i[0]===i[1];return{value:pn(s?i[0]:i),isSecondary:l||s}}(p),y=h.value,g=h.isSecondary,b=u[0].startsWith("FontAwesome"),_=Nn(v,y),k=_;if(b){var w=(i=xn[o=y],c=Nn("fas",o),i||(c?{prefix:"fas",iconName:c}:null)||{prefix:null,iconName:null});w.iconName&&w.prefix&&(_=w.iconName,v=w.prefix)}if(!_||g||l&&l.getAttribute(pe)===v&&l.getAttribute(me)===k)a();else{e.setAttribute(t,k),l&&e.removeChild(l);var x={iconName:null,title:null,titleId:null,prefix:null,transform:Ke,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}},O=x.extra;O.attributes[fe]=n,tt(_,v).then((function(r){var o=Qn(L(L({},x),{},{icons:{main:r,mask:Tn()},prefix:v,iconName:k,extra:O,watchable:!0})),i=G.createElementNS("http://www.w3.org/2000/svg","svg");"::before"===n?e.insertBefore(i,e.firstChild):e.appendChild(i),i.outerHTML=o.map((function(e){return cn(e)})).join("\n"),e.removeAttribute(t),a()})).catch(r)}}else a()}))}function Rt(e){return Promise.all([zt(e,"::before"),zt(e,"::after")])}function It(e){return!(e.parentNode===document.head||~ye.indexOf(e.tagName.toUpperCase())||e.getAttribute(fe)||e.parentNode&&"svg"===e.parentNode.tagName)}function Dt(e){if(re)return new Promise((function(n,t){var a=qe(e.querySelectorAll("*")).filter(It).map(Rt),r=ct.begin("searchPseudoElements");yt(),Promise.all(a).then((function(){r(),gt(),n()})).catch((function(){r(),gt(),t()}))}))}var Ht=!1,Ut=function(e){return e.toLowerCase().split(" ").reduce((function(e,n){var t=n.toLowerCase().split("-"),a=t[0],r=t.slice(1).join("-");if(a&&"h"===r)return e.flipX=!0,e;if(a&&"v"===r)return e.flipY=!0,e;if(r=parseFloat(r),isNaN(r))return e;switch(a){case"grow":e.size=e.size+r;break;case"shrink":e.size=e.size-r;break;case"left":e.x=e.x-r;break;case"right":e.x=e.x+r;break;case"up":e.y=e.y-r;break;case"down":e.y=e.y+r;break;case"rotate":e.rotate=e.rotate+r}return e}),{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},Vt={mixout:function(){return{parse:{transform:function(e){return Ut(e)}}}},hooks:function(){return{parseNodeAttributes:function(e,n){var t=n.getAttribute("data-fa-transform");return t&&(e.transform=Ut(t)),e}}},provides:function(e){e.generateAbstractTransformGrouping=function(e){var n=e.main,t=e.transform,a=e.containerWidth,r=e.iconWidth,o={transform:"translate(".concat(a/2," 256)")},i="translate(".concat(32*t.x,", ").concat(32*t.y,") "),c="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),l="rotate(".concat(t.rotate," 0 0)"),s={outer:o,inner:{transform:"".concat(i," ").concat(c," ").concat(l)},path:{transform:"translate(".concat(r/2*-1," -256)")}};return{tag:"g",attributes:L({},s.outer),children:[{tag:"g",attributes:L({},s.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:L(L({},n.icon.attributes),s.path)}]}]}}}},Ft={x:0,y:0,width:"100%",height:"100%"};function Kt(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||n)&&(e.attributes.fill="black"),e}var Wt={hooks:function(){return{parseNodeAttributes:function(e,n){var t=n.getAttribute("data-fa-mask"),a=t?Rn(t.split(" ").map((function(e){return e.trim()}))):Tn();return a.prefix||(a.prefix=jn()),e.mask=a,e.maskId=n.getAttribute("data-fa-mask-id"),e}}},provides:function(e){e.generateAbstractMask=function(e){var n,t=e.children,a=e.attributes,r=e.main,o=e.mask,i=e.maskId,c=e.transform,l=r.width,s=r.icon,u=o.width,f=o.icon,d=function(e){var n=e.transform,t=e.containerWidth,a=e.iconWidth,r={transform:"translate(".concat(t/2," 256)")},o="translate(".concat(32*n.x,", ").concat(32*n.y,") "),i="scale(".concat(n.size/16*(n.flipX?-1:1),", ").concat(n.size/16*(n.flipY?-1:1),") "),c="rotate(".concat(n.rotate," 0 0)");return{outer:r,inner:{transform:"".concat(o," ").concat(i," ").concat(c)},path:{transform:"translate(".concat(a/2*-1," -256)")}}}({transform:c,containerWidth:u,iconWidth:l}),p={tag:"rect",attributes:L(L({},Ft),{},{fill:"white"})},m=s.children?{children:s.children.map(Kt)}:{},v={tag:"g",attributes:L({},d.inner),children:[Kt(L({tag:s.tag,attributes:L(L({},s.attributes),d.path)},m))]},h={tag:"g",attributes:L({},d.outer),children:[v]},y="mask-".concat(i||Ye()),g="clip-".concat(i||Ye()),b={tag:"mask",attributes:L(L({},Ft),{},{id:y,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,h]},_={tag:"defs",children:[{tag:"clipPath",attributes:{id:g},children:(n=f,"g"===n.tag?n.children:[n])},b]};return t.push(_,{tag:"rect",attributes:L({fill:"currentColor","clip-path":"url(#".concat(g,")"),mask:"url(#".concat(y,")")},Ft)}),{children:t,attributes:a}}}},Yt={provides:function(e){var n=!1;X.matchMedia&&(n=X.matchMedia("(prefers-reduced-motion: reduce)").matches),e.missingIconAbstract=function(){var e=[],t={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};e.push({tag:"path",attributes:L(L({},t),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var r=L(L({},a),{},{attributeName:"opacity"}),o={tag:"circle",attributes:L(L({},t),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||o.children.push({tag:"animate",attributes:L(L({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:L(L({},r),{},{values:"1;0;1;1;0;1;"})}),e.push(o),e.push({tag:"path",attributes:L(L({},t),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:n?[]:[{tag:"animate",attributes:L(L({},r),{},{values:"1;0;0;0;0;1;"})}]}),n||e.push({tag:"path",attributes:L(L({},t),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:L(L({},r),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:e}}}};!function(e,n){var t=n.mixoutsTo;Dn=e,Hn={},Object.keys(Un).forEach((function(e){-1===Vn.indexOf(e)&&delete Un[e]})),Dn.forEach((function(e){var n=e.mixout?e.mixout():{};if(Object.keys(n).forEach((function(e){"function"==typeof n[e]&&(t[e]=n[e]),"object"===z(n[e])&&Object.keys(n[e]).forEach((function(a){t[e]||(t[e]={}),t[e][a]=n[e][a]}))})),e.hooks){var a=e.hooks();Object.keys(a).forEach((function(e){Hn[e]||(Hn[e]=[]),Hn[e].push(a[e])}))}e.provides&&e.provides(Un)}))}([nn,Nt,Pt,Mt,jt,{hooks:function(){return{mutationObserverCallbacks:function(e){return e.pseudoElementsCallback=Dt,e}}},provides:function(e){e.pseudoElements2svg=function(e){var n=e.node,t=void 0===n?G:n;Ue.searchPseudoElements&&Dt(t)}}},{mixout:function(){return{dom:{unwatch:function(){yt(),Ht=!0}}}},hooks:function(){return{bootstrap:function(){_t(Fn("mutationObserverCallbacks",{}))},noAuto:function(){bt&&bt.disconnect()},watch:function(e){var n=e.observeMutationsRoot;Ht?gt():_t(Fn("mutationObserverCallbacks",{observeMutationsRoot:n}))}}}},Vt,Wt,Yt,{hooks:function(){return{parseNodeAttributes:function(e,n){var t=n.getAttribute("data-fa-symbol"),a=null!==t&&(""===t||t);return e.symbol=a,e}}}}],{mixoutsTo:Bn});var qt=Bn.config,$t=Bn.library,Bt=Bn.parse,Xt=Bn.icon,Gt={prefix:"fas",iconName:"gear",icon:[512,512,[9881,"cog"],"f013","M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"]},Qt={prefix:"far",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 408c30.9 0 56-25.1 56-56c0-14-5.1-26.8-13.7-36.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L254.4 296c-30.2 .8-54.4 25.6-54.4 56c0 30.9 25.1 56 56 56zM192 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM112 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm320-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]};const Jt=()=>{},Zt=e=>"number"==typeof e&&Number.isFinite(e),ea=e=>"string"==typeof e,na=Array.isArray,ta=e=>"object"==typeof e&&!!e&&!na(e),aa=e=>"function"==typeof e,ra=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),oa=e=>{for(let n in e)if(ra(e,n))return!1;return!0},ia=(e,n)=>e>n,ca=(e,n)=>((e,n,t)=>{let a,r;if(na(e))for(let o=0,i=e.length;o{let n=null;if("/"===e.charAt(0)&&("/"===e.charAt(1)?e=`https://${e}`:n=e),null===n)try{n=new URL(e).pathname}catch(t){n=e}return n},sa=e=>`__duo-toolbox__-${e}`,ua=sa("global_variables"),fa=(e,n)=>(ta(window[ua])||(window[ua]={}),ra(window[ua],e)?window[ua][e]:n),da=(e,n)=>{ta(window[ua])||(window[ua]={}),window[ua][e]=n},pa=(e,n,t)=>{const a=n(fa(e,t));return da(e,a),a},ma=e=>pa(`__counter::${e}__`,(e=>e+1),0),va=(e,n,t,a,r=1)=>{ra(window,e)&&n(window[e])?t(window[e]):pa("pending_global_listeners",((o={})=>{var i;if(!o[e]){o[e]={};let t=window[e];Object.defineProperty(window,e,{get:()=>t,set:a=>{n(a)?(Object.defineProperty(window,e,{value:a,configurable:!0,enumerable:!0,writable:!0}),Object.values(o[e]).forEach((e=>e.callback(a)))):t=a},configurable:!0})}return r>(Number(null===(i=o[e][a])||void 0===i?void 0:i.version)||0)&&(o[e][a]={callback:t,version:r}),o}))},ha=sa("original_function"),ya=sa("override_version"),ga=(e,n,t,a=1)=>{var r;if(ta(e)&&a>(Number(null===(r=e[n])||void 0===r?void 0:r[ya])||0)){var o;const r=(null===(o=e[n])||void 0===o?void 0:o[ha])||e[n]||Jt;e[n]=t(r),e[n][ha]=r,e[n][ya]=a}},ba=(e,n,t,a=1)=>va(e,aa,(e=>ga(null==e?void 0:e.prototype,n,t,a)),`instance_method:${n}`,a),_a=sa("logging_iframe"),ka=e=>{e.preventDefault(),e.stopPropagation()},wa=()=>document.activeElement&&["input","select","textarea"].indexOf(document.activeElement.tagName.toLowerCase())>=0?document.activeElement:null,xa=()=>(()=>{let e=document.getElementById(_a);return e&&e.isConnected||(e=document.createElement("iframe"),e.id=_a,e.style.display="none",document.body.appendChild(e)),e})().contentWindow.console,Oa=(...e)=>xa().error(...e),Ca=["characterIntro","characterMatch","characterPuzzle","characterSelect","characterTrace","selectPronunciation","selectTranscription"],Sa=e=>{var n,t;return(null===(n=e.metadata)||void 0===n?void 0:n.source_language)||e.sourceLanguage||(null===(t=e.metadata)||void 0===t?void 0:t.learning_language)},Ea=e=>{var n;return(null===(n=e.metadata)||void 0===n?void 0:n.target_language)||e.targetLanguage||Sa(e)},Aa=Number.MAX_SAFE_INTEGER,Na=Math.round(Aa/4),Pa=Math.round(2*Na),Ma=Math.round(3*Na),ja="effect",Ta="tts_sentence",La="tts_word",za="tts_morpheme",Ra="unknown",Ia="normal",Da="slow",Ha="audio",Ua="howler",Va=[Ha,Ua],Fa="rate",Ka="volume",Wa=sa("forced_setting"),Ya=e=>ta(e)&&!!e[Wa],qa=e=>e.value,$a=e=>({[Wa]:!0,value:e}),Ba=(e,n)=>((e,n,t,a=1)=>{if(!ta(e))return;const r=sa(`${n}_override_version`);a>(Number(e[r])||0)&&Object.defineProperty(e,n,t(Object.getOwnPropertyDescriptor(e,n)))})(HTMLMediaElement,n,(n=>({...n,set:function(t){const a=Qa[e];Zt(t)?(this[a.originalValueKey]=t,ra(this,a.valueKey)&&(t=this[a.isRelativeKey]?Za(e,t*this[a.valueKey]):this[a.valueKey])):Ya(t)&&(t=qa(t)),Zt(t)&&(this[a.listenerValueKey]=t),n.set.call(this,t)}}))),Xa=(e,n)=>ba("Howl",n,(t=>function(){const a=this,r=arguments,o=Qa[e];let i=!1;const c=a._queue.length;(1===r.length||2===r.length&&void 0===r[1])&&-1===a._getSoundIds().indexOf(r[0])&&(Ya(r[0])?(i=!0,r[0]=qa(r[0])):((e,n)=>Fa===e&&Zt(n)||Ka===e&&n>=0&&n<=1)(e,r[0])&&(a[o.originalValueKey]=r[0],ra(a,o.valueKey)&&(i=!0,a[o.isRelativeKey]?r[0]=Za(e,r[0]*a[o.valueKey]):r[0]=a[o.valueKey])),i&&(a[o.listenerValueKey]=r[0]));const l=t.apply(a,arguments);return i&&c({...a,functions:{[Ha]:{applyOverride:()=>Ba(e,t),getter:e=>e[n],setter:(e,t)=>e[n]=t,hasQueuedUpdate:()=>!1},[Ua]:{applyOverride:()=>Xa(e,t),getter:e=>e[t](),setter:(e,n)=>e[t](n),hasQueuedUpdate:e=>e._queue.find((e=>e.event===t))}},priorityKey:sa(`${e}_priority`),isRelativeKey:sa(`${e}_is_relative`),valueKey:sa(`forced_${e}_value`),originalValueKey:sa(`original_${e}_value`),listenerValueKey:sa(`${e}_value`)}),Qa={[Fa]:Ga(Fa,"playbackRate","rate",{minValue:.5,maxValue:4,defaultValue:1}),[Ka]:Ga(Ka,"volume","volume",{minValue:0,maxValue:1,defaultValue:1})},Ja=e=>{const n=Qa[e];if(!n)throw new Error(`Unknown sound setting: "${e}".`);return n},Za=(e,n)=>Qa[e]?Math.max(Qa[e].minValue,Math.min(n,Qa[e].maxValue)):n,er=(e,n,t,a,r=!1,o=1)=>{const i=Ja(e);if(o>=(Number(t[i.priorityKey])||0)){const c=Za(e,n),l=((e,n)=>{if(-1===Va.indexOf(n))throw new Error(`Unknown sound playback strategy: "${n}".`);return Ja(e).functions[n]})(e,a);l.applyOverride(),t[i.valueKey]=c,t[i.priorityKey]=o,t[i.isRelativeKey]=r,ra(t,i.originalValueKey)||(t[i.originalValueKey]=l.getter(t)),l.hasQueuedUpdate(t)||l.setter(t,$a(Za(e,c*(r?t[i.originalValueKey]:1))))}},nr=(e,n)=>Ha===n?e.currentTime:(e=>{if("loaded"!==e.state())return 0;const n=!!e._playLock;let t;n&&(e._playLock=!1);const a=e._getSoundIds();for(let n=0;n`__listener::${ma("last_event_listener_id")}__`,rr=e=>{var n;return(null===(n=fa(tr,{}))||void 0===n?void 0:n[e])||{}},or=(e,n)=>{pa(tr,(t=>Object.assign(t||{},{[e]:n})))},ir=e=>!oa(rr(e)),cr=(e,n)=>{const t=rr(e);return oa(t)?null:n(Object.values(t))},lr=(e,n,t=ar())=>{const a=rr(e);return a[t]=n,or(e,a),()=>ur(e,t)},sr=(e,n,t,a,r=lr,o=ar())=>{const i=`__${n}::${e}__`;var c;c=i,rr(n)[c]||r(n,((...n)=>{const t=a(...n);na(t)&&fr(e,...t)}),i);const l=lr(e,t,o);return()=>{l(),ir(e)||ur(n,i)}},ur=(e,n)=>{const t=rr(e);delete t[n],or(e,t)},fr=(e,...n)=>cr(e,(e=>e.flatMap((e=>{try{return[e(...n)]}catch(e){return[]}})))),dr="practice_session_loaded",pr="practice_challenges_loaded",mr="pre_fetched_session_loaded",vr="story_loaded",hr="alphabets_loaded",yr="alphabet_hints_loaded",gr="forum_discussion_loaded",br="guidebook_loaded",_r="sound_initialized",kr="sound_playback_requested",wr="sound_playback_confirmed",xr="sound_playback_cancelled",Or={[hr]:/\/[\d]{4}-[\d]{2}-[\d]{2}\/alphabets\/courses\/(?[^/]+)\/(?[^/?]+)\/?/g,[gr]:/\/comments\/([\d]+)/g,[br]:/\/guidebook\/compiled\/(?[^/]+)\/(?[^/]+)\/?/g,[dr]:/\/[\d]{4}-[\d]{2}-[\d]{2}\/sessions/g,[vr]:/\/api2\/stories/g,user_data_loaded:/\/[\d]{4}-[\d]{2}-[\d]{2}\/users\/[\d]+/g},Cr="http_request_url_event_map",Sr=()=>{let e=fa(Cr);return e instanceof Map||(e=new Map,Object.entries(Or).forEach((([n,t])=>{e.set(t,{eventType:n,urlRegExp:t,requestData:{}})})),da(Cr,e)),e},Er=e=>{let n,t;const a=Sr();for(const r of a.values()){const a=Array.from(e.matchAll(r.urlRegExp))[0];if(a){n=r.eventType,t={...r.requestData,...a.groups||{}};break}}return n?{eventType:n,requestData:t}:null},Ar=(e,n,t=ar())=>(ba("XMLHttpRequest","open",(e=>function(n,t,a,r,o){const i=Er(t);return i&&cr(i.eventType,(e=>{this.addEventListener("load",(()=>{try{const n=ta(this.response)?this.response:JSON.parse(this.responseText);e.forEach((e=>e(n,i.requestData)))}catch(e){Oa(e,`Could not handle the XHR result (event: "${i.eventType}"): `)}}))})),e.call(this,n,t,a,r,o)}),3),((e,n,t=1)=>{va(e,aa,(()=>ga(window,e,n,t)),"global",t)})("fetch",(e=>function(n,t){const a=n instanceof Request?n.url:String(n);let r=null;const o=Er(a);return o&&(r=cr(o.eventType,(e=>n=>{try{e.forEach((e=>e(n,o.requestData)))}catch(e){Oa(e,`Could not handle the fetch result (event: "${o.eventType}"): `)}}))),e.call(this,n,t).then((e=>{if(!r)return e;const n=e.clone();return e.json().then((e=>(r(e),n))).catch((()=>n))}))}),2),lr(e,n,t)),Nr=(e,n=ar())=>{const t=mr,a=e=>cr(t,(n=>{e.addEventListener("success",(()=>{try{n.forEach((n=>n(e.result)))}catch(e){Oa(e,`Could not handle the IDBRequest result (event: ${t}): `)}}))}));return ba("IDBIndex","get",(e=>function(n){const t=e.call(this,n);return ea(n)&&n&&"prefetchedSessions"===this.objectStore.name&&a(t),t})),ba("IDBObjectStore","get",(e=>function(n){const t=e.call(this,n);return"prefetchedSessions"===this.name&&a(t),t})),lr(t,e,n)},Pr=e=>{const n=e=>{let n;if(ta(e)){var t;ta(e.session)&&(e=e.session);n=[{challenges:[e.challenges,e.adaptiveChallenges,e.easierAdaptiveChallenges,e.mistakesReplacementChallenges,null===(t=e.adaptiveInterleavedChallenges)||void 0===t?void 0:t.challenges].filter(na).flat(),sessionMetaData:e.metadata||{}}]}return n},t=sr(pr,dr,e,n,Ar),a=sr(pr,mr,e,n,((e,n,t)=>Nr(n,t)));return()=>{t(),a()}},Mr=(e,n)=>({url:e,type:Ta,speed:Ia,language:n}),jr=(e,n)=>({url:e,type:La,speed:Ia,language:n}),Tr=(e,n)=>({url:e,type:za,speed:Ia,language:n}),Lr=Object.fromEntries(["/sounds/7abe057dc8446ad325229edd6d8fd250.mp3","/sounds/2aae0ea735c8e9ed884107d6f0a09e35.mp3","/sounds/421d48c53ad6d52618dba715722278e0.mp3","/sounds/37d8f0b39dcfe63872192c89653a93f6.mp3","/sounds/0a27c1ee63dd220647e8410a0029aed2.mp3","/sounds/a28ff0a501ef5f33ca78c0afc45ee53e.mp3","/sounds/2e4669d8cf839272f0731f8afa488caf.mp3","/sounds/f0b6ab4396d5891241ef4ca73b4de13a.mp3"].map((e=>{return[e,(n=e,{url:n,type:ja,speed:Ia,language:null})];var n}))),zr=/\/duolingo-data\/tts\/(?[a-z-_]+)\/token\//i,Rr="sound_type_map",Ir="is_howler_used",Dr=()=>fa(Rr,Lr),Hr=[Ra,Ta,La,za,ja],Ur=[Ia,Da],Vr=(e,n)=>((e,n,t)=>{for(const a of e){const e=Number(a(n,t));if(!isNaN(e)&&0!==e)return e}return 0})([(e,n)=>Hr.indexOf(e.type)-Hr.indexOf(n.type),(e,n)=>Ur.indexOf(e.speed)-Ur.indexOf(n.speed)],e,n),Fr=e=>{const n=Dr()||{};for(const t of e){const e=la(t.url);(!n[e]||Vr(t,n[e])>0)&&(n[e]=t)}da(Rr,n)},Kr="sound_detection_listeners_version",Wr="sound_detection_unregistration_callbacks",Yr=(e,n,t)=>{var a;return{url:e.url,type:n,speed:(null===(a=e.speed)||void 0===a?void 0:a.value)||Ia,language:t}},qr=(e,n)=>{if(na(null==e?void 0:e.alphabets)&&ea(null==n?void 0:n.toLanguage)){const a=n.toLanguage;Fr(e.alphabets.flatMap((e=>null==e?void 0:e.groups)).flatMap((e=>null==e?void 0:e.characters)).flat().map((e=>null==e?void 0:e.ttsUrl)).filter(ea).map((e=>Tr(e,a))));const r=[];for(const n of e.alphabets){var t;ea(n.explanationUrl)&&r.push(n.explanationUrl),na(null===(t=n.explanationListing)||void 0===t?void 0:t.groups)&&r.push(...n.explanationListing.groups.flatMap((e=>null==e?void 0:e.tips)).map((e=>null==e?void 0:e.url)).filter(ea))}r.length>0&&((e,n,t={})=>{const a=Sr();for(const o of n)a.set(o,{eventType:e,requestData:t,urlRegExp:o instanceof RegExp?o:new RegExp((r=String(o),r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),"g")});var r})(yr,r,n)}},$r=(e,n)=>{if(na(null==e?void 0:e.elements)&&ea(null==n?void 0:n.toLanguage)){const t=n.toLanguage;Fr(e.elements.flatMap((({element:e})=>ta(e)&&[e].concat(e.phrases||[]).concat(e.examples||[]))).filter(ta).flatMap((e=>((e,n)=>{var t,a,r,o,i;const c=[],l=e.ttsURL;return ea(l)&&c.push(Mr(l,n)),c.concat([(null===(t=e.tokenTTS)||void 0===t?void 0:t.tokenTTSCollection)||[],(null===(a=e.text)||void 0===a||null===(r=a.tokenTTS)||void 0===r?void 0:r.tokenTTSCollection)||[],(null===(o=e.subtext)||void 0===o||null===(i=o.tokenTTS)||void 0===i?void 0:i.tokenTTSCollection)||[]].flat().filter(ta).map((e=>null==e?void 0:e.ttsURL)).filter((e=>(e=>ea(e))&&e!==l)).map((e=>jr(e,n))))})(e,t))))}},Br=()=>{const e=4<=(Number(fa(Kr))||0);var n,t,a,r,o,i;!!fa(Wr)&&e||(e||Xr(),da(Kr,4),da(Wr,[(i=e=>(e=>{const n=e.learningLanguage;na(null==e?void 0:e.elements)&&Fr(e.elements.map((e=>{var n;return(null==e||null===(n=e.line)||void 0===n?void 0:n.content)||(null==e?void 0:e.learningLanguageTitleContent)})).flatMap((e=>[null==e?void 0:e.audio,null==e?void 0:e.audioPrefix,null==e?void 0:e.audioSuffix])).map((e=>null==e?void 0:e.url)).filter(ea).map((e=>Mr(e,n))))})(e),Ar(vr,i)),(r=(e,n)=>qr(e,n),Ar(hr,r,o)),(a=(e,n)=>((e,n)=>{if(na(null==e?void 0:e.elements)&&ea(null==n?void 0:n.toLanguage)){const t=e.elements.map((e=>null==e?void 0:e.element)).flatMap((e=>{var n;return null==e||null===(n=e.tokenTTS)||void 0===n?void 0:n.tokenTTSCollection}));t.push(...e.elements.map((e=>null==e?void 0:e.element)).flatMap((e=>null==e?void 0:e.cells)).flat().flatMap((e=>{var n;return null==e||null===(n=e.tokenTTS)||void 0===n?void 0:n.tokenTTSCollection})));const a=n.toLanguage;Fr(t.map((e=>null==e?void 0:e.ttsURL)).filter(ea).map((e=>Tr(e,a))))}})(e,n),Ar(yr,a)),(t=e=>{var n;ea(null==(n=e)?void 0:n.tts_url)&&Fr([Mr(n.tts_url,n.sentence_language)])},Ar(gr,t)),(n=(e,n)=>$r(e,n),Ar(br,n)),Pr((e=>(e=>{const n=[];for(const o of e){var t;const e=o.type,i=Sa(o),c=Ea(o);if(ea(o.tts)){const t=Ca.indexOf(e)>=0?Tr:Mr;n.push(t(o.tts,i))}if(ea(o.slowTts)&&n.push({url:o.slowTts,type:Ta,speed:Da,language:i}),ea(o.solutionTts)&&n.push(Mr(o.solutionTts,c)),na(o.choices)){const t=-1===Ca.indexOf(e)?jr:Tr;n.push(o.choices.map((e=>null==e?void 0:e.tts)).filter(ea).map((e=>t(e,c))))}if(na(o.tokens)&&n.push(o.tokens.map((e=>null==e?void 0:e.tts)).filter(ea).map((e=>jr(e,i)))),na(o.displayTokens)&&n.push(o.displayTokens.map((e=>{var n;return null==e||null===(n=e.hintToken)||void 0===n?void 0:n.tts})).filter(ea).map((e=>jr(e,i)))),na(o.questionTokens)&&n.push(o.questionTokens.map((e=>null==e?void 0:e.tts)).filter(ea).map((e=>jr(e,c)))),na(null===(t=o.metadata)||void 0===t?void 0:t.speakers))for(const e of o.metadata.speakers){var a,r;ta(null===(a=e.tts)||void 0===a?void 0:a.tokens)&&n.push(Object.values(e.tts.tokens).filter((e=>ea(e.url))).map((e=>Yr(e,La,c)))),na(null===(r=e.tts)||void 0===r?void 0:r.sentence)&&n.push(e.tts.sentence.filter((e=>ea(e.url))).map((e=>Yr(e,Ta,c))))}if(na(o.pairs)){const t=-1===Ca.indexOf(e)?jr:Tr;n.push(o.pairs.map((e=>null==e?void 0:e.tts)).filter(ea).map((e=>t(e,c))))}na(o.options)&&n.push(o.options.map((e=>null==e?void 0:e.tts)).filter(ea).map((e=>jr(e,c)))),na(o.dialogue)&&(n.push(o.dialogue.map((e=>null==e?void 0:e.tts)).filter(ea).map((e=>Mr(e,c)))),n.push(o.dialogue.map((e=>null==e?void 0:e.hintTokens)).filter(na).flat().map((e=>null==e?void 0:e.tts)).filter(ea).map((e=>jr(e,c)))))}Fr(n.flat())})(e.challenges)))]))},Xr=()=>{const e=fa(Wr);!na(e)||ir(_r)||ir(kr)||ir(xr)||ir(wr)||(e.forEach((e=>e())),da(Kr,null),da(Wr,null))},Gr=(e,n,t)=>{const a=(e=>{const n=Dr()[e];if(ta(n))return n;const t=e.match(zr);return t?jr(e,t.language):null})(la(n));return{url:n,type:(null==a?void 0:a.type)||Ra,speed:(null==a?void 0:a.speed)||Ia,language:null==a?void 0:a.language,playbackStrategy:t,sound:e}},Qr=(e,n)=>{ba("Howl","play",(e=>function(n){var t;da(Ir,!0);const a=String(this._src||(null===(t=this._parent)||void 0===t?void 0:t._src)||"").trim();return""!==a?((e,n,t,a)=>{const r=Gr(e,n,t);let o=!1;try{var i;o=null===(i=fr(kr,r))||void 0===i?void 0:i.some((e=>!1===e)),fr(o?xr:wr,r)}catch(e){Oa(e,`Could not handle playback for sound "${n}" (using "${t}"): `)}return o?null:a()})(this,a,Ua,(()=>e.call(this,n))):e.call(this,n)})),Br();const t=lr(e,n);return()=>{t(),Xr()}},Jr=(e,n)=>{pa("mutexes",(t=>(ta(t[e])||(t[e]={currentHolder:null,pendingHolders:[]}),t[e]=n(t[e]),t)),{})},Zr=async(e,{priority:n=Pa,timeoutDelay:t=null,onSupersessionRequest:a=Jt}={})=>new Promise(((r,o)=>{const i=ma("last_mutex_holder_id"),c=t>0?setTimeout((()=>{Jr(e,(e=>({...e,pendingHolders:e.pendingHolders.filter((e=>i!==e.uniqueId))}))),o()}),t):null,l=()=>{c&&clearTimeout(c),r((()=>((e,n)=>{Jr(e,(e=>{var t;if((null===(t=e.currentHolder)||void 0===t?void 0:t.uniqueId)!==n)return;const a=ca(e.pendingHolders,(e=>e.priority));return a?(setTimeout((()=>a.onAcquired())),e.currentHolder=a,e.pendingHolders=e.pendingHolders.filter((e=>e.uniqueId!==a.uniqueId))):e.currentHolder=null,e}))})(e,i)))},s={uniqueId:i,priority:n,onAcquired:l,onSupersessionRequest:a};Jr(e,(e=>(e.currentHolder?(e.pendingHolders.push(s),s.priority>e.currentHolder.priority&&setTimeout((()=>e.currentHolder.onSupersessionRequest()))):(e.currentHolder=s,setTimeout((()=>l()))),e)))}));var eo,no,to,ao="_duo-ttsc_",ro=["0","1","2","3","4","5","6","7","8","9"],oo="basic",io="cartoon",co=[oo,io],lo=0,so=[],uo=e.__r,fo=e.diffed,po=e.__c,mo=e.unmount;function vo(n,t){e.__h&&e.__h(no,n,lo||t),lo=0;var a=no.__H||(no.__H={__:[],__h:[]});return n>=a.__.length&&a.__.push({}),a.__[n]}function ho(e){return lo=1,yo(Ao,e)}function yo(e,n,t){var a=vo(eo++,2);return a.t=e,a.__c||(a.__c=no,a.__=[t?t(n):Ao(void 0,n),function(e){var n=a.t(a.__[0],e);a.__[0]!==n&&(a.__=[n,a.__[1]],a.__c.setState({}))}]),a.__}function go(n,t){var a=vo(eo++,3);!e.__s&&Eo(a.__H,t)&&(a.__=n,a.__H=t,no.__H.__h.push(a))}function bo(n,t){var a=vo(eo++,4);!e.__s&&Eo(a.__H,t)&&(a.__=n,a.__H=t,no.__h.push(a))}function _o(e){return lo=5,ko((function(){return{current:e}}),[])}function ko(e,n){var t=vo(eo++,7);return Eo(t.__H,n)?(t.__H=n,t.__h=e,t.__=e()):t.__}function wo(e,n){return lo=8,ko((function(){return e}),n)}function xo(){so.some((function(n){if(n.__P)try{n.__H.__h.forEach(Co),n.__H.__h.forEach(So),n.__H.__h=[]}catch(t){return n.__H.__h=[],e.__e(t,n.__v),!0}})),so=[]}e.__r=function(e){uo&&uo(e),eo=0;var n=(no=e.__c).__H;n&&(n.__h.forEach(Co),n.__h.forEach(So),n.__h=[])},e.diffed=function(n){fo&&fo(n);var t=n.__c;t&&t.__H&&t.__H.__h.length&&(1!==so.push(t)&&to===e.requestAnimationFrame||((to=e.requestAnimationFrame)||function(e){var n,t=function(){clearTimeout(a),Oo&&cancelAnimationFrame(n),setTimeout(e)},a=setTimeout(t,100);Oo&&(n=requestAnimationFrame(t))})(xo))},e.__c=function(n,t){t.some((function(n){try{n.__h.forEach(Co),n.__h=n.__h.filter((function(e){return!e.__||So(e)}))}catch(a){t.some((function(e){e.__h&&(e.__h=[])})),t=[],e.__e(a,n.__v)}})),po&&po(n,t)},e.unmount=function(n){mo&&mo(n);var t=n.__c;if(t&&t.__H)try{t.__H.__.forEach(Co)}catch(n){e.__e(n,t.__v)}};var Oo="function"==typeof requestAnimationFrame;function Co(e){"function"==typeof e.u&&e.u()}function So(e){e.u=e.__()}function Eo(e,n){return!e||n.some((function(n,t){return n!==e[t]}))}function Ao(e,n){return"function"==typeof n?n(e):n}var No=Object.freeze({__proto__:null,useState:ho,useReducer:yo,useEffect:go,useLayoutEffect:bo,useRef:_o,useImperativeHandle:function(e,n,t){lo=6,bo((function(){"function"==typeof e?e(n()):e&&(e.current=n())}),null==t?t:t.concat(e))},useMemo:ko,useCallback:wo,useContext:function(e){var n=no.context[e.__c],t=vo(eo++,9);return t.__c=e,n?(null==t.__&&(t.__=!0,n.sub(no)),n.props.value):e.__},useDebugValue:function(n,t){e.useDebugValue&&e.useDebugValue(t?t(n):n)},useErrorBoundary:function(e){var n=vo(eo++,10),t=ho();return n.__=e,no.componentDidCatch||(no.componentDidCatch=function(e){n.__&&n.__(e),t[1](e)}),[t[0],function(){t[1](void 0)}]}});function Po(e,n,t){return e(t={path:n,exports:{},require:function(e,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&t.path)}},t.exports),t.exports}function Mo(e){if(e.__esModule)return e;var n=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})})),n}var jo=Mo(No),To=Mo(j),Lo=Po((function(e,n){var t=jo,a=To;function r(e,n){for(var t in n)e[t]=n[t];return e}function o(e,n){for(var t in e)if("__source"!==t&&!(t in n))return!0;for(var a in n)if("__source"!==a&&e[a]!==n[a])return!0;return!1}function i(e){this.props=e}function c(e,n){function t(e){var t=this.props.ref,a=t==e.ref;return!a&&t&&(t.call?t(null):t.current=null),n?!n(this.props,e)||!a:o(this.props,e)}function r(n){return this.shouldComponentUpdate=t,a.createElement(e,n)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(i.prototype=new a.Component).isPureReactComponent=!0,i.prototype.shouldComponentUpdate=function(e,n){return o(this.props,e)||o(this.state,n)};var l=a.options.__b;a.options.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),l&&l(e)};var s="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function u(e){function n(n,t){var a=r({},n);return delete a.ref,e(a,(t=n.ref||t)&&("object"!=typeof t||"current"in t)?t:null)}return n.$$typeof=s,n.render=n,n.prototype.isReactComponent=n.__f=!0,n.displayName="ForwardRef("+(e.displayName||e.name)+")",n}var f=function(e,n){return e?a.toChildArray(a.toChildArray(e).map(n)):null},d={map:f,forEach:f,count:function(e){return e?a.toChildArray(e).length:0},only:function(e){var n=a.toChildArray(e);if(1!==n.length)throw"Children.only";return n[0]},toArray:a.toChildArray},p=a.options.__e;function m(e){return e&&((e=r({},e)).__c=null,e.__k=e.__k&&e.__k.map(m)),e}function v(e){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map(v)),e}function h(){this.__u=0,this.t=null,this.__b=null}function y(e){var n=e.__.__c;return n&&n.o&&n.o(e)}function g(e){var n,t,r;function o(o){if(n||(n=e()).then((function(e){t=e.default||e}),(function(e){r=e})),r)throw r;if(!t)throw n;return a.createElement(t,o)}return o.displayName="Lazy",o.__f=!0,o}function b(){this.u=null,this.i=null}a.options.__e=function(e,n,t){if(e.then)for(var a,r=n;r=r.__;)if((a=r.__c)&&a.__c)return null==n.__e&&(n.__e=t.__e,n.__k=t.__k),a.__c(e,n.__c);p(e,n,t)},(h.prototype=new a.Component).__c=function(e,n){var t=this;null==t.t&&(t.t=[]),t.t.push(n);var a=y(t.__v),r=!1,o=function(){r||(r=!0,n.componentWillUnmount=n.__c,a?a(i):i())};n.__c=n.componentWillUnmount,n.componentWillUnmount=function(){o(),n.__c&&n.__c()};var i=function(){var e;if(! --t.__u)for(t.__v.__k[0]=v(t.state.o),t.setState({o:t.__b=null});e=t.t.pop();)e.forceUpdate()};t.__u++||t.setState({o:t.__b=t.__v.__k[0]}),e.then(o,o)},h.prototype.componentWillUnmount=function(){this.t=[]},h.prototype.render=function(e,n){return this.__b&&(this.__v.__k&&(this.__v.__k[0]=m(this.__b)),this.__b=null),[a.createElement(a.Fragment,null,n.o?null:e.children),n.o&&e.fallback]};var _=function(e,n,t){if(++t[1]===t[0]&&e.i.delete(n),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.i.size))for(t=e.u;t;){for(;t.length>3;)t.pop()();if(t[1]Za(Fa,Da===e?1:.5),qo=e=>Za(Fa,Da===e?2.5:2),$o=()=>Za(Ka,.05),Bo=()=>Za(Ka,1),Xo=(e,n)=>Math.max(Yo(e),Math.min(n,qo(e))),Go=e=>Math.max($o(),Math.min(e,Bo())),Qo=e=>"".concat(ao,"tts_rate_").concat(e),Jo=e=>"".concat(ao,"tts_volume_").concat(e),Zo=e=>Xo(e,Number(localStorage.getItem(Qo(e)))||1),ei=e=>Go(Number(localStorage.getItem(Jo(e)))||1),ni=e=>nr(e,Ua),ti=(e,n,t)=>{er(Fa,e,t,Ua,!1,Ma),er(Ka,n,t,Ua,!1,Ma)};function ai(){}function ri(){}ri.resetWarningCache=ai;var oi=function(){function e(e,n,t,a,r,o){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==o){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function n(){return e}e.isRequired=e;var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:ri,resetWarningCache:ai};return t.PropTypes=t,t},ii=Po((function(e){e.exports=oi()}));function ci(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function li(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function di(e){return function(e){if(Array.isArray(e))return pi(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(!e)return;if("string"==typeof e)return pi(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return pi(e,n)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pi(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=new Array(n);t0||!Array.isArray(n)&&n?ui({},e,n):{}}var bi=Lo.forwardRef((function(e,n){var t=e.icon,a=e.mask,r=e.symbol,o=e.className,i=e.title,c=e.titleId,l=e.maskId,s=yi(t),u=gi("classes",[].concat(di(function(e){var n,t=e.beat,a=e.fade,r=e.beatFade,o=e.bounce,i=e.shake,c=e.flash,l=e.spin,s=e.spinPulse,u=e.spinReverse,f=e.pulse,d=e.fixedWidth,p=e.inverse,m=e.border,v=e.listItem,h=e.flip,y=e.size,g=e.rotation,b=e.pull,_=(ui(n={"fa-beat":t,"fa-fade":a,"fa-beat-fade":r,"fa-bounce":o,"fa-shake":i,"fa-flash":c,"fa-spin":l,"fa-spin-reverse":u,"fa-spin-pulse":s,"fa-pulse":f,"fa-fw":d,"fa-inverse":p,"fa-border":m,"fa-li":v,"fa-flip":!0===h,"fa-flip-horizontal":"horizontal"===h||"both"===h,"fa-flip-vertical":"vertical"===h||"both"===h},"fa-".concat(y),null!=y),ui(n,"fa-rotate-".concat(g),null!=g&&0!==g),ui(n,"fa-pull-".concat(b),null!=b),ui(n,"fa-swap-opacity",e.swapOpacity),n);return Object.keys(_).map((function(e){return _[e]?e:null})).filter((function(e){return e}))}(e)),di(o.split(" ")))),f=gi("transform","string"==typeof e.transform?Bt.transform(e.transform):e.transform),d=gi("mask",yi(a)),p=Xt(s,li(li(li(li({},u),f),d),{},{symbol:r,title:i,titleId:c,maskId:l}));if(!p)return function(){var e;!hi&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",s),null;var m=p.abstract,v={ref:n};return Object.keys(e).forEach((function(n){bi.defaultProps.hasOwnProperty(n)||(v[n]=e[n])})),_i(m[0],v)}));bi.displayName="FontAwesomeIcon",bi.propTypes={beat:ii.bool,border:ii.bool,beatFade:ii.bool,bounce:ii.bool,className:ii.string,fade:ii.bool,flash:ii.bool,mask:ii.oneOfType([ii.object,ii.array,ii.string]),maskId:ii.string,fixedWidth:ii.bool,inverse:ii.bool,flip:ii.oneOf([!0,!1,"horizontal","vertical","both"]),icon:ii.oneOfType([ii.object,ii.array,ii.string]),listItem:ii.bool,pull:ii.oneOf(["right","left"]),pulse:ii.bool,rotation:ii.oneOf([0,90,180,270]),shake:ii.bool,size:ii.oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:ii.bool,spinPulse:ii.bool,spinReverse:ii.bool,symbol:ii.oneOfType([ii.bool,ii.string]),title:ii.string,titleId:ii.string,transform:ii.oneOfType([ii.string,ii.object]),swapOpacity:ii.bool},bi.defaultProps={border:!1,className:"",mask:null,maskId:null,fixedWidth:!1,inverse:!1,flip:!1,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:null,transform:null,swapOpacity:!1};var _i=function e(n,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof t)return t;var r=(t.children||[]).map((function(t){return e(n,t)})),o=Object.keys(t.attributes||{}).reduce((function(e,n){var a=t.attributes[n];switch(n){case"class":e.attrs.className=a,delete t.attributes.class;break;case"style":e.attrs.style=a.split(";").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,n){var t,a=n.indexOf(":"),r=mi(n.slice(0,a)),o=n.slice(a+1).trim();return r.startsWith("webkit")?e[(t=r,t.charAt(0).toUpperCase()+t.slice(1))]=o:e[r]=o,e}),{});break;default:0===n.indexOf("aria-")||0===n.indexOf("data-")?e.attrs[n.toLowerCase()]=a:e.attrs[mi(n)]=a}return e}),{attrs:{}}),i=a.style,c=void 0===i?{}:i,l=fi(a,vi);return o.attrs.style=li(li({},o.attrs.style),c),n.apply(void 0,[t.tag,li(li({},o.attrs),l)].concat(di(r)))}.bind(null,Lo.createElement),ki=Symbol("base"),wi=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return wo((t=>(na(t)?t:[t]).flatMap((t=>{var a=[];return e[ki]&&e[ki][t]&&a.push(...e[ki][t]),n.forEach((n=>{n&&e[n]&&e[n][t]&&a.push(...e[n][t])})),a})).join(" ")),n.concat([e]))},xi="pause",Oi="pin",Ci="play",Si="speed_normal",Ei="speed_slow",Ai="stop",Ni="toggle",Pi=[xi,Oi,Ci,Si,Ei,Ai,Ni],Mi={[xi]:"pause",[Oi]:"thumbtack",[Ci]:"play",[Si]:["fas","volume"],[Ei]:["fas","turtle"],[Ai]:"stop",[Ni]:"cog"},ji={[Oi]:"s",[Si]:"s",[Ei]:"s",[Ni]:"s"},Ti=e=>{var{type:n,disabled:t=!1,active:a=!1,onClick:r=Jt}=e,o=_o(null),i=wi(Hi,[n]);go((()=>{t&&o.current&&document.activeElement===o.current&&o.current.blur()}));var c=[zi,"BUTTON__".concat(n),a&&Ri,t&&Ii];return d("div",{className:i(Li)},d("button",{ref:o,disabled:t,onClick:r,onKeyUp:e=>e.preventDefault(),className:i(c)},d(bi,{icon:Mi[n],size:ji[n]||"xs",fixedWidth:!0,className:i(Di)})))},Li="wrapper",zi="button",Ri="button__active",Ii="button__disabled",Di="icon",Hi={[ki]:Object.assign({[Li]:["_1OCDB"],[zi]:["_1N-oo","_36Vd3","_16r-S","_3f9XI","".concat(ao,"control-button")],[Ri]:["k6MEx"],[Ii]:["_33Jbm","_1_xfn"],[Di]:["_3cbXv","".concat(ao,"control-button-icon")]},Object.fromEntries(Pi.map((e=>["BUTTON__".concat(e),["".concat(ao,"control-button_").concat(e)]]))))},Ui="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function Vi(e,n,t,a){e.addEventListener?e.addEventListener(n,t,a):e.attachEvent&&e.attachEvent("on".concat(n),(function(){t(window.event)}))}function Fi(e,n){for(var t=n.slice(0,n.length-1),a=0;a=0;)n[t-1]+=",",n.splice(t,1),t=n.lastIndexOf("");return n}for(var Wi={backspace:8,tab:9,clear:12,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":Ui?173:189,"=":Ui?61:187,";":Ui?59:186,"'":222,"[":219,"]":221,"\\":220},Yi={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},qi={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},$i={16:!1,18:!1,17:!1,91:!1},Bi={},Xi=1;Xi<20;Xi++)Wi["f".concat(Xi)]=111+Xi;var Gi=[],Qi=!1,Ji="all",Zi=[],ec=function(e){return Wi[e.toLowerCase()]||Yi[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)};function nc(e){Ji=e||"all"}function tc(){return Ji||"all"}var ac=function(e){var n=e.key,t=e.scope,a=e.method,r=e.splitKey,o=void 0===r?"+":r;Ki(n).forEach((function(e){var n=e.split(o),r=n.length,i=n[r-1],c="*"===i?"*":ec(i);if(Bi[c]){t||(t=tc());var l=r>1?Fi(Yi,n):[];Bi[c]=Bi[c].filter((function(e){return!((!a||e.method===a)&&e.scope===t&&function(e,n){for(var t=e.length>=n.length?e:n,a=e.length>=n.length?n:e,r=!0,o=0;o0,$i)Object.prototype.hasOwnProperty.call($i,o)&&(!$i[o]&&n.mods.indexOf(+o)>-1||$i[o]&&-1===n.mods.indexOf(+o))&&(r=!1);(0!==n.mods.length||$i[16]||$i[18]||$i[17]||$i[91])&&!r&&"*"!==n.shortcut||!1===n.method(e,n)&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0))}}function oc(e,n){var t=Bi["*"],a=e.keyCode||e.which||e.charCode;if(ic.filter.call(this,e)){if(93!==a&&224!==a||(a=91),-1===Gi.indexOf(a)&&229!==a&&Gi.push(a),["ctrlKey","altKey","shiftKey","metaKey"].forEach((function(n){var t=qi[n];e[n]&&-1===Gi.indexOf(t)?Gi.push(t):!e[n]&&Gi.indexOf(t)>-1?Gi.splice(Gi.indexOf(t),1):"metaKey"===n&&e[n]&&3===Gi.length&&(e.ctrlKey||e.shiftKey||e.altKey||(Gi=Gi.slice(Gi.indexOf(t))))})),a in $i){for(var r in $i[a]=!0,Yi)Yi[r]===a&&(ic[r]=!0);if(!t)return}for(var o in $i)Object.prototype.hasOwnProperty.call($i,o)&&($i[o]=e[qi[o]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(-1===Gi.indexOf(17)&&Gi.push(17),-1===Gi.indexOf(18)&&Gi.push(18),$i[17]=!0,$i[18]=!0);var i=tc();if(t)for(var c=0;c1&&(r=Fi(Yi,e)),(e="*"===(e=e[e.length-1])?"*":ec(e))in Bi||(Bi[e]=[]),Bi[e].push({keyup:l,keydown:s,scope:o,mods:r,shortcut:a[c],method:t,key:a[c],splitKey:u,element:i});void 0!==i&&!function(e){return Zi.indexOf(e)>-1}(i)&&window&&(Zi.push(i),Vi(i,"keydown",(function(e){oc(e,i)}),f),Qi||(Qi=!0,Vi(window,"focus",(function(){Gi=[]}),f)),Vi(i,"keyup",(function(e){oc(e,i),function(e){var n=e.keyCode||e.which||e.charCode,t=Gi.indexOf(n);if(t>=0&&Gi.splice(t,1),e.key&&"meta"===e.key.toLowerCase()&&Gi.splice(0,Gi.length),93!==n&&224!==n||(n=91),n in $i)for(var a in $i[n]=!1,Yi)Yi[a]===n&&(ic[a]=!1)}(e)}),f))}var cc={setScope:nc,getScope:tc,deleteScope:function(e,n){var t,a;for(var r in e||(e=tc()),Bi)if(Object.prototype.hasOwnProperty.call(Bi,r))for(t=Bi[r],a=0;a1&&void 0!==arguments[1]?arguments[1]:"all";Object.keys(Bi).forEach((function(t){var a=Bi[t].find((function(t){return t.scope===n&&t.shortcut===e}));a&&a.method&&a.method()}))},unbind:function(e){if(void 0===e)Object.keys(Bi).forEach((function(e){return delete Bi[e]}));else if(Array.isArray(e))e.forEach((function(e){e.key&&ac(e)}));else if("object"==typeof e)e.key&&ac(e);else if("string"==typeof e){for(var n=arguments.length,t=new Array(n>1?n-1:0),a=1;a{var{type:n,value:t=1,min:a=t,max:r=t,step:o=.1,hint:i="",disabled:c=!1,onChangeStart:l=Jt,onChange:s=Jt,onChangeEnd:u=Jt}=e,f=_o(!1),p=wo((e=>{var n=e.target.value;f.current?s(n):(f.current=!0,l(n))}),[l,s,f]),m=wo((e=>{f.current&&(f.current=!1,u(e.target.value))}),[u,f]),v=wi(kc,[n]);return d("div",{className:v(yc)},d("input",{type:"range",min:a,max:r,step:o,value:t,disabled:c,onKeyDown:e=>e.preventDefault(),onKeyUp:e=>e.preventDefault(),onInput:p,onChange:m,onMouseUp:m,className:v(gc)}),""!==i&&d("span",{className:v(bc)},d(bi,{icon:vc[n],className:v([_c])}),i))},yc="wrapper",gc="input",bc="hint",_c="button",kc={[ki]:{[yc]:["".concat(ao,"slider")],[gc]:["_2YmyD","_2_zk1","_2Z5hP","".concat(ao,"slider-input")],[bc]:["_3cbXv","".concat(ao,"slider-hint")],[_c]:["".concat(ao,"slider-hint-icon")]}},wc=e=>{var{formStyle:n=oo,ttsSpeed:t=Ia,selected:a=!1,focused:r=!1,howl:o=null}=e,[i,c,l]=(e=>{var[n,t,a]=Vo(Zo(e));return[n,t,wo((n=>{var t=Number(n),r=Xo(e,isNaN(t)?1:t);a(r),localStorage.setItem(Qo(e),String(r))}),[e,a])]})(t),[s,u,f]=(e=>{var[n,t,a]=Vo(ei(e));return[n,t,wo((n=>{var t=Number(n),r=Go(isNaN(t)?1:t);a(r),localStorage.setItem(Jo(e),String(r))}),[e,a])]})(t),[p,m]=ho(0),[v,h,y]=Vo(0),[g,b,_]=Vo(!1),[k,w,x]=Vo(!1),O=_o(0),C=wo((()=>!b.current||w.current),[b,w]),[S,E]=ho(!1),[A,N]=ho(!1),[P,M]=ho(!1),[,j,T]=Ro((()=>E(!0)),200,!1),L=wo((()=>{E(!1),j()}),[E,j]),[,z,R]=Ro((()=>M(!1)),750,!1),I=wo((()=>{M(!0),z()}),[M,z]),D=Ko(((e,n,t)=>e&&ti(n,t,e)),{delay:50,defer:!0},o),H=wo((e=>{l(e),D(e,u.current)}),[u,l,D]),U=wo((e=>{f(e),D(c.current,e)}),[c,f,D]),V=_o(null),F=_o(!1),K=wo((e=>{var n=Math.round(10*Number(e))/10;return isNaN(n)?null:Math.max(0,Math.min(n,p))}),[p]),W=wo((e=>{y(e),V.current=null}),[y,V]),Y=wo((e=>{y(e),V.current=e}),[y,V]),q=_o(new Set),$=_o(!1),B=wo((()=>q.current.size>0),[q]),X=wo((e=>{var n,t=K(e);null!==t&&(B()?n=!$.current:(o&&o.seek(t),n=C()),n?Y(t):W(t));return t}),[o,K,W,Y,C,B,$]),G=wo(((e,n)=>{q.current.add(e),X(n),1===q.current.size&&(o&&g?($.current=!k,o.pause()):$.current=!1)}),[o,g,k,q,$,X]),Q=wo(((e,n)=>{q.current.delete(e);var t=X(n);0===q.current.size&&(o&&(null!==t&&o.seek(t),$.current&&(J.current=!0,o.play())),$.current=!1)}),[o,q,$,X]),J=_o(!1),Z=wo((()=>{o&&!B()&&(J.current=!0,o.play())}),[o,B]),ee=wo((()=>{if(o){o.pause();var e=ni(o);e>=p-.2&&o.seek(e)}}),[o,p]),ne=wo((()=>{o&&(F.current=!0,o.stop())}),[o]),te=wo((()=>{var e=K(h.current);null!==e&&(O.current=e)}),[h,O,K]),ae=e=>{var{keys:n,onKeyDown:t=null,onKeyUp:a=null,deps:o=[]}=e;return fc(n,((e,n)=>{ka(e),e.stopImmediatePropagation(),"keyup"===e.type?a(n.shortcut,e):t(n.shortcut,e)}),{enabled:r,enableOnTags:["INPUT"],keyup:aa(a),keydown:aa(t)},o)},re=e=>{var{keys:n,onKeyDown:t=Jt,onKeyUp:a=Jt,deps:r=[]}=e;return ae({keys:n,onKeyDown:(e,n)=>{I(),t(e,n)},onKeyUp:(e,n)=>{R(),a(e,n)},deps:r.concat(I,R)})};re({keys:"<, ctrl+left, >, ctrl+right",onKeyDown:e=>["<","ctrl+left"].includes(e)?c.current>Yo(t)&&H(c.current-.1):c.current"down"===e?u.current>$o()&&U(u.current-Wo):u.currentX("end"===e?p:0),deps:[p,X]}),re({keys:ro.map((e=>"num_".concat(e))).join(","),onKeyDown:e=>{var n,t=(null===(n=e.match(/num_(\d+)/))||void 0===n?void 0:n[1])||0;X(K(p*Number(t)/10))},deps:[p,K,X]}),re({keys:"left, right",onKeyDown:(e,n)=>{var t="left"===e?Math.max(0,h.current-.1):Math.min(p,h.current+.1);n.repeat?t!==h.current&&X(t):G(e,t)},onKeyUp:e=>{null!==h.current&&Q(e,h.current)},deps:[p,h,X,G,Q]}),ae({keys:"k, space, ctrl+up",onKeyDown:()=>!g||k?Z():ee(),deps:[g,k,Z,ee]}),ae({keys:"p, ctrl+down",onKeyDown:()=>te(),deps:[te]});var oe=_o(!1);go((()=>{if(o){var e=o.playing(),n=ni(o);m(o.duration()),W(n||0),_(e),x(!e&&n>0);var t=function(){m(this.duration())},a=function(e){oe.current||J.current&&!(this._getSoundIds().length>1)?(_(!0),x(!1),V.current=null,oe.current=!1,J.current=!1):(oe.current=!0,this.seek(h.current,e))},r=()=>{x(!0),V.current=ni(o)};return o.once("load",t),o.on("play",a),o.on("pause",r),()=>{o&&(o.off("load",t),o.off("play",a),o.off("pause",r))}}}),[o,c,h,m,W,_,x,V,oe]);var ie=_o(!1),ce=wo((function(){if(!ie.current){var e=F.current||null===V.current||V.current>=p?O.current:V.current;F.current&&(V.current=null,F.current=!1),_(!1),y(e),this.seek(e)}}),[p,_,O,V,F,y,ie]);go((()=>{if(o)return o.on("end",ce),o.on("stop",ce),()=>{o.off("end",ce),o.off("stop",ce)}}),[o,ce]),Uo((()=>{o&&(ie.current=!0,o.stop(),o.seek(0))})),Do((()=>{if(o&&o.playing()){var e=ni(o);k||e===v||e===V.current||W(e)}}),g&&!k?75:null);var le=ta(o),se=1===i?"1x":"".concat(i.toFixed(1),"x"),ue=le?"".concat(v.toFixed(1),"s / ").concat(p.toFixed(1),"s"):"? / ?",fe=Ho("(hover: none), (pointer: none), (pointer: coarse)"),de=[r&&Cc,a&&Oc,(P||A||S&&!fe)&&Sc],pe=wi(Nc,[n]);return d("div",{onMouseEnter:T,onMouseLeave:L,className:pe([xc,...de])},d("div",{className:pe(Ec)},d(Ti,!g||k?{type:Ci,disabled:!le,onClick:Z}:{type:xi,disabled:!le,onClick:ee}),d(Ti,{type:Ai,disabled:!le||!g,onClick:ne}),d(Ti,{type:Oi,disabled:!le,onClick:te}),d(Ti,{type:Ni,active:A,onClick:()=>N(!A)}),(a||r)&&d(bi,{icon:"keyboard",className:pe(Ac)})),d(hc,{type:dc,value:v,min:0,max:p,step:.1,hint:ue,disabled:!le,onChangeStart:e=>G("slider",e),onChange:X,onChangeEnd:e=>Q("slider",e)}),d(hc,{type:pc,value:i,min:Yo(t),max:qo(t),step:.1,hint:se,onChangeStart:H,onChange:H,onChangeEnd:H}),d(hc,{type:mc,value:s,min:$o(),max:Bo(),step:Wo,hint:"".concat(Math.round(100*s),"%"),onChangeStart:U,onChange:U,onChangeEnd:U}))},xc="wrapper",Oc="wrapper__selected",Cc="wrapper__focused",Sc="wrapper__opened",Ec="button_wrapper",Ac="keyboard_hint",Nc={[ki]:Object.assign({[xc]:["".concat(ao,"control-panel")],[Oc]:["".concat(ao,"selected")],[Cc]:["".concat(ao,"focused")],[Sc]:["_2ti2i","".concat(ao,"opened")],[Ec]:["gcfYU","".concat(ao,"control-buttons")],[Ac]:["".concat(ao,"control-keyboard-hint")]})};qt.autoAddCss=!1,$t.add({prefix:"far",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]},Gt,{prefix:"fas",iconName:"keyboard",icon:[576,512,[9e3],"f11c","M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm16 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM160 336c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336zM272 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM256 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM368 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM352 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V240zM464 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM448 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z"]},{prefix:"fas",iconName:"pause",icon:[320,512,[9208],"f04c","M48 64C21.5 64 0 85.5 0 112V400c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zm192 0c-26.5 0-48 21.5-48 48V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H240z"]},{prefix:"fas",iconName:"play",icon:[384,512,[9654],"f04b","M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"]},{prefix:"fas",iconName:"stop",icon:[384,512,[9209],"f04d","M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"]},Qt,{prefix:"fas",iconName:"thumbtack",icon:[384,512,[128204,128392,"thumb-tack"],"f08d","M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z"]},{prefix:"fas",iconName:"turtle",icon:[576,512,[128034],"f726","M384 249.2c0 21.4-17.4 38.8-38.8 38.8H70.8C49.4 288 32 270.6 32 249.2V208c0-97.2 78.8-176 176-176s176 78.8 176 176v41.2zM480 288c-2 0-4-.1-5.9-.3c-16.3 53.3-64.3 92.7-122.1 96V440c0 22.1-17.9 40-40 40H264c-22.1 0-40-17.9-40-40V384H192v56c0 22.1-17.9 40-40 40H104c-22.1 0-40-17.9-40-40V384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h72 48H264h48 32c39.8 0 72-32.2 72-72V224 192 176c0-35.3 28.7-64 64-64c53 0 96 43 96 96v16c0 35.3-28.7 64-64 64H480zm16-64a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"]},{prefix:"far",iconName:"volume",icon:[576,512,[128265,"volume-medium"],"f6a8","M191.9 201.9L304 102.3V409.7L191.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H88c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h88c5.9 0 11.6-2.2 15.9-6.1zM322.2 32c-7.3 0-14.3 2.7-19.8 7.5L166.9 160H88c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L302.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C352 45.3 338.7 32 322.2 32zm182.9 75c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C507.3 170.7 528 210.9 528 256s-20.7 85.3-53.2 111.8c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5c43.2-35.2 70.9-88.9 70.9-149s-27.7-113.8-70.9-149zm-60.5 74.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C425.1 227.6 432 241 432 256s-6.9 28.4-17.7 37.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C466.1 312.9 480 286.1 480 256s-13.9-56.9-35.4-74.5z"]},{prefix:"fas",iconName:"volume",icon:[576,512,[128265,"volume-medium"],"f6a8","M333.1 34.8C344.6 40 352 51.4 352 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L163.8 352H96c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L298.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zm172 72.2c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C507.3 341.3 528 301.1 528 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C466.1 199.1 480 225.9 480 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C425.1 284.4 432 271 432 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z"]});var Pc={},Mc=null,jc=null,Tc=null,Lc=null,zc=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document.body,a=Array.from(t.querySelectorAll(al[e][n]));return a.forEach((t=>{t.classList.add("".concat(ao).concat(e),"".concat(ao).concat(e,"_").concat(n))})),a},Rc=()=>Object.keys(Pc),Ic=()=>Object.values(Pc).find((e=>e.isSelected)),Dc=e=>{if(Pc[e]&&Pc[e].panelWrapper.isConnected){var{formStyle:n,isSelected:t,isFocused:a,panelWrapper:r,soundData:o}=Pc[e];M(d(wc,{formStyle:n,ttsSpeed:e,selected:t,focused:t&&a,howl:o.sound}),r),t&&Mc&&M(d(Ti,{onClick:Hc,type:e===Da?Ei:Si}),Mc)}},Hc=()=>{var e=Ic()||Object.values(Pc)[0];if(e){var n=Rc(),t=(n.indexOf(e.ttsType)+1)%n.length;(e=>{if(Pc[e]&&Pc[e].panelWrapper.isConnected){var n=Ic(),t=!(null==n||!n.isFocused);if(n&&(n.isSelected=!1,n.isFocused=!1,Dc(n.ttsType)),(null==n?void 0:n.ttsType)!==e){var a=Pc[e];a.isSelected=!0,a.isFocused=t,Dc(e)}}})(n[t])}},Uc=()=>{Lc&&(Lc(),Lc=null)},Vc=()=>{var e=Ic();return e?(Lc?Promise.resolve():Tc||(Tc=Zr("hotkeys",{timeoutDelay:20,priority:Pa,onSupersessionRequest:Fc}).then((e=>{Lc=e})).finally((()=>{Tc=null})))).then((()=>{e.isFocused=!0,Dc(e.ttsType)})):Promise.reject()},Fc=()=>{var e=Ic();null!=e&&e.isFocused&&(e.isFocused=!1,Dc(e.ttsType)),Uc()},Kc=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];Object.entries(Pc).forEach((n=>{var[t,a]=n;!e&&a.panelWrapper.isConnected||(M("",a.panelWrapper),delete Pc[t],a.isFocused&&Uc())}))};setInterval((()=>Kc()),100);var Wc=e=>{var n=null,t=co.find((e=>([n]=zc(Zc,e),!!n)));if(n!==jc&&(Kc(!0),jc=n,n)){var a=zc(el,t,n).flatMap((e=>zc(nl,t,e)));0!==a.length&&(a.length>1?((Mc=document.createElement("div")).classList.add("".concat(ao,"switch-button")),n.append(Mc)):Mc=null,a.forEach(((a,r)=>{var o=a.matches(al[tl][t])?Da:Ia,i=e[o];if(i){((e,n)=>{ti(Zo(e),ei(e),n)})(i.speed,i.sound);var c=document.createElement("div");c.classList.add(...rl),n.insertBefore(c,Mc),Pc[o]={formStyle:t,ttsType:o,isSelected:0===r,isFocused:!1,panelWrapper:c,playbackButton:a,soundData:i},Dc(o)}})))}},Yc=new Set,qc={},$c={};Pr((e=>{var{challenges:n}=e;return n.forEach((e=>{var n=ea(e.tts)&&e.tts.trim(),t=ea(e.slowTts)&&e.slowTts.trim();n&&Yc.add(n),t&&(Yc.add(t),n&&(qc[t]=[n],qc[n]=[t]))}))})),(e=>{ba("Howl","init",(e=>function(n){var t;da(Ir,!0);const a=e.call(this,n),r=String(this._src||(null===(t=this._parent)||void 0===t?void 0:t._src)||"").trim();return""!==r&&fr(_r,Gr(this,r,Ua)),a})),Br();const n=lr(_r,e)})((e=>{Yc.has(e.url)&&($c[e.url]=e)})),Qr(kr,(e=>{if(Ua===e.playbackStrategy&&Yc.has(e.url)){$c[e.url]=e;var n=Object.fromEntries([e.url,...qc[e.url]||[]].map((e=>$c[e])).filter(ta).map((e=>[e.speed,e])));setTimeout((()=>Wc(n)))}return!0}));var Bc=!1,Xc=()=>{var e=wa();return e&&!Object.values(Pc).some((n=>n.isSelected&&n.panelWrapper.contains(e)))?e:void 0};document.addEventListener("focusin",(()=>!Bc&&Xc()&&Fc()));var Gc={control:()=>{var e,n=Ic();n&&(n.isFocused?(Fc(),null===(e=document.querySelector(ol))||void 0===e||e.focus()):Vc().then((()=>{var e;return null===(e=Xc())||void 0===e?void 0:e.blur()})).catch(Jt))},tab:()=>{if(Rc().length>1){var e=Object.values(Pc).find((e=>e.isSelected&&e.isFocused));e&&(Hc(),Bc=!0,e.playbackButton.focus(),Bc=!1)}}},Qc=new Set,Jc=null;document.addEventListener("keydown",(e=>{13===e.keyCode&&""===e.key||(Jc=0===Qc.size?e.code:null,Qc.add(e.code))})),document.addEventListener("keyup",(e=>{if(e.code===Jc){var n=e.key.toLowerCase();Gc[n]&&(ka(e),Gc[n](e))}Qc.delete(e.code),Jc=null})),window.addEventListener("blur",(()=>{Qc.clear(),Jc=null}));var Zc="playback-buttons-wrapper",el="playback-button-wrapper",nl="playback-button",tl="slow-playback-button",al={[Zc]:{[oo]:"._863KE:first-child ._3L7Fu",[io]:"._863KE:first-child ._2O14B"},[el]:{[oo]:".sgs9X",[io]:".sgs9X"},[nl]:{[oo]:"._1x6bc",[io]:"._2kfEr"},[tl]:{[oo]:"._1Uoqa",[io]:"._1Vrvu"}},rl=["".concat(ao,"control-form"),"_1wJYQ"],ol=['input[data-test="challenge-text-input"]','textarea[data-test="challenge-translate-input"]'].join(", ")}(); diff --git a/package.json b/package.json index ceef45b..8c59a73 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "A small browser extension providing playback controls for some of the challenges on Duolingo.", "license": "MIT", "author": "blmage", - "version": "2.4.2", + "version": "2.5.0", "scripts": { "build": "rollup -c --environment production", "build-debug": "rollup -c --environment development",