/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/@stormstreaming/stormplayer@5.0.1/dist/iife/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var stormPlayer=function(){"use strict";var t=[],e=[];function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function n(t){var e=function(t,e){if("object"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===i(e)?e:String(e)}function r(t,e,i){return(e=n(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}!function(i,n){if(i&&"undefined"!=typeof document){var r,s=!0===n.prepend?"prepend":"append",a=!0===n.singleTag,o="string"==typeof n.container?document.querySelector(n.container):document.getElementsByTagName("head")[0];if(a){var l=t.indexOf(o);-1===l&&(l=t.push(o)-1,e[l]={}),r=e[l]&&e[l][s]?e[l][s]:e[l][s]=h()}else r=h();65279===i.charCodeAt(0)&&(i=i.substring(1)),r.styleSheet?r.styleSheet.cssText+=i:r.appendChild(document.createTextNode(i))}function h(){var t=document.createElement("style");if(t.setAttribute("type","text/css"),n.attributes)for(var e=Object.keys(n.attributes),i=0;i<e.length;i++)t.setAttribute(e[i],n.attributes[e[i]]);var r="prepend"===s?"afterbegin":"beforeend";return o.insertAdjacentElement(r,t),t}}('@font-face {\n  font-family: "Montserrat";\n  src: url("data:font/woff2;base64,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") format("woff2");\n}\n@font-face {\n  font-family: "Montserrat-Bold";\n  src: url("data:font/woff2;base64,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") format("woff2");\n}\n.sp-container__wrapper {\n  all: initial;\n  position: relative;\n  display: block;\n  font-family: var(--sp-font-regular, "Montserrat");\n}\n.sp-container__wrapper * {\n  all: unset;\n}\n.sp-container__wrapper *,\n.sp-container__wrapper *::before,\n.sp-container__wrapper *::after {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n}\n.sp-container__wrapper.fs-mode {\n  position: fixed;\n  left: 0;\n  right: 0;\n  top: 0;\n  z-index: 1000;\n}\n.sp-container__wrapper.fs-mode .sp-container .sp-video {\n  border-radius: 0 !important;\n}\n\n.sp-hidden {\n  display: none !important;\n}\n\n.fs-body-fix {\n  overflow: hidden;\n  padding: 0 !important;\n}\n\n.sp-container {\n  width: 100%;\n  border-radius: var(--sp-border-radius, 10px);\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  overflow: hidden;\n}\n.sp-container input, .sp-container button {\n  -webkit-tap-highlight-color: transparent !important;\n}\n.sp-container__disablecursor {\n  cursor: none;\n}\n.sp-container.sp-theater-mode {\n  width: 100%;\n  height: 56.25vw;\n  max-height: calc(100vh - 169px);\n}\n.sp-container .sp-video {\n  position: absolute;\n  top: 0;\n  margin: 0 auto;\n  width: 100%;\n  height: 100%;\n  border-radius: var(--sp-border-radius, 10px);\n  opacity: 1;\n}\n.sp-container .sp-video--hidden {\n  opacity: 0;\n}\n.sp-container__box {\n  display: flex;\n  width: 100%;\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n  border-radius: var(--sp-border-radius, 10px);\n  background-color: var(--sp-background-color, #000);\n}\n.sp-container__wrapper {\n  max-width: 1280px;\n  width: 100%;\n}\n.sp-container--no-cursor {\n  cursor: none;\n}\n.sp-container svg, .sp-container g {\n  box-sizing: unset !important;\n}\n\n.sp-header {\n  position: absolute !important;\n  top: 0 !important;\n  right: 0 !important;\n  left: 0 !important;\n  transition: all 0.2s ease !important;\n  padding: 14px 15px 0 15px !important;\n  pointer-events: none !important;\n  display: flex !important;\n  justify-content: space-between !important;\n  border-radius: var(--sp-border-radius, 10px) !important;\n  overflow: hidden !important;\n}\n.sp-header__shadow {\n  opacity: 0.9 !important;\n  transform: rotate(-180deg) !important;\n  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000000) !important;\n  position: absolute !important;\n  width: 100% !important;\n  height: 100% !important;\n  top: 0 !important;\n  left: 0 !important;\n}\n.sp-header__wrapper {\n  position: relative !important;\n  z-index: 2 !important;\n}\n.sp-header__wrapper h2, .sp-header__wrapper p {\n  margin: unset !important;\n}\n.sp-header__text {\n  font-family: var(--sp-font-bold, "Montserrat-bold");\n}\n.sp-header__title {\n  font-size: 22px !important;\n  margin-bottom: 0 !important;\n  color: var(--sp-text-title-color, #fff) !important;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  width: 100%;\n}\n.sp-header__title:empty {\n  display: none;\n}\n.sp-header__title.tiny {\n  font-size: 14px !important;\n}\n.sp-header__title.narrow {\n  font-size: 16px !important;\n}\n.sp-header__sub-title {\n  font-family: var(--sp-font-regular, "Montserrat");\n  padding-top: 5px;\n  display: block !important;\n  font-size: 16px !important;\n  color: var(--sp-text-desc-color, #fff) !important;\n  display: inline-block;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  width: 100%;\n}\n.sp-header__sub-title:empty {\n  display: none;\n}\n.sp-header__sub-title.tiny {\n  display: none !important;\n}\n.sp-header__sub-title.narrow {\n  font-size: 12px !important;\n}\n.sp-header__hidden {\n  opacity: 0 !important;\n}\n\n.sp-playback {\n  cursor: pointer;\n  z-index: 2;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  width: 102px;\n  height: 102px;\n  border-radius: 80px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  opacity: 1;\n}\n@media (min-width: 1000px) {\n  .sp-playback {\n    width: 43px;\n    height: 53px;\n  }\n}\n.sp-playback .sp-play-icon path {\n  d: path("M 13.51 7.681 l 9.252 13.57 c 0.945 1.386 0.587 3.276 -0.799 4.221 c -0.504 0.344 -1.1 0.528 -1.711 0.528 H 1.748 C 0.07 26 -1.29 24.64 -1.29 22.962 c 0 -0.61 0.184 -1.207 0.528 -1.711 L 8.49 7.68 c 0.945 -1.386 2.835 -1.743 4.221 -0.798 c 0.314 0.214 0.585 0.485 0.8 0.798 Z");\n  transform: rotate(90deg) scale(3.6) translateY(27%) translateX(35%);\n  fill: var(--sp-icons-primary-color, #fff);\n  box-shadow: 0 7px 15px 0 rgba(255, 145, 90, 0.28);\n  transition: all 0.15s;\n}\n.sp-playback .sp-play-icon path:hover {\n  fill: var(--sp-icons-active-color, #ff915a);\n}\n.sp-playback--hidden {\n  opacity: 0;\n}\n\n.sp-controls {\n  right: 0;\n  left: 0;\n  padding: 30px 7px 15px;\n  position: absolute;\n  bottom: 0;\n  transition: all 0.2s ease;\n  border-bottom-right-radius: var(--sp-border-radius, 10px);\n  border-bottom-left-radius: var(--sp-border-radius, 10px);\n}\n.sp-controls--hidden {\n  opacity: 0;\n  pointer-events: none;\n}\n.sp-controls button {\n  display: flex;\n  cursor: pointer;\n  position: relative;\n  font-size: 12px;\n  border: none;\n  outline: none;\n  background-color: transparent;\n  margin-left: 17px;\n  font-family: var(--sp-font-bold, "Montserrat-bold");\n}\n.sp-controls button * {\n  pointer-events: none;\n}\n.sp-controls__shadow {\n  opacity: 0.8;\n  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000);\n  border-bottom-left-radius: var(--sp-border-radius, 10px);\n  border-bottom-right-radius: var(--sp-border-radius, 10px);\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n}\n.sp-controls__bottom {\n  position: relative;\n  z-index: 2;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n.sp-controls__bottom button svg {\n  height: 22px;\n  fill: var(--sp-icons-primary-color, #fff) !important;\n  cursor: pointer;\n}\n.sp-controls__bottom button svg g {\n  fill: var(--sp-icons-primary-color, #fff) !important;\n}\n.sp-controls__bottom button svg path, .sp-controls__bottom button svg polygon {\n  transition: all 0.2s ease-in-out;\n}\n.sp-controls__bottom button.sp-active .close-fullscreen-icon {\n  display: block;\n}\n.sp-controls__bottom button.sp-active .fullscreen-icon {\n  display: none;\n}\n.sp-controls__bottom button:hover svg path, .sp-controls__bottom button:hover svg polygon {\n  fill: var(--sp-icons-active-color, #ff915a);\n}\n.sp-controls__bottom button:hover svg g {\n  fill: var(--sp-icons-active-color, #ff915a);\n}\n.sp-controls__left, .sp-controls__right {\n  display: flex;\n  align-items: center;\n  color: #fff;\n}\n.sp-controls .sp-play__button svg {\n  width: 17px;\n}\n.sp-controls .sp-play__button .sp-play-icon path {\n  d: path("M 13.51 7.681 l 9.252 13.57 c 0.945 1.386 0.587 3.276 -0.799 4.221 c -0.504 0.344 -1.1 0.528 -1.711 0.528 H 1.748 C 0.07 26 -1.29 24.64 -1.29 22.962 c 0 -0.61 0.184 -1.207 0.528 -1.711 L 8.49 7.68 c 0.945 -1.386 2.835 -1.743 4.221 -0.798 c 0.314 0.214 0.585 0.485 0.8 0.798 Z");\n  transform: rotate(90deg) translateX(8%) translateY(-9%);\n}\n.sp-controls .sp-play__button .sp-pause-icon path {\n  d: path("M 14.016 5.016 h 3.984 v 13.969 h -3.984 v -13.969 Z M 6 18.984 v -13.969 h 3.984 v 13.969 h -3.984 Z");\n}\n.sp-controls__fullscreen {\n  margin-right: 17px !important;\n}\n.sp-controls__fullscreen .fullscreen-icon {\n  width: 22px;\n}\n.sp-controls__fullscreen .fullscreen-icon path {\n  d: path("M 1.5 17 c 0.828 0 1.5 0.672 1.5 1.5 v 5 h 5 c 0.828 0 1.5 0.672 1.5 1.5 s -0.672 1.5 -1.5 1.5 H 1.5 C 0.672 26.5 0 25.828 0 25 v -6.5 c 0 -0.828 0.672 -1.5 1.5 -1.5 Z M 25 17 c 0.828 0 1.5 0.672 1.5 1.5 V 25 c 0 0.828 -0.672 1.5 -1.5 1.5 h -6.5 c -0.828 0 -1.5 -0.672 -1.5 -1.5 s 0.672 -1.5 1.5 -1.5 h 5 v -5 c 0 -0.828 0.672 -1.5 1.5 -1.5 Z M 8 0 c 0.828 0 1.5 0.672 1.5 1.5 S 8.828 3 8 3 H 3 v 5 c 0 0.828 -0.672 1.5 -1.5 1.5 S 0 8.828 0 8 V 1.5 C 0 0.672 0.672 0 1.5 0 Z m 17 0 c 0.828 0 1.5 0.672 1.5 1.5 V 8 c 0 0.828 -0.672 1.5 -1.5 1.5 s -1.5 -0.672 -1.5 -1.5 V 3 h -5 c -0.828 0 -1.5 -0.672 -1.5 -1.5 S 17.672 0 18.5 0 H 25 Z");\n}\n.sp-controls__fullscreen .close-fullscreen-icon {\n  display: none;\n}\n.sp-controls__fullscreen .close-fullscreen-icon path {\n  d: path("M 17.321 25.471 V 18.849 a 1.528 1.528 0 0 1 1.528 -1.528 h 6.622 a 1.528 1.528 0 1 1 0 3.056 H 20.377 v 5.094 a 1.528 1.528 0 1 1 -3.056 0 Z m -10.7 0 V 20.377 H 1.529 a 1.528 1.528 0 1 1 0 -3.056 H 8.151 A 1.528 1.528 0 0 1 9.68 18.849 v 6.622 a 1.528 1.528 0 1 1 -3.056 0 Z M 18.849 9.68 a 1.528 1.528 0 0 1 -1.528 -1.528 V 1.529 a 1.528 1.528 0 1 1 3.056 0 V 6.623 h 5.094 a 1.528 1.528 0 1 1 0 3.056 Z m -17.32 0 a 1.528 1.528 0 1 1 0 -3.056 H 6.623 V 1.529 a 1.528 1.528 0 1 1 3.056 0 V 8.151 A 1.528 1.528 0 0 1 8.151 9.68 Z");\n}\n.sp-controls__cinematic svg {\n  width: 37px;\n  height: 28px;\n}\n.sp-controls__button span {\n  border-radius: 4px;\n  background-color: var(--sp-icons-primary-color, #fff);\n  padding: 0 10px;\n  height: 22px;\n  font-size: 14px;\n  text-align: center;\n  color: var(--sp-icons-secondary-color, #000);\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  transition: all 0.2s ease-in-out;\n}\n.sp-controls__button:hover span, .sp-controls__button.sp-active span {\n  background-color: var(--sp-icons-active-color, #ff915a);\n}\n\n.sp-progress {\n  display: block;\n  z-index: 2;\n  position: relative;\n  height: 7px;\n  margin-bottom: 15px;\n}\n.sp-progress-thumb {\n  height: 18px;\n  width: 18px;\n  border-radius: 16px;\n  cursor: pointer;\n  -webkit-appearance: none;\n  margin-left: -7px;\n  margin-top: -5px;\n  z-index: 2;\n  box-shadow: 0 4px 11px 0 rgba(216, 88, 18, 0.25);\n  background-image: linear-gradient(to right, var(--sp-first-progress-bar-color, #ff915a) 4%, var(--sp-second-progress-bar-color, #ff785a) 102%);\n  position: absolute;\n  pointer-events: none;\n}\n.sp-progress-bar__end {\n  display: block;\n  right: 4px;\n  top: 0;\n  position: absolute;\n  z-index: -1;\n  opacity: 0.4;\n  height: 7px;\n  width: 7px;\n  cursor: pointer;\n  margin-left: 0;\n  -webkit-box-shadow: 0px 0px 0px 5px var(--sp-second-progress-bar-color, #ff785a);\n  -moz-box-shadow: 0px 0px 0px 5px var(--sp-second-progress-bar-color, #ff785a);\n  box-shadow: 0px 0px 0px 5px var(--sp-second-progress-bar-color, #ff785a);\n  border-radius: 100%;\n}\n.sp-progress:after {\n  content: "";\n  background-image: linear-gradient(91deg, var(--sp-first-progress-bar-color, #ff915a) 4%, var(--sp-second-progress-bar-color, #ff785a) 102%);\n  width: calc(100% - 18px + 2px);\n  border-radius: 4px 0 0 4px;\n  position: absolute;\n  height: 7px;\n  z-index: -1;\n  opacity: 0.4;\n}\n.sp-progress input[type=range]::-webkit-slider-thumb {\n  visibility: hidden;\n}\n.sp-progress input[type=range] {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  height: 14px;\n  margin-top: -3px;\n  background: transparent;\n  cursor: pointer;\n  border-color: transparent !important;\n}\n.sp-progress input[type=range]:focus {\n  outline: none;\n}\n.sp-progress input[type=range]::-webkit-slider-runnable-track {\n  width: 100%;\n  cursor: pointer;\n  border-radius: 1.3px;\n  -webkit-appearance: none;\n  transition: all 0.4s ease;\n}\n.sp-progress progress {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  border-radius: 4px;\n  width: 100%;\n  height: 7px;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  background: transparent;\n  border: none;\n}\n.sp-progress progress::-webkit-progress-bar {\n  background: transparent;\n}\n.sp-progress progress::-moz-progress-bar {\n  background: transparent;\n  box-shadow: 0 4px 11px 0 rgba(216, 88, 18, 0.25);\n  background-image: linear-gradient(to right, var(--sp-first-progress-bar-color, #ff915a) 4%, var(--sp-second-progress-bar-color, #ff785a) 102%);\n  border-radius: 4px;\n  border: none;\n  appearance: none;\n}\n.sp-progress progress::-webkit-progress-value {\n  box-shadow: 0 4px 11px 0 rgba(216, 88, 18, 0.25);\n  background-image: linear-gradient(to right, var(--sp-first-progress-bar-color, #ff915a) 4%, var(--sp-second-progress-bar-color, #ff785a) 102%);\n  border-radius: 4px;\n}\n.sp-progress progress::-moz-range-progress {\n  box-shadow: 0 4px 11px 0 rgba(216, 88, 18, 0.25);\n  background-image: linear-gradient(to right, var(--sp-first-progress-bar-color, #ff915a) 4%, var(--sp-second-progress-bar-color, #ff785a) 102%);\n  border-radius: 4px;\n}\n.sp-progress input[type=range]::-webkit-slider-thumb {\n  height: 18px;\n  width: 18px;\n  border-radius: 16px;\n  cursor: pointer;\n  -webkit-appearance: none;\n  margin-left: -5px;\n  box-shadow: 0 4px 11px 0 rgba(216, 88, 18, 0.25);\n  background-image: linear-gradient(to right, var(--sp-first-progress-bar-color, #ff915a) 4%, var(--sp-second-progress-bar-color, #ff785a) 102%);\n}\n.sp-progress input[type=range]::-moz-range-thumb {\n  height: 18px;\n  width: 18px;\n  border-radius: 16px;\n  cursor: pointer;\n  -webkit-appearance: none;\n  margin-left: 0;\n  box-shadow: 0 4px 11px 0 rgba(216, 88, 18, 0.25);\n  background-image: linear-gradient(to right, var(--sp-first-progress-bar-color, #ff915a) 4%, var(--sp-second-progress-bar-color, #ff785a) 102%);\n}\n.sp-progress input[type=range]::-moz-range-thumb {\n  height: 14px;\n  width: 14px;\n  border-radius: 50px;\n  border: 1px solid var(--youtube-red);\n  background: var(--youtube-red);\n  cursor: pointer;\n  margin-top: 5px;\n}\n\n.sp-seek {\n  position: absolute;\n  top: 0;\n  width: 100%;\n  cursor: pointer;\n  margin: 0;\n}\n.sp-seek:hover + .sp-seek__tooltip {\n  display: block;\n}\n.sp-seek__tooltip {\n  display: none;\n  padding: 12px;\n  border-radius: 6px;\n  background-color: rgba(14, 17, 29, 0.8);\n  position: absolute;\n  top: -52px;\n  content: attr(data-title);\n  color: var(--sp-icons-primary-color, #fff);\n  font-size: 14px;\n  font-weight: 600;\n  text-align: center;\n  transform: translateX(-60%);\n}\n\n.sp-volume {\n  position: relative;\n  display: flex;\n  align-items: center;\n  width: 45px;\n}\n.sp-volume input {\n  width: 70px;\n  opacity: 1;\n  transition: all 0.4s ease;\n  border-radius: 16px;\n  cursor: pointer;\n}\n.sp-volume__input {\n  position: relative;\n}\n.sp-volume__input:after {\n  position: absolute;\n  content: "";\n  display: block;\n  background-color: var(--sp-icons-primary-color, #fff);\n  opacity: 0.6;\n  height: 7px;\n  width: 100%;\n}\n.sp-volume__wrapper {\n  position: absolute;\n  top: -50px;\n  left: 50%;\n  transform: translateX(calc(-50% + 8.5px)) rotate(-90deg);\n  display: block;\n}\n.sp-volume__wrapper--hidden {\n  display: none;\n}\n.sp-volume__button {\n  margin-left: 17px;\n}\n.sp-volume__button svg {\n  width: 28px;\n}\n.sp-volume__button .sp-mute-icon path {\n  d: path("M 22.486 20.649 l -0.161 -0.157 a 1.183 1.183 0 0 1 -0.072 -1.622 a 12.59 12.59 0 0 0 -0.216 -16.715 A 1.182 1.182 0 0 1 22.086 0.511 l 0.16 -0.157 a 1.2 1.2 0 0 1 0.9 -0.353 a 1.235 1.235 0 0 1 0.881 0.4 a 15.171 15.171 0 0 1 0.257 20.171 A 1.237 1.237 0 0 1 23.4 21 h -0.051 A 1.236 1.236 0 0 1 22.486 20.649 Z m -11.419 -0.916 l -6.45 -5.259 H 1.18 A 1.171 1.171 0 0 1 0 13.313 V 8.688 A 1.17 1.17 0 0 1 1.18 7.527 H 4.616 l 6.45 -5.26 a 1.2 1.2 0 0 1 1.255 -0.157 A 1.162 1.162 0 0 1 13 3.162 V 18.839 a 1.158 1.158 0 0 1 -0.679 1.05 a 1.193 1.193 0 0 1 -1.255 -0.157 Z m 7.2 -3.217 l -0.165 -0.161 a 1.182 1.182 0 0 1 -0.118 -1.564 a 6.863 6.863 0 0 0 -0.189 -8.554 a 1.182 1.182 0 0 1 0.085 -1.606 l 0.164 -0.16 a 1.212 1.212 0 0 1 0.928 -0.35 a 1.234 1.234 0 0 1 0.888 0.439 a 9.455 9.455 0 0 1 0.256 11.825 a 1.233 1.233 0 0 1 -0.895 0.479 c -0.03 0 -0.059 0 -0.088 0 A 1.239 1.239 0 0 1 18.266 16.516 Z");\n}\n.sp-volume__button .sp-unmute-icon path {\n  d: path("M 12.3213 17.8895 C 12.1613 17.964 11.9898 18 11.8195 18 C 11.5497 18 11.2824 17.9088 11.0665 17.7326 L 4.61569 12.4735 L 1.17996 12.4735 C 0.528401 12.4741 0 11.9539 0 11.3129 L 0 6.68762 C 0 6.04631 0.528401 5.52644 1.17996 5.52644 L 4.61597 5.52644 L 11.0668 0.267295 C 11.4193 -0.0201172 11.908 -0.0813914 12.3216 0.110949 C 12.7352 0.301916 13 0.711327 13 1.1614 L 12.9997 16.8391 C 12.9997 17.2894 12.7352 17.6986 12.3213 17.8895 Z");\n}\n.sp-volume__progress {\n  display: block;\n  background-color: rgba(255, 255, 255, 0.4);\n  position: absolute;\n  margin-top: -11px;\n  width: 70px;\n  border-radius: 16px;\n  overflow: hidden;\n  pointer-events: none;\n}\n.sp-volume__thumb {\n  display: block;\n  pointer-events: none;\n  transform: translateX(100px);\n  width: 100%;\n  height: 7px;\n  background-color: var(--sp-icons-primary-color, #fff);\n  position: relative;\n  left: -100%;\n  border-radius: 16px;\n}\n.sp-volume input[type=range]:focus::-webkit-slider-runnable-track {\n  background: transparent;\n}\n.sp-volume input[type=range].sp-volume__input {\n  -webkit-appearance: none;\n  height: 7px !important;\n  background-color: transparent;\n  overflow: hidden;\n  border-radius: 100px;\n  margin: 0 !important;\n  padding: 0 !important;\n  opacity: 0;\n}\n.sp-volume input[type=range].sp-volume__input::-webkit-slider-value {\n  background: transparent;\n}\n.sp-volume input[type=range].sp-volume__input::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  margin-left: 0;\n  height: 1px;\n  width: 1px;\n  background: transparent;\n  box-sizing: border-box;\n  border-radius: 100%;\n}\n.sp-volume input[type=range]::-moz-range-track {\n  width: 100%;\n  height: 8.4px;\n  cursor: pointer;\n  background: transparent;\n  border-radius: 1.3px;\n  opacity: 0;\n}\n.sp-volume input[type=range]:focus::-moz-range-track {\n  outline: none;\n  opacity: 0;\n}\n.sp-volume input[type=range].sp-volume__input::-moz-range-thumb {\n  -webkit-appearance: none;\n  height: 1px;\n  width: 1px;\n  border: 1px solid #fff;\n  background: #fff;\n  opacity: 0;\n}\n\n.sp-unmute {\n  display: flex;\n  align-items: center;\n  padding: 10px;\n  background-color: var(--sp-unmute-label-bg-color, #fff);\n  color: var(--sp-unmute-label-primary-color, #000);\n  position: absolute;\n  left: 15px;\n  cursor: pointer;\n  font-size: 12px;\n}\n.sp-unmute.tiny {\n  transform: scale(0.8);\n  transform-origin: top left;\n  margin-top: -10px;\n}\n.sp-unmute svg {\n  padding-right: 5px;\n  fill: var(--sp-unmute-label-primary-color, #000);\n}\n.sp-unmute svg path {\n  d: path("M 12.3213 17.8895 C 12.1613 17.964 11.9898 18 11.8195 18 C 11.5497 18 11.2824 17.9088 11.0665 17.7326 L 4.61569 12.4735 L 1.17996 12.4735 C 0.528401 12.4741 0 11.9539 0 11.3129 L 0 6.68762 C 0 6.04631 0.528401 5.52644 1.17996 5.52644 L 4.61597 5.52644 L 11.0668 0.267295 C 11.4193 -0.0201172 11.908 -0.0813914 12.3216 0.110949 C 12.7352 0.301916 13 0.711327 13 1.1614 L 12.9997 16.8391 C 12.9997 17.2894 12.7352 17.6986 12.3213 17.8895 Z");\n}\n\n.video::cue {\n  color: #fff;\n  background: rgba(14, 17, 29, 0.8);\n  line-height: 20px;\n  visibility: hidden;\n}\n.video.sp-caption::cue {\n  visibility: visible;\n}\n\n.sp-cue-points {\n  position: absolute;\n  width: 100%;\n  z-index: 2;\n  display: flex;\n}\n.sp-cue-points__item {\n  position: absolute;\n  top: -30px;\n  margin-left: -16px;\n  cursor: pointer;\n}\n.sp-cue-points__item svg use:nth-child(1) {\n  fill: rgb(0, 0, 0);\n}\n.sp-cue-points__item svg g g g {\n  transform: translate(-718px, -924px) matrix(1, 0, 0, -1, 0, 1834);\n}\n.sp-cue-points__item svg path {\n  d: path("M 735.753 913.86 l 4.796 5.481 c 0.363 0.416 0.321 1.048 -0.094 1.412 c -0.183 0.16 -0.417 0.247 -0.659 0.247 h -9.592 c -0.553 0 -1 -0.448 -1 -1 c 0 -0.242 0.088 -0.476 0.247 -0.659 l 4.796 -5.48 c 0.364 -0.417 0.996 -0.459 1.412 -0.095 c 0.033 0.03 0.064 0.06 0.094 0.094 Z");\n}\n.sp-cue-points__item svg stop:nth-child(1) {\n  stop-color: var(--sp-first-cue-point-color, #ff915a);\n}\n.sp-cue-points__item svg stop:nth-child(2) {\n  stop-color: var(--sp-second-cue-point-color, #ff785a);\n}\n.sp-cue-points__item:before {\n  content: attr(data-title);\n  font-size: 11px;\n  position: absolute;\n  display: none;\n  left: 50%;\n  top: -20px;\n  transform: translateX(-50%);\n  background-color: rgba(0, 0, 0, 0.6);\n  color: #fff;\n  padding: 4px 6px;\n  word-break: keep-all;\n  white-space: pre;\n}\n.sp-cue-points__item:hover:before {\n  display: inline-block;\n}\n\n.sp-live-icon {\n  min-width: 60px;\n  height: 31px;\n  border-radius: 20px;\n  display: flex;\n  justify-content: right;\n  align-items: center;\n  z-index: 2;\n  position: relative;\n  right: 0px;\n  top: -6px;\n}\n.sp-live-icon.narrow span {\n  display: none !important;\n}\n.sp-live-icon span:empty {\n  display: none !important;\n}\n.sp-live-icon__text {\n  padding: 5px 0 5px 4px;\n  font-size: 12px;\n  font-family: var(--sp-font-bold, "Montserrat-bold");\n  color: #df0f33;\n  white-space: nowrap;\n}\n.sp-live-icon svg {\n  padding-left: 10px;\n}\n.sp-live-icon svg path {\n  fill: rgb(223, 15, 51);\n  fill-rule: nonzero;\n  d: path("M 7.76 16.24 C 6.67 15.16 6 13.66 6 12 c 0 -1.66 0.67 -3.16 1.76 -4.24 l 1.42 1.42 C 8.45 9.9 8 10.9 8 12 c 0 1.1 0.45 2.1 1.17 2.83 l -1.41 1.41 Z m 8.48 0 C 17.33 15.16 18 13.66 18 12 c 0 -1.66 -0.67 -3.16 -1.76 -4.24 l -1.42 1.42 C 15.55 9.9 16 10.9 16 12 c 0 1.1 -0.45 2.1 -1.17 2.83 l 1.41 1.41 Z M 12 10 c -1.1 0 -2 0.9 -2 2 s 0.9 2 2 2 s 2 -0.9 2 -2 s -0.9 -2 -2 -2 Z m 8 2 c 0 2.21 -0.9 4.21 -2.35 5.65 l 1.42 1.42 C 20.88 17.26 22 14.76 22 12 c 0 -2.76 -1.12 -5.26 -2.93 -7.07 l -1.42 1.42 C 19.1 7.79 20 9.79 20 12 Z M 6.35 6.35 L 4.93 4.93 C 3.12 6.74 2 9.24 2 12 c 0 2.76 1.12 5.26 2.93 7.07 l 1.42 -1.42 C 4.9 16.21 4 14.21 4 12 c 0 -2.21 0.9 -4.21 2.35 -5.65 Z");\n}\n\n.sp-menu {\n  display: flex;\n  border-radius: 10px;\n  background-color: rgba(0, 0, 0, 0.7);\n  position: absolute;\n  top: 100px;\n  left: 200px;\n  z-index: 9;\n}\n.sp-menu__caption {\n  transform: translate(-50%, -100%);\n  min-width: 150px;\n  margin-left: 25px;\n}\n.sp-menu__quality {\n  transform: translate(-50%, -100%);\n  left: 50%;\n  margin-top: -110px;\n}\n.sp-menu__quality:after {\n  content: "";\n  position: absolute;\n  bottom: -6px;\n  left: 50%;\n  transform: translateX(-50%);\n  display: block;\n  width: 2px;\n  height: 6px;\n  border-left: 6px solid transparent;\n  border-right: 6px solid transparent;\n  border-top: 6px solid rgba(0, 0, 0, 0.7);\n}\n.sp-menu__box {\n  padding: 15px 0 14px;\n}\n.sp-menu__list {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n}\n.sp-menu__list-item {\n  position: relative;\n  font-size: 12px;\n  font-family: var(--sp-font-bold, "Montserrat-bold");\n  color: var(--sp-icons-primary-color, #fff);\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  padding: 10px 0 11px;\n  cursor: pointer;\n  opacity: 1;\n}\n.sp-menu__list-item:hover span {\n  color: var(--sp-icons-active-color, #ff915a);\n}\n.sp-menu__list-item:first-child {\n  padding-top: 0;\n}\n.sp-menu__list-item:last-child {\n  padding-bottom: 0;\n}\n.sp-menu__list-item:last-child:before {\n  display: none;\n}\n.sp-menu__list-item span {\n  transition: all 0.2s ease-in-out;\n  padding: 0 20px;\n  pointer-events: none;\n}\n.sp-menu__list-item svg {\n  display: none;\n}\n.sp-menu__list-item:before {\n  content: "";\n  display: block;\n  position: absolute;\n  height: 1px;\n  width: 100%;\n  background-color: rgba(255, 255, 255, 0.2);\n  bottom: 0;\n}\n.sp-menu__list-item--link {\n  color: #fff;\n}\n.sp-menu__list-item--link a {\n  text-decoration: none;\n  color: #ff785a;\n}\n.sp-menu__list-item__active {\n  color: var(--sp-icons-active-color, #ff915a);\n  justify-content: space-between;\n}\n.sp-menu__list-item__active svg {\n  display: flex;\n  margin-right: 12px;\n}\n.sp-menu--hidden {\n  display: none;\n}\n\n.sp-loader {\n  width: 100%;\n  height: 100%;\n  background-color: var(--sp-background-color, #000);\n  border-radius: var(--sp-border-radius, 10px);\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  position: relative;\n  z-index: 9;\n}\n.sp-loader svg {\n  display: inline;\n  width: auto;\n  height: auto;\n  fill: currentColor;\n  stroke: none;\n  vertical-align: middle;\n}\n.sp-loader svg circle {\n  all: revert-layer;\n}\n.sp-loader .firstDot, .sp-loader .secondDot, .sp-loader .thirdDot {\n  fill: var(--sp-loader-color, #fff);\n}\n.sp-loader--hidden {\n  display: block;\n}\n\n.sp-error {\n  position: absolute;\n  z-index: 3;\n  width: 100%;\n  height: 100%;\n  background-color: var(--sp-background-color, #000);\n  border-radius: var(--sp-border-radius, 10px);\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n}\n.sp-error svg {\n  width: 60px;\n  height: 60px;\n}\n.sp-error svg path {\n  fill: var(--sp-icons-error-color, #df0f33);\n  d: path("M 36 21 c -9.93 0 -18 8.07 -18 18 c 0 4.98 2.04 9.45 5.28 12.72 l 4.26 -4.26 C 25.35 45.3 24 42.33 24 39 c 0 -6.63 5.37 -12 12 -12 s 12 5.37 12 12 c 0 3.33 -1.35 6.3 -3.54 8.46 l 4.26 4.26 C 51.96 48.45 54 43.98 54 39 c 0 -9.93 -8.07 -18 -18 -18 Z m 0 -12 C 19.44 9 6 22.44 6 39 c 0 8.28 3.36 15.78 8.79 21.21 l 4.26 -4.26 C 14.7 51.63 12 45.63 12 39 c 0 -13.26 10.74 -24 24 -24 c 7.59 0 14.34 3.51 18.72 9 h 7.26 C 56.79 15.03 47.1 9 36 9 Z m 0 24 c -3.3 0 -6 2.7 -6 6 c 0 1.65 0.69 3.15 1.77 4.23 C 32.85 44.31 34.35 45 36 45 c 1.65 0 3.15 -0.69 4.23 -1.77 C 41.31 42.15 42 40.65 42 39 c 0 -3.3 -2.7 -6 -6 -6 Z m 24 -3 h 6 v 18 h -6 V 30 Z m 0 24 h 6 v 6 h -6 v -6 Z");\n}\n.sp-error span {\n  color: var(--sp-text-error-color, #fff);\n  font-size: 18px;\n  font-family: var(--sp-font-bold, "Montserrat-bold");\n  text-align: center;\n}\n@media (max-width: 600px) {\n  .sp-error span {\n    font-size: 16px;\n  }\n}\n\n.sp-fullscreen {\n  border-radius: 0px !important;\n}\n.sp-fullscreen .sp-header,\n.sp-fullscreen .sp-controls {\n  border-radius: 0px !important;\n}\n\n.sp-resolution {\n  position: relative;\n  margin-left: 17px;\n}\n.sp-resolution button {\n  margin-left: unset;\n}\n\n.sp-waiting-room {\n  overflow: hidden;\n  position: absolute;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  width: 100%;\n  height: 100%;\n  border-radius: var(--sp-border-radius, 10px);\n  background-color: var(--sp-background-color, #000);\n  background-size: cover;\n  background-repeat: no-repeat;\n  color: white;\n  z-index: 10;\n}\n.sp-waiting-room.small .countdown-container {\n  transform: scale(0.5);\n}\n.sp-waiting-room.medium .countdown-container {\n  transform: scale(0.7);\n}\n.sp-waiting-room__wrapper {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  width: 100%;\n  height: 100%;\n  background: rgba(0, 0, 0, 0.5);\n  text-align: center;\n}\n.sp-waiting-room__wrapper .title {\n  font-size: 20px;\n  font-weight: 700;\n  color: #fff !important;\n}\n.sp-waiting-room__wrapper .countdown {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  gap: 20px;\n  padding: 20px 0;\n}\n.sp-waiting-room__wrapper .countdown .counter {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  width: 128px;\n  height: 128px;\n  font-size: 54px;\n  font-weight: 700;\n}\n.sp-waiting-room__wrapper .countdown .counter span:nth-child(3) {\n  font-size: 12px;\n}\n.sp-waiting-room__wrapper .countdown .counter .progress-ring {\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n.sp-waiting-room__wrapper .countdown .counter .progress-ring stop:nth-child(1) {\n  stop-color: var(--sp-first-waiting-ring-color, #ff915a);\n}\n.sp-waiting-room__wrapper .countdown .counter .progress-ring stop:nth-child(2) {\n  stop-color: var(--sp-second-waiting-ring-color, #ff785a);\n}\n.sp-waiting-room__wrapper .countdown .counter .progress-ring circle {\n  r: 60px;\n  cx: 64px;\n  cy: 64px;\n  fill: transparent;\n  stroke-dashoffset: 0;\n  stroke-dasharray: 377;\n  stroke-width: 1px;\n  transform: rotate(-90deg);\n  transform-origin: 50% 50%;\n}\n.sp-waiting-room__wrapper .countdown .counter .progress-ring .progress-ring__track {\n  opacity: 0.3;\n  stroke: rgb(234, 234, 234);\n}\n.sp-waiting-room__wrapper .countdown .counter .progress-ring .progress-ring__circle {\n  stroke-width: 4px;\n  transition: stroke-dashoffset 1s linear;\n}\n.sp-waiting-room__wrapper .video-start {\n  font-size: 16px;\n}\n.sp-waiting-room__wrapper .video-start-date {\n  font-weight: 700;\n}\n\n.sp-stat-box {\n  z-index: 2;\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: flex;\n  flex-direction: column;\n  background-color: rgba(0, 0, 0, 0.75);\n  border-radius: 8px;\n  font-size: 12px;\n  color: white;\n  width: 100%;\n  height: 100%;\n  padding: 20px;\n}\n.sp-stat-box__close-btn {\n  position: absolute;\n  top: 20px;\n  right: 20px;\n  line-height: 12px;\n  cursor: pointer;\n}\n.sp-stat-box__close-btn svg {\n  overflow-clip-margin: content-box;\n  overflow: hidden;\n  transform-origin: 0px 0px;\n  width: 24px;\n  height: 24px;\n}\n.sp-stat-box__close-btn svg > g {\n  transform-origin: 0px 0px;\n  stroke: none;\n  stroke-width: 1;\n  fill: #fff;\n  fill-rule: evenodd;\n}\n.sp-stat-box__close-btn svg > g > g {\n  transform: translate(-1570%, -190%);\n}\n.sp-stat-box__close-btn svg > g > g > g {\n  transform: translate(1333%, 179%);\n}\n.sp-stat-box__close-btn svg > g > g > g > g {\n  transform: translate(244.021%, 18.0208%) rotate(-315deg) translate(-244.021%, -18.0208%) translate(235.521%, 9.52081%);\n}\n.sp-stat-box__close-btn svg > g > g > g > g rect:first-of-type {\n  transform-origin: 0px 0px;\n  x: 0;\n  y: 7.5;\n  width: 17px;\n  height: 2px;\n  rx: 1;\n}\n.sp-stat-box__close-btn svg > g > g > g > g rect:last-of-type {\n  transform: translate(8.5%, 8.5%) rotate(-270deg) translate(-8.5%, -8.5%);\n  x: 0;\n  y: 7.5;\n  width: 17px;\n  height: 2px;\n  rx: 1;\n}\n.sp-stat-box__title {\n  font-size: 1.5rem;\n  font-weight: 700;\n  margin-bottom: 30px;\n}\n.sp-stat-box__stats {\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  gap: 40px;\n}\n.sp-stat-box__stats input {\n  text-align: right;\n  font-weight: 700;\n  max-width: 100px;\n  cursor: text;\n}\n.sp-stat-box__stats > div {\n  display: flex;\n  flex-direction: column;\n  width: calc(50% - 20px);\n}\n.sp-stat-box__stats > div > span {\n  font-size: 1.125rem;\n  font-weight: 700;\n  margin-bottom: 10px;\n  padding-bottom: 10px;\n  border-bottom: 1px solid rgba(255, 255, 255, 0.3);\n}\n.sp-stat-box__stats > div > div {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  font-size: 0.875rem;\n}\n.sp-stat-box__stats > div > div > div {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n}\n.sp-stat-box__stats > div > div > div span:first-of-type {\n  font-weight: 500;\n}\n.sp-stat-box__stats > div > div > div span:last-of-type {\n  font-weight: 700;\n  font-size: 1rem;\n}\n\n.sp-context-menu {\n  z-index: 100;\n  position: absolute;\n  display: flex;\n  flex-direction: column;\n  background-color: rgba(0, 0, 0, 0.75);\n  border-radius: 10px;\n  padding: 5px;\n}\n.sp-context-menu li {\n  padding: 6px 10px;\n  font-size: 14px;\n  color: var(--sp-icons-primary-color, #fff);\n  cursor: pointer;\n  transition: color 0.2s ease;\n  border-bottom: 1px solid rgba(255, 255, 255, 0.2);\n}\n.sp-context-menu li:hover {\n  color: var(--sp-icons-active-color, #ff915a);\n}\n.sp-context-menu li:last-child {\n  border-bottom: 1px solid rgba(255, 255, 255, 0);\n}\n.sp-context-menu.hidden {\n  visibility: hidden;\n}\n\n.sp-watermark {\n  position: absolute;\n  bottom: 65px;\n  opacity: 1;\n  transition: bottom 0.5s;\n}\n.sp-watermark img {\n  width: 100%;\n  height: 100%;\n  max-width: 150px;\n  max-height: 85px;\n  width: auto;\n  height: auto;\n}\n.sp-watermark.tiny img {\n  max-width: 70px;\n  max-height: 30px;\n}\n.sp-watermark.narrow img {\n  max-width: 100px;\n  max-height: 55px;\n}\n.sp-watermark.low-position {\n  bottom: 13px !important;\n}\n\n.sp-poster {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 100%;\n  height: 100%;\n  pointer-events: none;\n}\n.sp-poster img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n.sp-poster--hidden {\n  opacity: 0;\n}',{singleTag:!0,prepend:!0});class s{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"div";this.className=e,this.tagName=i,this.stormPlayer=t,this.draw(),this.attachListeners()}getHtmlElement(){return this.htmlElement}remove(){this.htmlElement.remove()}hide(){this.htmlElement.classList.add("sp-hidden")}show(){this.htmlElement.classList.remove("sp-hidden")}draw(){this.htmlElement=document.createElement(this.tagName),""!=this.className&&(this.htmlElement.className=this.className),"button"==this.tagName&&this.htmlElement.setAttribute("type","button"),this.htmlElement.innerHTML=""}attachListeners(){}}class a extends Error{}class o extends a{constructor(t){super(`Invalid DateTime: ${t.toMessage()}`)}}class l extends a{constructor(t){super(`Invalid Interval: ${t.toMessage()}`)}}class h extends a{constructor(t){super(`Invalid Duration: ${t.toMessage()}`)}}class u extends a{}class d extends a{constructor(t){super(`Invalid unit ${t}`)}}class c extends a{}class m extends a{constructor(){super("Zone is an abstract class")}}const g="numeric",p="short",f="long",y={year:g,month:g,day:g},v={year:g,month:p,day:g},b={year:g,month:p,day:g,weekday:p},S={year:g,month:f,day:g},C={year:g,month:f,day:g,weekday:f},w={hour:g,minute:g},E={hour:g,minute:g,second:g},T={hour:g,minute:g,second:g,timeZoneName:p},P={hour:g,minute:g,second:g,timeZoneName:f},L={hour:g,minute:g,hourCycle:"h23"},k={hour:g,minute:g,second:g,hourCycle:"h23"},x={hour:g,minute:g,second:g,hourCycle:"h23",timeZoneName:p},M={hour:g,minute:g,second:g,hourCycle:"h23",timeZoneName:f},I={year:g,month:g,day:g,hour:g,minute:g},R={year:g,month:g,day:g,hour:g,minute:g,second:g},N={year:g,month:p,day:g,hour:g,minute:g},D={year:g,month:p,day:g,hour:g,minute:g,second:g},O={year:g,month:p,day:g,weekday:p,hour:g,minute:g},A={year:g,month:f,day:g,hour:g,minute:g,timeZoneName:p},B={year:g,month:f,day:g,hour:g,minute:g,second:g,timeZoneName:p},U={year:g,month:f,day:g,weekday:f,hour:g,minute:g,timeZoneName:f},F={year:g,month:f,day:g,weekday:f,hour:g,minute:g,second:g,timeZoneName:f};class W{get type(){throw new m}get name(){throw new m}get ianaName(){return this.name}get isUniversal(){throw new m}offsetName(t,e){throw new m}formatOffset(t,e){throw new m}offset(t){throw new m}equals(t){throw new m}get isValid(){throw new m}}let V=null;class H extends W{static get instance(){return null===V&&(V=new H),V}get type(){return"system"}get name(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(t,{format:e,locale:i}){return Dt(t,e,i)}formatOffset(t,e){return Ut(this.offset(t),e)}offset(t){return-new Date(t).getTimezoneOffset()}equals(t){return"system"===t.type}get isValid(){return!0}}let q={};const z={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};let G={};class K extends W{static create(t){return G[t]||(G[t]=new K(t)),G[t]}static resetCache(){G={},q={}}static isValidSpecifier(t){return this.isValidZone(t)}static isValidZone(t){if(!t)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:t}).format(),!0}catch(t){return!1}}constructor(t){super(),this.zoneName=t,this.valid=K.isValidZone(t)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(t,{format:e,locale:i}){return Dt(t,e,i,this.name)}formatOffset(t,e){return Ut(this.offset(t),e)}offset(t){const e=new Date(t);if(isNaN(e))return NaN;const i=(n=this.name,q[n]||(q[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),q[n]);var n;let[r,s,a,o,l,h,u]=i.formatToParts?function(t,e){const i=t.formatToParts(e),n=[];for(let t=0;t<i.length;t++){const{type:e,value:r}=i[t],s=z[e];"era"===e?n[s]=r:pt(s)||(n[s]=parseInt(r,10))}return n}(i,e):function(t,e){const i=t.format(e).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(i),[,r,s,a,o,l,h,u]=n;return[a,r,s,o,l,h,u]}(i,e);"BC"===o&&(r=1-Math.abs(r));let d=+e;const c=d%1e3;return d-=c>=0?c:1e3+c,(It({year:r,month:s,day:a,hour:24===l?0:l,minute:h,second:u,millisecond:0})-d)/6e4}equals(t){return"iana"===t.type&&t.name===this.name}get isValid(){return this.valid}}let Z={};let _={};function j(t,e={}){const i=JSON.stringify([t,e]);let n=_[i];return n||(n=new Intl.DateTimeFormat(t,e),_[i]=n),n}let Y={};let Q={};let J=null;function X(t,e,i,n){const r=t.listingMode();return"error"===r?null:"en"===r?i(e):n(e)}class ${constructor(t,e,i){this.padTo=i.padTo||0,this.floor=i.floor||!1;const{padTo:n,floor:r,...s}=i;if(!e||Object.keys(s).length>0){const e={useGrouping:!1,...i};i.padTo>0&&(e.minimumIntegerDigits=i.padTo),this.inf=function(t,e={}){const i=JSON.stringify([t,e]);let n=Y[i];return n||(n=new Intl.NumberFormat(t,e),Y[i]=n),n}(t,e)}}format(t){if(this.inf){const e=this.floor?Math.floor(t):t;return this.inf.format(e)}return wt(this.floor?Math.floor(t):Lt(t,3),this.padTo)}}class tt{constructor(t,e,i){let n;if(this.opts=i,this.originalZone=void 0,this.opts.timeZone)this.dt=t;else if("fixed"===t.zone.type){const e=t.offset/60*-1,i=e>=0?`Etc/GMT+${e}`:`Etc/GMT${e}`;0!==t.offset&&K.create(i).valid?(n=i,this.dt=t):(n="UTC",this.dt=0===t.offset?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else"system"===t.zone.type?this.dt=t:"iana"===t.zone.type?(this.dt=t,n=t.zone.name):(n="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);const r={...this.opts};r.timeZone=r.timeZone||n,this.dtf=j(e,r)}format(){return this.originalZone?this.formatToParts().map((({value:t})=>t)).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){const t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map((t=>{if("timeZoneName"===t.type){const e=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...t,value:e}}return t})):t}resolvedOptions(){return this.dtf.resolvedOptions()}}class et{constructor(t,e,i){this.opts={style:"long",...i},!e&&vt()&&(this.rtf=function(t,e={}){const{base:i,...n}=e,r=JSON.stringify([t,n]);let s=Q[r];return s||(s=new Intl.RelativeTimeFormat(t,e),Q[r]=s),s}(t,i))}format(t,e){return this.rtf?this.rtf.format(t,e):function(t,e,i="always",n=!1){const r={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},s=-1===["hours","minutes","seconds"].indexOf(t);if("auto"===i&&s){const i="days"===t;switch(e){case 1:return i?"tomorrow":`next ${r[t][0]}`;case-1:return i?"yesterday":`last ${r[t][0]}`;case 0:return i?"today":`this ${r[t][0]}`}}const a=Object.is(e,-0)||e<0,o=Math.abs(e),l=1===o,h=r[t],u=n?l?h[1]:h[2]||h[1]:l?r[t][0]:t;return a?`${o} ${u} ago`:`in ${o} ${u}`}(e,t,this.opts.numeric,"long"!==this.opts.style)}formatToParts(t,e){return this.rtf?this.rtf.formatToParts(t,e):[]}}class it{static fromOpts(t){return it.create(t.locale,t.numberingSystem,t.outputCalendar,t.defaultToEN)}static create(t,e,i,n=!1){const r=t||gt.defaultLocale,s=r||(n?"en-US":J||(J=(new Intl.DateTimeFormat).resolvedOptions().locale,J)),a=e||gt.defaultNumberingSystem,o=i||gt.defaultOutputCalendar;return new it(s,a,o,r)}static resetCache(){J=null,_={},Y={},Q={}}static fromObject({locale:t,numberingSystem:e,outputCalendar:i}={}){return it.create(t,e,i)}constructor(t,e,i,n){const[r,s,a]=function(t){const e=t.indexOf("-x-");-1!==e&&(t=t.substring(0,e));const i=t.indexOf("-u-");if(-1===i)return[t];{let e,n;try{e=j(t).resolvedOptions(),n=t}catch(r){const s=t.substring(0,i);e=j(s).resolvedOptions(),n=s}const{numberingSystem:r,calendar:s}=e;return[n,r,s]}}(t);this.locale=r,this.numberingSystem=e||s||null,this.outputCalendar=i||a||null,this.intl=function(t,e,i){return i||e?(t.includes("-u-")||(t+="-u"),i&&(t+=`-ca-${i}`),e&&(t+=`-nu-${e}`),t):t}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=n,this.fastNumbersCached=null}get fastNumbers(){var t;return null==this.fastNumbersCached&&(this.fastNumbersCached=(!(t=this).numberingSystem||"latn"===t.numberingSystem)&&("latn"===t.numberingSystem||!t.locale||t.locale.startsWith("en")||"latn"===new Intl.DateTimeFormat(t.intl).resolvedOptions().numberingSystem)),this.fastNumbersCached}listingMode(){const t=this.isEnglish(),e=!(null!==this.numberingSystem&&"latn"!==this.numberingSystem||null!==this.outputCalendar&&"gregory"!==this.outputCalendar);return t&&e?"en":"intl"}clone(t){return t&&0!==Object.getOwnPropertyNames(t).length?it.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,t.defaultToEN||!1):this}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,e=!1){return X(this,t,qt,(()=>{const i=e?{month:t,day:"numeric"}:{month:t},n=e?"format":"standalone";return this.monthsCache[n][t]||(this.monthsCache[n][t]=function(t){const e=[];for(let i=1;i<=12;i++){const n=sn.utc(2009,i,1);e.push(t(n))}return e}((t=>this.extract(t,i,"month")))),this.monthsCache[n][t]}))}weekdays(t,e=!1){return X(this,t,Zt,(()=>{const i=e?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},n=e?"format":"standalone";return this.weekdaysCache[n][t]||(this.weekdaysCache[n][t]=function(t){const e=[];for(let i=1;i<=7;i++){const n=sn.utc(2016,11,13+i);e.push(t(n))}return e}((t=>this.extract(t,i,"weekday")))),this.weekdaysCache[n][t]}))}meridiems(){return X(this,void 0,(()=>_t),(()=>{if(!this.meridiemCache){const t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[sn.utc(2016,11,13,9),sn.utc(2016,11,13,19)].map((e=>this.extract(e,t,"dayperiod")))}return this.meridiemCache}))}eras(t){return X(this,t,Jt,(()=>{const e={era:t};return this.eraCache[t]||(this.eraCache[t]=[sn.utc(-40,1,1),sn.utc(2017,1,1)].map((t=>this.extract(t,e,"era")))),this.eraCache[t]}))}extract(t,e,i){const n=this.dtFormatter(t,e).formatToParts().find((t=>t.type.toLowerCase()===i));return n?n.value:null}numberFormatter(t={}){return new $(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,e={}){return new tt(t,this.intl,e)}relFormatter(t={}){return new et(this.intl,this.isEnglish(),t)}listFormatter(t={}){return function(t,e={}){const i=JSON.stringify([t,e]);let n=Z[i];return n||(n=new Intl.ListFormat(t,e),Z[i]=n),n}(this.intl,t)}isEnglish(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}}let nt=null;class rt extends W{static get utcInstance(){return null===nt&&(nt=new rt(0)),nt}static instance(t){return 0===t?rt.utcInstance:new rt(t)}static parseSpecifier(t){if(t){const e=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(e)return new rt(Ot(e[1],e[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return 0===this.fixed?"UTC":`UTC${Ut(this.fixed,"narrow")}`}get ianaName(){return 0===this.fixed?"Etc/UTC":`Etc/GMT${Ut(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,e){return Ut(this.fixed,e)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return"fixed"===t.type&&t.fixed===this.fixed}get isValid(){return!0}}class st extends W{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function at(t,e){if(pt(t)||null===t)return e;if(t instanceof W)return t;if("string"==typeof t){const i=t.toLowerCase();return"default"===i?e:"local"===i||"system"===i?H.instance:"utc"===i||"gmt"===i?rt.utcInstance:rt.parseSpecifier(i)||K.create(t)}return ft(t)?rt.instance(t):"object"==typeof t&&"offset"in t&&"function"==typeof t.offset?t:new st(t)}let ot,lt=()=>Date.now(),ht="system",ut=null,dt=null,ct=null,mt=60;class gt{static get now(){return lt}static set now(t){lt=t}static set defaultZone(t){ht=t}static get defaultZone(){return at(ht,H.instance)}static get defaultLocale(){return ut}static set defaultLocale(t){ut=t}static get defaultNumberingSystem(){return dt}static set defaultNumberingSystem(t){dt=t}static get defaultOutputCalendar(){return ct}static set defaultOutputCalendar(t){ct=t}static get twoDigitCutoffYear(){return mt}static set twoDigitCutoffYear(t){mt=t%100}static get throwOnInvalid(){return ot}static set throwOnInvalid(t){ot=t}static resetCaches(){it.resetCache(),K.resetCache()}}function pt(t){return void 0===t}function ft(t){return"number"==typeof t}function yt(t){return"number"==typeof t&&t%1==0}function vt(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(t){return!1}}function bt(t,e,i){if(0!==t.length)return t.reduce(((t,n)=>{const r=[e(n),n];return t&&i(t[0],r[0])===t[0]?t:r}),null)[1]}function St(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Ct(t,e,i){return yt(t)&&t>=e&&t<=i}function wt(t,e=2){let i;return i=t<0?"-"+(""+-t).padStart(e,"0"):(""+t).padStart(e,"0"),i}function Et(t){return pt(t)||null===t||""===t?void 0:parseInt(t,10)}function Tt(t){return pt(t)||null===t||""===t?void 0:parseFloat(t)}function Pt(t){if(!pt(t)&&null!==t&&""!==t){const e=1e3*parseFloat("0."+t);return Math.floor(e)}}function Lt(t,e,i=!1){const n=10**e;return(i?Math.trunc:Math.round)(t*n)/n}function kt(t){return t%4==0&&(t%100!=0||t%400==0)}function xt(t){return kt(t)?366:365}function Mt(t,e){const i=function(t,e){return t-e*Math.floor(t/e)}(e-1,12)+1;return 2===i?kt(t+(e-i)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][i-1]}function It(t){let e=Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,t.second,t.millisecond);return t.year<100&&t.year>=0&&(e=new Date(e),e.setUTCFullYear(t.year,t.month-1,t.day)),+e}function Rt(t){const e=(t+Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))%7,i=t-1,n=(i+Math.floor(i/4)-Math.floor(i/100)+Math.floor(i/400))%7;return 4===e||3===n?53:52}function Nt(t){return t>99?t:t>gt.twoDigitCutoffYear?1900+t:2e3+t}function Dt(t,e,i,n=null){const r=new Date(t),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(s.timeZone=n);const a={timeZoneName:e,...s},o=new Intl.DateTimeFormat(i,a).formatToParts(r).find((t=>"timezonename"===t.type.toLowerCase()));return o?o.value:null}function Ot(t,e){let i=parseInt(t,10);Number.isNaN(i)&&(i=0);const n=parseInt(e,10)||0;return 60*i+(i<0||Object.is(i,-0)?-n:n)}function At(t){const e=Number(t);if("boolean"==typeof t||""===t||Number.isNaN(e))throw new c(`Invalid unit value ${t}`);return e}function Bt(t,e){const i={};for(const n in t)if(St(t,n)){const r=t[n];if(null==r)continue;i[e(n)]=At(r)}return i}function Ut(t,e){const i=Math.trunc(Math.abs(t/60)),n=Math.trunc(Math.abs(t%60)),r=t>=0?"+":"-";switch(e){case"short":return`${r}${wt(i,2)}:${wt(n,2)}`;case"narrow":return`${r}${i}${n>0?`:${n}`:""}`;case"techie":return`${r}${wt(i,2)}${wt(n,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}function Ft(t){return function(t,e){return e.reduce(((e,i)=>(e[i]=t[i],e)),{})}(t,["hour","minute","second","millisecond"])}const Wt=["January","February","March","April","May","June","July","August","September","October","November","December"],Vt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ht=["J","F","M","A","M","J","J","A","S","O","N","D"];function qt(t){switch(t){case"narrow":return[...Ht];case"short":return[...Vt];case"long":return[...Wt];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const zt=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Gt=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],Kt=["M","T","W","T","F","S","S"];function Zt(t){switch(t){case"narrow":return[...Kt];case"short":return[...Gt];case"long":return[...zt];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const _t=["AM","PM"],jt=["Before Christ","Anno Domini"],Yt=["BC","AD"],Qt=["B","A"];function Jt(t){switch(t){case"narrow":return[...Qt];case"short":return[...Yt];case"long":return[...jt];default:return null}}function Xt(t,e){let i="";for(const n of t)n.literal?i+=n.val:i+=e(n.val);return i}const $t={D:y,DD:v,DDD:S,DDDD:C,t:w,tt:E,ttt:T,tttt:P,T:L,TT:k,TTT:x,TTTT:M,f:I,ff:N,fff:A,ffff:U,F:R,FF:D,FFF:B,FFFF:F};class te{static create(t,e={}){return new te(t,e)}static parseFormat(t){let e=null,i="",n=!1;const r=[];for(let s=0;s<t.length;s++){const a=t.charAt(s);"'"===a?(i.length>0&&r.push({literal:n||/^\s+$/.test(i),val:i}),e=null,i="",n=!n):n||a===e?i+=a:(i.length>0&&r.push({literal:/^\s+$/.test(i),val:i}),i=a,e=a)}return i.length>0&&r.push({literal:n||/^\s+$/.test(i),val:i}),r}static macroTokenToFormatOpts(t){return $t[t]}constructor(t,e){this.opts=e,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,e){null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem());return this.systemLoc.dtFormatter(t,{...this.opts,...e}).format()}dtFormatter(t,e={}){return this.loc.dtFormatter(t,{...this.opts,...e})}formatDateTime(t,e){return this.dtFormatter(t,e).format()}formatDateTimeParts(t,e){return this.dtFormatter(t,e).formatToParts()}formatInterval(t,e){return this.dtFormatter(t.start,e).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,e){return this.dtFormatter(t,e).resolvedOptions()}num(t,e=0){if(this.opts.forceSimple)return wt(t,e);const i={...this.opts};return e>0&&(i.padTo=e),this.loc.numberFormatter(i).format(t)}formatDateTimeFromString(t,e){const i="en"===this.loc.listingMode(),n=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,r=(e,i)=>this.loc.extract(t,e,i),s=e=>t.isOffsetFixed&&0===t.offset&&e.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,e.format):"",a=()=>i?function(t){return _t[t.hour<12?0:1]}(t):r({hour:"numeric",hourCycle:"h12"},"dayperiod"),o=(e,n)=>i?function(t,e){return qt(e)[t.month-1]}(t,e):r(n?{month:e}:{month:e,day:"numeric"},"month"),l=(e,n)=>i?function(t,e){return Zt(e)[t.weekday-1]}(t,e):r(n?{weekday:e}:{weekday:e,month:"long",day:"numeric"},"weekday"),h=e=>{const i=te.macroTokenToFormatOpts(e);return i?this.formatWithSystemDefault(t,i):e},u=e=>i?function(t,e){return Jt(e)[t.year<0?0:1]}(t,e):r({era:e},"era");return Xt(te.parseFormat(e),(e=>{switch(e){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12==0?12:t.hour%12);case"hh":return this.num(t.hour%12==0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return s({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return s({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return s({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return a();case"d":return n?r({day:"numeric"},"day"):this.num(t.day);case"dd":return n?r({day:"2-digit"},"day"):this.num(t.day,2);case"c":case"E":return this.num(t.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return n?r({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return n?r({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return o("short",!0);case"LLLL":return o("long",!0);case"LLLLL":return o("narrow",!0);case"M":return n?r({month:"numeric"},"month"):this.num(t.month);case"MM":return n?r({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return o("short",!1);case"MMMM":return o("long",!1);case"MMMMM":return o("narrow",!1);case"y":return n?r({year:"numeric"},"year"):this.num(t.year);case"yy":return n?r({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return n?r({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return n?r({year:"numeric"},"year"):this.num(t.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return h(e)}}))}formatDurationFromString(t,e){const i=t=>{switch(t[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},n=te.parseFormat(e),r=n.reduce(((t,{literal:e,val:i})=>e?t:t.concat(i)),[]),s=t.shiftTo(...r.map(i).filter((t=>t)));return Xt(n,(t=>e=>{const n=i(e);return n?this.num(t.get(n),e.length):e})(s))}}class ee{constructor(t,e){this.reason=t,this.explanation=e}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}const ie=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function ne(...t){const e=t.reduce(((t,e)=>t+e.source),"");return RegExp(`^${e}$`)}function re(...t){return e=>t.reduce((([t,i,n],r)=>{const[s,a,o]=r(e,n);return[{...t,...s},a||i,o]}),[{},null,1]).slice(0,2)}function se(t,...e){if(null==t)return[null,null];for(const[i,n]of e){const e=i.exec(t);if(e)return n(e)}return[null,null]}function ae(...t){return(e,i)=>{const n={};let r;for(r=0;r<t.length;r++)n[t[r]]=Et(e[i+r]);return[n,null,i+r]}}const oe=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,le=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,he=RegExp(`${le.source}${`(?:${oe.source}?(?:\\[(${ie.source})\\])?)?`}`),ue=RegExp(`(?:T${he.source})?`),de=ae("weekYear","weekNumber","weekDay"),ce=ae("year","ordinal"),me=RegExp(`${le.source} ?(?:${oe.source}|(${ie.source}))?`),ge=RegExp(`(?: ${me.source})?`);function pe(t,e,i){const n=t[e];return pt(n)?i:Et(n)}function fe(t,e){return[{hours:pe(t,e,0),minutes:pe(t,e+1,0),seconds:pe(t,e+2,0),milliseconds:Pt(t[e+3])},null,e+4]}function ye(t,e){const i=!t[e]&&!t[e+1],n=Ot(t[e+1],t[e+2]);return[{},i?null:rt.instance(n),e+3]}function ve(t,e){return[{},t[e]?K.create(t[e]):null,e+1]}const be=RegExp(`^T?${le.source}$`),Se=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function Ce(t){const[e,i,n,r,s,a,o,l,h]=t,u="-"===e[0],d=l&&"-"===l[0],c=(t,e=!1)=>void 0!==t&&(e||t&&u)?-t:t;return[{years:c(Tt(i)),months:c(Tt(n)),weeks:c(Tt(r)),days:c(Tt(s)),hours:c(Tt(a)),minutes:c(Tt(o)),seconds:c(Tt(l),"-0"===l),milliseconds:c(Pt(h),d)}]}const we={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Ee(t,e,i,n,r,s,a){const o={year:2===e.length?Nt(Et(e)):Et(e),month:Vt.indexOf(i)+1,day:Et(n),hour:Et(r),minute:Et(s)};return a&&(o.second=Et(a)),t&&(o.weekday=t.length>3?zt.indexOf(t)+1:Gt.indexOf(t)+1),o}const Te=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Pe(t){const[,e,i,n,r,s,a,o,l,h,u,d]=t,c=Ee(e,r,n,i,s,a,o);let m;return m=l?we[l]:h?0:Ot(u,d),[c,new rt(m)]}const Le=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,ke=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,xe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Me(t){const[,e,i,n,r,s,a,o]=t;return[Ee(e,r,n,i,s,a,o),rt.utcInstance]}function Ie(t){const[,e,i,n,r,s,a,o]=t;return[Ee(e,o,i,n,r,s,a),rt.utcInstance]}const Re=ne(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,ue),Ne=ne(/(\d{4})-?W(\d\d)(?:-?(\d))?/,ue),De=ne(/(\d{4})-?(\d{3})/,ue),Oe=ne(he),Ae=re((function(t,e){return[{year:pe(t,e),month:pe(t,e+1,1),day:pe(t,e+2,1)},null,e+3]}),fe,ye,ve),Be=re(de,fe,ye,ve),Ue=re(ce,fe,ye,ve),Fe=re(fe,ye,ve);const We=re(fe);const Ve=ne(/(\d{4})-(\d\d)-(\d\d)/,ge),He=ne(me),qe=re(fe,ye,ve);const ze={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},Ge={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6},...ze},Ke=365.2425,Ze=30.436875,_e={years:{quarters:4,months:12,weeks:52.1775,days:Ke,hours:8765.82,minutes:525949.2,seconds:525949.2*60,milliseconds:525949.2*60*1e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:525949.2*60/4,milliseconds:7889237999.999999},months:{weeks:4.3481250000000005,days:Ze,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3},...ze},je=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Ye=je.slice(0).reverse();function Qe(t,e,i=!1){const n={values:i?e.values:{...t.values,...e.values||{}},loc:t.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||t.conversionAccuracy,matrix:e.matrix||t.matrix};return new $e(n)}function Je(t){return Math.trunc(1e3*t)/1e3}function Xe(t,e,i,n,r){const s=t[r][i],a=e[i]/s,o=Math.floor(a);n[r]=Je(n[r]+o),e[i]=Je(e[i]-o*s)}class $e{constructor(t){const e="longterm"===t.conversionAccuracy||!1;let i=e?_e:Ge;t.matrix&&(i=t.matrix),this.values=t.values,this.loc=t.loc||it.create(),this.conversionAccuracy=e?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=i,this.isLuxonDuration=!0}static fromMillis(t,e){return $e.fromObject({milliseconds:t},e)}static fromObject(t,e={}){if(null==t||"object"!=typeof t)throw new c("Duration.fromObject: argument expected to be an object, got "+(null===t?"null":typeof t));return new $e({values:Bt(t,$e.normalizeUnit),loc:it.fromObject(e),conversionAccuracy:e.conversionAccuracy,matrix:e.matrix})}static fromDurationLike(t){if(ft(t))return $e.fromMillis(t);if($e.isDuration(t))return t;if("object"==typeof t)return $e.fromObject(t);throw new c(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,e){const[i]=function(t){return se(t,[Se,Ce])}(t);return i?$e.fromObject(i,e):$e.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,e){const[i]=function(t){return se(t,[be,We])}(t);return i?$e.fromObject(i,e):$e.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,e=null){if(!t)throw new c("need to specify a reason the Duration is invalid");const i=t instanceof ee?t:new ee(t,e);if(gt.throwOnInvalid)throw new h(i);return new $e({invalid:i})}static normalizeUnit(t){const e={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t?t.toLowerCase():t];if(!e)throw new d(t);return e}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,e={}){const i={...e,floor:!1!==e.round&&!1!==e.floor};return this.isValid?te.create(this.loc,i).formatDurationFromString(this,t):"Invalid Duration"}toHuman(t={}){const e=je.map((e=>{const i=this.values[e];return pt(i)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:e.slice(0,-1)}).format(i)})).filter((t=>t));return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(e)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return 0!==this.years&&(t+=this.years+"Y"),0===this.months&&0===this.quarters||(t+=this.months+3*this.quarters+"M"),0!==this.weeks&&(t+=this.weeks+"W"),0!==this.days&&(t+=this.days+"D"),0===this.hours&&0===this.minutes&&0===this.seconds&&0===this.milliseconds||(t+="T"),0!==this.hours&&(t+=this.hours+"H"),0!==this.minutes&&(t+=this.minutes+"M"),0===this.seconds&&0===this.milliseconds||(t+=Lt(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===t&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;const e=this.toMillis();if(e<0||e>=864e5)return null;t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1};return sn.fromMillis(e,{zone:"UTC"}).toISOTime(t)}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){let t=this.values.milliseconds??0;for(let e of Ye.slice(1))this.values?.[e]&&(t+=this.values[e]*this.matrix[e].milliseconds);return t}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;const e=$e.fromDurationLike(t),i={};for(const t of je)(St(e.values,t)||St(this.values,t))&&(i[t]=e.get(t)+this.get(t));return Qe(this,{values:i},!0)}minus(t){if(!this.isValid)return this;const e=$e.fromDurationLike(t);return this.plus(e.negate())}mapUnits(t){if(!this.isValid)return this;const e={};for(const i of Object.keys(this.values))e[i]=At(t(this.values[i],i));return Qe(this,{values:e},!0)}get(t){return this[$e.normalizeUnit(t)]}set(t){if(!this.isValid)return this;return Qe(this,{values:{...this.values,...Bt(t,$e.normalizeUnit)}})}reconfigure({locale:t,numberingSystem:e,conversionAccuracy:i,matrix:n}={}){return Qe(this,{loc:this.loc.clone({locale:t,numberingSystem:e}),matrix:n,conversionAccuracy:i})}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;const t=this.toObject();return this.valueOf()>=0?(function(t,e){Ye.reduce(((i,n)=>pt(e[n])?i:(i&&Xe(t,e,i,e,n),n)),null)}(this.matrix,t),Qe(this,{values:t},!0)):this.negate().normalize().negate()}rescale(){if(!this.isValid)return this;return Qe(this,{values:function(t){const e={};for(const[i,n]of Object.entries(t))0!==n&&(e[i]=n);return e}(this.normalize().shiftToAll().toObject())},!0)}shiftTo(...t){if(!this.isValid)return this;if(0===t.length)return this;t=t.map((t=>$e.normalizeUnit(t)));const e={},i={},n=this.toObject();let r;for(const s of je)if(t.indexOf(s)>=0){r=s;let t=0;for(const e in i)t+=this.matrix[e][s]*i[e],i[e]=0;ft(n[s])&&(t+=n[s]);const a=Math.trunc(t);e[s]=a,i[s]=(1e3*t-1e3*a)/1e3;for(const t in n)je.indexOf(t)>je.indexOf(s)&&Xe(this.matrix,n,t,e,s)}else ft(n[s])&&(i[s]=n[s]);for(const t in i)0!==i[t]&&(e[r]+=t===r?i[t]:i[t]/this.matrix[r][t]);return Qe(this,{values:e},!0).normalize()}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;const t={};for(const e of Object.keys(this.values))t[e]=0===this.values[e]?0:-this.values[e];return Qe(this,{values:t},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid)return!1;if(!this.loc.equals(t.loc))return!1;for(const n of je)if(e=this.values[n],i=t.values[n],!(void 0===e||0===e?void 0===i||0===i:e===i))return!1;var e,i;return!0}}const ti="Invalid Interval";class ei{constructor(t){this.s=t.start,this.e=t.end,this.invalid=t.invalid||null,this.isLuxonInterval=!0}static invalid(t,e=null){if(!t)throw new c("need to specify a reason the Interval is invalid");const i=t instanceof ee?t:new ee(t,e);if(gt.throwOnInvalid)throw new l(i);return new ei({invalid:i})}static fromDateTimes(t,e){const i=an(t),n=an(e),r=function(t,e){return t&&t.isValid?e&&e.isValid?e<t?ei.invalid("end before start",`The end of an interval must be after its start, but you had start=${t.toISO()} and end=${e.toISO()}`):null:ei.invalid("missing or invalid end"):ei.invalid("missing or invalid start")}(i,n);return null==r?new ei({start:i,end:n}):r}static after(t,e){const i=$e.fromDurationLike(e),n=an(t);return ei.fromDateTimes(n,n.plus(i))}static before(t,e){const i=$e.fromDurationLike(e),n=an(t);return ei.fromDateTimes(n.minus(i),n)}static fromISO(t,e){const[i,n]=(t||"").split("/",2);if(i&&n){let t,r,s,a;try{t=sn.fromISO(i,e),r=t.isValid}catch(n){r=!1}try{s=sn.fromISO(n,e),a=s.isValid}catch(n){a=!1}if(r&&a)return ei.fromDateTimes(t,s);if(r){const i=$e.fromISO(n,e);if(i.isValid)return ei.after(t,i)}else if(a){const t=$e.fromISO(i,e);if(t.isValid)return ei.before(s,t)}}return ei.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static isInterval(t){return t&&t.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return null===this.invalidReason}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(t="milliseconds"){return this.isValid?this.toDuration(t).get(t):NaN}count(t="milliseconds"){if(!this.isValid)return NaN;const e=this.start.startOf(t),i=this.end.startOf(t);return Math.floor(i.diff(e,t).get(t))+(i.valueOf()!==this.end.valueOf())}hasSame(t){return!!this.isValid&&(this.isEmpty()||this.e.minus(1).hasSame(this.s,t))}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(t){return!!this.isValid&&this.s>t}isBefore(t){return!!this.isValid&&this.e<=t}contains(t){return!!this.isValid&&(this.s<=t&&this.e>t)}set({start:t,end:e}={}){return this.isValid?ei.fromDateTimes(t||this.s,e||this.e):this}splitAt(...t){if(!this.isValid)return[];const e=t.map(an).filter((t=>this.contains(t))).sort(),i=[];let{s:n}=this,r=0;for(;n<this.e;){const t=e[r]||this.e,s=+t>+this.e?this.e:t;i.push(ei.fromDateTimes(n,s)),n=s,r+=1}return i}splitBy(t){const e=$e.fromDurationLike(t);if(!this.isValid||!e.isValid||0===e.as("milliseconds"))return[];let i,{s:n}=this,r=1;const s=[];for(;n<this.e;){const t=this.start.plus(e.mapUnits((t=>t*r)));i=+t>+this.e?this.e:t,s.push(ei.fromDateTimes(n,i)),n=i,r+=1}return s}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s<t.e}abutsStart(t){return!!this.isValid&&+this.e==+t.s}abutsEnd(t){return!!this.isValid&&+t.e==+this.s}engulfs(t){return!!this.isValid&&(this.s<=t.s&&this.e>=t.e)}equals(t){return!(!this.isValid||!t.isValid)&&(this.s.equals(t.s)&&this.e.equals(t.e))}intersection(t){if(!this.isValid)return this;const e=this.s>t.s?this.s:t.s,i=this.e<t.e?this.e:t.e;return e>=i?null:ei.fromDateTimes(e,i)}union(t){if(!this.isValid)return this;const e=this.s<t.s?this.s:t.s,i=this.e>t.e?this.e:t.e;return ei.fromDateTimes(e,i)}static merge(t){const[e,i]=t.sort(((t,e)=>t.s-e.s)).reduce((([t,e],i)=>e?e.overlaps(i)||e.abutsStart(i)?[t,e.union(i)]:[t.concat([e]),i]:[t,i]),[[],null]);return i&&e.push(i),e}static xor(t){let e=null,i=0;const n=[],r=t.map((t=>[{time:t.s,type:"s"},{time:t.e,type:"e"}])),s=Array.prototype.concat(...r).sort(((t,e)=>t.time-e.time));for(const t of s)i+="s"===t.type?1:-1,1===i?e=t.time:(e&&+e!=+t.time&&n.push(ei.fromDateTimes(e,t.time)),e=null);return ei.merge(n)}difference(...t){return ei.xor([this].concat(t)).map((t=>this.intersection(t))).filter((t=>t&&!t.isEmpty()))}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:ti}toLocaleString(t=y,e={}){return this.isValid?te.create(this.s.loc.clone(e),t).formatInterval(this):ti}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:ti}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:ti}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:ti}toFormat(t,{separator:e=" – "}={}){return this.isValid?`${this.s.toFormat(t)}${e}${this.e.toFormat(t)}`:ti}toDuration(t,e){return this.isValid?this.e.diff(this.s,t,e):$e.invalid(this.invalidReason)}mapEndpoints(t){return ei.fromDateTimes(t(this.s),t(this.e))}}class ii{static hasDST(t=gt.defaultZone){const e=sn.now().setZone(t).set({month:12});return!t.isUniversal&&e.offset!==e.set({month:6}).offset}static isValidIANAZone(t){return K.isValidZone(t)}static normalizeZone(t){return at(t,gt.defaultZone)}static months(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null,outputCalendar:r="gregory"}={}){return(n||it.create(e,i,r)).months(t)}static monthsFormat(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null,outputCalendar:r="gregory"}={}){return(n||it.create(e,i,r)).months(t,!0)}static weekdays(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null}={}){return(n||it.create(e,i,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null}={}){return(n||it.create(e,i,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return it.create(t).meridiems()}static eras(t="short",{locale:e=null}={}){return it.create(e,null,"gregory").eras(t)}static features(){return{relative:vt()}}}function ni(t,e){const i=t=>t.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),n=i(e)-i(t);return Math.floor($e.fromMillis(n).as("days"))}function ri(t,e,i,n){let[r,s,a,o]=function(t,e,i){const n=[["years",(t,e)=>e.year-t.year],["quarters",(t,e)=>e.quarter-t.quarter+4*(e.year-t.year)],["months",(t,e)=>e.month-t.month+12*(e.year-t.year)],["weeks",(t,e)=>{const i=ni(t,e);return(i-i%7)/7}],["days",ni]],r={},s=t;let a,o;for(const[l,h]of n)i.indexOf(l)>=0&&(a=l,r[l]=h(t,e),o=s.plus(r),o>e?(r[l]--,(t=s.plus(r))>e&&(o=t,r[l]--,t=s.plus(r))):t=o);return[t,r,o,a]}(t,e,i);const l=e-r,h=i.filter((t=>["hours","minutes","seconds","milliseconds"].indexOf(t)>=0));0===h.length&&(a<e&&(a=r.plus({[o]:1})),a!==r&&(s[o]=(s[o]||0)+l/(a-r)));const u=$e.fromObject(s,n);return h.length>0?$e.fromMillis(l,n).shiftTo(...h).plus(u):u}const si={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[０-９]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},ai={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},oi=si.hanidec.replace(/[\[|\]]/g,"").split("");function li({numberingSystem:t},e=""){return new RegExp(`${si[t||"latn"]}${e}`)}const hi="missing Intl.DateTimeFormat.formatToParts support";function ui(t,e=(t=>t)){return{regex:t,deser:([t])=>e(function(t){let e=parseInt(t,10);if(isNaN(e)){e="";for(let i=0;i<t.length;i++){const n=t.charCodeAt(i);if(-1!==t[i].search(si.hanidec))e+=oi.indexOf(t[i]);else for(const t in ai){const[i,r]=ai[t];n>=i&&n<=r&&(e+=n-i)}}return parseInt(e,10)}return e}(t))}}const di=`[ ${String.fromCharCode(160)}]`,ci=new RegExp(di,"g");function mi(t){return t.replace(/\./g,"\\.?").replace(ci,di)}function gi(t){return t.replace(/\./g,"").replace(ci," ").toLowerCase()}function pi(t,e){return null===t?null:{regex:RegExp(t.map(mi).join("|")),deser:([i])=>t.findIndex((t=>gi(i)===gi(t)))+e}}function fi(t,e){return{regex:t,deser:([,t,e])=>Ot(t,e),groups:e}}function yi(t){return{regex:t,deser:([t])=>t}}const vi={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};let bi=null;function Si(t,e){return Array.prototype.concat(...t.map((t=>function(t,e){if(t.literal)return t;const i=wi(te.macroTokenToFormatOpts(t.val),e);return null==i||i.includes(void 0)?t:i}(t,e))))}function Ci(t,e,i){const n=Si(te.parseFormat(i),t),r=n.map((e=>function(t,e){const i=li(e),n=li(e,"{2}"),r=li(e,"{3}"),s=li(e,"{4}"),a=li(e,"{6}"),o=li(e,"{1,2}"),l=li(e,"{1,3}"),h=li(e,"{1,6}"),u=li(e,"{1,9}"),d=li(e,"{2,4}"),c=li(e,"{4,6}"),m=t=>{return{regex:RegExp((e=t.val,e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"))),deser:([t])=>t,literal:!0};var e},g=(g=>{if(t.literal)return m(g);switch(g.val){case"G":return pi(e.eras("short"),0);case"GG":return pi(e.eras("long"),0);case"y":return ui(h);case"yy":case"kk":return ui(d,Nt);case"yyyy":case"kkkk":return ui(s);case"yyyyy":return ui(c);case"yyyyyy":return ui(a);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return ui(o);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return ui(n);case"MMM":return pi(e.months("short",!0),1);case"MMMM":return pi(e.months("long",!0),1);case"LLL":return pi(e.months("short",!1),1);case"LLLL":return pi(e.months("long",!1),1);case"o":case"S":return ui(l);case"ooo":case"SSS":return ui(r);case"u":return yi(u);case"uu":return yi(o);case"uuu":case"E":case"c":return ui(i);case"a":return pi(e.meridiems(),0);case"EEE":return pi(e.weekdays("short",!1),1);case"EEEE":return pi(e.weekdays("long",!1),1);case"ccc":return pi(e.weekdays("short",!0),1);case"cccc":return pi(e.weekdays("long",!0),1);case"Z":case"ZZ":return fi(new RegExp(`([+-]${o.source})(?::(${n.source}))?`),2);case"ZZZ":return fi(new RegExp(`([+-]${o.source})(${n.source})?`),2);case"z":return yi(/[a-z_+-/]{1,256}?/i);case" ":return yi(/[^\S\n\r]/);default:return m(g)}})(t)||{invalidReason:hi};return g.token=t,g}(e,t))),s=r.find((t=>t.invalidReason));if(s)return{input:e,tokens:n,invalidReason:s.invalidReason};{const[t,i]=function(t){return[`^${t.map((t=>t.regex)).reduce(((t,e)=>`${t}(${e.source})`),"")}$`,t]}(r),s=RegExp(t,"i"),[a,o]=function(t,e,i){const n=t.match(e);if(n){const t={};let e=1;for(const r in i)if(St(i,r)){const s=i[r],a=s.groups?s.groups+1:1;!s.literal&&s.token&&(t[s.token.val[0]]=s.deser(n.slice(e,e+a))),e+=a}return[n,t]}return[n,{}]}(e,s,i),[l,h,d]=o?function(t){let e,i=null;return pt(t.z)||(i=K.create(t.z)),pt(t.Z)||(i||(i=new rt(t.Z)),e=t.Z),pt(t.q)||(t.M=3*(t.q-1)+1),pt(t.h)||(t.h<12&&1===t.a?t.h+=12:12===t.h&&0===t.a&&(t.h=0)),0===t.G&&t.y&&(t.y=-t.y),pt(t.u)||(t.S=Pt(t.u)),[Object.keys(t).reduce(((e,i)=>{const n=(t=>{switch(t){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}})(i);return n&&(e[n]=t[i]),e}),{}),i,e]}(o):[null,null,void 0];if(St(o,"a")&&St(o,"H"))throw new u("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:n,regex:s,rawMatches:a,matches:o,result:l,zone:h,specificOffset:d}}}function wi(t,e){if(!t)return null;const i=te.create(e,t).dtFormatter((bi||(bi=sn.fromMillis(1555555555555)),bi)),n=i.formatToParts(),r=i.resolvedOptions();return n.map((e=>function(t,e,i){const{type:n,value:r}=t;if("literal"===n){const t=/^\s+$/.test(r);return{literal:!t,val:t?" ":r}}const s=e[n];let a=n;"hour"===n&&(a=null!=e.hour12?e.hour12?"hour12":"hour24":null!=e.hourCycle?"h11"===e.hourCycle||"h12"===e.hourCycle?"hour12":"hour24":i.hour12?"hour12":"hour24");let o=vi[a];if("object"==typeof o&&(o=o[s]),o)return{literal:!1,val:o}}(e,t,r)))}const Ei=[0,31,59,90,120,151,181,212,243,273,304,334],Ti=[0,31,60,91,121,152,182,213,244,274,305,335];function Pi(t,e){return new ee("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${t}, which is invalid`)}function Li(t,e,i){const n=new Date(Date.UTC(t,e-1,i));t<100&&t>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);const r=n.getUTCDay();return 0===r?7:r}function ki(t,e,i){return i+(kt(t)?Ti:Ei)[e-1]}function xi(t,e){const i=kt(t)?Ti:Ei,n=i.findIndex((t=>t<e));return{month:n+1,day:e-i[n]}}function Mi(t){const{year:e,month:i,day:n}=t,r=ki(e,i,n),s=Li(e,i,n);let a,o=Math.floor((r-s+10)/7);return o<1?(a=e-1,o=Rt(a)):o>Rt(e)?(a=e+1,o=1):a=e,{weekYear:a,weekNumber:o,weekday:s,...Ft(t)}}function Ii(t){const{weekYear:e,weekNumber:i,weekday:n}=t,r=Li(e,1,4),s=xt(e);let a,o=7*i+n-r-3;o<1?(a=e-1,o+=xt(a)):o>s?(a=e+1,o-=xt(e)):a=e;const{month:l,day:h}=xi(a,o);return{year:a,month:l,day:h,...Ft(t)}}function Ri(t){const{year:e,month:i,day:n}=t;return{year:e,ordinal:ki(e,i,n),...Ft(t)}}function Ni(t){const{year:e,ordinal:i}=t,{month:n,day:r}=xi(e,i);return{year:e,month:n,day:r,...Ft(t)}}function Di(t){const e=yt(t.year),i=Ct(t.month,1,12),n=Ct(t.day,1,Mt(t.year,t.month));return e?i?!n&&Pi("day",t.day):Pi("month",t.month):Pi("year",t.year)}function Oi(t){const{hour:e,minute:i,second:n,millisecond:r}=t,s=Ct(e,0,23)||24===e&&0===i&&0===n&&0===r,a=Ct(i,0,59),o=Ct(n,0,59),l=Ct(r,0,999);return s?a?o?!l&&Pi("millisecond",r):Pi("second",n):Pi("minute",i):Pi("hour",e)}const Ai="Invalid DateTime",Bi=864e13;function Ui(t){return new ee("unsupported zone",`the zone "${t.name}" is not supported`)}function Fi(t){return null===t.weekData&&(t.weekData=Mi(t.c)),t.weekData}function Wi(t,e){const i={ts:t.ts,zone:t.zone,c:t.c,o:t.o,loc:t.loc,invalid:t.invalid};return new sn({...i,...e,old:i})}function Vi(t,e,i){let n=t-60*e*1e3;const r=i.offset(n);if(e===r)return[n,e];n-=60*(r-e)*1e3;const s=i.offset(n);return r===s?[n,r]:[t-60*Math.min(r,s)*1e3,Math.max(r,s)]}function Hi(t,e){const i=new Date(t+=60*e*1e3);return{year:i.getUTCFullYear(),month:i.getUTCMonth()+1,day:i.getUTCDate(),hour:i.getUTCHours(),minute:i.getUTCMinutes(),second:i.getUTCSeconds(),millisecond:i.getUTCMilliseconds()}}function qi(t,e,i){return Vi(It(t),e,i)}function zi(t,e){const i=t.o,n=t.c.year+Math.trunc(e.years),r=t.c.month+Math.trunc(e.months)+3*Math.trunc(e.quarters),s={...t.c,year:n,month:r,day:Math.min(t.c.day,Mt(n,r))+Math.trunc(e.days)+7*Math.trunc(e.weeks)},a=$e.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),o=It(s);let[l,h]=Vi(o,i,t.zone);return 0!==a&&(l+=a,h=t.zone.offset(l)),{ts:l,o:h}}function Gi(t,e,i,n,r,s){const{setZone:a,zone:o}=i;if(t&&0!==Object.keys(t).length||e){const n=e||o,r=sn.fromObject(t,{...i,zone:n,specificOffset:s});return a?r:r.setZone(o)}return sn.invalid(new ee("unparsable",`the input "${r}" can't be parsed as ${n}`))}function Ki(t,e,i=!0){return t.isValid?te.create(it.create("en-US"),{allowZ:i,forceSimple:!0}).formatDateTimeFromString(t,e):null}function Zi(t,e){const i=t.c.year>9999||t.c.year<0;let n="";return i&&t.c.year>=0&&(n+="+"),n+=wt(t.c.year,i?6:4),e?(n+="-",n+=wt(t.c.month),n+="-",n+=wt(t.c.day)):(n+=wt(t.c.month),n+=wt(t.c.day)),n}function _i(t,e,i,n,r,s){let a=wt(t.c.hour);return e?(a+=":",a+=wt(t.c.minute),0===t.c.millisecond&&0===t.c.second&&i||(a+=":")):a+=wt(t.c.minute),0===t.c.millisecond&&0===t.c.second&&i||(a+=wt(t.c.second),0===t.c.millisecond&&n||(a+=".",a+=wt(t.c.millisecond,3))),r&&(t.isOffsetFixed&&0===t.offset&&!s?a+="Z":t.o<0?(a+="-",a+=wt(Math.trunc(-t.o/60)),a+=":",a+=wt(Math.trunc(-t.o%60))):(a+="+",a+=wt(Math.trunc(t.o/60)),a+=":",a+=wt(Math.trunc(t.o%60)))),s&&(a+="["+t.zone.ianaName+"]"),a}const ji={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Yi={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},Qi={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ji=["year","month","day","hour","minute","second","millisecond"],Xi=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],$i=["year","ordinal","hour","minute","second","millisecond"];function tn(t){const e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[t.toLowerCase()];if(!e)throw new d(t);return e}function en(t,e){const i=at(e.zone,gt.defaultZone),n=it.fromObject(e),r=gt.now();let s,a;if(pt(t.year))s=r;else{for(const e of Ji)pt(t[e])&&(t[e]=ji[e]);const e=Di(t)||Oi(t);if(e)return sn.invalid(e);const n=i.offset(r);[s,a]=qi(t,n,i)}return new sn({ts:s,zone:i,loc:n,o:a})}function nn(t,e,i){const n=!!pt(i.round)||i.round,r=(t,r)=>{t=Lt(t,n||i.calendary?0:2,!0);return e.loc.clone(i).relFormatter(i).format(t,r)},s=n=>i.calendary?e.hasSame(t,n)?0:e.startOf(n).diff(t.startOf(n),n).get(n):e.diff(t,n).get(n);if(i.unit)return r(s(i.unit),i.unit);for(const t of i.units){const e=s(t);if(Math.abs(e)>=1)return r(e,t)}return r(t>e?-0:0,i.units[i.units.length-1])}function rn(t){let e,i={};return t.length>0&&"object"==typeof t[t.length-1]?(i=t[t.length-1],e=Array.from(t).slice(0,t.length-1)):e=Array.from(t),[i,e]}class sn{constructor(t){const e=t.zone||gt.defaultZone;let i=t.invalid||(Number.isNaN(t.ts)?new ee("invalid input"):null)||(e.isValid?null:Ui(e));this.ts=pt(t.ts)?gt.now():t.ts;let n=null,r=null;if(!i){if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(e))[n,r]=[t.old.c,t.old.o];else{const t=e.offset(this.ts);n=Hi(this.ts,t),i=Number.isNaN(n.year)?new ee("invalid input"):null,n=i?null:n,r=i?null:t}}this._zone=e,this.loc=t.loc||it.create(),this.invalid=i,this.weekData=null,this.c=n,this.o=r,this.isLuxonDateTime=!0}static now(){return new sn({})}static local(){const[t,e]=rn(arguments),[i,n,r,s,a,o,l]=e;return en({year:i,month:n,day:r,hour:s,minute:a,second:o,millisecond:l},t)}static utc(){const[t,e]=rn(arguments),[i,n,r,s,a,o,l]=e;return t.zone=rt.utcInstance,en({year:i,month:n,day:r,hour:s,minute:a,second:o,millisecond:l},t)}static fromJSDate(t,e={}){const i=(n=t,"[object Date]"===Object.prototype.toString.call(n)?t.valueOf():NaN);var n;if(Number.isNaN(i))return sn.invalid("invalid input");const r=at(e.zone,gt.defaultZone);return r.isValid?new sn({ts:i,zone:r,loc:it.fromObject(e)}):sn.invalid(Ui(r))}static fromMillis(t,e={}){if(ft(t))return t<-Bi||t>Bi?sn.invalid("Timestamp out of range"):new sn({ts:t,zone:at(e.zone,gt.defaultZone),loc:it.fromObject(e)});throw new c(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,e={}){if(ft(t))return new sn({ts:1e3*t,zone:at(e.zone,gt.defaultZone),loc:it.fromObject(e)});throw new c("fromSeconds requires a numerical input")}static fromObject(t,e={}){t=t||{};const i=at(e.zone,gt.defaultZone);if(!i.isValid)return sn.invalid(Ui(i));const n=gt.now(),r=pt(e.specificOffset)?i.offset(n):e.specificOffset,s=Bt(t,tn),a=!pt(s.ordinal),o=!pt(s.year),l=!pt(s.month)||!pt(s.day),h=o||l,d=s.weekYear||s.weekNumber,c=it.fromObject(e);if((h||a)&&d)throw new u("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&a)throw new u("Can't mix ordinal dates with month/day");const m=d||s.weekday&&!h;let g,p,f=Hi(n,r);m?(g=Xi,p=Yi,f=Mi(f)):a?(g=$i,p=Qi,f=Ri(f)):(g=Ji,p=ji);let y=!1;for(const t of g){pt(s[t])?s[t]=y?p[t]:f[t]:y=!0}const v=m?function(t){const e=yt(t.weekYear),i=Ct(t.weekNumber,1,Rt(t.weekYear)),n=Ct(t.weekday,1,7);return e?i?!n&&Pi("weekday",t.weekday):Pi("week",t.week):Pi("weekYear",t.weekYear)}(s):a?function(t){const e=yt(t.year),i=Ct(t.ordinal,1,xt(t.year));return e?!i&&Pi("ordinal",t.ordinal):Pi("year",t.year)}(s):Di(s),b=v||Oi(s);if(b)return sn.invalid(b);const S=m?Ii(s):a?Ni(s):s,[C,w]=qi(S,r,i),E=new sn({ts:C,zone:i,o:w,loc:c});return s.weekday&&h&&t.weekday!==E.weekday?sn.invalid("mismatched weekday",`you can't specify both a weekday of ${s.weekday} and a date of ${E.toISO()}`):E}static fromISO(t,e={}){const[i,n]=function(t){return se(t,[Re,Ae],[Ne,Be],[De,Ue],[Oe,Fe])}(t);return Gi(i,n,e,"ISO 8601",t)}static fromRFC2822(t,e={}){const[i,n]=function(t){return se(function(t){return t.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}(t),[Te,Pe])}(t);return Gi(i,n,e,"RFC 2822",t)}static fromHTTP(t,e={}){const[i,n]=function(t){return se(t,[Le,Me],[ke,Me],[xe,Ie])}(t);return Gi(i,n,e,"HTTP",e)}static fromFormat(t,e,i={}){if(pt(t)||pt(e))throw new c("fromFormat requires an input string and a format");const{locale:n=null,numberingSystem:r=null}=i,s=it.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0}),[a,o,l,h]=function(t,e,i){const{result:n,zone:r,specificOffset:s,invalidReason:a}=Ci(t,e,i);return[n,r,s,a]}(s,t,e);return h?sn.invalid(h):Gi(a,o,i,`format ${e}`,t,l)}static fromString(t,e,i={}){return sn.fromFormat(t,e,i)}static fromSQL(t,e={}){const[i,n]=function(t){return se(t,[Ve,Ae],[He,qe])}(t);return Gi(i,n,e,"SQL",t)}static invalid(t,e=null){if(!t)throw new c("need to specify a reason the DateTime is invalid");const i=t instanceof ee?t:new ee(t,e);if(gt.throwOnInvalid)throw new o(i);return new sn({invalid:i})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,e={}){const i=wi(t,it.fromObject(e));return i?i.map((t=>t?t.val:null)).join(""):null}static expandFormat(t,e={}){return Si(te.parseFormat(t),it.fromObject(e)).map((t=>t.val)).join("")}get(t){return this[t]}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Fi(this).weekYear:NaN}get weekNumber(){return this.isValid?Fi(this).weekNumber:NaN}get weekday(){return this.isValid?Fi(this).weekday:NaN}get ordinal(){return this.isValid?Ri(this.c).ordinal:NaN}get monthShort(){return this.isValid?ii.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?ii.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?ii.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?ii.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return!this.isOffsetFixed&&(this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const t=864e5,e=6e4,i=It(this.c),n=this.zone.offset(i-t),r=this.zone.offset(i+t),s=this.zone.offset(i-n*e),a=this.zone.offset(i-r*e);if(s===a)return[this];const o=i-s*e,l=i-a*e,h=Hi(o,s),u=Hi(l,a);return h.hour===u.hour&&h.minute===u.minute&&h.second===u.second&&h.millisecond===u.millisecond?[Wi(this,{ts:o}),Wi(this,{ts:l})]:[this]}get isInLeapYear(){return kt(this.year)}get daysInMonth(){return Mt(this.year,this.month)}get daysInYear(){return this.isValid?xt(this.year):NaN}get weeksInWeekYear(){return this.isValid?Rt(this.weekYear):NaN}resolvedLocaleOptions(t={}){const{locale:e,numberingSystem:i,calendar:n}=te.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:e,numberingSystem:i,outputCalendar:n}}toUTC(t=0,e={}){return this.setZone(rt.instance(t),e)}toLocal(){return this.setZone(gt.defaultZone)}setZone(t,{keepLocalTime:e=!1,keepCalendarTime:i=!1}={}){if((t=at(t,gt.defaultZone)).equals(this.zone))return this;if(t.isValid){let n=this.ts;if(e||i){const e=t.offset(this.ts),i=this.toObject();[n]=qi(i,e,t)}return Wi(this,{ts:n,zone:t})}return sn.invalid(Ui(t))}reconfigure({locale:t,numberingSystem:e,outputCalendar:i}={}){return Wi(this,{loc:this.loc.clone({locale:t,numberingSystem:e,outputCalendar:i})})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;const e=Bt(t,tn),i=!pt(e.weekYear)||!pt(e.weekNumber)||!pt(e.weekday),n=!pt(e.ordinal),r=!pt(e.year),s=!pt(e.month)||!pt(e.day),a=r||s,o=e.weekYear||e.weekNumber;if((a||n)&&o)throw new u("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(s&&n)throw new u("Can't mix ordinal dates with month/day");let l;i?l=Ii({...Mi(this.c),...e}):pt(e.ordinal)?(l={...this.toObject(),...e},pt(e.day)&&(l.day=Math.min(Mt(l.year,l.month),l.day))):l=Ni({...Ri(this.c),...e});const[h,d]=qi(l,this.o,this.zone);return Wi(this,{ts:h,o:d})}plus(t){if(!this.isValid)return this;return Wi(this,zi(this,$e.fromDurationLike(t)))}minus(t){if(!this.isValid)return this;return Wi(this,zi(this,$e.fromDurationLike(t).negate()))}startOf(t){if(!this.isValid)return this;const e={},i=$e.normalizeUnit(t);switch(i){case"years":e.month=1;case"quarters":case"months":e.day=1;case"weeks":case"days":e.hour=0;case"hours":e.minute=0;case"minutes":e.second=0;case"seconds":e.millisecond=0}if("weeks"===i&&(e.weekday=1),"quarters"===i){const t=Math.ceil(this.month/3);e.month=3*(t-1)+1}return this.set(e)}endOf(t){return this.isValid?this.plus({[t]:1}).startOf(t).minus(1):this}toFormat(t,e={}){return this.isValid?te.create(this.loc.redefaultToEN(e)).formatDateTimeFromString(this,t):Ai}toLocaleString(t=y,e={}){return this.isValid?te.create(this.loc.clone(e),t).formatDateTime(this):Ai}toLocaleParts(t={}){return this.isValid?te.create(this.loc.clone(t),t).formatDateTimeParts(this):[]}toISO({format:t="extended",suppressSeconds:e=!1,suppressMilliseconds:i=!1,includeOffset:n=!0,extendedZone:r=!1}={}){if(!this.isValid)return null;const s="extended"===t;let a=Zi(this,s);return a+="T",a+=_i(this,s,e,i,n,r),a}toISODate({format:t="extended"}={}){return this.isValid?Zi(this,"extended"===t):null}toISOWeekDate(){return Ki(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:t=!1,suppressSeconds:e=!1,includeOffset:i=!0,includePrefix:n=!1,extendedZone:r=!1,format:s="extended"}={}){if(!this.isValid)return null;return(n?"T":"")+_i(this,"extended"===s,e,t,i,r)}toRFC2822(){return Ki(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Ki(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?Zi(this,!0):null}toSQLTime({includeOffset:t=!0,includeZone:e=!1,includeOffsetSpace:i=!0}={}){let n="HH:mm:ss.SSS";return(e||t)&&(i&&(n+=" "),e?n+="z":t&&(n+="ZZ")),Ki(this,n,!0)}toSQL(t={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(t)}`:null}toString(){return this.isValid?this.toISO():Ai}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(t={}){if(!this.isValid)return{};const e={...this.c};return t.includeConfig&&(e.outputCalendar=this.outputCalendar,e.numberingSystem=this.loc.numberingSystem,e.locale=this.loc.locale),e}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(t,e="milliseconds",i={}){if(!this.isValid||!t.isValid)return $e.invalid("created by diffing an invalid DateTime");const n={locale:this.locale,numberingSystem:this.numberingSystem,...i},r=(o=e,Array.isArray(o)?o:[o]).map($e.normalizeUnit),s=t.valueOf()>this.valueOf(),a=ri(s?this:t,s?t:this,r,n);var o;return s?a.negate():a}diffNow(t="milliseconds",e={}){return this.diff(sn.now(),t,e)}until(t){return this.isValid?ei.fromDateTimes(this,t):this}hasSame(t,e){if(!this.isValid)return!1;const i=t.valueOf(),n=this.setZone(t.zone,{keepLocalTime:!0});return n.startOf(e)<=i&&i<=n.endOf(e)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;const e=t.base||sn.fromObject({},{zone:this.zone}),i=t.padding?this<e?-t.padding:t.padding:0;let n=["years","months","days","hours","minutes","seconds"],r=t.unit;return Array.isArray(t.unit)&&(n=t.unit,r=void 0),nn(e,this.plus(i),{...t,numeric:"always",units:n,unit:r})}toRelativeCalendar(t={}){return this.isValid?nn(t.base||sn.fromObject({},{zone:this.zone}),this,{...t,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...t){if(!t.every(sn.isDateTime))throw new c("min requires all arguments be DateTimes");return bt(t,(t=>t.valueOf()),Math.min)}static max(...t){if(!t.every(sn.isDateTime))throw new c("max requires all arguments be DateTimes");return bt(t,(t=>t.valueOf()),Math.max)}static fromFormatExplain(t,e,i={}){const{locale:n=null,numberingSystem:r=null}=i;return Ci(it.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0}),t,e)}static fromStringExplain(t,e,i={}){return sn.fromFormatExplain(t,e,i)}static get DATE_SHORT(){return y}static get DATE_MED(){return v}static get DATE_MED_WITH_WEEKDAY(){return b}static get DATE_FULL(){return S}static get DATE_HUGE(){return C}static get TIME_SIMPLE(){return w}static get TIME_WITH_SECONDS(){return E}static get TIME_WITH_SHORT_OFFSET(){return T}static get TIME_WITH_LONG_OFFSET(){return P}static get TIME_24_SIMPLE(){return L}static get TIME_24_WITH_SECONDS(){return k}static get TIME_24_WITH_SHORT_OFFSET(){return x}static get TIME_24_WITH_LONG_OFFSET(){return M}static get DATETIME_SHORT(){return I}static get DATETIME_SHORT_WITH_SECONDS(){return R}static get DATETIME_MED(){return N}static get DATETIME_MED_WITH_SECONDS(){return D}static get DATETIME_MED_WITH_WEEKDAY(){return O}static get DATETIME_FULL(){return A}static get DATETIME_FULL_WITH_SECONDS(){return B}static get DATETIME_HUGE(){return U}static get DATETIME_HUGE_WITH_SECONDS(){return F}}function an(t){if(sn.isDateTime(t))return t;if(t&&t.valueOf&&ft(t.valueOf()))return sn.fromJSDate(t);if(t&&"object"==typeof t)return sn.fromObject(t);throw new c(`Unknown datetime argument: ${t}, of type ${typeof t}`)}class on extends s{constructor(t){super(t,"sp-waiting-room"),this.createDateTime=on.createDateInTimezone(this.stormPlayer.getPlayerConfigManager().getBroadcastCreateDate(),this.stormPlayer.getPlayerConfigManager().getWaitingRoomTimeZone()),this.startDateTime=on.createDateInTimezone(this.stormPlayer.getPlayerConfigManager().getBroadcastStartDate(),this.stormPlayer.getPlayerConfigManager().getWaitingRoomTimeZone()),this.getHtmlElement().querySelector("#videoStartDate").innerHTML=this.startDateTime.toLocal().toLocaleString(sn.DATETIME_SHORT_WITH_SECONDS),null!=this.stormPlayer.getPlayerConfigManager().getWaitingRoomPoster&&(this.getHtmlElement().style.backgroundImage="url("+this.stormPlayer.getPlayerConfigManager().getWaitingRoomPoster()+")"),this.setTime()}setTime(){let t,e,i,n=this;const r=setInterval((function(){i=1e3*n.createDateTime.toSeconds(),e=1e3*n.startDateTime.toSeconds(),t=1e3*sn.now().toSeconds();let s=e-t,a=e-i,o=Math.floor(s/864e5),l=Math.floor(s/36e5%24),h=Math.floor(s/1e3/60%60),u=Math.floor(s/1e3%60);o<=0&&l<=0&&h<=0&&u<=0&&(clearInterval(r),setTimeout((()=>{n.stormPlayer.dispatchEvent("waitingRoomEnded",{ref:n.stormPlayer})}),1e3)),n.getHtmlElement().querySelector("#daysCounter > span").innerHTML=o<=9?"0"+o.toString():o.toString(),n.getHtmlElement().querySelector("#hoursCounter > span").innerHTML=l<=9?"0"+l.toString():l.toString(),n.getHtmlElement().querySelector("#minutesCounter > span").innerHTML=h<=9?"0"+h.toString():h.toString(),n.getHtmlElement().querySelector("#secondCounter > span").innerHTML=u<=9?"0"+u.toString():u.toString(),n.getHtmlElement().querySelector("#daysCounter .progress-ring__circle").style.strokeDashoffset=String(s>864e5?376.98-376.98/(a-864e5)*(s-864e5):376.98),n.getHtmlElement().querySelector("#hoursCounter .progress-ring__circle").style.strokeDashoffset=String(s<864e5&&s>36e5?376.98-376.98/828e5*(s-36e5):s<36e5?376.98:0),n.getHtmlElement().querySelector("#minutesCounter .progress-ring__circle").style.strokeDashoffset=String(s<36e5&&s>6e4?376.98-376.98/354e4*(s-6e4):s<6e4?376.98:0),n.getHtmlElement().querySelector("#secondCounter .progress-ring__circle").style.strokeDashoffset=String(s<6e4&&s>1e3?376.98-.006283*s:s<6e4?376.98:0)}),1e3)}draw(){super.draw(),this.htmlElement.innerHTML='\n          <div class="sp-waiting-room__wrapper">\n            <div class="countdown-container">\n              <span class="title">'.concat(this.stormPlayer.getPlayerConfigManager().getBroadcastRemainingTimeText(),'</span>\n              <div class="countdown">\n              <div class="counter" id="daysCounter">\n                <svg\n                    class="progress-ring"\n                    width="128"\n                    height="128">\n                  <defs>\n                    <linearGradient id="gradient1" x1="2" y1="2" x2="-30.4812" y2="86.4152" gradientUnits="userSpaceOnUse">\n                      <stop offset="0%"/>\n                      <stop offset="100%"/>\n                    </linearGradient>\n                  </defs>\n                  <circle class="progress-ring__track" r="60" />\n                  <circle class="progress-ring__circle" r="60" style="stroke: url(#gradient1);"/>\n                </svg>\n                <span>00</span>\n                <span>').concat(this.stormPlayer.getPlayerConfigManager().getTimeDaysText(),'</span>\n              </div>\n              <div class="counter" id="hoursCounter">\n                <svg\n                    class="progress-ring"\n                    width="128"\n                    height="128">\n                  <defs>\n                    <linearGradient id="gradient2" x1="2" y1="2" x2="-30.4812" y2="86.4152" gradientUnits="userSpaceOnUse">\n                      <stop offset="0%"/>\n                      <stop offset="100%"/>\n                    </linearGradient>\n                  </defs>\n                  <circle class="progress-ring__track" r="60" />\n                  <circle class="progress-ring__circle" r="60" style="stroke: url(#gradient2);" />\n                </svg>\n                <span>00</span>\n                <span>').concat(this.stormPlayer.getPlayerConfigManager().getTimeHoursText(),'</span>\n              </div>\n              <div class="counter" id="minutesCounter">\n                <svg\n                    class="progress-ring"\n                    width="128"\n                    height="128">\n                 <defs>\n                    <linearGradient id="gradient3" x1="2" y1="2" x2="-30.4812" y2="86.4152" gradientUnits="userSpaceOnUse">\n                      <stop offset="0%"/>\n                      <stop offset="100%"/>\n                    </linearGradient>\n                  </defs>\n                  <circle class="progress-ring__track" r="60" />\n                  <circle class="progress-ring__circle" r="60" style="stroke: url(#gradient3);"/>\n                </svg>\n                <span>00</span>\n                <span>').concat(this.stormPlayer.getPlayerConfigManager().getTimeMinutesText(),'</span>\n              </div>\n              <div class="counter" id="secondCounter">\n                <svg\n                    class="progress-ring"\n                    width="128"\n                    height="128">\n                  <defs>\n                    <linearGradient id="gradient4" x1="2" y1="2" x2="-30.4812" y2="86.4152" gradientUnits="userSpaceOnUse">\n                      <stop offset="0%"/>\n                      <stop offset="100%"/>\n                    </linearGradient>\n                  </defs>\n                 <circle class="progress-ring__track" r="60" />\n                 <circle class="progress-ring__circle" r="60" style="stroke: url(#gradient4);" />\n                </svg>\n                <span id="timeSeconds">00</span>\n                <span>').concat(this.stormPlayer.getPlayerConfigManager().getTimeSecondsText(),'</span>\n              </div>\n            </div>\n              <span class="video-start">').concat(this.stormPlayer.getPlayerConfigManager().getBroadcastStartTimeText()+" ",' <span id="videoStartDate" class="video-start-date">11.2.2023 16:00</span></span>\n            </div>\n          </div>\n          ')}attachListeners(){this.stormPlayer.addEventListener("resize",(t=>{t.newWidth>=700?(this.getHtmlElement().classList.remove("medium"),this.getHtmlElement().classList.remove("small")):t.newWidth<700&&t.newWidth>=500?(this.getHtmlElement().classList.remove("small"),this.getHtmlElement().classList.add("medium")):t.newWidth<500&&(this.getHtmlElement().classList.remove("medium"),this.getHtmlElement().classList.add("small"))})),this.stormPlayer.addEventListener("waitingRoomEnded",(()=>{null==this.stormPlayer.getLibraryManager().getLibrary()?(this.stormPlayer.setLibraryManager(),this.stormPlayer.getMainElement().createPlayer(),this.stormPlayer.dispatchEvent("interfaceReady",{ref:this.stormPlayer}),this.stormPlayer.setTitle(this.stormPlayer.getPlayerConfigManager().getTitle()),this.stormPlayer.setSubtitle(this.stormPlayer.getPlayerConfigManager().getSubtitle())):this.hide()})),this.stormPlayer.addEventListener("streamStartNotification",(()=>{null==this.stormPlayer.getLibraryManager().getLibrary()?(this.stormPlayer.setLibraryManager(),this.stormPlayer.getMainElement().createPlayer(),this.stormPlayer.dispatchEvent("interfaceReady",{ref:this.stormPlayer}),this.stormPlayer.setTitle(this.stormPlayer.getPlayerConfigManager().getTitle()),this.stormPlayer.setSubtitle(this.stormPlayer.getPlayerConfigManager().getSubtitle())):this.hide()}))}static createDateInTimezone(t,e){try{if(K.isValidZone(e)){const i=sn.fromFormat(t,"yyyy-MM-dd HH:mm:ss",{zone:e});return i.isValid?i:(console.error("Incorrect date: ".concat(i.invalidReason)),null)}return console.error("Incorrect timezone: ".concat(e)),null}catch(t){return console.error(t.message),null}}static isWaitingApplicable(t,e){let i=on.createDateInTimezone(t,e),n=sn.now();return i.toSeconds()-n.toSeconds()>0}}class ln extends s{constructor(t){super(t,"sp-stat-box"),r(this,"isOpen",!1),r(this,"interval",null),r(this,"stormPlayerBwGraph",null),r(this,"stormPlayerBufferGraph",null),r(this,"stormPlayerBufferStabilityGraph",null)}draw(){super.draw(),this.htmlElement.classList.add("sp-hidden"),this.htmlElement.innerHTML='\n         <span class="sp-stat-box__close-btn">\n             <svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n                <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n                    <g id="sss_home_cart" transform="translate(-1570.000000, -190.000000)" fill="#FFFFFF">\n                        <g id="produkt" transform="translate(1333.000000, 179.000000)">\n                            <g id="Group-3" transform="translate(244.020815, 18.020815) rotate(-315.000000) translate(-244.020815, -18.020815) translate(235.520815, 9.520815)">\n                                <rect id="Rectangle" x="0" y="7.5" width="17" height="2" rx="1"></rect>\n                                <rect id="Rectangle-Copy-12" transform="translate(8.500000, 8.500000) rotate(-270.000000) translate(-8.500000, -8.500000) " x="0" y="7.5" width="17" height="2" rx="1"></rect>\n                            </g>\n                        </g>\n                    </g>\n                </g>\n            </svg>\n        </span>\n         <span class="sp-stat-box__title">Statistics</span>\n         <div class="sp-stat-box__stats">\n             <div>\n                 <span>PLAYER</span>\n                 <div>\n                    <div>\n                        <span>Stream Key</span>\n                        <input id="stormPlayer-streamKeyValue" readonly>\n                    </div>\n                    <div>\n                        <span>Playback Status</span>\n                        <span id="stormPlayer-playbackStateValue"></span>\n                    </div>\n                    <div>\n                        <span>Stream Status</span>\n                        <span id="stormPlayer-streamStateValue"></span>\n                    </div>\n                    <div>\n                        <span>Volume</span>\n                        <span id="stormPlayer-volumeValue"></span>\n                    </div>\n                    <div>\n                        <span>Muted</span>\n                        <span id="stormPlayer-mutedValue"></span>\n                    </div>\n                    <div>\n                        <span>Muted By</span>\n                        <span id="stormPlayer-mutedByValue"></span>\n                    </div>\n                 </div>\n             </div>\n             <div>\n                 <span>BANDWIDTH</span>\n                 <div>\n                   <div>\n                        <span>BW Graph.</span>\n                        <span id="stormPlayer-bwGraph" style="width:100px;height:20px"></span>\n                    </div>\n                     <div>\n                        <span>Current Bandwidth</span>\n                        <span id="stormPlayer-currBandwidthValue"></span>\n                    </div>\n                     <div>\n                        <span>Min. Bandwidth</span>\n                        <span id="stormPlayer-minBandwidthValue"></span>\n                    </div>\n                     <div>\n                        <span>Max. Bandwidth</span>\n                        <span id="stormPlayer-maxBandwidthValue"></span>\n                    </div>\n                     <div>\n                        <span>BW. Stability Trend</span>\n                        <span id="stormPlayer-bwStabilityTrend"></span>\n                    </div>\n                 </div>\n             </div>\n             <div>\n                 <span>BUFFER</span>\n                 <div>\n                    <div>\n                        <span>Buffer Graph</span>\n                        <span id="stormPlayer-BufferGraph" style="width:100px;height:20px"></span>\n                    </div>\n                    <div>\n                        <span>Buffer Size</span>\n                        <span id="stormPlayer-bufferSizeValue"></span>\n                    </div>\n                    <div>\n                        <span>Buffer Stability Graph</span>\n                        <span id="stormPlayer-BufferStabilityGraph" style="width:100px;height:20px"></span>\n                    </div>\n                    <div>\n                        <span>Buffer Stability Trend</span>\n                        <span id="stormPlayer-bufferStabilityTrend"></span>\n                    </div>\n                    <div>\n                        <span>Buffer Stability Dev</span>\n                        <span id="stormPlayer-bufferStabilityDev"></span>\n                    </div>\n                 </div>\n             </div>\n             <div>\n                 <span>PLAYBACK</span>\n                 <div>\n                    <div>\n                        <span>Playback Rate</span>\n                        <span id="stormPlayer-playbackRateValue"></span>\n                    </div>\n                    <div>\n                        <span>Playback Duration</span>\n                        <span id="stormPlayer-playbackDurationValue"></span>\n                    </div>\n                    <div>\n                        <span>Playback Start Time</span>\n                        <span id="stormPlayer-playbackStartTimeValue"></span>\n                    </div>\n                    <div>\n                        <span>Stream Duration</span>\n                        <span id="stormPlayer-streamDurationValue"></span>\n                    </div>\n                    <div>\n                        <span>Stream Start Time</span>\n                        <span id="stormPlayer-streamStartTimeValue"></span>\n                    </div>\n                 </div>\n             </div>\n        </div>\n        '}formatSecondsWithMilliseconds(t){const e=Math.floor(t/36e5);t%=36e5;const i=Math.floor(t/6e4);t%=6e4;const n=Math.floor(t/1e3),r=e<10?"0"+e:e,s=i<10?"0"+i:i,a=n<10?"0"+n:n,o=(t%1e3).toString().padStart(3,"0");return"".concat(r,":").concat(s,":").concat(a,".").concat(o)}formatUnixTime(t){const e=new Date(t),i=t=>t.toString().padStart(2,"0"),n=i(e.getDate()),r=i(e.getMonth()+1),s=e.getFullYear(),a=i(e.getHours()),o=i(e.getMinutes()),l=i(e.getSeconds());return"".concat(n,".").concat(r,".").concat(s," ").concat(a,":").concat(o,":").concat(l)}update(){let t=this;this.stormPlayerBufferGraph||(this.stormPlayerBufferGraph=this.stormPlayer.getLibrary().createBufferGraph("stormPlayer-BufferGraph",50)),this.stormPlayerBwGraph||(this.stormPlayerBwGraph=this.stormPlayer.getLibrary().createBandwidthGraph("stormPlayer-bwGraph",50)),this.stormPlayerBufferStabilityGraph||(this.stormPlayerBufferStabilityGraph=this.stormPlayer.getLibrary().createBufferStabilityGraph("stormPlayer-BufferStabilityGraph",50)),this.interval=setInterval((()=>{var t,e,i,n,r,s,a,o,l;document.getElementById("stormPlayer-playbackRateValue").innerHTML=null!==(t=this.stormPlayer.getLibrary().getPlaybackRate().toString())&&void 0!==t?t:"Unknown",document.getElementById("stormPlayer-currBandwidthValue").innerHTML=((null!==(e=this.stormPlayer.getLibrary().getBandwidthMeter().currentBandwidth)&&void 0!==e?e:0)/1e3).toFixed(2)+" kbps",document.getElementById("stormPlayer-minBandwidthValue").innerHTML=((null!==(i=this.stormPlayer.getLibrary().getBandwidthMeter().minBandwidth)&&void 0!==i?i:0)/1e3).toFixed(2)+" kbps",document.getElementById("stormPlayer-maxBandwidthValue").innerHTML=((null!==(n=this.stormPlayer.getLibrary().getBandwidthMeter().maxBandwidth)&&void 0!==n?n:0)/1e3).toFixed(2)+" kbps",document.getElementById("stormPlayer-bwStabilityTrend").innerHTML=(null!==(r=this.stormPlayer.getLibrary().getBandwidthAnalyser().currentTrend)&&void 0!==r?r:"Unknown")+" ("+(null!==(s=this.stormPlayer.getLibrary().getBandwidthAnalyser().trendDuration)&&void 0!==s?s:0).toFixed(3)+" s)",document.getElementById("stormPlayer-bufferSizeValue").innerHTML=(null!==(a=this.stormPlayer.getLibrary().getBufferAnalyser().bufferSize)&&void 0!==a?a:0).toFixed(2)+" s",document.getElementById("stormPlayer-bufferStabilityTrend").innerHTML=null!==(o=this.stormPlayer.getLibrary().getBufferAnalyser().stability)&&void 0!==o?o:"Unknown",document.getElementById("stormPlayer-bufferStabilityDev").innerHTML=(null!==(l=this.stormPlayer.getLibrary().getBufferAnalyser().bufferDeviation)&&void 0!==l?l:0).toFixed(3)}),100),t.htmlElement.querySelector(".sp-stat-box__close-btn").addEventListener("click",(function(){t.stormPlayer.dispatchEvent("boxStatHid",{ref:t.stormPlayer})}))}showStatBox(){this.htmlElement&&this.htmlElement.classList.remove("sp-hidden")}hideStatBox(){this.htmlElement&&this.htmlElement.classList.add("sp-hidden")}attachListeners(){let t=this;this.stormPlayer.addEventListener("boxStatShown",(function(e){t.isOpen||(t.update(),t.showStatBox(),document.getElementById("stormPlayer-streamKeyValue").value=t.stormPlayer.getLibrary().getCurrentSourceItem().getStreamKey(),document.getElementById("stormPlayer-playbackStateValue").innerHTML=t.stormPlayer.getLibrary().getPlaybackState(),document.getElementById("stormPlayer-volumeValue").innerHTML=t.stormPlayer.getLibrary().getVolume().toString(),document.getElementById("stormPlayer-mutedValue").innerHTML=t.stormPlayer.getLibrary().isMute().toString(),t.stormPlayerBufferGraph&&t.stormPlayerBufferGraph.start(),t.stormPlayerBwGraph&&t.stormPlayerBwGraph.start(),t.stormPlayerBufferStabilityGraph&&t.stormPlayerBufferStabilityGraph.start(),t.isOpen=!t.isOpen)})),this.stormPlayer.addEventListener("boxStatHid",(function(){t.isOpen&&(t.hideStatBox(),clearInterval(t.interval),t.stormPlayerBufferGraph&&t.stormPlayerBufferGraph.stop(),t.stormPlayerBwGraph&&t.stormPlayerBwGraph.stop(),t.stormPlayerBufferStabilityGraph&&t.stormPlayerBufferStabilityGraph.stop(),t.isOpen=!t.isOpen)})),this.stormPlayer.addEventListener("volumeChange",(function(t){document.getElementById("stormPlayer-volumeValue").innerHTML=t.volume.toString(),document.getElementById("stormPlayer-mutedValue").innerHTML=t.muted.toString(),document.getElementById("stormPlayer-mutedByValue").innerHTML=t.invokedBy.toString()})),this.stormPlayer.addEventListener("playbackProgress",(function(e){document.getElementById("stormPlayer-playbackStartTimeValue").innerHTML=t.formatUnixTime(e.playbackStartTime),document.getElementById("stormPlayer-playbackDurationValue").innerHTML=t.formatSecondsWithMilliseconds(e.playbackDuration),document.getElementById("stormPlayer-streamDurationValue").innerHTML=t.formatSecondsWithMilliseconds(e.streamDuration),document.getElementById("stormPlayer-streamStartTimeValue").innerHTML=t.formatUnixTime(e.streamStartTime)})),this.stormPlayer.addEventListener("streamStateChange",(function(t){document.getElementById("stormPlayer-streamStateValue").innerHTML=t.state})),this.stormPlayer.addEventListener("playbackStateChange",(function(t){document.getElementById("stormPlayer-streamKeyValue").value=t.streamKey,document.getElementById("stormPlayer-playbackStateValue").innerHTML=t.state}))}}class hn extends s{constructor(t){super(t,"sp-container__box")}draw(){super.draw(),this.htmlElement.setAttribute("id",this.stormPlayer.getInstanceName()+"_video")}attachListeners(){let t=this;t.htmlElement.addEventListener("click",(function(){t.stormPlayer.dispatchEvent("videoClick",{ref:t.stormPlayer})}))}}class un extends s{constructor(t){super(t,"sp-loader")}draw(){super.draw(),this.htmlElement.innerHTML='\n            <svg width="120" height="30" viewBox="0 0 120 30" xmlns="http://www.w3.org/2000/svg" fill="#fff">\n                <circle class="firstDot" cx="15" cy="15" r="10">\n                    <animate attributeName="r" from="15" to="15"\n                             begin="0s" dur="0.8s"\n                             values="12;6;12" calcMode="linear"\n                             repeatCount="indefinite" />\n                    <animate attributeName="fill-opacity" from="1" to="1"\n                             begin="0s" dur="0.8s"\n                             values="1;.5;1" calcMode="linear"\n                             repeatCount="indefinite" />\n                </circle>\n                <circle class="secondDot" cx="60" cy="15" r="9" fill-opacity="0.3">\n                    <animate attributeName="r" from="9" to="9"\n                             begin="0s" dur="0.8s"\n                             values="6;12;6" calcMode="linear"\n                             repeatCount="indefinite" />\n                    <animate attributeName="fill-opacity" from="0.5" to="0.5"\n                             begin="0s" dur="0.8s"\n                             values=".5;1;.5" calcMode="linear"\n                             repeatCount="indefinite" />\n                </circle>\n                <circle class="thirdDot" cx="105" cy="15" r="10">\n                    <animate attributeName="r" from="10" to="10"\n                             begin="0s" dur="0.8s"\n                             values="12;6;12" calcMode="linear"\n                             repeatCount="indefinite" />\n                    <animate attributeName="fill-opacity" from="1" to="1"\n                             begin="0s" dur="0.8s"\n                             values="1;.5;1" calcMode="linear"\n                             repeatCount="indefinite" />\n                </circle>\n            </svg>',this.hide()}attachListeners(){this.stormPlayer.addEventListener("streamNotFound",(()=>{this.hide()}))}}class dn extends s{constructor(t){super(t,"sp-error")}showErrorMessage(t){this.htmlElement.querySelector("span").innerHTML=t,this.show()}draw(){super.draw(),this.htmlElement.innerHTML='\n            <svg width="72" height="72" viewBox="0 0 72 72">\n                <defs>\n                    <filter id="ynnx5kr06a">\n                        <feColorMatrix in="SourceGraphic" values="0 0 0 0 0.875877 0 0 0 0 0.056962 0 0 0 0 0.198697 0 0 0 1.000000 0" />\n                    </filter>\n                </defs>\n                <g fill="none" fill-rule="evenodd">\n                    <g filter="url(#ynnx5kr06a)" transform="translate(-764 -536)">\n                        <g>\n                            <path fill="#000" fill-rule="nonzero" d="M36 21c-9.93 0-18 8.07-18 18 0 4.98 2.04 9.45 5.28 12.72l4.26-4.26C25.35 45.3 24 42.33 24 39c0-6.63 5.37-12 12-12s12 5.37 12 12c0 3.33-1.35 6.3-3.54 8.46l4.26 4.26C51.96 48.45 54 43.98 54 39c0-9.93-8.07-18-18-18zm0-12C19.44 9 6 22.44 6 39c0 8.28 3.36 15.78 8.79 21.21l4.26-4.26C14.7 51.63 12 45.63 12 39c0-13.26 10.74-24 24-24 7.59 0 14.34 3.51 18.72 9h7.26C56.79 15.03 47.1 9 36 9zm0 24c-3.3 0-6 2.7-6 6 0 1.65.69 3.15 1.77 4.23C32.85 44.31 34.35 45 36 45c1.65 0 3.15-.69 4.23-1.77C41.31 42.15 42 40.65 42 39c0-3.3-2.7-6-6-6zm24-3h6v18h-6V30zm0 24h6v6h-6v-6z" transform="translate(764 536)" />\n                        </g>\n                    </g>\n                </g>\n            </svg>\n            <span></span>',this.hide()}attachListeners(){const t=this;this.stormPlayer.addEventListener("libraryCreate",(()=>{this.stormPlayer.getLibrary().addEventListener("serverDisconnect",(()=>{this.stormPlayer.getLibrary().getConfigManager().getSettingsData().getIfRestartOnError()||this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getPlayerDisconnectedText())})),this.stormPlayer.getLibrary().addEventListener("serverConnectionError",(()=>{this.stormPlayer.getLibrary().getConfigManager().getSettingsData().getIfRestartOnError()||this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getServersFailedText())})),this.stormPlayer.getLibrary().addEventListener("allConnectionsFailed",(()=>{this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getServersFailedText())})),this.stormPlayer.getLibrary().addEventListener("compatibilityError",(()=>{this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getCompatibilityErrorText())})),this.stormPlayer.getLibrary().addEventListener("SSLError",(()=>{this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getNoSSLErrorText())})),this.stormPlayer.getLibrary().addEventListener("playbackError",(()=>{this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getVideoErrorText())})),this.stormPlayer.getLibrary().addEventListener("streamNotFound",(()=>{this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getVideoNotFoundText())})),this.stormPlayer.getLibrary().addEventListener("incompatibleProtocol",(()=>{this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getIncorrectProtocolVersionText())})),this.stormPlayer.getLibrary().addEventListener("invalidLicense",(()=>{this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getLicenseErrorText())})),this.stormPlayer.getLibrary().addEventListener("SSLError",(()=>{this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getNoSSLErrorText())})),this.stormPlayer.addEventListener("waitingRoomEnded",(()=>{this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getAwaitingText())})),this.stormPlayer.addEventListener("streamStartNotification",(()=>{this.hide()})),this.stormPlayer.getLibrary().addEventListener("playbackInitiate",(()=>{this.hide()})),this.stormPlayer.getLibrary().addEventListener("streamStop",(()=>{null!=t.stormPlayer.getPlayerConfigManager().getBroadcastStartDate()&&null!=t.stormPlayer.getPlayerConfigManager().getWaitingRoomTimeZone()?on.isWaitingApplicable(t.stormPlayer.getPlayerConfigManager().getBroadcastStartDate(),t.stormPlayer.getPlayerConfigManager().getWaitingRoomTimeZone())?(t.waitingRoom=new on(t.stormPlayer),t.stormPlayer.getMainElement().spContainer.getHtmlElement().appendChild(this.waitingRoom.getHtmlElement())):this.stormPlayer.getLibrary().getConfigManager().getSettingsData().autoStart&&this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getVideoStopText()):this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getVideoStopText())})),this.stormPlayer.getLibrary().addEventListener("streamStateChange",(e=>{switch(e.state){case"CLOSED":case"UNPUBLISHED":if(null!=t.stormPlayer.getPlayerConfigManager().getBroadcastStartDate()&&null!=t.stormPlayer.getPlayerConfigManager().getWaitingRoomTimeZone()&&on.isWaitingApplicable(t.stormPlayer.getPlayerConfigManager().getBroadcastStartDate(),t.stormPlayer.getPlayerConfigManager().getWaitingRoomTimeZone()))return t.waitingRoom=new on(t.stormPlayer),void t.stormPlayer.getMainElement().spContainer.getHtmlElement().appendChild(this.waitingRoom.getHtmlElement());this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getVideoStopText());break;case"NOT_PUBLISHED":if(null!=t.stormPlayer.getPlayerConfigManager().getBroadcastStartDate()&&null!=t.stormPlayer.getPlayerConfigManager().getWaitingRoomTimeZone()&&on.isWaitingApplicable(t.stormPlayer.getPlayerConfigManager().getBroadcastStartDate(),t.stormPlayer.getPlayerConfigManager().getWaitingRoomTimeZone()))return t.waitingRoom=new on(t.stormPlayer),void t.stormPlayer.getMainElement().spContainer.getHtmlElement().appendChild(this.waitingRoom.getHtmlElement());this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getAwaitingText());break;case"AWAITING":this.showErrorMessage(this.stormPlayer.getPlayerConfigManager().getAwaitingText());break;case"PUBLISHED":this.hide()}})),this.stormPlayer.addEventListener("streamConfigUpdate",(()=>{this.hide()})),this.stormPlayer.getLibrary().addEventListener("playbackInitiate",(()=>{null!=t.waitingRoom&&t.waitingRoom.remove()}))}))}}class cn extends s{constructor(t){super(t,"sp-playback"),r(this,"isEnabled",!1)}rebuild(){this.isEnabled=this.stormPlayer.getPlayerConfigManager().isBigPlayButton(),this.isEnabled?this.htmlElement.innerHTML='\n                <svg class="sp-play-icon" width="43" height="53" viewBox="0 0 72 72">\n                    <g  fill="#fff" fill-rule="evenodd">\n                        <g id="path" fill="#fff">\n                            <g>\n                                <path d="M13.51 7.681l9.252 13.57c.945 1.386.587 3.276-.799 4.221-.504.344-1.1.528-1.711.528H1.748C.07 26-1.29 24.64-1.29 22.962c0-.61.184-1.207.528-1.711L8.49 7.68c.945-1.386 2.835-1.743 4.221-.798.314.214.585.485.8.798z" transform="translate(-221 -954) translate(290 947) rotate(90 11 15) scale(3.6)" />\n                            </g>\n                        </g>\n                    </g>    \n                </svg>':this.htmlElement.innerHTML=""}show(){super.show()}draw(){super.draw(),this.rebuild()}attachListeners(){this.stormPlayer.addEventListener("resize",(t=>{t.newWidth<400?this.getHtmlElement().style.display="none":this.getHtmlElement().style.display="flex"})),this.htmlElement.addEventListener("click",(()=>{1==!this.stormPlayer.getRawPlayerConfig().demoMode&&this.stormPlayer.dispatchEvent("playClick",{ref:this.stormPlayer})})),this.stormPlayer.addEventListener("seekStart",(()=>{this.isEnabled=!1})),this.stormPlayer.addEventListener("seekEnd",(()=>{this.isEnabled=!0})),this.stormPlayer.addEventListener("playerConfigUpdate",(()=>{this.isEnabled=this.stormPlayer.getPlayerConfigManager().isBigPlayButton(),this.rebuild()})),this.stormPlayer.addEventListener("hidePoster",(t=>{t.autoStart&&this.hide()})),this.stormPlayer.addEventListener("streamStartNotification",(()=>{this.show()})),this.stormPlayer.addEventListener("interactionRequired",(()=>{this.show()})),this.stormPlayer.addEventListener("playbackInitiate",(()=>{this.hide()})),this.stormPlayer.addEventListener("playbackPause",(()=>{this.show()})),this.stormPlayer.addEventListener("playbackStart",(()=>{this.hide()}))}}let mn=class t{static hasWebSocketsSupport(){return null!=window.WebSocket}static isMobile(){return new RegExp("Mobile|mini|Fennec|Android|iP(ad|od|hone)").test(navigator.userAgent)}static isCookieEnabled(){let t=!!navigator.cookieEnabled;return void 0!==navigator.cookieEnabled||t||(document.cookie="testcookie",t=-1!=document.cookie.indexOf("testcookie")),t}static getOSVersion(){let e="Unknown version",i=t.getOS();if(null!=i){if(new RegExp("Windows").test(i)){const t=new RegExp("Windows (.*)");e=null!=t.exec(i)[1]?t.exec(i)[1]:e,i="Windows"}switch(i){case"Mac OS":case"Mac OS X":case"Android":e=new RegExp("(?:Android|Mac OS|Mac OS X|MacPPC|MacIntel|Mac_PowerPC|Macintosh) ([\\.\\_\\d]+)").exec(navigator.userAgent)[1];break;case"iOS":e=new RegExp("OS (\\d+)_(\\d+)_?(\\d+)?").exec(navigator.userAgent),e=e[1]+"."+e[2]+"."+(0|e[3])}}return e}static getBrowserName(){return t.getFullBrowser().name}static getBrowserVersion(){return t.getFullBrowser().version}static getFullBrowser(){let t,e,i,n=navigator.userAgent,r=navigator.appName,s=""+parseFloat(navigator.appVersion),a=parseInt(navigator.appVersion,10);return-1!=(e=n.indexOf("Opera"))?(r="Opera",s=n.substring(e+6),-1!=(e=n.indexOf("Version"))&&(s=n.substring(e+8))):-1!=(e=n.indexOf("MSIE"))?(r="Microsoft Internet Explorer",s=n.substring(e+5)):"Netscape"==r&&-1!=n.indexOf("Trident/")?(r="Microsoft Internet Explorer",s=n.substring(e+5),-1!=(e=n.indexOf("rv:"))&&(s=n.substring(e+3))):-1!=(e=n.indexOf("Chrome"))?(r="Chrome",(n.indexOf("FBAV")>-1||n.indexOf("FBAN")>-1)&&(r="Facebook"),n.indexOf("OPR")>-1&&(r="Opera"),n.indexOf("SamsungBrowser")>-1&&(r="Samsung"),s=n.substring(e+7)):-1!=(e=n.indexOf("Safari"))?(r="Safari",s=n.substring(e+7),-1!=(e=n.indexOf("Version"))&&(s=n.substring(e+8)),-1!=n.indexOf("CriOS")&&(r="Chrome"),-1!=n.indexOf("FxiOS")&&(r="Firefox")):-1!=(e=n.indexOf("Firefox"))?(r="Firefox",s=n.substring(e+8)):(t=n.lastIndexOf(" ")+1)<(e=n.lastIndexOf("/"))&&(r=n.substring(t,e),s=n.substring(e+1),r.toLowerCase()==r.toUpperCase()&&(r=navigator.appName)),-1!=(i=s.indexOf(";"))&&(s=s.substring(0,i)),-1!=(i=s.indexOf(" "))&&(s=s.substring(0,i)),-1!=(i=s.indexOf(")"))&&(s=s.substring(0,i)),a=parseInt(""+s,10),isNaN(a)&&(s=""+parseFloat(navigator.appVersion),a=parseInt(navigator.appVersion,10)),{name:r,fullVersion:s,version:a}}static getOS(){let t="Unknown OS",e=[{os:"Windows 10",code:"(Windows 10.0|Windows NT 10.0)"},{os:"Windows 8.1",code:"(Windows 8.1|Windows NT 6.3)"},{os:"Windows 8",code:"(Windows 8|Windows NT 6.2)"},{os:"Windows 7",code:"(Windows 7|Windows NT 6.1)"},{os:"Windows Vista",code:"Windows NT 6.0"},{os:"Windows Server 2003",code:"Windows NT 5.2"},{os:"Windows XP",code:"(Windows NT 5.1|Windows XP)"},{os:"Windows 2000",code:"(Windows NT 5.0|Windows 2000)"},{os:"Windows ME",code:"(Win 9x 4.90|Windows ME)"},{os:"Windows 98",code:"(Windows 98|Win98)"},{os:"Windows 95",code:"(Windows 95|Win95|Windows_95)"},{os:"Windows NT 4.0",code:"(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)"},{os:"Windows CE",code:"Windows CE"},{os:"Windows 3.11",code:"Win16"},{os:"Android",code:"Android"},{os:"Open BSD",code:"OpenBSD"},{os:"Sun OS",code:"SunOS"},{os:"Chrome OS",code:"CrOS"},{os:"Linux",code:"(Linux|X11(?!.*CrOS))"},{os:"iOS",code:"(iPhone|iPad|iPod)"},{os:"Mac OS X",code:"Mac OS X"},{os:"Mac OS",code:"(Mac OS|MacPPC|MacIntel|Mac_PowerPC|Macintosh)"},{os:"QNX",code:"QNX"},{os:"UNIX",code:"UNIX"},{os:"BeOS",code:"BeOS"},{os:"OS/2",code:"OS\\/2"},{os:"Search Bot",code:"(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\\/Teoma|ia_archiver)"}];for(var i in e){var n=e[i];if(new RegExp(n.code).test(navigator.userAgent)){t=n.os;break}}return t}static hasWebRTCSupport(){let t=!1;try{navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||window.RTCPeerConnection;t=!0}catch(e){t=!1}return t}static hasHLSSupport(t){return null!==t&&Boolean(t.canPlayType("application/vnd.apple.mpegURL")||t.canPlayType("audio/mpegurl"))}static hasMSESupport(){const t=window.MediaSource=window.MediaSource||window.WebKitMediaSource;return window.SourceBuffer=window.SourceBuffer||window.WebKitSourceBuffer,t&&"function"==typeof t.isTypeSupported}static isSSL(){return"https:"===location.protocol}};class gn extends s{constructor(t){super(t,"sp-header")}show(){this.htmlElement.classList.remove("sp-controls--hidden")}hide(){this.htmlElement.classList.add("sp-controls--hidden")}draw(){super.draw(),this.shadowElement=new s(this.stormPlayer,"sp-header__shadow"),this.htmlElement.appendChild(this.shadowElement.getHtmlElement()),this.wrapperElement=new s(this.stormPlayer,"sp-header__wrapper"),this.htmlElement.appendChild(this.wrapperElement.getHtmlElement()),this.wrapperElement.getHtmlElement().innerHTML='<h2 class="sp-header__text sp-header__title"></h2><p class="sp-header__text sp-header__sub-title"></p>',this.liveIconElement=new s(this.stormPlayer,"sp-live-icon"),this.htmlElement.appendChild(this.liveIconElement.getHtmlElement()),this.liveIconElement.getHtmlElement().innerHTML='\n            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n                <g fill="none" fill-rule="evenodd">\n                    <g>\n                        <g>\n                            <path fill="#df0f33" fill-rule="nonzero"\n                              d="M7.76 16.24C6.67 15.16 6 13.66 6 12c0-1.66.67-3.16 1.76-4.24l1.42 1.42C8.45 9.9 8 10.9 8 12c0 1.1.45 2.1 1.17 2.83l-1.41 1.41zm8.48 0C17.33 15.16 18 13.66 18 12c0-1.66-.67-3.16-1.76-4.24l-1.42 1.42C15.55 9.9 16 10.9 16 12c0 1.1-.45 2.1-1.17 2.83l1.41 1.41zM12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm8 2c0 2.21-.9 4.21-2.35 5.65l1.42 1.42C20.88 17.26 22 14.76 22 12c0-2.76-1.12-5.26-2.93-7.07l-1.42 1.42C19.1 7.79 20 9.79 20 12zM6.35 6.35L4.93 4.93C3.12 6.74 2 9.24 2 12c0 2.76 1.12 5.26 2.93 7.07l1.42-1.42C4.9 16.21 4 14.21 4 12c0-2.21.9-4.21 2.35-5.65z"\n                              transform="translate(-1301 -243) translate(1301 243)" />\n                        </g>\n                    </g>\n                </g>\n            </svg>\n\n            <span class="sp-live-icon__text">'.concat(this.stormPlayer.getPlayerConfigManager().getLiveText(),"</span>")}setTitle(t){this.titleValue=t,this.wrapperElement.getHtmlElement().querySelector("h2").innerHTML=t;const e=this.wrapperElement.getHtmlElement().offsetHeight;this.stormPlayer.dispatchEvent("titleUpdate",{ref:this.stormPlayer,title:t,newHeight:e})}setSubtitle(t){this.subtitleValue=t,this.wrapperElement.getHtmlElement().querySelector("p").innerHTML=t;const e=this.wrapperElement.getHtmlElement().offsetHeight;this.stormPlayer.dispatchEvent("subtitleUpdate",{ref:this.stormPlayer,subtitle:t,newHeight:e})}attachListeners(){let t=this;this.stormPlayer.addEventListener("resize",(t=>{t.newWidth>=700?(this.wrapperElement.getHtmlElement().querySelector("p").classList.remove("tiny"),this.wrapperElement.getHtmlElement().querySelector("h2").classList.remove("tiny"),this.wrapperElement.getHtmlElement().querySelector("p").classList.remove("narrow"),this.wrapperElement.getHtmlElement().querySelector("h2").classList.remove("narrow"),this.liveIconElement.getHtmlElement().classList.remove("narrow")):t.newWidth<700&&t.newWidth>=500?(this.wrapperElement.getHtmlElement().querySelector("p").classList.remove("tiny"),this.wrapperElement.getHtmlElement().querySelector("h2").classList.remove("tiny"),this.wrapperElement.getHtmlElement().querySelector("p").classList.add("narrow"),this.wrapperElement.getHtmlElement().querySelector("h2").classList.add("narrow"),this.liveIconElement.getHtmlElement().classList.remove("narrow")):t.newWidth<500&&(this.wrapperElement.getHtmlElement().querySelector("p").classList.add("tiny"),this.wrapperElement.getHtmlElement().querySelector("p").classList.remove("narrow"),this.wrapperElement.getHtmlElement().querySelector("h2").classList.add("tiny"),this.wrapperElement.getHtmlElement().querySelector("h2").classList.remove("narrow"),this.liveIconElement.getHtmlElement().classList.add("narrow"));let e=t.newWidth-this.liveIconElement.getHtmlElement().offsetWidth-80;this.wrapperElement.getHtmlElement().style.width=e+"px",this.wrapperElement.getHtmlElement().style.opacity="1";const i=this.calculateHeaderHeight();this.stormPlayer.dispatchEvent("titleUpdate",{ref:this.stormPlayer,title:this.titleValue,newHeight:i})})),this.stormPlayer.addEventListener("playerConfigUpdate",(()=>{this.htmlElement.querySelector("span.sp-live-icon__text").innerHTML=t.stormPlayer.getPlayerConfigManager().getLiveText(),this.setTitle(this.stormPlayer.getPlayerConfigManager().getTitle()),this.setSubtitle(this.stormPlayer.getPlayerConfigManager().getSubtitle())})),this.stormPlayer.addEventListener("guiShow",(()=>{this.show()})),this.stormPlayer.addEventListener("guiHide",(()=>{this.hide()})),this.stormPlayer.addEventListener("fullscreenEnter",(()=>{mn.isMobile()&&this.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&!this.stormPlayer.getPlayerConfigManager().getIfDemoMode()&&(this.htmlElement.style.display="none")})),this.stormPlayer.addEventListener("fullscreenExit",(()=>{mn.isMobile()&&this.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&!this.stormPlayer.getPlayerConfigManager().getIfDemoMode()&&(this.htmlElement.style.display="flex")}))}calculateHeaderHeight(){let t=this.wrapperElement.getHtmlElement().offsetHeight;return null==this.titleValue&&null==this.subtitleValue&&(t=0),t}}class pn extends s{constructor(t,e,i){super(t,"sp-cue-points__item","span"),this.time=i,this.title=e,this.htmlElement.setAttribute("data-title",this.title),this.htmlElement.addEventListener("mousedown",(function(t){})),this.hide()}getTitle(){return this.title}getTime(){return this.time}draw(){super.draw(),this.htmlElement.innerHTML='\n            <svg width="32" height="29" viewBox="0 0 32 29">\n                <defs>\n                    <linearGradient id="cue-point-gradient" x1="4.09%" x2="102%" y1="34.996%" y2="66.653%">\n                        <stop offset="0%"></stop>\n                        <stop offset="100%"></stop>\n                    </linearGradient>\n                    <filter id="33nbyogp2a" width="347.1%" height="556%" x="-123.5%" y="-174.8%" filterUnits="objectBoundingBox">\n                        <feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>\n                        <feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation="5.5"></feGaussianBlur>\n                        <feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0.845910114 0 0 0 0 0.344176545 0 0 0 0 0.0722088167 0 0 0 0.254263284 0"></feColorMatrix>\n                    </filter>\n                    <path id="qxoxvdy78b" d="M735.753 913.86l4.796 5.481c.363.416.321 1.048-.094 1.412-.183.16-.417.247-.659.247h-9.592c-.553 0-1-.448-1-1 0-.242.088-.476.247-.659l4.796-5.48c.364-.417.996-.459 1.412-.095.033.03.064.06.094.094z"></path>\n                </defs>\n                <g fill="none" fill-rule="evenodd">\n                    <g>\n                        <g transform="translate(-719 -898) matrix(1 0 0 -1 0 1834)">\n                            <use xlink:href="#qxoxvdy78b" style="filter: url(#33nbyogp2a);"></use>\n                            <use xlink:href="#qxoxvdy78b" style="fill: url(#cue-point-gradient);"></use>\n                        </g>\n                    </g>\n                </g>\n            </svg>'}}class fn extends s{constructor(t,e){super(t,"sp-cue-points"),r(this,"list",new Array),this.progressbarElement=e}addCuePoint(t,e){let i=new pn(this.stormPlayer,t,e);this.list.push(i),this.htmlElement.appendChild(i.getHtmlElement())}removeCuePoint(t){let e=[];for(let i=0;i<this.list.length;i++)this.list[i].getTime()==t&&(this.list[i].remove(),e.push(i));for(let t=0;t<e.length;t++)this.list.splice(e[t],1)}refreshCuePointsPosition(){for(let t=0;t<this.list.length;t++){let e=this.timeToPercent(this.list[t].getTime())*this.htmlElement.clientWidth/100;this.list[t].getHtmlElement().style.left="".concat(e,"px"),this.list[t].show(),e<0&&this.removeCuePoint(this.list[t].getTime())}}timeToPercent(t){return 100*(t-=this.progressbarElement.getProgressBarStartTime())/(this.progressbarElement.getProgressBarEndTime()-this.progressbarElement.getProgressBarStartTime())}attachListeners(){this.stormPlayer.addEventListener("cuePointAdd",(t=>{this.addCuePoint(t.label,t.time)})),this.stormPlayer.addEventListener("cuePointRemove",(t=>{this.removeCuePoint(t.time)}))}}class yn extends s{constructor(t){super(t,"sp-progress"),r(this,"stopRefreshBar",!1),r(this,"wasSeekPerformend",!1),r(this,"isVisible",!1);const e=this;this.stormPlayer.getRawPlayerConfig().demoMode&&(this.progressBarStartTime=0,this.progressBarCurrTime=100,this.progressBarEndTime=100,this.refreshBar(),setInterval((function(){e.refreshBar()}),100))}percentToTime(t){t<0&&(t=0),t>100&&(t=100),t=100-t;let e=this.dvrCacheSize;return Math.round(e*t/100)}setPosition(t){let e=this.seekElement.clientWidth;e-=15;let i=e*t/100;i+=5,this.thumbElement.getHtmlElement().style.transform="translateX(".concat(i,"px)"),this.progressElement.setAttribute("min","0"),this.progressElement.setAttribute("max","100"),this.progressElement.setAttribute("value",t.toString())}seekTo(t){let e=this.percentToTime(t),i=this.progressBarEndTime-e,n=new Date(i),r=(n.getHours(),"0"+n.getMinutes()),s="0"+n.getSeconds();r.substr(-2),s.substr(-2),this.lastSeekUpdateTime!=i&&(this.lastSeekUpdateTime=i,this.stormPlayer.dispatchEvent("seekSet",{ref:this.stormPlayer,time:i}))}refreshBar(){if(!this.stopRefreshBar)if(!this.stormPlayer.getPlayerConfigManager().getTimeline()||this.dvrCacheSize<5e3)this.hide(),this.isVisible=!1;else{this.show(),this.isVisible=!0,this.progressElement.setAttribute("min","0"),this.progressElement.setAttribute("max",(this.progressBarEndTime-this.progressBarStartTime).toString()),this.progressElement.setAttribute("value",(this.progressBarCurrTime-this.progressBarStartTime).toString());let t=this.seekElement.clientWidth;t-=15;let e=t*(this.progressBarCurrTime-this.progressBarStartTime)/(this.progressBarEndTime-this.progressBarStartTime);e+=5,this.thumbElement.getHtmlElement().style.transform="translateX(".concat(e,"px)"),this.thumbElement.show(),this.cuePointsElement.refreshCuePointsPosition()}}parseServerData(t){this.streamDuration=t.playbackDuration,this.sourceDuration=t.streamDuration,this.sourceStartTime=t.streamStartTime,this.streamStartTime=t.playbackStartTime,this.dvrCacheSize=t.dvrCacheSize,this.progressBarStartTime=this.sourceStartTime+this.sourceDuration-this.dvrCacheSize,this.progressBarEndTime=this.sourceStartTime+this.sourceDuration,this.progressBarCurrTime=this.streamStartTime+this.streamDuration,this.progressBarCurrTime>this.progressBarEndTime&&(this.progressBarCurrTime=this.progressBarEndTime);let e=this.progressBarStartTime,i=this.progressBarEndTime,n=this.progressBarCurrTime,r=new Date(e),s=new Date(i),a=new Date(this.dvrCacheSize),o=new Date(n),l=(r.getHours(),"0"+r.getMinutes()),h="0"+r.getSeconds(),u=(s.getHours(),"0"+s.getMinutes()),d="0"+s.getSeconds(),c="0"+a.getMinutes(),m="0"+a.getSeconds(),g=(o.getHours(),"0"+o.getMinutes()),p="0"+o.getSeconds();l.substr(-2),h.substr(-2),u.substr(-2),d.substr(-2),c.substr(-2),m.substr(-2),g.substr(-2),p.substr(-2),this.refreshBar()}updateTooltip(t){t<0?t=0:t>this.seekElement.clientWidth&&(t=this.seekElement.clientWidth);let e=this.seekElement.clientWidth,i=100*t/e,n=this.percentToTime(i)/1e3,r=n>0?"-"+this.secondsToNicetime(n):this.stormPlayer.getPlayerConfigManager().getLiveText();this.seekTooltipElement.getHtmlElement().innerHTML=r,this.stormPlayer.getRawPlayerConfig().demoMode&&(this.seekTooltipElement.getHtmlElement().innerHTML="Live"),t<34?t=34:t>e-25&&(t=e-25),this.seekTooltipElement.getHtmlElement().style.left="".concat(t+5,"px")}secondsToNicetime(t){const e=Math.floor(t/3600),i=Math.floor(t%3600/60),n=Math.round(t%60);return[e,i>9?i:e?"0"+i:i||"0",n>9?n:"0"+n].filter(Boolean).join(":")}draw(){super.draw(),this.cuePointsElement=new fn(this.stormPlayer,this),this.htmlElement.appendChild(this.cuePointsElement.getHtmlElement()),this.thumbElement=new s(this.stormPlayer,"sp-progress-thumb"),this.htmlElement.appendChild(this.thumbElement.getHtmlElement()),this.thumbElement.hide(),this.progressElement=document.createElement("progress"),this.progressElement.className="sp-progress-bar",this.progressElement.setAttribute("value","0"),this.progressElement.setAttribute("min","0"),this.progressElement.setAttribute("max","100"),this.htmlElement.appendChild(this.progressElement),this.progressEndElement=new s(this.stormPlayer,"sp-progress-bar__end","span"),this.htmlElement.appendChild(this.progressEndElement.getHtmlElement()),this.seekElement=document.createElement("input"),this.seekElement.className="sp-seek",this.seekElement.setAttribute("min","0"),this.seekElement.setAttribute("type","range"),this.seekElement.setAttribute("step","0.001"),this.seekElement.setAttribute("max","100"),this.htmlElement.appendChild(this.seekElement),this.seekTooltipElement=new s(this.stormPlayer,"sp-seek__tooltip"),this.htmlElement.appendChild(this.seekTooltipElement.getHtmlElement()),this.hide()}getProgressBarStartTime(){return this.progressBarStartTime}getProgressBarEndTime(){return this.progressBarEndTime}getProgressBarCurrTime(){return this.progressBarCurrTime}attachListeners(){let t=this;this.stormPlayer.addEventListener("libraryCreate",(function(){t.stormPlayer.getLibrary().addEventListener("playbackProgress",(function(e){t.parseServerData(e)}))})),this.stormPlayer.addEventListener("playerConfigUpdate",(function(){!1===t.stormPlayer.getPlayerConfigManager().isBigPlayButton()&&t.hide()})),this.seekElement.addEventListener("input",(function(e){t.setPosition(parseFloat(this.value))})),mn.isMobile()?(this.seekElement.addEventListener("touchstart",(function(e){t.stopRefreshBar=!0,t.wasSeekPerformend=!1,t.stormPlayer.dispatchEvent("seekStart",{ref:t.stormPlayer});let i=t.seekElement.getBoundingClientRect(),n=Math.floor(e.changedTouches[0].clientX-i.left);t.updateTooltip(n)})),this.seekElement.addEventListener("touchmove",(function(e){let i=t.seekElement.getBoundingClientRect(),n=Math.floor(e.touches[0].clientX-i.left);t.wasSeekPerformend=!0,t.newPosition!=n&&(t.newPosition=n,t.updateTooltip(n));let r=n;r<0&&(r=0),r>t.seekElement.clientWidth&&(r=t.seekElement.clientWidth);let s=r/Number(t.seekElement.clientWidth)*100;t.setPosition(s)})),this.seekElement.addEventListener("touchend",(function(e){let i=t.seekElement.getBoundingClientRect(),n=Math.floor(e.changedTouches[0].clientX-i.left);t.wasSeekPerformend=!0,t.newPosition!=n&&(t.newPosition=n,t.updateTooltip(n));let r=n;r<0&&(r=0),r>t.seekElement.clientWidth&&(r=t.seekElement.clientWidth);let s=r/Number(t.seekElement.clientWidth)*100;t.setPosition(s),t.wasSeekPerformend?t.progressElement.value:parseFloat(this.value),t.seekTo(s),t.stormPlayer.dispatchEvent("seekEnd",{ref:t.stormPlayer}),t.stopRefreshBar=!1}))):(this.seekElement.addEventListener("mousedown",(function(e){t.stopRefreshBar=!0,t.stormPlayer.dispatchEvent("seekStart",{ref:t.stormPlayer})})),this.seekElement.addEventListener("mousemove",(function(e){let i=t.seekElement.getBoundingClientRect(),n=e.clientX-i.left;t.updateTooltip(n);let r=n;r<0&&(r=0),r>t.seekElement.clientWidth&&(r=t.seekElement.clientWidth)})),this.seekElement.addEventListener("mouseup",(function(e){t.stopRefreshBar=!1,t.seekTo(parseFloat(this.value)),t.stormPlayer.dispatchEvent("seekEnd",{ref:t.stormPlayer})})))}getIfVisible(){return this.isVisible}}class vn extends s{constructor(t){super(t,"sp-play")}draw(){super.draw(),this.playButtonElement=document.createElement("button"),this.playButtonElement.setAttribute("type","button"),this.playButtonElement.className="sp-play__button",this.playButtonElement.innerHTML='<svg class="sp-play-icon" width="17" height="22" viewBox="0 2 21 26">\n            <g fill="none" fill-rule="evenodd">\n                <g fill="#000">\n                    <g>\n                        <path\n                        d="M13.51 7.681l9.252 13.57c.945 1.386.587 3.276-.799 4.221-.504.344-1.1.528-1.711.528H1.748C.07 26-1.29 24.64-1.29 22.962c0-.61.184-1.207.528-1.711L8.49 7.68c.945-1.386 2.835-1.743 4.221-.798.314.214.585.485.8.798z"\n                        transform="translate(-221 -954) translate(221 954) rotate(90 11 15)" />\n                    </g>\n                </g>\n            </g>    \n            </svg>\n                <svg class="sp-pause-icon sp-hidden" width="17" height="22" viewBox="6 4 12 16">\n                <path d="M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"></path>\n            </svg>',this.htmlElement.append(this.playButtonElement)}showPlay(){this.playButtonElement&&(this.playButtonElement.querySelector(".sp-play-icon").classList.remove("sp-hidden"),this.playButtonElement.querySelector(".sp-pause-icon").classList.add("sp-hidden"))}showPause(){this.playButtonElement&&(this.playButtonElement.querySelector(".sp-play-icon").classList.add("sp-hidden"),this.playButtonElement.querySelector(".sp-pause-icon").classList.remove("sp-hidden"))}attachListeners(){this.stormPlayer.addEventListener("libraryInitialize",(()=>{this.stormPlayer.getLibrary().addEventListener("interactionRequired",(()=>{this.showPlay()})),this.stormPlayer.getLibrary().addEventListener("playbackInitiate",(()=>{this.showPause()})),this.stormPlayer.getLibrary().addEventListener("playbackStart",(()=>{this.showPause()})),this.stormPlayer.getLibrary().addEventListener("playbackPause",(()=>{this.showPlay()})),this.stormPlayer.getLibrary().addEventListener("streamStop",(()=>{this.showPlay()}))})),this.playButtonElement.addEventListener("click",(()=>{this.playButtonElement&&1!=this.stormPlayer.getRawPlayerConfig().demoMode&&(this.playButtonElement.querySelector(".sp-play-icon").classList.contains("sp-hidden")?this.stormPlayer.dispatchEvent("pauseClick",{ref:this.stormPlayer}):this.stormPlayer.dispatchEvent("playClick",{ref:this.stormPlayer}))}))}}class bn extends s{constructor(t){super(t,"sp-volume"),r(this,"hideTimeoutSeconds",1.5)}showMute(){this.volumeButtonElement.querySelector(".sp-mute-icon").classList.remove("sp-hidden"),this.volumeButtonElement.querySelector(".sp-unmute-icon").classList.add("sp-hidden")}showUnMute(){this.volumeButtonElement.querySelector(".sp-mute-icon").classList.add("sp-hidden"),this.volumeButtonElement.querySelector(".sp-unmute-icon").classList.remove("sp-hidden")}setVolume(t){let e=70*t/100;this.volumeProgressElement.style.transform="translateX(".concat(e,"px)"),this.stormPlayer.dispatchEvent("volumeSet",{ref:this.stormPlayer,volume:t})}updateVolume(t){let e=70*t/100;this.volumeProgressElement.style.transform="translateX(".concat(e,"px)")}resetHideTimeout(){this.hideTimeout&&clearTimeout(this.hideTimeout);let t=this;this.hideTimeout=setTimeout((function(){t.volumeButtonElement.classList.remove("sp-active"),t.volumeControlWrapperElement.classList.add("sp-hidden")}),1e3*this.hideTimeoutSeconds)}draw(){super.draw(),this.volumeButtonElement=document.createElement("button"),this.volumeButtonElement.setAttribute("type","button"),this.volumeButtonElement.className="sp-volume__button",this.volumeButtonElement.innerHTML='\n            <svg class="sp-mute-icon" xmlns="http://www.w3.org/2000/svg" width="28" height="21" viewBox="0 0 28 21">\n                <g transform="translate(0 0)">\n                    <path d="M22.486,20.649l-.161-.157a1.183,1.183,0,0,1-.072-1.622,12.59,12.59,0,0,0-.216-16.715A1.182,1.182,0,0,1,22.086.511l.16-.157a1.2,1.2,0,0,1,.9-.353,1.235,1.235,0,0,1,.881.4,15.171,15.171,0,0,1,.257,20.171A1.237,1.237,0,0,1,23.4,21h-.051A1.236,1.236,0,0,1,22.486,20.649Zm-11.419-.916-6.45-5.259H1.18A1.171,1.171,0,0,1,0,13.313V8.688A1.17,1.17,0,0,1,1.18,7.527H4.616l6.45-5.26a1.2,1.2,0,0,1,1.255-.157A1.162,1.162,0,0,1,13,3.162V18.839a1.158,1.158,0,0,1-.679,1.05,1.193,1.193,0,0,1-1.255-.157Zm7.2-3.217-.165-.161a1.182,1.182,0,0,1-.118-1.564,6.863,6.863,0,0,0-.189-8.554,1.182,1.182,0,0,1,.085-1.606l.164-.16a1.212,1.212,0,0,1,.928-.35,1.234,1.234,0,0,1,.888.439,9.455,9.455,0,0,1,.256,11.825,1.233,1.233,0,0,1-.895.479c-.03,0-.059,0-.088,0A1.239,1.239,0,0,1,18.266,16.516Z" fill="#fff"/>\n                </g>\n            </svg>\n            <svg class="sp-unmute-icon sp-hidden" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 -2 28 21" xml:space="preserve">\n                <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n                    <g id="PLAYER-@go-back" transform="translate(-255.000000, -966.000000)" fill="#FFFFFF">\n                        <g id="Group-4" transform="translate(255.000000, 966.000000)">\n                            <polygon id="Fill-1" points="24.364 5 22.066 7.298 19.768 5 18 6.768 20.298 9.065 18 11.364 19.768 13.132 22.066 10.834 24.364 13.132 26.132 11.364 23.834 9.065 26.132 6.768"></polygon>\n                            <g id="VOLUME-CONTROLLER" fill-rule="nonzero">\n                                <path d="M12.3213457,17.8895415 C12.1613173,17.9640048 11.9898384,18 11.8194767,18 C11.5496906,18 11.2824181,17.9087756 11.0665335,17.7326465 L4.61568703,12.4735047 L1.17996477,12.4735047 C0.528400791,12.4740542 0,11.9539102 0,11.3128665 L0,6.68762428 C0,6.04630572 0.528400791,5.52643653 1.17996477,5.52643653 L4.61596631,5.52643653 L11.0668128,0.267294644 C11.4192661,-0.020117185 11.9080089,-0.0813914086 12.321625,0.110949204 C12.735241,0.301915954 13,0.711326686 13,1.16140372 L12.9997207,16.839087 C12.9997207,17.2894388 12.735241,17.6985748 12.3213457,17.8895415 Z" id="volume-icon"></path>\n                            </g>\n                        </g>\n                    </g>\n                </g>\n            </svg>',this.htmlElement.append(this.volumeButtonElement),this.volumeControlWrapperElement=document.createElement("div"),this.volumeControlWrapperElement.className="sp-volume__wrapper sp-hidden",this.htmlElement.append(this.volumeControlWrapperElement),this.volumeInputElement=document.createElement("input"),this.volumeInputElement.className="sp-volume__input",this.volumeInputElement.setAttribute("value","1"),this.volumeInputElement.setAttribute("data-mute","0.5"),this.volumeInputElement.setAttribute("type","range"),this.volumeInputElement.setAttribute("max","1"),this.volumeInputElement.setAttribute("min","0"),this.volumeInputElement.setAttribute("step","0.01"),this.volumeControlWrapperElement.append(this.volumeInputElement),this.volumeProgressWrapperElement=document.createElement("div"),this.volumeProgressWrapperElement.className="sp-volume__progress",this.volumeControlWrapperElement.append(this.volumeProgressWrapperElement),this.volumeProgressElement=document.createElement("div"),this.volumeProgressElement.className="sp-volume__thumb",this.volumeProgressElement.style.transform="translateX(24px)",this.volumeProgressWrapperElement.appendChild(this.volumeProgressElement)}attachListeners(){let t=this;this.draw(),this.stormPlayer.isTouchDevice()||(this.htmlElement.addEventListener("mousemove",(()=>{this.stormPlayer.getLibrary().isMute()||(this.volumeControlWrapperElement.classList.remove("sp-hidden"),this.resetHideTimeout())})),this.volumeInputElement.addEventListener("mousemove",(()=>{this.resetHideTimeout()})),this.stormPlayer.addEventListener("muteClick",(()=>{this.volumeButtonElement.classList.remove("sp-active"),this.volumeControlWrapperElement.classList.add("sp-hidden")})),this.stormPlayer.addEventListener("unmuteClick",(function(){}))),this.stormPlayer.addEventListener("guiHide",(()=>{this.volumeButtonElement.classList.remove("sp-active"),this.volumeControlWrapperElement.classList.add("sp-hidden")})),this.volumeInputElement.addEventListener("input",(function(){t.setVolume(100*parseFloat(this.value)),t.resetHideTimeout()})),this.volumeButtonElement.addEventListener("click",(()=>{this.volumeButtonElement.querySelector(".sp-mute-icon").classList.contains("sp-hidden")?this.stormPlayer.dispatchEvent("unmuteClick",{ref:this.stormPlayer}):this.stormPlayer.dispatchEvent("muteClick",{ref:this.stormPlayer})})),this.stormPlayer.addEventListener("libraryInitialize",(function(){t.stormPlayer.getLibrary().addEventListener("volumeChange",(function(e){t.updateVolume(e.volume),e.muted?t.showUnMute():t.showMute()}));try{t.setVolume(t.stormPlayer.getLibrary().getVolume())}catch(t){}})),this.stormPlayer.addEventListener("volumeChange",(function(e){t.updateVolume(e.volume),e.muted?t.showUnMute():t.showMute()}))}}class Sn{constructor(t,e){this.stormPlayer=t,this.source=e,this.draw(),this.attachEventListener()}draw(){this.html=document.createElement("li"),this.html.setAttribute("data-label",this.source.label),this.html.classList.add("sp-menu__list-item"),this.html.innerHTML="<span>".concat(this.source.label,"</span>"),this.checkIfSelected()}checkIfSelected(){this.source.isSelected?this.html.classList.add("sp-menu__list-item__active"):this.html.classList.remove("sp-menu__list-item__active")}getHTMLElement(){return this.html}attachEventListener(){this.html.addEventListener("click",(()=>{this.stormPlayer.dispatchEvent("qualityChange",{ref:this.stormPlayer,qualityId:this.source.id})})),this.stormPlayer.addEventListener("qualityChange",(()=>{this.checkIfSelected()}))}}class Cn extends s{constructor(t){super(t,"sp-menu sp-menu__quality sp-menu--hidden")}setCurrentItem(){}refreshList(){if(!this.spMenuBoxElement)return;this.spMenuBoxElement.getHtmlElement().querySelector("ul").innerHTML="";const t=this.stormPlayer.getLibrary().getQualityItemList(),e=t=>parseInt(t.replace("p",""),10);t.sort(((t,i)=>{const n=t.label,r=i.label,s=n?e(n):0;return(r?e(r):0)-s}));for(let e=0;e<t.length;e++)if(null!=t[e].label){const i=new Sn(this.stormPlayer,t[e]);this.spMenuBoxElement.getHtmlElement().querySelector("ul").appendChild(i.getHTMLElement())}this.setCurrentItem()}draw(){super.draw(),this.spMenuBoxElement=new s(this.stormPlayer,"sp-menu__box"),this.htmlElement.appendChild(this.spMenuBoxElement.getHtmlElement()),this.spMenuBoxElement.getHtmlElement().innerHTML='<ul class="sp-menu__list"></ul>'}attachListeners(){this.stormPlayer.addEventListener("streamConfigUpdate",(()=>{this.refreshList()})),this.stormPlayer.addEventListener("libraryInitialize",(()=>{this.stormPlayer.getLibrary().isInitialized()&&this.refreshList(),this.stormPlayer.getLibrary().addEventListener("playerReady",(()=>{this.refreshList()})),this.stormPlayer.getLibrary().addEventListener("streamSourceAdd",(()=>{this.refreshList()})),this.stormPlayer.getLibrary().addEventListener("playbackInitiate",(()=>{this.refreshList()})),this.stormPlayer.getLibrary().addEventListener("playbackStart",(()=>{this.refreshList()}))})),this.stormPlayer.addEventListener("qualitySwitchClick",(()=>{this.getHtmlElement().classList.toggle("sp-menu--hidden")})),this.stormPlayer.addEventListener("qualityChange",(()=>{setTimeout((()=>{this.refreshList()}),100)})),this.stormPlayer.addEventListener("sourceListUpdate",(()=>{this.refreshList()})),this.stormPlayer.addEventListener("guiHide",(()=>{this.getHtmlElement().classList.add("sp-menu--hidden")})),document.addEventListener("click",(t=>{t.target.classList.contains("sp-controls__button")||this.getHtmlElement().classList.add("sp-menu--hidden")}))}}class wn extends s{constructor(t){if(super(t,"sp-resolution sp-hidden"),this.stormPlayer.getRawPlayerConfig().demoMode){this.show();let t="Quality";try{t=this.stormPlayer.getLibrary().getQualityItemList().at(0).label}catch(t){}this.qualityButtonElement.innerHTML="<span>"+t+"</span>"}}refreshButton(){try{var t;if(!this.qualityButtonElement)return;const e=this.stormPlayer.getLibrary();if(!e)return void this.hide();const i=e.getQualityItemList();let n=null;if(i.length<=1)return void this.hide();n=i.at(0);const r=e.getCurrentSourceItem(),s=null==r?void 0:r.getStreamInfo(),a=null!==(t=null==s?void 0:s.getLabel())&&void 0!==t?t:n.label;this.qualityButtonElement.innerHTML="<span>".concat(a,"</span>"),this.show()}catch(t){console.log(t)}}draw(){super.draw(),this.qualityButtonElement=document.createElement("button"),this.qualityButtonElement.setAttribute("type","button"),this.qualityButtonElement.className="sp-controls__button",this.htmlElement.append(this.qualityButtonElement),this.qualityMenuElement=new Cn(this.stormPlayer),this.htmlElement.appendChild(this.qualityMenuElement.getHtmlElement()),this.refreshButton()}attachListeners(){let t=this;this.qualityButtonElement.addEventListener("click",(function(){t.stormPlayer.dispatchEvent("qualitySwitchClick",{ref:t.stormPlayer})})),this.stormPlayer.addEventListener("streamConfigUpdate",(function(){t.refreshButton()})),this.stormPlayer.addEventListener("libraryInitialize",(function(){t.stormPlayer.getLibrary().addEventListener("playerReady",(function(){t.refreshButton()})),t.stormPlayer.getLibrary().addEventListener("streamSourceAdd",(function(){t.refreshButton()})),t.stormPlayer.getLibrary().addEventListener("playbackInitiate",(function(){t.refreshButton()})),t.stormPlayer.getLibrary().addEventListener("playbackStart",(function(){t.refreshButton()}))})),this.stormPlayer.addEventListener("qualityChange",(function(e){setTimeout((function(){t.refreshButton()}),100)})),this.stormPlayer.addEventListener("sourceListUpdate",(()=>{this.refreshButton()}))}}class En extends s{constructor(t){super(t,"sp-controls__fullscreen","button"),r(this,"isFullScreenMode",!1)}draw(){super.draw(),this.htmlElement.innerHTML='\n          <svg class="fullscreen-icon" xmlns="http://www.w3.org/2000/svg" width="27" height="27" viewBox="0 0 27 27">\n            <g fill="none" fill-rule="evenodd">\n              <g fill="#FFF" fill-rule="nonzero">\n                <path\n                  d="M1.5 17c.828 0 1.5.672 1.5 1.5v5h5c.828 0 1.5.672 1.5 1.5s-.672 1.5-1.5 1.5H1.5C.672 26.5 0 25.828 0 25v-6.5c0-.828.672-1.5 1.5-1.5zM25 17c.828 0 1.5.672 1.5 1.5V25c0 .828-.672 1.5-1.5 1.5h-6.5c-.828 0-1.5-.672-1.5-1.5s.672-1.5 1.5-1.5h5v-5c0-.828.672-1.5 1.5-1.5zM8 0c.828 0 1.5.672 1.5 1.5S8.828 3 8 3H3v5c0 .828-.672 1.5-1.5 1.5S0 8.828 0 8V1.5C0 .672.672 0 1.5 0zm17 0c.828 0 1.5.672 1.5 1.5V8c0 .828-.672 1.5-1.5 1.5s-1.5-.672-1.5-1.5V3h-5c-.828 0-1.5-.672-1.5-1.5S17.672 0 18.5 0H25z"\n                  transform="translate(-1358 -956) translate(1358 956)" />\n              </g>\n            </g>\n          </svg>\n          \n          <svg class="close-fullscreen-icon" xmlns="http://www.w3.org/2000/svg" width="27" height="27" viewBox="0 0 27 27">\n          <path d="M17.321,25.471V18.849a1.528,1.528,0,0,1,1.528-1.528h6.622a1.528,1.528,0,1,1,0,3.056H20.377v5.094a1.528,1.528,0,1,1-3.056,0Zm-10.7,0V20.377H1.529a1.528,1.528,0,1,1,0-3.056H8.151A1.528,1.528,0,0,1,9.68,18.849v6.622a1.528,1.528,0,1,1-3.056,0ZM18.849,9.68a1.528,1.528,0,0,1-1.528-1.528V1.529a1.528,1.528,0,1,1,3.056,0V6.623h5.094a1.528,1.528,0,1,1,0,3.056Zm-17.32,0a1.528,1.528,0,1,1,0-3.056H6.623V1.529a1.528,1.528,0,1,1,3.056,0V8.151A1.528,1.528,0,0,1,8.151,9.68Z" fill="#fff"/>\n          </svg>'}attachListeners(){let t=this;this.htmlElement.addEventListener("click",(function(e){let i=!t.isFullScreenMode;t.isMobile()||(i=!1===document.webkitIsFullScreen||!1===document.mozFullScreen||!1===document.msFullscreenElement),t.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&!t.stormPlayer.getPlayerConfigManager().getIfDemoMode()?"INITIALIZED"==t.stormPlayer.getLibrary().getPlaybackState()?(t.stormPlayer.getLibrary().togglePlay(),t.dynFunction=function(){t.stormPlayer.dispatchEvent("fullscreenEnter",{ref:t.stormPlayer}),t.stormPlayer.removeEventListener("playbackStart",t.dynFunction)},t.stormPlayer.addEventListener("playbackStart",t.dynFunction),t.isFullScreenMode=!0):0==t.isFullScreenMode?(t.isFullScreenMode=!0,t.stormPlayer.dispatchEvent("fullscreenEnter",{ref:t.stormPlayer})):(t.isFullScreenMode=!1,t.stormPlayer.dispatchEvent("fullscreenExit",{ref:t.stormPlayer})):i?("INITIALIZED"!=t.stormPlayer.getLibrary().getPlaybackState()||t.stormPlayer.getPlayerConfigManager().getIfDemoMode()||t.stormPlayer.getLibrary().togglePlay(),t.isFullScreenMode=!0,t.stormPlayer.dispatchEvent("fullscreenEnter",{ref:t.stormPlayer})):(t.isFullScreenMode=!1,t.stormPlayer.dispatchEvent("fullscreenExit",{ref:t.stormPlayer}))})),this.stormPlayer.addEventListener("fullscreenEnter",(function(){t.htmlElement.classList.add("sp-active")})),this.stormPlayer.addEventListener("fullscreenExit",(function(){t.htmlElement.classList.remove("sp-active")}))}isMobile(){let t=!1;var e;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(t=!0),t}}class Tn extends s{constructor(t){super(t,"sp-controls__bottom")}draw(){super.draw(),this.leftWrapper=new s(this.stormPlayer,"sp-controls__left"),this.htmlElement.appendChild(this.leftWrapper.getHtmlElement()),this.rightWrapper=new s(this.stormPlayer,"sp-controls__right"),this.htmlElement.appendChild(this.rightWrapper.getHtmlElement()),this.playElement=new vn(this.stormPlayer),this.leftWrapper.getHtmlElement().appendChild(this.playElement.getHtmlElement()),this.volumeElement=new bn(this.stormPlayer),this.leftWrapper.getHtmlElement().appendChild(this.volumeElement.getHtmlElement()),this.qualityElement=new wn(this.stormPlayer),this.leftWrapper.getHtmlElement().appendChild(this.qualityElement.getHtmlElement()),this.fullscreenElement=new En(this.stormPlayer),this.rightWrapper.getHtmlElement().appendChild(this.fullscreenElement.getHtmlElement())}}class Pn extends s{constructor(t){super(t,"sp-controls")}show(){this.htmlElement.classList.remove("sp-controls--hidden")}hide(){this.htmlElement.classList.add("sp-controls--hidden")}draw(){super.draw(),this.shadowElement=new s(this.stormPlayer,"sp-controls__shadow"),this.htmlElement.appendChild(this.shadowElement.getHtmlElement()),this.progressbarElement=new yn(this.stormPlayer),this.htmlElement.appendChild(this.progressbarElement.getHtmlElement()),this.controlButtonsElement=new Tn(this.stormPlayer),this.htmlElement.appendChild(this.controlButtonsElement.getHtmlElement()),this.stormPlayer.addEventListener("guiShow",(()=>{this.show()})),this.stormPlayer.addEventListener("guiHide",(()=>{this.hide()})),this.stormPlayer.addEventListener("fullscreenEnter",(()=>{mn.isMobile()&&this.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&!this.stormPlayer.getPlayerConfigManager().getIfDemoMode()&&(this.htmlElement.style.display="none")})),this.stormPlayer.addEventListener("fullscreenExit",(()=>{mn.isMobile()&&this.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&!this.stormPlayer.getPlayerConfigManager().getIfDemoMode()&&(this.htmlElement.style.display="block")}))}getProgresBar(){return this.progressbarElement}}class Ln extends s{constructor(t){super(t,"sp-unmute sp-unmute__after-header")}draw(){super.draw(),this.subDraw(),this.hide()}subDraw(){this.htmlElement.innerHTML='\n            <svg width="23" height="18" class="sp-unmute-icon" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="10px" y="10px" viewBox="0 -2 28 21" xml:space="preserve">\n                <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n                    <g id="PLAYER-@go-back" transform="translate(-255.000000, -966.000000)" fill="#000">\n                        <g id="Group-4" transform="translate(255.000000, 966.000000)">\n                            <polygon id="Fill-1" points="24.364 5 22.066 7.298 19.768 5 18 6.768 20.298 9.065 18 11.364 19.768 13.132 22.066 10.834 24.364 13.132 26.132 11.364 23.834 9.065 26.132 6.768"></polygon>\n                            <g id="VOLUME-CONTROLLER" fill-rule="nonzero">\n                                <path d="M12.3213457,17.8895415 C12.1613173,17.9640048 11.9898384,18 11.8194767,18 C11.5496906,18 11.2824181,17.9087756 11.0665335,17.7326465 L4.61568703,12.4735047 L1.17996477,12.4735047 C0.528400791,12.4740542 0,11.9539102 0,11.3128665 L0,6.68762428 C0,6.04630572 0.528400791,5.52643653 1.17996477,5.52643653 L4.61596631,5.52643653 L11.0668128,0.267294644 C11.4192661,-0.020117185 11.9080089,-0.0813914086 12.321625,0.110949204 C12.735241,0.301915954 13,0.711326686 13,1.16140372 L12.9997207,16.839087 C12.9997207,17.2894388 12.735241,17.6985748 12.3213457,17.8895415 Z" id="volume-icon"></path>\n                            </g>\n                        </g>\n                    </g>\n                </g>\n            </svg>\n            '.concat(this.stormPlayer.getPlayerConfigManager().getUnmuteText())}checkIfVisible(){this.stormPlayer.getWidth()>=700?(this.getHtmlElement().classList.remove("tiny"),this.getHtmlElement().classList.remove("narrow")):this.stormPlayer.getWidth()<700&&this.stormPlayer.getHeight()>=500?(this.getHtmlElement().classList.remove("tiny"),this.getHtmlElement().classList.add("narrow")):this.stormPlayer.getWidth()<500&&(this.getHtmlElement().classList.add("tiny"),this.getHtmlElement().classList.remove("narrow"))}attachListeners(){const t=this;this.stormPlayer.addEventListener("playerConfigUpdate",(()=>{this.subDraw()})),this.stormPlayer.addEventListener("resize",(e=>{t.checkIfVisible()})),this.stormPlayer.addEventListener("titleUpdate",(t=>{this.getHtmlElement().style.top=String(t.newHeight+25)+"px"})),this.stormPlayer.addEventListener("subtitleUpdate",(t=>{this.getHtmlElement().style.top=String(t.newHeight+25)+"px"})),this.stormPlayer.addEventListener("guiShow",(()=>{(this.stormPlayer.getPlayerConfigManager().getTitle()||this.stormPlayer.getPlayerConfigManager().getSubtitle())&&this.getHtmlElement().classList.add("sp-unmute__after-header")})),this.stormPlayer.addEventListener("guiHide",(()=>{this.getHtmlElement().classList.remove("sp-unmute__after-header")})),this.htmlElement.addEventListener("click",(()=>{this.stormPlayer.dispatchEvent("unmuteClick",{ref:this.stormPlayer})})),this.stormPlayer.addEventListener("volumeChange",(e=>{e.muted&&"browser"==e.invokedBy?t.show():t.hide()})),this.stormPlayer.addEventListener("streamStateChange",(t=>{"PUBLISHED"==t.state&&this.stormPlayer.getLibrary().isMute()&&this.show()})),this.stormPlayer.addEventListener("libraryInitialize",(()=>{t.checkIfVisible(),this.stormPlayer.getLibrary().addEventListener("volumeChange",(e=>{e.muted&&"browser"==e.invokedBy?t.show():t.hide()}))})),this.stormPlayer.addEventListener("titleUpdate",(()=>{this.stormPlayer.getPlayerConfigManager().getTitle()&&""!=this.stormPlayer.getPlayerConfigManager().getTitle()||this.stormPlayer.getPlayerConfigManager().getSubtitle()&&""!=this.stormPlayer.getPlayerConfigManager().getSubtitle()?this.getHtmlElement().classList.add("sp-unmute__after-header"):this.getHtmlElement().classList.remove("sp-unmute__after-header")})),this.stormPlayer.addEventListener("subtitleUpdate",(()=>{this.stormPlayer.getPlayerConfigManager().getTitle()&&""!=this.stormPlayer.getPlayerConfigManager().getTitle()||this.stormPlayer.getPlayerConfigManager().getSubtitle()&&""!=this.stormPlayer.getPlayerConfigManager().getSubtitle()?this.getHtmlElement().classList.add("sp-unmute__after-header"):this.getHtmlElement().classList.remove("sp-unmute__after-header")}))}}class kn extends s{constructor(t){super(t,"sp-context-menu hidden","ul"),r(this,"isFullScreen",!1),r(this,"isStormCloud",!1)}draw(){super.draw();let t="Storm Streaming Server";try{const e=this.stormPlayer.getRawStreamConfig().stream.serverList[0].host;null!=e&&e.indexOf("stormstreaming.com")>=0&&(this.isStormCloud=!0,t="Storm Streaming Cloud")}catch(t){}this.htmlElement.innerHTML='\n         <li class="sp-context-menu__statistics storm">'+t+'</li>\n         <li class="sp-context-menu__statistics debuglog">Copy Player Log</li>\n         <li class="sp-context-menu__statistics statistics">Statistics</li>\n        '}showContextMenu(t){if(this.isFullScreen){const e=this.stormPlayer.getMainElement().getPlayerElement().querySelector("video").getBoundingClientRect();this.stormPlayer.getMainElement().getPlayerElement().querySelector("video").offsetHeight>=this.htmlElement.offsetHeight+t.clientY-e.top?this.htmlElement.style.top=(t.clientY-e.top).toString()+"px":this.htmlElement.style.top=(t.clientY-e.top-this.htmlElement.offsetHeight).toString()+"px",this.stormPlayer.getMainElement().getPlayerElement().querySelector("video").offsetWidth>=this.htmlElement.offsetWidth+t.clientX?this.htmlElement.style.left=(t.clientX-e.left+1).toString()+"px":this.htmlElement.style.left=(t.clientX-e.left-this.htmlElement.offsetWidth-1).toString()+"px"}else{const e=this.stormPlayer.getMainElement().getPlayerElement().getBoundingClientRect();this.stormPlayer.getMainElement().getPlayerElement().offsetHeight>=this.htmlElement.offsetHeight+t.clientY-e.top?this.htmlElement.style.top=(t.clientY-e.top).toString()+"px":this.htmlElement.style.top=(t.clientY-e.top-this.htmlElement.offsetHeight).toString()+"px",this.stormPlayer.getMainElement().getPlayerElement().offsetWidth>=this.htmlElement.offsetWidth+t.clientX?this.htmlElement.style.left=(t.clientX-e.left+1).toString()+"px":this.htmlElement.style.left=(t.clientX-e.left-this.htmlElement.offsetWidth-1).toString()+"px"}this.htmlElement.classList.remove("hidden"),this.stormPlayer.getMainElement().isOpenMenu=!this.stormPlayer.getMainElement().isOpenMenu}hideContextMenu(){this.htmlElement&&this.htmlElement.classList.add("hidden")}attachListeners(){this.htmlElement.querySelector(".storm").addEventListener("click",(()=>{this.onLinkClick(),this.stormPlayer.dispatchEvent("contextMenuHid",{ref:this.stormPlayer})})),this.htmlElement.querySelector(".debuglog").addEventListener("click",(()=>{this.stormPlayer.dispatchEvent("contextMenuHid",{ref:this.stormPlayer}),this.copyArrayToClipboard(this.stormPlayer.getLibrary().getLogger().getAllLogs())})),this.htmlElement.querySelector(".statistics").addEventListener("click",(()=>{this.stormPlayer.dispatchEvent("contextMenuHid",{ref:this.stormPlayer}),this.stormPlayer.dispatchEvent("boxStatShown",{ref:this.stormPlayer})})),this.stormPlayer.addEventListener("contextMenuShown",(t=>{this.showContextMenu(t.e)})),this.stormPlayer.addEventListener("contextMenuHid",(()=>{this.hideContextMenu()})),this.stormPlayer.addEventListener("fullscreenEnter",(()=>{this.isFullScreen=!0})),this.stormPlayer.addEventListener("fullscreenExit",(()=>{this.isFullScreen=!1}))}onLinkClick(){try{const t=this.stormPlayer.getRawStreamConfig().stream.serverList[0].host;null!=t&&(t.indexOf("stormstreaming.com")>=0?window.open("https://www.stormstreaming.com/live-streaming-cloud","_blank"):window.open("https://www.stormstreaming.com/live-streaming-server","_blank"))}catch(t){}}async copyArrayToClipboard(t){const e=t.join("\n");try{await navigator.clipboard.writeText(e)}catch(t){console.log(e)}}}class xn extends s{constructor(t){super(t,"sp-watermark")}draw(){super.draw(),this.subDraw()}subDraw(){const t=this.stormPlayer.getMainElement().getControlElement().getProgresBar().getIfVisible()?65:48;if(null!=this.stormPlayer.getPlayerConfigManager().getWatermarkURL()){if("bottom_left"===this.stormPlayer.getPlayerConfigManager().getWatermarkPosition().toLowerCase())this.htmlElement.style.left="20px",this.htmlElement.style.removeProperty("right");else this.htmlElement.style.removeProperty("left"),this.htmlElement.style.right="20px";this.htmlElement.style.bottom=t+"px",this.htmlElement.innerHTML='<img width="auto" src=\''.concat(this.stormPlayer.getPlayerConfigManager().getWatermarkURL(),'\' alt="watermark logo">')}else this.htmlElement.innerHTML=""}attachListeners(){this.stormPlayer.addEventListener("playerConfigUpdate",(()=>{this.subDraw()})),this.stormPlayer.addEventListener("resize",(t=>{t.newWidth>=700?(this.htmlElement.classList.remove("tiny"),this.htmlElement.classList.remove("tiny"),this.htmlElement.classList.remove("narrow"),this.htmlElement.classList.remove("narrow")):t.newWidth<700&&t.newWidth>=500?(this.htmlElement.classList.remove("tiny"),this.htmlElement.classList.remove("tiny"),this.htmlElement.classList.add("narrow"),this.htmlElement.classList.add("narrow")):t.newWidth<500&&(this.htmlElement.classList.add("tiny"),this.htmlElement.classList.remove("narrow"),this.htmlElement.classList.add("tiny"),this.htmlElement.classList.remove("narrow"))})),this.stormPlayer.addEventListener("guiShow",(()=>{this.htmlElement.classList.remove("low-position")})),this.stormPlayer.addEventListener("guiHide",(()=>{this.htmlElement.classList.add("low-position")})),this.stormPlayer.addEventListener("fullscreenEnter",(()=>{this.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&(this.htmlElement.style.display="none")})),this.stormPlayer.addEventListener("fullscreenExit",(()=>{this.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&(this.htmlElement.style.display="block")}))}}var Mn="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function In(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Rn=NaN,Nn="[object Symbol]",Dn=/^\s+|\s+$/g,On=/^[-+]0x[0-9a-f]+$/i,An=/^0b[01]+$/i,Bn=/^0o[0-7]+$/i,Un=parseInt,Fn="object"==typeof Mn&&Mn&&Mn.Object===Object&&Mn,Wn="object"==typeof self&&self&&self.Object===Object&&self,Vn=Fn||Wn||Function("return this")(),Hn=Object.prototype.toString,qn=Math.max,zn=Math.min,Gn=function(){return Vn.Date.now()};function Kn(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Zn(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&Hn.call(t)==Nn}(t))return Rn;if(Kn(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Kn(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Dn,"");var i=An.test(t);return i||Bn.test(t)?Un(t.slice(2),i?2:8):On.test(t)?Rn:+t}var _n,jn,Yn,Qn,Jn,Xn,$n,tr=function(t,e,i){var n,r,s,a,o,l,h=0,u=!1,d=!1,c=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function m(e){var i=n,s=r;return n=r=void 0,h=e,a=t.apply(s,i)}function g(t){var i=t-l;return void 0===l||i>=e||i<0||d&&t-h>=s}function p(){var t=Gn();if(g(t))return f(t);o=setTimeout(p,function(t){var i=e-(t-l);return d?zn(i,s-(t-h)):i}(t))}function f(t){return o=void 0,c&&n?m(t):(n=r=void 0,a)}function y(){var t=Gn(),i=g(t);if(n=arguments,r=this,l=t,i){if(void 0===o)return function(t){return h=t,o=setTimeout(p,e),u?m(t):a}(l);if(d)return o=setTimeout(p,e),m(l)}return void 0===o&&(o=setTimeout(p,e)),a}return e=Zn(e)||0,Kn(i)&&(u=!!i.leading,s=(d="maxWait"in i)?qn(Zn(i.maxWait)||0,e):s,c="trailing"in i?!!i.trailing:c),y.cancel=function(){void 0!==o&&clearTimeout(o),h=0,n=l=r=o=void 0},y.flush=function(){return void 0===o?a:f(Gn())},y},er=In(tr);class ir extends s{constructor(t){super(t,"sp-poster")}show(){this.htmlElement.classList.remove("sp-poster--hidden")}hide(){this.htmlElement.classList.add("sp-poster--hidden")}draw(){super.draw(),this.subDraw()}subDraw(){var t,e;let i=null!==(t=null===(e=this.stormPlayer.getLibrary())||void 0===e||null===(e=e.getConfigManager())||void 0===e?void 0:e.getSettingsData().autoStart)&&void 0!==t&&t;if(null==this.stormPlayer.getPlayerConfigManager().getPosterURL()||""==this.stormPlayer.getPlayerConfigManager().getPosterURL()||i)this.htmlElement.innerHTML="";else{let t=this.stormPlayer.getWidth(),e=this.stormPlayer.getHeight();this.htmlElement.innerHTML="<img src='".concat(this.stormPlayer.getPlayerConfigManager().getPosterURL(),'\' alt="logo" width="').concat(t,'" height="').concat(e,'">')}}attachListeners(){this.stormPlayer.addEventListener("hidePoster",(t=>{t.autoStart&&this.hide()})),this.stormPlayer.addEventListener("streamStartNotification",(()=>{this.show()})),this.stormPlayer.addEventListener("playerConfigUpdate",(()=>{this.subDraw()})),this.stormPlayer.addEventListener("interactionRequired",(()=>{this.show()})),this.stormPlayer.addEventListener("playbackStart",(()=>{this.hide()})),this.stormPlayer.addEventListener("fullscreenEnter",(()=>{mn.isMobile()&&this.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&(null!=this.stormPlayer.getPlayerConfigManager().getPosterURL()?this.htmlElement.innerHTML="<img src='".concat(this.stormPlayer.getPlayerConfigManager().getPosterURL(),'\' alt="logo">'):this.htmlElement.innerHTML="",this.show())})),this.stormPlayer.addEventListener("fullscreenExit",(()=>{mn.isMobile()&&this.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&this.hide()}))}}class nr extends s{constructor(t){super(t,"sp-container__wrapper stormPlayer"),r(this,"aspectRatio","none"),r(this,"resolutionLock",!1),r(this,"isGUIHidden",!1),r(this,"isFullScreenOn",!1),r(this,"isTransitioning",!1),this.initialize()}initialize(){this.parentContainer=document.getElementById(this.stormPlayer.getPlayerConfigManager().getContainerID()),this.getHtmlElement().setAttribute("id",this.stormPlayer.getInstanceName()),this.aspectRatio=this.stormPlayer.getPlayerConfigManager().getAspectRatio(),this.hideGUITimeoutSeconds=this.stormPlayer.getPlayerConfigManager().getGuiHideSeconds(),this.hideGUIEnabled=this.stormPlayer.getPlayerConfigManager().getIfAutoGUIHide(),this.widthOrigValue=this.stormPlayer.getPlayerConfigManager().getWidth(),this.heightOrigValue=this.stormPlayer.getPlayerConfigManager().getHeight(),this.resizeObserver=new ResizeObserver(er((()=>{this.isTransitioning||this.setSize(this.widthOrigValue,this.heightOrigValue)}),100)),this.stormPlayer.addEventListener("authorizationComplete",(()=>{this.spContainer.show(),this.loaderElement.hide()})),this.stormPlayer.addEventListener("authorizationError",(()=>{this.spContainer.show(),this.loaderElement.hide()})),this.stormPlayer.addEventListener("serverConnectionError",(()=>{this.spContainer.show(),this.loaderElement.hide()})),this.stormPlayer.addEventListener("streamNotFound",(()=>{this.spContainer.show(),this.loaderElement.hide()})),this.stormPlayer.addEventListener("streamStateChange",(()=>{this.spContainer.show(),this.loaderElement.hide()})),this.stormPlayer.addEventListener("streamStop",(()=>{this.spContainer.show(),this.loaderElement.hide()}))}setObserver(){this.resizeObserver.observe(this.parentContainer),this.resizeObserver.observe(document.body)}setSize(t,e){var i,n;this.htmlElement.style.display="none";let r=null===(i=this.parentContainer)||void 0===i?void 0:i.getBoundingClientRect().width,s=null===(n=this.parentContainer)||void 0===n?void 0:n.getBoundingClientRect().height;this.htmlElement.style.display="block";let a=0,o=0,l=!0,h=!0,u=640,d=360;if(void 0===t)a=100,h=!1;else if("number"==typeof t)a=t,l=!0;else{if("string"!=typeof t)throw new Error('Unknown value for parameter "width" - it must be a number or a string, '+typeof t+" provided!");t.toLowerCase().endsWith("px")?(a=parseInt(t),l=!0):t.toLowerCase().endsWith("%")&&(a=parseInt(t),l=!1)}if(void 0===e)o=100,h=!1;else if("number"==typeof e)o=e,h=!0;else{if("string"!=typeof e)throw new Error('Unknown value for parameter "height" - it must be a number or a string, '+typeof t+" provided!");e.toLowerCase().endsWith("px")?(o=parseInt(e),h=!0):e.toLowerCase().endsWith("%")&&(o=parseInt(e),h=!1)}if("none"==this.aspectRatio)l?u=a:null!=this.parentContainer&&(u=r*a/100),h?d=o:null!=this.parentContainer&&(d=s*o/100);else{let t=Number(this.aspectRatio.split(":")[0]),e=Number(this.aspectRatio.split(":")[1]);l?u=a:null!=this.parentContainer&&(u=r*a/100),d=u*e/t}if(this.widthOrigValue=t,this.heightOrigValue=e,this.resolutionLock)return this.copyPlayerWidth=u,void(this.copyPlayerHeight=d);this.calculateSize(u,d)}setWidth(t){this.setSize(t,this.heightOrigValue)}setHeight(t){this.setSize(this.widthOrigValue,t)}calculateSize(t,e){this.htmlElement.style.maxWidth=t+"px",this.spContainer.getHtmlElement().style.height=e+"px",this.loaderElement.getHtmlElement().style.height=e+"px",this.playerWidth=t,this.playerHeight=e,this.stormPlayer.waitingRoom||null!=this.stormPlayer.getLibrary()&&this.stormPlayer.getLibrary().isInitialized()&&this.stormPlayer.getLibrary().setSize(t,e),this.stormPlayer.dispatchEvent("resize",{ref:this.stormPlayer,newWidth:t,newHeight:e})}getWidth(){return this.playerWidth}getHeight(){return this.playerHeight}getHeaderElement(){return this.headerElement}createWaitingRoom(){this.waitingRoom=new on(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.waitingRoom.getHtmlElement())}createPlayer(){const t=this.htmlElement.querySelector(".sp-waiting-room");this.stormPlayer.waitingRoom=!1,t&&t.remove(),this.videoElement=new hn(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.videoElement.getHtmlElement()),this.posterElement=new ir(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.posterElement.getHtmlElement()),this.stormPlayer.getRawPlayerConfig().demoMode||(this.errorElement=new dn(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.errorElement.getHtmlElement())),this.playbackElement=new cn(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.playbackElement.getHtmlElement()),this.headerElement=new gn(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.headerElement.getHtmlElement()),this.unmuteElement=new Ln(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.unmuteElement.getHtmlElement()),this.controlElement=new Pn(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.controlElement.getHtmlElement()),this.statBox=new ln(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.statBox.getHtmlElement()),this.watermark=new xn(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.watermark.getHtmlElement())}draw(){super.draw(),this.stormPlayer.setMainElement(this),this.spContainer=new s(this.stormPlayer,"sp-container"),this.htmlElement.appendChild(this.spContainer.getHtmlElement()),this.loaderElement=new un(this.stormPlayer),this.htmlElement.appendChild(this.loaderElement.getHtmlElement()),this.loaderElement.show(),this.spContainer.hide(),this.contextMenu=new kn(this.stormPlayer),this.spContainer.getHtmlElement().appendChild(this.contextMenu.getHtmlElement()),this.stormPlayer.waitingRoom?this.createWaitingRoom():this.createPlayer()}attachListeners(){const t=this,e=this.spContainer.getHtmlElement();this.stormPlayer.addEventListener("playerConfigUpdate",(function(){t.aspectRatio=t.stormPlayer.getPlayerConfigManager().getAspectRatio(),t.hideGUITimeoutSeconds=t.stormPlayer.getPlayerConfigManager().getGuiHideSeconds(),t.hideGUIEnabled=t.stormPlayer.getPlayerConfigManager().getIfAutoGUIHide(),clearTimeout(t.hideGUITimeout),t.stormPlayer.dispatchEvent("guiShow",{ref:t.stormPlayer}),t.stormPlayer.getPlayerConfigManager().getIfAutoGUIHide()&&0==t.stormPlayer.getRawPlayerConfig().demoMode?t.hideGUITimeout=setTimeout((function(){t.isGUIHidden=!0,t.stormPlayer.dispatchEvent("guiHide",{ref:t.stormPlayer})}),1e3*t.hideGUITimeoutSeconds):(clearTimeout(t.hideGUITimeout),t.isGUIHidden=!1,t.stormPlayer.dispatchEvent("guiShow",{ref:t.stormPlayer}))})),this.stormPlayer.getPlayerConfigManager().getIfAutoGUIHide()&&(this.stormPlayer.addEventListener("libraryInitialize",(function(){t.stormPlayer.getLibrary().addEventListener("playbackStart",(function(){!t.hideGUITimeout&&t.hideGUIEnabled&&(t.hideGUITimeout=setTimeout((function(){null!=t.stormPlayer.getLibrary()&&t.stormPlayer.getLibrary().isPlaying()&&(t.isGUIHidden=!0,t.stormPlayer.dispatchEvent("guiHide",{ref:t.stormPlayer}))}),1e3*t.hideGUITimeoutSeconds))}))})),mn.isMobile()?(this.htmlElement.addEventListener("touchstart",(function(){t.hideGUITimeout&&clearTimeout(t.hideGUITimeout),1==t.isGUIHidden&&t.stormPlayer.dispatchEvent("guiShow",{ref:t.stormPlayer}),t.isGUIHidden=!1,t.hideGUITimeout=setTimeout((function(){null!=t.stormPlayer.getLibrary()&&t.stormPlayer.getLibrary().isPlaying()&&t.hideGUIEnabled&&(t.isGUIHidden=!0,t.stormPlayer.dispatchEvent("guiHide",{ref:t.stormPlayer}))}),1e3*t.hideGUITimeoutSeconds)})),this.htmlElement.addEventListener("touchmove",(function(){t.hideGUITimeout&&clearTimeout(t.hideGUITimeout),1==t.isGUIHidden&&t.stormPlayer.dispatchEvent("guiShow",{ref:t.stormPlayer}),t.isGUIHidden=!1,t.hideGUITimeout=setTimeout((function(){null!=t.stormPlayer.getLibrary()&&t.stormPlayer.getLibrary().isPlaying()&&(t.isGUIHidden=!0,t.stormPlayer.dispatchEvent("guiHide",{ref:t.stormPlayer}))}),1e3*t.hideGUITimeoutSeconds)}))):(this.htmlElement.addEventListener("mouseenter",(function(){t.hideGUITimeout&&clearTimeout(t.hideGUITimeout),t.hideGUIEnabled&&1==t.isGUIHidden&&(t.isGUIHidden=!1,t.stormPlayer.dispatchEvent("guiShow",{ref:t.stormPlayer}))})),this.htmlElement.addEventListener("mousemove",(function(){t.hideGUITimeout&&clearTimeout(t.hideGUITimeout),t.hideGUIEnabled&&(1==t.isGUIHidden&&(t.stormPlayer.dispatchEvent("guiShow",{ref:t.stormPlayer}),t.isGUIHidden=!1),t.hideGUITimeout=setTimeout((function(){null!=t.stormPlayer.getLibrary()&&t.stormPlayer.getLibrary().isPlaying()&&(t.isGUIHidden=!0,t.stormPlayer.dispatchEvent("guiHide",{ref:t.stormPlayer}))}),1e3*t.hideGUITimeoutSeconds))})),this.htmlElement.addEventListener("mouseleave",(function(){t.hideGUITimeout&&clearTimeout(t.hideGUITimeout),t.hideGUIEnabled&&(t.stormPlayer.waitingRoom||null!=t.stormPlayer.getLibrary()&&t.stormPlayer.getLibrary().isPlaying()&&(t.hideGUITimeout=setTimeout((function(){null!=t.stormPlayer.getLibrary()&&t.stormPlayer.getLibrary().isPlaying()&&(t.isGUIHidden=!0,t.stormPlayer.dispatchEvent("guiHide",{ref:t.stormPlayer}))}),1e3*t.hideGUITimeoutSeconds)))})))),window.addEventListener("click",(function(e){if(null!==e.target){const t=e.target;if(t.matches(".sp-context-menu")||t.matches(".sp-context-menu li"))return}t.stormPlayer.dispatchEvent("contextMenuHid",{ref:t.stormPlayer})})),window.addEventListener("contextmenu",(function(e){if(null!==e.target){const t=e.target;if(t.matches(".sp-context-menu")||t.matches(".sp-context-menu li"))return}e.target===t.htmlElement||t.htmlElement.contains(e.target)?(e.preventDefault(),t.stormPlayer.dispatchEvent("contextMenuShown",{ref:t.stormPlayer,e:e})):t.stormPlayer.dispatchEvent("contextMenuHid",{ref:t.stormPlayer})})),this.stormPlayer.addEventListener("guiShow",(function(){t.spContainer.getHtmlElement().classList.remove("sp-container__disablecursor")})),this.stormPlayer.addEventListener("guiHide",(function(){t.spContainer.getHtmlElement().classList.add("sp-container__disablecursor")})),this.stormPlayer.addEventListener("fullscreenEnter",(function(){if(t.isTransitioning=!0,t.resolutionLock=!0,t.isFullScreenOn=!0,t.copyPlayerWidth=t.playerWidth,t.copyPlayerHeight=t.playerHeight,e.classList.add("sp-fullscreen"),t.htmlElement.style.setProperty("--sp-border-radius","0px"),mn.isMobile()&&t.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&!t.stormPlayer.getPlayerConfigManager().getIfDemoMode())t.stormPlayer.getLibrary().enterFullScreen();else if(mn.isMobile())t.htmlElement.classList.add("fs-mode"),document.body.classList.add("fs-body-fix"),null!=t.fsInterval&&clearInterval(t.fsInterval),t.fsInterval=setInterval((function(){t.updateResolution()}),100),setTimeout((()=>{t.isTransitioning=!1,clearInterval(t.fsInterval)}),1e3);else try{const i=e;null!=t.fsInterval&&clearInterval(t.fsInterval),t.fsInterval=setInterval((function(){t.updateResolution()}),100),i.requestFullscreen?i.requestFullscreen():i.mozRequestFullScreen?i.mozRequestFullScreen():i.webkitRequestFullscreen?i.webkitRequestFullscreen():i.msRequestFullscreen&&i.msRequestFullscreen()}catch(t){console.log("error: "+t)}})),this.stormPlayer.addEventListener("fullscreenExit",(function(){var i;if(t.isTransitioning=!0,e.classList.remove("sp-fullscreen"),null!=(null===(i=t.stormPlayer.getRawPlayerConfig())||void 0===i||null===(i=i.style)||void 0===i?void 0:i.borderRadius)?t.htmlElement.style.setProperty("--sp-border-radius",t.stormPlayer.getRawPlayerConfig().style.borderRadius):t.htmlElement.style.removeProperty("--sp-border-radius"),mn.isMobile()&&t.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI())t.htmlElement.classList.remove("fs-mode"),document.body.classList.remove("fs-body-fix"),null!=t.fsInterval&&clearInterval(t.fsInterval);else if(mn.isMobile())t.htmlElement.classList.remove("fs-mode"),document.body.classList.remove("fs-body-fix"),null!=t.fsInterval&&clearInterval(t.fsInterval);else if(!mn.isMobile()){null!=t.fsInterval&&clearInterval(t.fsInterval);try{if(t.isFullScreenOn){const t=document;t.exitFullscreen?t.exitFullscreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.webkitExitFullscreen?t.webkitExitFullscreen():t.msExitFullscreen&&t.msExitFullscreen()}}catch(t){console.log("error: "+t)}}t.resolutionLock=!1,t.playerWidth=t.copyPlayerWidth,t.playerHeight=t.copyPlayerHeight,t.calculateSize(t.playerWidth,t.playerHeight),setTimeout((()=>{t.isTransitioning=!1,t.playerWidth=t.copyPlayerWidth,t.playerHeight=t.copyPlayerHeight,t.calculateSize(t.playerWidth,t.playerHeight)}),1500)})),document.addEventListener("fullscreenchange",(function(){!1!==document.webkitIsFullScreen&&!1!==document.mozFullScreen&&!1!==document.msFullscreenElement||(t.isFullScreenOn=!1,t.stormPlayer.dispatchEvent("fullscreenExit",{ref:t.stormPlayer}))}),!1),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&t.stormPlayer.getPlayerConfigManager().getIfAutoGUIHide()&&setTimeout((function(){t.isGUIHidden=!0,t.stormPlayer.dispatchEvent("guiHide",{ref:t.stormPlayer})}),1e3*t.hideGUITimeoutSeconds)}))}updateResolution(){this.playerWidth==window.innerWidth&&this.playerHeight==window.innerHeight||(this.calculateSize(window.innerWidth,window.innerHeight),this.stormPlayer.dispatchEvent("resize",{ref:this.stormPlayer,newWidth:window.innerWidth,newHeight:window.innerHeight}))}getIfFullScreenIsOn(){return this.isFullScreenOn}getPlayerElement(){return this.getHtmlElement()}getParentContainer(){return this.parentContainer}getControlElement(){return this.controlElement}}class rr{constructor(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:443,n=!(3<arguments.length&&void 0!==arguments[3])||arguments[3];this.host=t,this.application=e,this.port=i,this.isSSL=n,this.hasFaild=!1}getHost(){return this.host}getApplication(){return this.application}getPort(){return this.port}getIfSSL(){return this.isSSL}getIfFaild(){return this.hasFaild}setAsFaild(t){this.hasFaild=t}getData(){return{serverURL:this.getHost(),application:this.getHost(),serverPort:this.getPort(),isSSL:this.getIfSSL()}}toString(){return"host: "+this.host+" | application: "+this.application+" | port: "+this.port+" | isSSL: "+this.isSSL}}(t=>{t[t.NONE=0]="NONE",t[t.TOKEN=1]="TOKEN"})(_n=_n||{});class sr{constructor(t){this._securityMethod=_n.NONE,this.parse(t)}parse(t){this._securityConfig=t,this._securityConfig?((t=null!=(t=this._securityConfig.type)?t:null)&&(this._securityMethod="token"===t?_n.TOKEN:_n.NONE),this._token=null!=(t=this._securityConfig.token)?t:null):this._securityMethod=_n.NONE}get securityType(){return this._securityMethod}set securityType(t){this._securityMethod="token"===t?_n.TOKEN:_n.NONE}get token(){return this._token}set token(t){this._token=t}print(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];if(sr.PRINT_ON_STARTUP||e){let e="";switch(this._securityMethod){case _n.NONE:e="none";break;case _n.TOKEN:e="token"}t.info(this,"Security Method: "+e)}}}sr.PRINT_ON_STARTUP=!0;class ar{constructor(t){this._serverList=new Array,this._sourceList=new Array,this._streamKey=null,this.parse(t)}parse(t){if(this._streamConfig=t,!this._streamConfig)throw new Error("Stream configuration is missing. Please check stream config!");if(null==this._streamConfig.serverList)throw new Error("StormLibrary: Server list configuration is missing. Please check the config!");if(0===this._streamConfig.serverList.length)throw new Error("StormLibrary: Server list configuration is empty. Please check the config!");for(let t=0;t<this._streamConfig.serverList.length;t++){let n,r;if(null==this._streamConfig.serverList[t].host)throw new Error('Error while parsing server object ("host" field is missing). Please check player config!');if(n=this._streamConfig.serverList[t].host,null==this._streamConfig.serverList[t].application)throw new Error('Error while parsing server object ("application" field is missing). Please check player config!');r=this._streamConfig.serverList[t].application;var e=null!=(e=this._streamConfig.serverList[t].port)?e:ar.DEFAULT_CONNECTION_PORT,i=null!=(i=this._streamConfig.serverList[t].ssl)?i:ar.IS_SSL_BY_DEFAULT;this._serverList.push(new rr(n,r,e,i))}this._streamKey=null!=(t=this._streamConfig.streamKey)?t:this._streamKey,this._securityData=new sr(null!=(t=this._streamConfig.security)?t:null)}getServerList(){return this._serverList}getSourceList(){return this._sourceList}get streamKey(){return this._streamKey}set streamKey(t){this._streamKey=t}getSecurityData(){return this._securityData}set serverList(t){this._serverList=t}set sourceList(t){this._sourceList=t}clearSourceList(){this._sourceList=new Array}clearServerList(){this._serverList=new Array}print(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];if(ar.PRINT_ON_STARTUP||e){t.info(this,"Server List:");for(let e=0;e<this._serverList.length;e++)t.info(this,"=> ["+e+"] "+this._serverList[e].toString());t.info(this,"StreamKey: "+this._streamKey),this._securityData.print(t)}}}ar.PRINT_ON_STARTUP=!0,ar.DEFAULT_CONNECTION_PORT=443,ar.IS_SSL_BY_DEFAULT=!0,(t=>{t.RTMP="RTMP",t.RTSP="RTSP",t.WEBRTC="WebRTC",t.HLS="HLS",t.STORM="Storm"})(jn=jn||{});let or=class{constructor(t){this.PRINT_ON_STARTUP=!0,this._minValue=.2,this._maxValue=2,this._startValue=.5,this._targetValue=.7,this.parse(t)}parse(t){this._bufferConfig=t,this._bufferConfig&&(this._minValue=null!=(t=this._bufferConfig.minValue)?t:this._minValue,this._maxValue=null!=(t=this._bufferConfig.maxValue)?t:this._maxValue,this._startValue=null!=(t=this._bufferConfig.startValue)?t:this._startValue,this._targetValue=null!=(t=this._bufferConfig.targetValue)?t:this._targetValue)}get minValue(){return this._minValue}get maxValue(){return this._maxValue}get startValue(){return this._startValue}get targetValue(){return this._targetValue}set minValue(t){this._minValue=t}set maxValue(t){this._maxValue=t}set targetValue(t){this._targetValue=t}set startValue(t){this._startValue=t}print(t){(this.PRINT_ON_STARTUP||1<arguments.length&&void 0!==arguments[1]&&arguments[1])&&t.info(this,"BufferConfig :: minValue: "+this.minValue+" | maxValue: "+this.maxValue+" | startValue: "+this.startValue+" | targetValue: "+this.targetValue)}};(t=>{t.FILL="fill",t.LETTER_BOX="letterbox",t.CROP="crop",t.ORIGINAL="original"})(Yn=Yn||{}),(t=>{t.CLIENT_DIMENSIONS="clientDimensions",t.BOUNDING_BOX="boundingBox",t.FULL_BOX="fullBox"})(Qn=Qn||{});class lr{constructor(t){this._scalingMode=Yn.LETTER_BOX,this._aspectRatio="none",this._videoWidthValue=100,this._isVideoWidthInPixels=!1,this._wasVideoWidthProvided=!1,this._videoHeightValue=100,this._isVideoHeightInPixels=!1,this._wasVideoHeightProvided=!1,this._resizeDebounce=250,this._parentSizeCalculationMethod=Qn.CLIENT_DIMENSIONS,this.parse(t)}parse(t){if(this.videoConfig=t,null==this.videoConfig)throw new Error("Missing video configuration. Please check player config!");if(null!=this.videoConfig.aspectRatio){t=new RegExp("^[0-9]*\\.?[0-9]+:[0-9]*\\.?[0-9]+$");var e=this.videoConfig.aspectRatio;if(!t.test(e))throw new Error('Parameter "aspectRatio" - must match "number:number" pattern ');this._aspectRatio=e,this._aspectRatio=this.videoConfig.aspectRatio}if(null!=this.videoConfig.scalingMode)switch(this.videoConfig.scalingMode.toLowerCase()){case"fill":this._scalingMode=Yn.FILL;break;case"letterbox":this._scalingMode=Yn.LETTER_BOX;break;case"crop":this._scalingMode=Yn.CROP;break;case"original":this._scalingMode=Yn.ORIGINAL;break;default:throw new Error("Unknown video scaling mode. Please check player config!")}if(void 0!==this.videoConfig.width){if(null===this.videoConfig.width)throw new Error('Parameter "width" cannot be empty');if("number"==typeof this.videoConfig.width)this._videoWidthValue=this.videoConfig.width,this._isVideoWidthInPixels=!0;else{if("string"!=typeof this.videoConfig.width)throw new Error('Unknown type for parameter "width" - it must be a number or a string! ');this.videoConfig.width.toLowerCase().endsWith("px")?(this._videoWidthValue=parseInt(this.videoConfig.width),this._isVideoWidthInPixels=!0):this.videoConfig.width.toLowerCase().endsWith("%")&&(this._videoWidthValue=parseInt(this.videoConfig.width),this._isVideoWidthInPixels=!1)}this._wasVideoWidthProvided=!0}if(void 0!==this.videoConfig.height){if(null===this.videoConfig.height)throw new Error('Parameter "height" cannot be empty');if("number"==typeof this.videoConfig.height)this._videoHeightValue=this.videoConfig.height,this._isVideoHeightInPixels=!0;else{if("string"!=typeof this.videoConfig.height)throw new Error('Unknown type for parameter "height" - it must be a number or a string!');this.videoConfig.height.toLowerCase().endsWith("px")?(this._videoHeightValue=parseInt(this.videoConfig.height),this._isVideoHeightInPixels=!0):this.videoConfig.height.toLowerCase().endsWith("%")&&(this._videoHeightValue=parseInt(this.videoConfig.height),this._isVideoHeightInPixels=!1)}this._wasVideoHeightProvided=!0}if(null!=this.videoConfig.sizeCalculationMethod)switch(this.videoConfig.sizeCalculationMethod){case"clientDimensions":this._parentSizeCalculationMethod=Qn.CLIENT_DIMENSIONS;break;case"boundingBox":this._parentSizeCalculationMethod=Qn.BOUNDING_BOX;break;case"fullBox":this._parentSizeCalculationMethod=Qn.FULL_BOX}this._containerID=null!=(t=this.videoConfig.containerID)?t:null,this._resizeDebounce=null!=(e=this.videoConfig.resizeDebounce)?e:this._resizeDebounce}get scalingMode(){return this._scalingMode}get containerID(){return this._containerID}get videoWidthValue(){return this._videoWidthValue}get videoWidthInPixels(){return this._isVideoWidthInPixels}get videoWidthProvided(){return this._wasVideoWidthProvided}get videoHeightValue(){return this._videoHeightValue}get videoHeightInPixels(){return this._isVideoHeightInPixels}get videoHeightProvided(){return this._wasVideoHeightProvided}get aspectRatio(){return this._aspectRatio}get resizeDebounce(){return this._resizeDebounce}set resizeDebounce(t){this._resizeDebounce=t}set videoWidthValue(t){this._videoWidthValue=t}set videoWidthInPixels(t){this._isVideoWidthInPixels=t}set videoHeightValue(t){this._videoHeightValue=t}set videoHeightInPixels(t){this._isVideoHeightInPixels=t}set containerID(t){this._containerID=t}set scalingMode(t){switch(t.toLowerCase()){case"fill":this._scalingMode=Yn.FILL;break;case"letterbox":this._scalingMode=Yn.LETTER_BOX;break;case"crop":this._scalingMode=Yn.CROP;break;case"original":this._scalingMode=Yn.ORIGINAL;break;default:throw new Error("Unknown video scaling mode. Please check player config!")}}get parentSizeCalculationMethod(){return this._parentSizeCalculationMethod}print(t){let e="";switch(this._scalingMode){case Yn.FILL:e="fill";break;case Yn.LETTER_BOX:e="letterbox";break;case Yn.CROP:e="crop";break;case Yn.ORIGINAL:e="original"}t.info(this,"VideoConfig :: containerID: "+this._containerID),t.info(this,"VideoConfig :: scalingMode: "+e),t.info(this,"VideoConfig :: width: "+this._videoWidthValue+(this._isVideoWidthInPixels?"px":"%")+(this._wasVideoWidthProvided?" (provided)":" (default)")),t.info(this,"VideoConfig :: height: "+this._videoHeightValue+(this._isVideoHeightInPixels?"px":"%")+(this._wasVideoHeightProvided?" (provided)":" (default)")),t.info(this,"VideoConfig :: aspectRatio: "+this._aspectRatio)}}(t=>{t[t.TRACE=0]="TRACE",t[t.INFO=1]="INFO",t[t.SUCCESS=2]="SUCCESS",t[t.WARNING=3]="WARNING",t[t.ERROR=4]="ERROR"})(Jn=Jn||{});class hr{constructor(t){this._consoleLogEnabled=!1,this._enabledConsoleTypes=[Jn.INFO,Jn.ERROR,Jn.SUCCESS,Jn.TRACE,Jn.WARNING],this._consoleMonoColor=!1,this._containerLogEnabled=!1,this._enabledContainerTypes=[Jn.INFO,Jn.ERROR,Jn.SUCCESS,Jn.TRACE,Jn.WARNING],this._containerLogMonoColor=!1,this._playbackController=!1,this._qualityController=!1,this._stageController=!1,this._playerUnit=!1,this.parse(t)}parse(t){this._debugConfig=t,this._debugConfig&&(this._consoleLogEnabled=null!=(t=null==(t=null==(t=this._debugConfig)?void 0:t.console)?void 0:t.enabled)?t:this._consoleLogEnabled,this._consoleMonoColor=null!=(t=null==(t=null==(t=this._debugConfig)?void 0:t.console)?void 0:t.monoColor)?t:this._consoleMonoColor,this._enabledConsoleTypes=null!=(t=this.parseLogTypes(null==(t=null==(t=this._debugConfig)?void 0:t.console)?void 0:t.logTypes))?t:this._enabledConsoleTypes,this._containerLogEnabled=null!=(t=null==(t=null==(t=this._debugConfig)?void 0:t.container)?void 0:t.enabled)?t:this._containerLogEnabled,this._containerLogMonoColor=null!=(t=null==(t=null==(t=this._debugConfig)?void 0:t.container)?void 0:t.monoColor)?t:this._containerLogMonoColor,this._enabledContainerTypes=null!=(t=this.parseLogTypes(null==(t=null==(t=this._debugConfig)?void 0:t.container)?void 0:t.logTypes))?t:this._enabledContainerTypes,this._containerID=null!=(t=null==(t=null==(t=this._debugConfig)?void 0:t.container)?void 0:t.containerID)?t:this._containerID,this._playbackController=null!=(t=null==(t=this._debugConfig)?void 0:t.playbackController)?t:this._playbackController,this._qualityController=null!=(t=null==(t=this._debugConfig)?void 0:t.qualityController)?t:this._qualityController,this._stageController=null!=(t=null==(t=this._debugConfig)?void 0:t.stageController)?t:this._stageController,this._playerUnit=null!=(t=null==(t=this._debugConfig)?void 0:t.playerUnit)?t:this._playerUnit)}parseLogTypes(t){return null==t?void 0:t.map((t=>{switch(t.toLowerCase()){case"info":return Jn.INFO;case"error":return Jn.ERROR;case"warning":return Jn.WARNING;case"success":return Jn.SUCCESS;case"trace":return Jn.TRACE;default:throw new Error("Unsupported log type: ".concat(t))}}))}get consoleLogEnabled(){return this._consoleLogEnabled}set consoleLogEnabled(t){this._consoleLogEnabled=t}get enabledConsoleTypes(){return this._enabledConsoleTypes}set enabledConsoleTypes(t){this._enabledConsoleTypes=new Array;for(let e=0;e<t.length;e++)switch(t[e].toLowerCase()){case"info":this._enabledConsoleTypes.push(Jn.INFO);break;case"error":this._enabledConsoleTypes.push(Jn.ERROR);break;case"warning":this._enabledConsoleTypes.push(Jn.WARNING);break;case"success":this._enabledConsoleTypes.push(Jn.SUCCESS);break;case"trace":this._enabledConsoleTypes.push(Jn.TRACE)}}get containerLogEnabled(){return this._containerLogEnabled}set containerLogEnabled(t){this._consoleLogEnabled=t}get consoleLogMonoColor(){return this._consoleMonoColor}set consoleLogMonoColor(t){this._consoleMonoColor=t}get enabledContainerTypes(){return this._enabledContainerTypes}set enabledContainerTypes(t){this._enabledContainerTypes=new Array;for(let e=0;e<t.length;e++)switch(t[e].toLowerCase()){case"info":this._enabledContainerTypes.push(Jn.INFO);break;case"error":this._enabledContainerTypes.push(Jn.ERROR);break;case"warning":this._enabledContainerTypes.push(Jn.WARNING);break;case"success":this._enabledContainerTypes.push(Jn.SUCCESS);break;case"trace":this._enabledContainerTypes.push(Jn.TRACE)}}get containerID(){return this._containerID}set containerID(t){this._containerID=t}get containerLogMonoColor(){return this._containerLogMonoColor}set containerLogMonoColor(t){this._containerLogMonoColor=t}get playbackControllerDebug(){return this._playbackController}get qualityControllerDebug(){return this._qualityController}get stageControllerDebug(){return this._stageController}get playerUnitDebug(){return this._playerUnit}print(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];if(hr.PRINT_ON_STARTUP||e){let e="";for(let t=0;t<this._enabledConsoleTypes.length;t++)switch(this._enabledConsoleTypes[t]){case Jn.TRACE:e+="TRACE, ";break;case Jn.SUCCESS:e+="SUCCESS, ";break;case Jn.WARNING:e+="WARNING, ";break;case Jn.INFO:e+="INFO, ";break;case Jn.ERROR:e+="ERROR, "}t.info(this,"Console:: enabled: "+this._consoleLogEnabled),t.info(this,"Console:: logTypes: "+e),t.info(this,"Console:: monoColor: "+this._consoleMonoColor);let i="";for(let t=0;t<this._enabledContainerTypes.length;t++)switch(this._enabledContainerTypes[t]){case Jn.TRACE:i+="TRACE, ";break;case Jn.SUCCESS:i+="SUCCESS, ";break;case Jn.WARNING:i+="WARNING, ";break;case Jn.INFO:i+="INFO, ";break;case Jn.ERROR:i+="ERROR, "}t.info(this,"Container:: enabled: "+this._containerLogEnabled),t.info(this,"Container:: logTypes: "+i),t.info(this,"Container:: containerID: "+this._containerID),t.info(this,"Container:: monoColor: "+this._consoleMonoColor)}}}hr.PRINT_ON_STARTUP=!0;class ur{constructor(t){this._startVolume=100,this._isMuted=!1,this.parse(t)}parse(t){this._audioConfig=t,this._audioConfig&&(this._startVolume=null!=(t=null==(t=this._audioConfig)?void 0:t.startVolume)?t:this._startVolume,this._isMuted=null!=(t=null==(t=this._audioConfig)?void 0:t.muted)?t:this._isMuted)}get startVolume(){return this._startVolume}set startVolume(t){this._startVolume=t}get muted(){return this._isMuted}set muted(t){this._isMuted=t}print(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];(ur.PRINT_ON_STARTUP||e)&&t.info(this,"Audio :: startVolume: "+this._startVolume+" | isMuted: "+this._isMuted)}}ur.PRINT_ON_STARTUP=!0;class dr{constructor(t){this._enabled=!0,this._prefix="storm",this.parse(t)}parse(t){this._storageConfig=t,this._enabled=null!=(t=null==(t=this._storageConfig)?void 0:t.enabled)?t:this._enabled,this._prefix=null!=(t=null==(t=this._storageConfig)?void 0:t.prefix)?t:this._prefix}get enabled(){return this._enabled}set enabled(t){this._enabled=t}get prefix(){return this._prefix}set prefix(t){this._prefix=t}print(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];(dr.PRINT_ON_STARTUP||e)&&t.info(this,"Storage :: startVolume: "+this._enabled+" | prefix: "+this._prefix)}}dr.PRINT_ON_STARTUP=!0,(t=>{t.PASSIVE="PASSIVE",t.RESOLUTION_AWARE="RESOLUTION_AWARE",t.UNKNOWN="UNKNOWN",t.HIGHEST_QUALITY="HIGHEST_QUALITY",t.LOWEST_QUALITY="LOWEST_QUALITY"})(Xn=Xn||{});class cr{constructor(t){this.PRINT_ON_STARTUP=!0,this._qualityControlMode=Xn.PASSIVE,this._initialUpgradeTimeout=30,this._maxUpgradeTimeout=3600,this.parse(t)}parse(t){this._qualityConfig=t,this._qualityConfig&&(this._qualityControlMode=null!=(t=this._qualityConfig.controlMode)?t:this._qualityControlMode,this._initialUpgradeTimeout=null!=(t=this._qualityConfig.initialUpgradeTimeout)?t:this._initialUpgradeTimeout,this._maxUpgradeTimeout=null!=(t=this._qualityConfig.maxUpgradeTimeout)?t:this._maxUpgradeTimeout)}get qualityControlMode(){return this._qualityControlMode}set qualityControlMode(t){this._qualityControlMode=t}get initialUpgradeTimeout(){return this._initialUpgradeTimeout}set initialUpgradeTimeout(t){this._initialUpgradeTimeout=t}get maxUpgradeTimeout(){return this._maxUpgradeTimeout}set maxUpgradeTimeout(t){this._maxUpgradeTimeout=t}print(t){(this.PRINT_ON_STARTUP||1<arguments.length&&void 0!==arguments[1]&&arguments[1])&&t.info(this,"QualityControl :: mode: "+this.qualityControlMode+" | initialUpgradeTime: "+this._initialUpgradeTimeout+" | maxUpgradeTime: "+this._maxUpgradeTimeout)}}class mr{constructor(t){this._restartOnError=!0,this._reconnectTime=1,this._autoStart=!1,this._autoConnect=!0,this.startOnDOMReady=!1,this.iOSOnDomReadyFix=!0,this._enabledProtocols=new Array(jn.STORM,jn.RTMP,jn.HLS,jn.WEBRTC),this._restartOnFocus=!0,this.parse(t)}parse(t){this._settingsConfig=t,this._autoConnect=null!=(t=this._settingsConfig.autoConnect)?t:this._autoConnect,this._autoStart=null!=(t=this._settingsConfig.autoStart)?t:this._autoStart,this._restartOnFocus=null!=(t=this._settingsConfig.restartOnFocus)?t:this._restartOnFocus,this._restartOnError=null!=(t=this._settingsConfig.restartOnError)?t:this._restartOnError,this._reconnectTime=null!=(t=this._settingsConfig.reconnectTime)?t:this._reconnectTime,null!=(t=this._settingsConfig.enabledProtocols)&&t.length&&(this._enabledProtocols=this._settingsConfig.enabledProtocols.map((t=>{switch(t.toLowerCase()){case"storm":return jn.STORM;case"hls":return jn.HLS;case"webrtc":return jn.WEBRTC;case"rtmp":return jn.RTMP;case"rtsp":return jn.RTSP;default:throw new Error('Unknown protocol "'.concat(t,'". Please check your config!'))}}))),this._bufferData=new or(null!=(t=this._settingsConfig.buffer)?t:null),this._videoData=new lr(null!=(t=this._settingsConfig.video)?t:null),this._audioData=new ur(null!=(t=this._settingsConfig.audio)?t:null),this._storageData=new dr(null!=(t=this._settingsConfig.storage)?t:null),this._debugData=new hr(null!=(t=this._settingsConfig.debug)?t:null),this._qualityData=new cr(null!=(t=this._settingsConfig.quality)?t:null)}get enabledProtocols(){return this._enabledProtocols}set enabledProtocols(t){this._enabledProtocols=t}getBufferData(){return this._bufferData}getAudioData(){return this._audioData}getVideoData(){return this._videoData}getStorageData(){return this._storageData}getQualityData(){return this._qualityData}getIfRestartOnError(){return this._restartOnError}getReconnectTime(){return this._reconnectTime}get autoStart(){return this._autoStart}set autoStart(t){this._autoStart=t}get autoConnect(){return this._autoConnect}get restartOnFocus(){return this._restartOnFocus}getDebugData(){return this._debugData}getIfStartOnDOMReadyEnabled(){return this.startOnDOMReady}getIfIOSOnDomStartFixEnabled(){return this.iOSOnDomReadyFix}print(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];if(mr.PRINT_ON_STARTUP||e){let e="";for(let t=0;t<this._enabledProtocols.length;t++)switch(this._enabledProtocols[t]){case jn.STORM:e+="STORM, ";break;case jn.RTMP:e+="RTMP, ";break;case jn.RTSP:e+="RTSP, ";break;case jn.HLS:e+="HLS, ";break;case jn.WEBRTC:e+="WebRTC, "}t.info(this,"SettingsConfig :: autoConnect: "+this._autoConnect),t.info(this,"SettingsConfig :: autoStart: "+this._autoStart),t.info(this,"SettingsConfig :: restartOnError: "+this._restartOnError),t.info(this,"SettingsConfig :: reconnectTime: "+this._reconnectTime),t.info(this,"SettingsConfig :: enabledProtocols: "+e),this._bufferData.print(t),this._qualityData.print(t),this._videoData.print(t),this._audioData.print(t),this._debugData.print(t),this._debugData.print(t)}}}mr.PRINT_ON_STARTUP=!0;class gr{constructor(t){this.PRINT_ON_STARTUP=!0,this.demoMode=!1,this.parse(t)}parse(t){if(this.configTemplate=t,null==this.configTemplate.stream)throw new Error("No stream field was provided. Please check your player config!");this.streamData=new ar(this.configTemplate.stream),this.settingsData=new mr(null!=(t=this.configTemplate.settings)?t:null),this.demoMode=null!=(t=this.configTemplate.demoMode)&&t}getStreamData(){return this.streamData}getSettingsData(){return this.settingsData}getIfDemoMode(){return this.demoMode}print(t){(this.PRINT_ON_STARTUP||1<arguments.length&&void 0!==arguments[1]&&arguments[1])&&(this.streamData.print(t),this.settingsData.print(t))}}let pr=class{constructor(){this.DEBUG_OUTPUT=!1,this._isRemoved=!1,this._listeners={}}addEventListener(t,e){var i=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];this._listeners[t]||(this._listeners[t]=[]);let n=!1;if(null!=this._listeners[t]&&0<this._listeners[t].length)for(let i=0;i<this._listeners[t].length;i++)if(this._listeners[t][i][1]==e){n=!0;break}return this._logger.success(this,"Registering a new event: "+t),!n&&(this._listeners[t].push([t,e,i]),!0)}removeEventListener(t,e){let i=!1;if(null!=this._listeners[t]&&0<this._listeners[t].length)for(let r=0;r<this._listeners[t].length;r++){var n=this._listeners[t][r];if(e){if(n[1]==e){if(1!=n[2])break;i=!0,this._listeners[t].splice(r,1);break}}else i=!0,1==n[2]&&this._listeners[t].splice(r,1)}return this._logger.success(this,"Removing listener: "+t),i}removeAllEventListeners(){for(var t in this._logger.success(this,"Removing all listeners!"),this._listeners){var e=this._listeners[t];if(e&&0<e.length)for(let t=e.length-1;0<=t;t--)!0===e[t][2]&&e.splice(t,1)}}dispatchEvent(t,e){if(!this._isRemoved&&null!=this._listeners[t]&&0<this._listeners[t].length)for(let i=0;i<this._listeners[t].length;i++)this._listeners[t][i][1].call(this,e)}};class fr{static addLeadingZero(t){return t<10?"0"+t:String(t)}static isNear(t,e,i){return Math.abs(t-e)<=i}static formatTime(t){var e=Math.floor(t/3600),i=((i=Math.floor(t%3600/60))<10?"0":"")+i;t=((t=t%60)<10?"0":"")+t;return"".concat((e<10?"0":"")+e,":").concat(i,":").concat(t)}static generateUniqueString(t){let e="";var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let n=0;n<t;n++)e+=i.charAt(Math.floor(62*Math.random()));return e}static fibonacci(t){let e,i=0,n=1;if(t<=0)return 0;for(let r=2;r<=t;r++)e=i+n,i=n,n=e;return n}}fr.parseValue=t=>{var e;return"string"==typeof t?(e=t.toLowerCase().endsWith("px"),{value:parseInt(t,10),isPixels:e}):{value:t,isPixels:!0}};class yr{constructor(t,e){this.colorOrder=["red","green","blue","orange","black","violet"],this.logMemory=[],this.libraryInstanceID=-1,this.playerInstanceID=-1,this.debugConfig=t,this._stormPlayer=e,this.libraryInstanceID=this._stormPlayer.getLibraryID(),t=this.colorOrder.length<e.getLibraryID()?this.colorOrder.length-1:e.getLibraryID(),this.monoColor=this.colorOrder[t]}info(t,e){t=this.logData(t,e),this.debugConfig.consoleLogEnabled&&0<=this.debugConfig.enabledConsoleTypes.indexOf(Jn.INFO)&&(e=this.debugConfig.consoleLogMonoColor?this.monoColor:yr.INFO_COLOR,console.log("%c "+t,"color: "+e)),this.debugConfig.containerLogEnabled&&0<=this.debugConfig.enabledContainerTypes.indexOf(Jn.INFO)&&(e=this.debugConfig.containerLogMonoColor?this.monoColor:yr.INFO_COLOR,this.writeToContainer(t,e))}warning(t,e){t=this.logData(t,e),this.debugConfig.consoleLogEnabled&&0<=this.debugConfig.enabledConsoleTypes.indexOf(Jn.WARNING)&&(e=this.debugConfig.consoleLogMonoColor?this.monoColor:yr.WARNING_COLOR,console.log("%c "+t,"color: "+e)),this.debugConfig.containerLogEnabled&&0<=this.debugConfig.enabledContainerTypes.indexOf(Jn.WARNING)&&(e=this.debugConfig.containerLogMonoColor?this.monoColor:yr.WARNING_COLOR,this.writeToContainer(t,e))}error(t,e){t=this.logData(t,e),this.debugConfig.consoleLogEnabled&&0<=this.debugConfig.enabledConsoleTypes.indexOf(Jn.ERROR)&&(e=this.debugConfig.consoleLogMonoColor?this.monoColor:yr.ERROR_COLOR,console.log("%c "+t,"color: "+e)),this.debugConfig.containerLogEnabled&&0<=this.debugConfig.enabledContainerTypes.indexOf(Jn.ERROR)&&(e=this.debugConfig.containerLogMonoColor?this.monoColor:yr.ERROR_COLOR,this.writeToContainer(t,e))}success(t,e){t=this.logData(t,e),this.debugConfig.consoleLogEnabled&&0<=this.debugConfig.enabledConsoleTypes.indexOf(Jn.SUCCESS)&&(e=this.debugConfig.consoleLogMonoColor?this.monoColor:yr.SUCCESS_COLOR,console.log("%c "+t,"color: "+e)),this.debugConfig.containerLogEnabled&&0<=this.debugConfig.enabledContainerTypes.indexOf(Jn.SUCCESS)&&(e=this.debugConfig.containerLogMonoColor?this.monoColor:yr.SUCCESS_COLOR,this.writeToContainer(t,e))}trace(t,e){t=this.logData(t,e),this.debugConfig.consoleLogEnabled&&0<=this.debugConfig.enabledConsoleTypes.indexOf(Jn.TRACE)&&(e=this.debugConfig.consoleLogMonoColor?this.monoColor:yr.TRACE_COLOR,console.log("%c "+t,"color: "+e)),this.debugConfig.containerLogEnabled&&0<=this.debugConfig.enabledContainerTypes.indexOf(Jn.TRACE)&&(e=this.debugConfig.containerLogMonoColor?this.monoColor:yr.TRACE_COLOR,this.writeToContainer(t,e))}logData(t,e){var i=new Date,n=fr.addLeadingZero(i.getHours()),r=fr.addLeadingZero(i.getMinutes());i=fr.addLeadingZero(i.getSeconds());let s=String(this.libraryInstanceID);return 0<=this.playerInstanceID&&(s+="|"+this.playerInstanceID),n="[Storm-ID:"+s+"] ["+n+":"+r+":"+i+"] :: "+e,this.logMemory.push(n),n}writeToContainer(t,e){var i,n=this.debugConfig.containerID;n&&(n=document.getElementById(n),(i=document.createElement("span")).innerText=t,i.style.color=e,n.appendChild(i))}decoratedLog(t,e){var i,n=["0️⃣","1️⃣","2️⃣","3️⃣","4️⃣","5️⃣","6️⃣","7️⃣","8️⃣","9️⃣","🔟"];n=0<=(i=this._stormPlayer.getLibraryID())&&i<n.length?n[i]:"[".concat(i,"]");(i={"dark-blue":"#4c9fee","dark-green":"#4bcb64","dark-orange":"#daa33a","dark-red":"#f86464","dark-pink":"#f864e8","dark-yellow":"#e1f864"}[e])&&(e="background: black; color: ".concat(i,"; border: 1px solid ").concat(i,"; padding: 5px 5px 5px 0px"),console.log("%c ▶️".concat(n," ").concat(t),e))}setPlayerID(t){this.playerInstanceID=t}getAllLogs(){return this.logMemory}}yr.INFO_COLOR="blue",yr.WARNING_COLOR="orange",yr.ERROR_COLOR="red",yr.SUCCESS_COLOR="green",yr.TRACE_COLOR="black";class vr{static hasWebSocketsSupport(){return null!=window.WebSocket}static isMobile(){return new RegExp("Mobile|mini|Fennec|Android|iP(ad|od|hone)").test(navigator.userAgent)}static isCookieEnabled(){let t=!!navigator.cookieEnabled;return void 0!==navigator.cookieEnabled||t||(document.cookie="testcookie",t=-1!=document.cookie.indexOf("testcookie")),t}static getOSVersion(){let t="Unknown version",e=vr.getOS();var i;if(null!=e)switch(new RegExp("Windows").test(e)&&(t=null!=(i=new RegExp("Windows (.*)")).exec(e)[1]?i.exec(e)[1]:t,e="Windows"),e){case"Mac OS":case"Mac OS X":case"Android":var n=new RegExp("(?:Android|Mac OS|Mac OS X|MacPPC|MacIntel|Mac_PowerPC|Macintosh) ([\\.\\_\\d]+)");t=n.exec(navigator.userAgent)[1];break;case"iOS":t=(t=(n=new RegExp("OS (\\d+)_(\\d+)_?(\\d+)?")).exec(navigator.userAgent))[1]+"."+t[2]+"."+(0|t[3])}return t}static getBrowserName(){return vr.getFullBrowser().name}static getBrowserVersion(){return vr.getFullBrowser().version}static getFullBrowser(){var t=navigator.userAgent;let e,i,n,r=navigator.appName,s=""+parseFloat(navigator.appVersion),a=parseInt(navigator.appVersion,10);return-1!=(i=t.indexOf("Opera"))?(r="Opera",s=t.substring(i+6),-1!=(i=t.indexOf("Version"))&&(s=t.substring(i+8))):-1!=(i=t.indexOf("MSIE"))?(r="Microsoft Internet Explorer",s=t.substring(i+5)):"Netscape"==r&&-1!=t.indexOf("Trident/")?(r="Microsoft Internet Explorer",s=t.substring(i+5),-1!=(i=t.indexOf("rv:"))&&(s=t.substring(i+3))):-1!=(i=t.indexOf("Chrome"))?(r="Chrome",(-1<t.indexOf("FBAV")||-1<t.indexOf("FBAN"))&&(r="Facebook"),-1<t.indexOf("OPR")&&(r="Opera"),-1<t.indexOf("SamsungBrowser")&&(r="Samsung"),s=t.substring(i+7)):-1!=(i=t.indexOf("Safari"))?(r="Safari",s=t.substring(i+7),-1!=(i=t.indexOf("Version"))&&(s=t.substring(i+8)),-1!=t.indexOf("CriOS")&&(r="Chrome"),-1!=t.indexOf("FxiOS")&&(r="Firefox")):-1!=(i=t.indexOf("Firefox"))?(r="Firefox",s=t.substring(i+8)):(e=t.lastIndexOf(" ")+1)<(i=t.lastIndexOf("/"))&&(r=t.substring(e,i),s=t.substring(i+1),r.toLowerCase()==r.toUpperCase())&&(r=navigator.appName),-1!=(n=(s=-1!=(n=(s=-1!=(n=s.indexOf(";"))?s.substring(0,n):s).indexOf(" "))?s.substring(0,n):s).indexOf(")"))&&(s=s.substring(0,n)),a=parseInt(""+s,10),isNaN(a)&&(s=""+parseFloat(navigator.appVersion),a=parseInt(navigator.appVersion,10)),{name:r,fullVersion:s,version:a}}static getOS(){let t="Unknown OS";var e,i=[{os:"Windows 10",code:"(Windows 10.0|Windows NT 10.0)"},{os:"Windows 8.1",code:"(Windows 8.1|Windows NT 6.3)"},{os:"Windows 8",code:"(Windows 8|Windows NT 6.2)"},{os:"Windows 7",code:"(Windows 7|Windows NT 6.1)"},{os:"Windows Vista",code:"Windows NT 6.0"},{os:"Windows Server 2003",code:"Windows NT 5.2"},{os:"Windows XP",code:"(Windows NT 5.1|Windows XP)"},{os:"Windows 2000",code:"(Windows NT 5.0|Windows 2000)"},{os:"Windows ME",code:"(Win 9x 4.90|Windows ME)"},{os:"Windows 98",code:"(Windows 98|Win98)"},{os:"Windows 95",code:"(Windows 95|Win95|Windows_95)"},{os:"Windows NT 4.0",code:"(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)"},{os:"Windows CE",code:"Windows CE"},{os:"Windows 3.11",code:"Win16"},{os:"Android",code:"Android"},{os:"Open BSD",code:"OpenBSD"},{os:"Sun OS",code:"SunOS"},{os:"Chrome OS",code:"CrOS"},{os:"Linux",code:"(Linux|X11(?!.*CrOS))"},{os:"iOS",code:"(iPhone|iPad|iPod)"},{os:"Mac OS X",code:"Mac OS X"},{os:"Mac OS",code:"(Mac OS|MacPPC|MacIntel|Mac_PowerPC|Macintosh)"},{os:"QNX",code:"QNX"},{os:"UNIX",code:"UNIX"},{os:"BeOS",code:"BeOS"},{os:"OS/2",code:"OS\\/2"},{os:"Search Bot",code:"(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\\/Teoma|ia_archiver)"}];for(e in i){var n=i[e];if(new RegExp(n.code).test(navigator.userAgent)){t=n.os;break}}return t}static hasWebRTCSupport(){let t=!1;try{navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||window.RTCPeerConnection,t=!0}catch(e){t=!1}return t}static hasHLSSupport(t){return null!==t&&Boolean(t.canPlayType("application/vnd.apple.mpegURL")||t.canPlayType("audio/mpegurl"))}static hasMSESupport(){var t=window.MediaSource=window.MediaSource||window.WebKitMediaSource;return window.SourceBuffer=window.SourceBuffer||window.WebKitSourceBuffer,t&&"function"==typeof t.isTypeSupported}static hasMMSSupport(){return window.ManagedMediaSource}static isSSL(){return"https:"===location.protocol}}(t=>{t.INITIALIZED="INITIALIZED",t.PLAYING="PLAYING",t.BUFFERING="BUFFERING",t.PAUSED="PAUSED",t.STOPPED="STOPPED",t.UNKNOWN="UNKNOWN",t.ERROR="ERROR"})($n=$n||{});class br{constructor(t){var e;this.LOG_ACTIVITY=!1,this.isEnabled=!0,this.prefix="",this.logger=t.getLogger(),this.isEnabled=null!=(e=null==(e=null==(e=t.getConfigManager())?void 0:e.getSettingsData())?void 0:e.getStorageData().enabled)?e:this.isEnabled,this.prefix=null!=(e=null==(t=null==(e=t.getConfigManager())?void 0:e.getSettingsData())?void 0:t.getStorageData().prefix)?e:this.prefix,this.LOG_ACTIVITY&&this.logger.info(this,"Creating new StorageManager")}saveField(t,e){1==this.isEnabled&&(this.LOG_ACTIVITY&&this.logger.info(this,"Saving data: "+t+" | "+e),localStorage.setItem(this.prefix+t,e))}getField(t){var e;return 1==this.isEnabled?(e=localStorage.getItem(this.prefix+t),this.LOG_ACTIVITY&&this.logger.info(this,"Grabbing data: "+t+" | "+e),e):null}}var Sr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var Cr=NaN,wr="[object Symbol]",Er=/^\s+|\s+$/g,Tr=/^[-+]0x[0-9a-f]+$/i,Pr=/^0b[01]+$/i,Lr=/^0o[0-7]+$/i,kr=parseInt,xr="object"==typeof Sr&&Sr&&Sr.Object===Object&&Sr,Mr="object"==typeof self&&self&&self.Object===Object&&self,Ir=xr||Mr||Function("return this")(),Rr=Object.prototype.toString,Nr=Math.max,Dr=Math.min,Or=function(){return Ir.Date.now()};function Ar(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Br(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&Rr.call(t)==wr}(t))return Cr;if("string"!=typeof(t=Ar(t)?Ar(e="function"==typeof t.valueOf?t.valueOf():t)?e+"":e:t))return 0===t?t:+t;t=t.replace(Er,"");var e=Pr.test(t);return e||Lr.test(t)?kr(t.slice(2),e?2:8):Tr.test(t)?Cr:+t}var Ur,Fr,Wr,Vr,Hr,qr,zr=function(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}((function(t,e,i){var n,r,s,a,o,l,h=0,u=!1,d=!1,c=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function m(e){var i=n,s=r;return n=r=void 0,h=e,a=t.apply(s,i)}function g(t){var i=t-l;return void 0===l||e<=i||i<0||d&&s<=t-h}function p(){var t,i=Or();if(g(i))return f(i);o=setTimeout(p,(t=e-(i-l),d?Dr(t,s-(i-h)):t))}function f(t){return o=void 0,c&&n?m(t):(n=r=void 0,a)}function y(){var t=Or(),i=g(t);if(n=arguments,r=this,l=t,i){if(void 0===o)return h=t=l,o=setTimeout(p,e),u?m(t):a;if(d)return o=setTimeout(p,e),m(l)}return void 0===o&&(o=setTimeout(p,e)),a}return e=Br(e)||0,Ar(i)&&(u=!!i.leading,s=(d="maxWait"in i)?Nr(Br(i.maxWait)||0,e):s,c="trailing"in i?!!i.trailing:c),y.cancel=function(){void 0!==o&&clearTimeout(o),n=l=r=o=void(h=0)},y.flush=function(){return void 0===o?a:f(Or())},y}));class Gr{constructor(t){this.LOG_ACTIVITY=!0,this._volume=100,this._isMuted=!1,this._isMutedByBrowser=!1,this._posterCanvas=null,this._posters=[],this._debug=!1,this.onForceMute=()=>{this._isMuted=!0,this._isMutedByBrowser=!0,this.dispatchVolumeEvent()},this._main=t,this._logger=t.getLogger(),this._videoElement=document.createElement("video"),this._debug=null!=(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData().getDebugData().stageControllerDebug)?t:this._debug,this._main.addEventListener("playbackForceMute",this.onForceMute,!1);let e=null!=(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData().getAudioData().startVolume)?t:100,i=null!=(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData().getAudioData().muted)&&t;null!=(null==(t=this._main.getStorageManager())?void 0:t.getField("volume"))&&(e=Number(this._main.getStorageManager().getField("volume"))),null!=(null==(t=this._main.getStorageManager())?void 0:t.getField("muted"))&&"true"==this._main.getStorageManager().getField("muted")&&(i=!0,this._isMutedByBrowser=!0),this._volume=e,this._isMuted=i,this.LOG_ACTIVITY&&this._logger.info(this,"VideoElement :: Start Volume: "+this._volume+" | Muted: "+this._isMuted),this._videoElement.volume=this._volume/100,this._videoElement.muted=this._isMuted,this._videoElement.setAttribute("playsinline","playsinline"),this._videoElement.setAttribute("webkit-playsinline","webkit-playsinline"),this._main.dispatchEvent("videoElementCreate",{ref:this._main,videoElement:this._videoElement}),this.initialize()}initialize(){this._videoElement.onload=function(t){},this._videoElement.onstalled=t=>{this._logger.info(this,"VideoElement :: onstalled")},this._videoElement.onerror=t=>{this._logger.info(this,"VideoElement :: onerror :: "+JSON.stringify(t))},this._videoElement.onvolumechange=()=>{this.dispatchVolumeEvent()},this._videoElement.onpause=t=>{var e,i;this._logger.info(this,"VideoElement :: onpause: "+(null==(e=this._main.getPlaybackController())?void 0:e.getPlaybackState())+" "+(null==(e=this._main.getNetworkController())?void 0:e.getConnection().isConnectionActive())),(null==(e=this._main.getPlaybackController())?void 0:e.getPlaybackState())===$n.PLAYING&&(e=this._main.getStageController().getContainer(),i=document.body.contains(e),e&&i?this._videoElement.play().then((()=>{var t;null!=(t=null==(t=this._main.getStageController())?void 0:t.getScreenElement())&&t.deleteBlackBackground(),null!=(t=null==(t=this._main.getPlaybackController())?void 0:t.getPlayer())&&t.setPreparingToStart(!1),this._debug&&this._logger.decoratedLog("Playback Start","dark-green")})).catch((t=>{var e;null!=(e=null==(e=this._main.getPlaybackController())?void 0:e.getPlayer())&&e.setPreparingToStart(!1),this._logger.warning(this,"Error on Play(): "+t.name+" :: "+JSON.stringify(t)),"NotAllowedError"===t.name?(null!=(e=this._main.getPlaybackController())&&e.setPlaybackState($n.BUFFERING),this._videoElement.muted=!0,this._main.dispatchEvent("playbackForceMute",{ref:this._main})):console.warn(t)})):(this._debug&&this._logger.decoratedLog("Paused due to not being part of DOM tree","dark-yellow"),this._main.dispatchEvent("playbackForcePause",{ref:this._main})))},this._videoElement.ontimeupdate=function(t){},this._videoElement.onended=t=>{this._logger.info(this,"VideoElement :: onended")},this._videoElement.onplay=()=>{var t;null!=(t=null==(t=this._main)?void 0:t.getPlaybackController())&&t.setPlaybackState($n.PLAYING)}}setVolume(t){this._isMuted&&0<t&&this.setMuted(!1),this._volume=t,this._videoElement.volume=t/100,this._main.getStorageManager().saveField("volume",String(t)),0==t&&this.setMuted(!0)}getVolume(){return this._volume}setMuted(t){this._isMuted=t,this._videoElement.muted=t,this._isMutedByBrowser=!1,this._main.getStorageManager().saveField("muted",String(t)),0!=this.getVolume()||t||this.setVolume(100)}getIfMuted(){return this._isMuted}dispatchVolumeEvent(){var t=this._isMutedByBrowser?"browser":"user",e={volume:this._volume,isMuted:this._isMuted,type:t};this.LOG_ACTIVITY&&this._logger.info(this,"ScreenElement :: Event: onVolumeChange: "+JSON.stringify(e)),this._main.dispatchEvent("volumeChange",{ref:this._main,volume:this._volume,muted:this._isMuted,invokedBy:t})}getVideoElement(){return this._videoElement}createBlackBackground(){this._videoElement&&(this._videoElement.style.backgroundColor="black")}deleteBlackBackground(){this._videoElement&&setTimeout((()=>{this._videoElement.style.backgroundColor=""}),100)}}class Kr{static calculateDimensionsWithMargins(t){var e=window.getComputedStyle(t),i=(t=t.getBoundingClientRect(),parseFloat(e.paddingLeft)),n=parseFloat(e.paddingRight),r=parseFloat(e.paddingTop),s=parseFloat(e.paddingBottom),a=parseFloat(e.borderLeftWidth),o=parseFloat(e.borderRightWidth),l=parseFloat(e.borderTopWidth);e=parseFloat(e.borderBottomWidth);return{width:t.width-i-n-a-o,height:t.height-r-s-l-e}}}class Zr{constructor(t){this._containerWidth=0,this._tempContainerWidth=0,this._containerHeight=0,this._tempContainerHeight=0,this._videoWidth=0,this._videoHeight=0,this._scalingMode=Yn.FILL,this.isInFullScreenMode=!1,this._autoResizeEnabled=!0,this._debug=!1,this.onFullScreenChange=()=>{null==document.fullscreenElement?(this.isInFullScreenMode=!1,this._logger.info(this,"The library has exited FullScreen mode!"),this._main.dispatchEvent("fullScreenExit",{ref:this._main})):(this.isInFullScreenMode=!0,this._logger.info(this,"The library has entered FullScreen mode!"),this._main.dispatchEvent("fullScreenEnter",{ref:this._main}))},this.onResize=()=>{null!=this._parentElement&&(this.onUpdateSize(),this._main.dispatchEvent("resizeUpdate",{ref:this._main,width:this._tempContainerWidth,height:this._tempContainerHeight}))},this.onUpdateSize=()=>{if(null!=this._parentElement){var t=this._main.getConfigManager().getSettingsData().getVideoData().parentSizeCalculationMethod;switch(this._videoContainer.style.display="none",t){case Qn.CLIENT_DIMENSIONS:this._tempContainerWidth=this._parentElement.clientWidth,this._tempContainerHeight=this._parentElement.clientHeight;break;case Qn.BOUNDING_BOX:this._tempContainerWidth=this._parentElement.getBoundingClientRect().width,this._tempContainerHeight=this._parentElement.getBoundingClientRect().height;break;case Qn.FULL_BOX:this._tempContainerWidth=Kr.calculateDimensionsWithMargins(this._parentElement).width,this._tempContainerHeight=Kr.calculateDimensionsWithMargins(this._parentElement).height}this._logger.info(this,"onResize called: "+this._tempContainerWidth+"x"+this._tempContainerHeight+" ("+t+")"),this.resizeVideoContainer(),this.scaleVideo(),this._videoContainer.style.display="block"}},this._main=t,this._logger=t.getLogger(),this._logger.info(this,"Creating new StageController"),this._debug=null!=(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData().getDebugData().stageControllerDebug)?t:this._debug,this.initialize()}initialize(){var t=null!=(t=null==(t=null==(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData())?void 0:t.getVideoData())?void 0:t.containerID)?t:null,e=(this._scalingMode=null!=(e=null==(e=this._main.getConfigManager())?void 0:e.getSettingsData().getVideoData().scalingMode)?e:Yn.FILL,this._videoContainer=document.createElement("div"),this._videoContainer.setAttribute("id","stormLibrary_"+this._main.getLibraryID()),this._videoContainer.style.overflow="hidden",this._videoContainer.style.position="relative",this._videoContainer.classList.add("stormLibrary"),this._screenElement=new Gr(this._main),this._videoContainer.appendChild(this._screenElement.getVideoElement()),this._main.getConfigManager().getSettingsData().getVideoData().resizeDebounce);this._resizeObserver=0<e?new ResizeObserver(zr((()=>()=>{this._autoResizeEnabled&&this.onResize()}),e,{leading:!1,trailing:!0})):new ResizeObserver((()=>{this._autoResizeEnabled&&this.onResize()})),this._main.addEventListener("streamMetadataUpdate",(t=>{this._videoWidth=t.metadata.videoWidth,this._videoHeight=t.metadata.videoHeight,this.onUpdateSize()}),!1),document.addEventListener("fullscreenchange",this.onFullScreenChange,!1),document.addEventListener("webkitfullscreenchange",this.onFullScreenChange,!1),document.addEventListener("mozfullscreenchange",this.onFullScreenChange,!1),document.addEventListener("webkitendfullscreen",this.onFullScreenChange,!1),this._screenElement.getVideoElement().addEventListener("webkitendfullscreen",this.onFullScreenChange,!1),this._main.addEventListener("playbackInitiate",(t=>{null!=this._videoContainer&&this._videoContainer.setAttribute("streamKey",t.streamKey)}),!1),t?this.attachToParent(t):this._logger.warning(this,'Could not create HTMLObject for the library - "containerID" was not provided')}attachToParent(t){let e=!1,i=null;return"string"==typeof t?(this._logger.info(this,"Attaching container to ID: "+t),i=document.getElementById(t)):t instanceof HTMLElement&&(this._logger.info(this,"Attaching container to HTMLElement: "+t),i=t),i===this._parentElement?(this._debug&&this._logger.decoratedLog("Attaching Failed (container is the same)","dark-pink"),this._logger.warning(this,"attachToParent :: container is the same"),!1):(i&&this._videoContainer?(this._debug&&this._logger.decoratedLog("Attach To Parent: "+t+" (success)","dark-pink"),this._parentElement=i,this._parentElement.appendChild(this._videoContainer),this._resizeObserver.observe(this._parentElement),this._parentElement.addEventListener("transitionend",(()=>{this.onResize()})),this._main.dispatchEvent("containerChange",{ref:this._main,container:this._parentElement}),this.onResize(),e=!0):(this._debug&&this._logger.decoratedLog("Attach To Parent: "+t+" (failure - container not found)","dark-pink"),this._logger.warning(this,'attachToParent :: container "'+t+'"+ was not found')),e)}detachFromParent(){this._debug&&this._logger.decoratedLog("Detach From Parent","dark-pink");let t=!1;return null!=this._parentElement&&null!=this._videoContainer?(this._logger.info(this,"Detaching from parent: "+this._videoContainer),this._parentElement.removeChild(this._videoContainer),this._resizeObserver&&(this._resizeObserver.unobserve(this._parentElement),this._resizeObserver.disconnect()),this._autoResizeEnabled&&this._parentElement.removeEventListener("transitionend",this.onResize),this._main.dispatchEvent("containerChange",{ref:this._main,container:null}),t=!0):this._logger.info(this,"Failed detaching from parent!"),this._parentElement=null,t}resizeVideoContainer(){var t=this._main.getConfigManager().getSettingsData().getVideoData().videoWidthInPixels,e=this._main.getConfigManager().getSettingsData().getVideoData().videoHeightInPixels,i=this._main.getConfigManager().getSettingsData().getVideoData().videoWidthValue,n=this._main.getConfigManager().getSettingsData().getVideoData().videoHeightValue,r=this._main.getConfigManager().getSettingsData().getVideoData().aspectRatio;let s=0,a=0;var o=Number(r.split(":")[0]),l=Number(r.split(":")[1]);"none"==r?(t?s=i:null!=this._parentElement&&(s=this._tempContainerWidth*i/100),e?a=n:null!=this._parentElement&&0==(a=this._tempContainerHeight*n/100)&&0!=this._videoHeight&&0!=this._videoWidth&&(a=this._videoHeight*s/this._videoWidth)):(t?s=i:null!=this._parentElement&&(s=this._tempContainerWidth*i/100),a=s*l/o),this._containerWidth=Math.ceil(s),this._containerHeight=Math.ceil(a),null!==this._videoContainer&&(this._videoContainer.style.width=this._containerWidth+"px",this._videoContainer.style.height=this._containerHeight+"px")}scaleVideo(){if(null!==this._screenElement){let t=0,e=0,i=0,n=0;switch(this._scalingMode){case Yn.FILL:i=this._containerWidth,n=this._containerHeight;break;case Yn.CROP:i=this._containerWidth,(n=this._videoHeight*this._containerWidth/this._videoWidth)>=this._containerHeight?(t=0,e=(n-this._containerHeight)/2*-1):(n=this._containerHeight,i=this._videoWidth*this._containerHeight/this._videoHeight,e=0,t=(i-this._containerWidth)/2*-1);break;case Yn.LETTER_BOX:i=this._containerWidth,(!((n=this._videoHeight*this._containerWidth/this._videoWidth)<=this._containerHeight)||(t=0,e=(n-this._containerHeight)/2*-1,n>this._containerHeight))&&(n=this._containerHeight,i=this._videoWidth*this._containerHeight/this._videoHeight,e=0,t=(i-this._containerWidth)/2*-1);break;case Yn.ORIGINAL:i=this._videoWidth,n=this._videoHeight,t=(this._videoWidth-this._containerWidth)/-2,e=(this._videoHeight-this._containerHeight)/-2}this._screenElement.getVideoElement().style.left=Math.floor(t)+"px",this._screenElement.getVideoElement().style.top=Math.floor(e)+"px",this._screenElement.getVideoElement().style.width=Math.ceil(i)+"px",this._screenElement.getVideoElement().style.height=Math.ceil(n)+"px",this._screenElement.getVideoElement().style.position="absolute",this._screenElement.getVideoElement().style.objectFit="fill"}}enterFullScreen(){var t;null!=(t=this._screenElement)&&t.getVideoElement().webkitEnterFullScreen?null!=(t=this._screenElement)&&t.getVideoElement().webkitEnterFullScreen():null!=(t=this._screenElement)&&t.getVideoElement().requestFullscreen()}exitFullScreen(){var t;null!=(t=this._screenElement)&&t.getVideoElement().webkitExitFullscreen?document.webkitExitFullscreen():document.exitFullscreen()}isFullScreenMode(){return this.isInFullScreenMode}setDimension(t,e){var i="width"===t?"videoWidth":"videoHeight";let n,r;if("number"==typeof e)r=e,n=!0;else{if("string"!=typeof e)throw new Error('Unknown value for parameter "'.concat(t,'" - it must be a number or a string!'));r=parseInt(e),n=e.toLowerCase().endsWith("px")}this._main.getConfigManager().getSettingsData().getVideoData()["".concat(i,"Value")]=r,this._main.getConfigManager().getSettingsData().getVideoData()["".concat(i,"InPixels")]=n,this.resizeVideoContainer(),this.scaleVideo()}setSize(t,e){this.setDimension("width",t),this.setDimension("height",e)}setWidth(t){this.setDimension("width",t)}setHeight(t){this.setDimension("height",t)}getParentElement(){return this._parentElement}setScalingMode(t){switch(t.toLowerCase()){case"fill":this._scalingMode=Yn.FILL;break;case"crop":this._scalingMode=Yn.CROP;break;case"letterbox":this._scalingMode=Yn.LETTER_BOX;break;case"original":this._scalingMode=Yn.ORIGINAL}this.scaleVideo()}getContainerWidth(){return this._containerWidth}getContainerHeight(){return this._containerHeight}getScalingModeAsString(){let t="";switch(this._scalingMode){case Yn.FILL:t="fill";break;case Yn.CROP:t="crop";break;case Yn.LETTER_BOX:t="letterbox";break;case Yn.ORIGINAL:t="original"}return t}getScalingMode(){return this._scalingMode}getScreenElement(){return this._screenElement}getContainer(){return this._videoContainer}destroy(){this.detachFromParent()}}Zr.LOG_ACTIVITY=!0,(t=>{t.SUBSCRIBE="SUBSCRIBE",t.UNSUBSCRIBE="UNSUBSCRIBE",t.PLAY="PLAY",t.PAUSE="PAUSE",t.STOP=" STOP"})(Ur=Ur||{});class _r{constructor(t){this._streamKey=t}getStreamKey(){return this._streamKey}getType(){return Ur.SUBSCRIBE}}class jr{constructor(t){this._streamKey=t}getStreamKey(){return this._streamKey}getType(){return Ur.PLAY}}class Yr{constructor(){this._dataPacketCount=0,this._dataArrivalStartTime=0,this._totalBytesReceived=0,this._bufferSize=0,this._latencyReportTimeCycle=0,this._preparingToStart=!1,this.onForcePause=()=>{if(null!=this._videoObject)try{this._videoObject.pause()}catch(t){}}}getPlayerType(){return this._playerType}feedRawData(t){}setPreparingToStart(t){this._preparingToStart=t}setURL(t){}getPlaybackRate(){return null!=this._videoObject?this._videoObject.playbackRate:0}getBufferAnalyser(){return this._bufferAnalyser}getBandwidthMeter(){return this._bandwidthMeter}getBufferSize(){return this._bufferSize}block(){}}(t=>{t.MSE="mse",t.HLS="hls",t.WEB_RTC="webrtc",t.ABSTRACT="abstract",t.UNKNOWN="unknown"})(Fr=Fr||{}),(t=>{t.NOT_INITIALIZED="NOT_INITIALIZED",t.INITIALIZED="INITIALIZED",t.STOPPED="STOPPED",t.NOT_FOUND="NOT_FOUND",t.AWAITING="AWAITING",t.NOT_PUBLISHED="NOT_PUBLISHED",t.UNKNOWN="UNKNOWN",t.UNPUBLISHED="UNPUBLISHED",t.PUBLISHED="PUBLISHED",t.CLOSED="CLOSED",t.ERROR="ERROR"})(Wr=Wr||{});class Qr{constructor(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:30;this.lastCooldownTime=0,this.cooldownDuration=t}triggerCooldown(){this.lastCooldownTime=(new Date).getTime()}setCooldownDuration(t){this.cooldownDuration=t}isCooling(){var t=(new Date).getTime();return this.lastCooldownTime+1e3*this.cooldownDuration>t}reset(){this.lastCooldownTime=0}}class Jr{constructor(t){if(t<=0)throw new Error("Max size must be greater than 0.");this.maxSize=t,this.queue=[]}reset(){this.queue=[]}enqueue(t){this.queue.length===this.maxSize&&this.dequeue(),this.queue.push(t)}dequeue(){return this.queue.shift()}size(){return this.queue.length}getMaxSize(){return this.maxSize}getElements(){return[...this.queue]}}(t=>{t.GOOD="good",t.MEDIUM="medium",t.BAD="bad",t.UNKNOWN="unknown"})(Vr=Vr||{});class Xr{constructor(){this.previousBufferSize=0,this.currentBufferSize=0,this.averageDelay=0,this.minimalDelay=0,this.maximalDelay=0,this.delayDeviation=0,this._bufferQueue=new Jr(20)}addEntry(t){this.previousBufferSize=this.currentBufferSize,this.currentBufferSize=t,this._bufferQueue.enqueue(t),this.calculateData()}calculateData(){var t=this._bufferQueue.getElements();let e=t[0],i=t[0];var n=0;let r=0,s=0;for(let n=0;n<t.length;n++){var a=t[n];e>a&&(e=a),i<a&&(i=a),r+=a}n=r/t.length;for(let e=0;e<t.length;e++)s+=Math.pow(t[e]-n,2);this.delayDeviation=parseFloat(Math.sqrt(s/t.length).toFixed(4)),this.minimalDelay=parseFloat(e.toFixed(4)),this.maximalDelay=parseFloat(i.toFixed(4)),this.averageDelay=parseFloat(n.toFixed(4)),this.logs()}get bufferSize(){return this.currentBufferSize}logs(){}isReady(){return this._bufferQueue.size()==this._bufferQueue.getMaxSize()}get bufferDeviation(){return this.delayDeviation}get stability(){return this.isReady()?this.delayDeviation<.02?Vr.GOOD:this.delayDeviation<.05?Vr.MEDIUM:Vr.BAD:Vr.MEDIUM}reset(){this._bufferQueue=new Jr(20),this.previousBufferSize=0,this.currentBufferSize=0,this.averageDelay=0,this.minimalDelay=0,this.maximalDelay=0,this.delayDeviation=0}}class $r{constructor(){this._bufferSize=0,this._minBuffer=0,this._maxBuffer=0,this._startBuffer=0,this._targetBuffer=0,this._targetMargin=0,this._deviation=0}get bufferSize(){return this._bufferSize}get deviation(){return this._deviation}get minBuffer(){return this._minBuffer}get maxBuffer(){return this._maxBuffer}get targetBuffer(){return this._targetBuffer}get startBuffer(){return this._startBuffer}get targetMargin(){return this._targetMargin}get bufferCondition(){return this._bufferCondition}set bufferSize(t){this._bufferSize=t}set minBuffer(t){this._minBuffer=t}set maxBuffer(t){this._maxBuffer=t}set startBuffer(t){this._startBuffer=t}set deviation(t){this._deviation=t}set targetBuffer(t){this._targetBuffer=t}set targetMargin(t){this._targetMargin=t}set bufferCondition(t){this._bufferCondition=t}drawBufferStatus(t){t<5&&(t=5);var e=Math.max(1,Math.floor(.1*t)),i=t-2*e;let n=e,r=n+Math.max(2,Math.floor(.2*i)),s=r+Math.max(2,Math.floor(.3*i)),a=s+Math.max(1,Math.floor(.1*i)),o=a+Math.max(2,Math.floor(.3*i)),l=n+Math.floor(this._bufferSize*i);return(l=l>=t?o-1:l)<n&&(l=n),e=new Array(t).fill("").map(((t,e)=>e<n?"░":e<r?"▒":e<s?"▓":e<a?"█":e<o?"▒":"░")),0<=l&&l<e.length&&(e[l]="•"),e.join("")}}class ts{constructor(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:30,e=1<arguments.length?arguments[1]:void 0;this._currentBandwidth=0,this._totalBytesReceived=0,this._awaitingData=0,this._minBandwidth=0,this._maxBandwidth=0,this._saveIndex=0,this._currentQueue=new Jr(t),this._maxBandwidthQueue=new Jr(t),this._main=e}reset(){this._totalBytesReceived=0,this._currentQueue.reset(),this._awaitingData=0}addReceivedBytes(t){this._awaitingData+=t,this._totalBytesReceived+=t}markTimestamp(){this._currentQueue.enqueue({value:this._awaitingData,time:(new Date).getTime()}),this._awaitingData=0,this._currentBandwidth=this.calculateBandwidth(),this._maxBandwidthQueue.enqueue(this._currentBandwidth);var t=this._maxBandwidthQueue.getElements();0<t.length&&(t=this.getTrimmedValues(t),this._maxBandwidth=Math.max(...t),this._minBandwidth=Math.min(...t))}getTrimmedValues(t){var e;return t.length<=4?t:(e=[...t].sort(((t,e)=>t-e)),t=Math.floor(.1*t.length),e.slice(t,e.length-t))}getTotalBytesReceived(){return this._totalBytesReceived}get maxBandwidth(){return 0!=this._maxBandwidth?this._maxBandwidth:this._currentBandwidth}get minBandwidth(){return 0!=this._minBandwidth?this._minBandwidth:this._currentBandwidth}get currentBandwidth(){return this._currentBandwidth}calculateBandwidth(){if(0===this._currentQueue.size())return 0;let t=1/0,e=-1/0,i=0;var n;for(n of this._currentQueue.getElements())null!=n&&(i+=n.value,t=Math.min(t,n.time),e=Math.max(e,n.time));var r=(e-t)/1e3;return 0==r?i:i/r}}class es{constructor(t){this.queue=[],this.duration=1e3*t,this.currentCount=0}addEntry(){var t=Date.now();this.queue.push(t)}markTimestamp(){for(var t=Date.now()-this.duration;0<this.queue.length&&this.queue[0]<t;)this.queue.shift();this.currentCount=this.queue.length}getCurrentCount(){return this.currentCount}reset(){this.queue=[],this.currentCount=0}}class is extends Yr{constructor(t,e){super(),this._segmentsQueue=[],this._shouldFlushData=!1,this._bufferEndTime=0,this._bufferStartTime=0,this._acceptVideoData=!1,this._bufferCleanupInterval=6e4,this._bufferTimeToKeep=120,this._lastBufferCleanupTime=0,this._targetMargin=.2,this._marginEnlargedCount=0,this._debug=!1,this.onMetaData=t=>{this._debug&&this._logger.decoratedLog("Metadata Arrived","dark-green"),this.restart(),this._mainTimer=setInterval((()=>{this.timerEvent()}),100),this._acceptVideoData=!0,this._mediaSource=this.createMediaSourceObject(),this._videoObject.disableRemotePlayback=!0,this._videoObject.controls=!1,this._videoObject.src=URL.createObjectURL(this._mediaSource),this._playbackController.setPlaybackState($n.BUFFERING),this._main.dispatchEvent("bufferingStart",{ref:this._main}),this._mediaSource.onsourceopen=()=>{this.onSourceOpen()}},this.onSourceOpen=()=>{null!=this._mediaSource&&"open"===this._mediaSource.readyState&&(this._mediaSource.duration=0,this._sourceBuffer=this._mediaSource.addSourceBuffer('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'),this._sourceBuffer.mode="segments",this._sourceBuffer.onupdateend=()=>{this.appendSourceBuffer()})},this.onStreamStateChange=t=>{switch(t.state){case Wr.CLOSED:case Wr.STOPPED:case Wr.UNPUBLISHED:this.pause(),this._playbackController.setPlaybackState($n.STOPPED),this.restart()}},this._main=t,this._playbackController=e,this._logger=t.getLogger(),this._debug=null!=(t=null==(e=this._main.getConfigManager())?void 0:e.getSettingsData().getDebugData().playerUnitDebug)?t:this._debug,this.initialize()}initialize(){this._seekCooldown=new Qr(10),this._rateCooldown=new Qr(10),"safari"!=vr.getBrowserName().toLowerCase()&&!vr.isMobile()||(this._seekCooldown.setCooldownDuration(60),this._rateCooldown=new Qr(30)),this._bitrateCooldown=new Qr(20),this._playerType=Fr.MSE,this._bufferAnalyser=new Xr,this._bandwidthMeter=new ts(60,this._main),this._degradeChargeMeter=new es(30),this._main.addEventListener("streamMetadataUpdate",this.onMetaData,!1),this._main.addEventListener("streamStateChange",this.onStreamStateChange,!1),this._main.addEventListener("playbackForcePause",this.onForcePause,!1),this._videoObject=this._main.getStageController().getScreenElement().getVideoElement()}appendSourceBuffer(){if(null!=this._sourceBuffer&&null!=this._mediaSource&&"open"===this._mediaSource.readyState&&!this._sourceBuffer.updating)if(this._shouldFlushData)this.flushVideoCache();else if(this._playbackController.getPlaybackState()==$n.BUFFERING&&this.timerEvent(),0<this._segmentsQueue.length)try{this._sourceBuffer.appendBuffer(this._segmentsQueue.shift())}catch(t){console.error("Error appending buffer:",t)}}timerEvent(){if(null!==this._videoObject){this._degradeChargeMeter.markTimestamp(),this._bandwidthMeter.markTimestamp(),this._bufferAnalyser.addEntry(this.calculateBufferSize());var t=this._main.getConfigManager().getSettingsData().getBufferData().minValue,e=this._main.getConfigManager().getSettingsData().getBufferData().targetValue,i=this._main.getConfigManager().getSettingsData().getBufferData().maxValue,n=this._main.getConfigManager().getSettingsData().getBufferData().startValue,r=this._bufferAnalyser.bufferSize;if(this._main.getPlaybackController().getPlaybackState()==$n.BUFFERING)r<n||n<=r&&0==this._preparingToStart&&(this._preparingToStart=!0,this._bufferEndTime=(new Date).getTime(),this._main.dispatchEvent("bufferingComplete",{ref:this._main}),this._debug&&this._logger.decoratedLog("Buffering Complete","dark-green"),this._seekCooldown.triggerCooldown(),this._rateCooldown.triggerCooldown(),this._videoObject.play().then((()=>{var t;null!=(t=null==(t=this._main.getStageController())?void 0:t.getScreenElement())&&t.deleteBlackBackground(),this._preparingToStart=!1,this._debug&&this._logger.decoratedLog("Playback Start","dark-green")})).catch((t=>{this._preparingToStart=!1,this._logger.warning(this,"Error on Play(): "+t.name+" :: "+JSON.stringify(t)),"NotAllowedError"===t.name?(this._playbackController.setPlaybackState($n.BUFFERING),this._videoObject.muted=!0,this._main.dispatchEvent("playbackForceMute",{ref:this._main})):console.warn(t)})));else if(this._main.getPlaybackController().getPlaybackState()==$n.PLAYING)if(r<t)this._debug&&this._logger.decoratedLog("Buffer empty","dark-green"),this._playbackController.setPlaybackState($n.BUFFERING),this._main.dispatchEvent("bufferingStart",{ref:this._main}),this._degradeChargeMeter.addEntry(),this._videoObject.pause();else if(i<r&&!this._seekCooldown.isCooling()&&!this._rateCooldown.isCooling()){var s=this._videoObject.buffered.end(this._videoObject.buffered.length-1)-e;let t=s;for(let e=0;e<this._videoObject.buffered.length;e++){var a=this._videoObject.buffered.start(e),o=this._videoObject.buffered.end(e);if(a<=s&&s<=o){t=s;break}}this._debug&&this._logger.decoratedLog("Seek Jump! Rate set to 1.0","dark-green"),this._videoObject.currentTime=t,this._videoObject.playbackRate=1,this._seekCooldown.triggerCooldown(),this._rateCooldown.triggerCooldown()}else e<r&&!fr.isNear(r,e,this._targetMargin)?(.9==this._videoObject.playbackRate&&(this._videoObject.playbackRate=1,this._debug&&this._logger.decoratedLog("Playback Speed: 1.0","dark-green"),this._rateCooldown.triggerCooldown()),1!=this._videoObject.playbackRate||this._rateCooldown.isCooling()||(this._videoObject.playbackRate=1.1,this._debug&&this._logger.decoratedLog("Playback Speed: 1.1","dark-green"),this._rateCooldown.triggerCooldown())):r<e&&!fr.isNear(r,e,this._targetMargin)?(1.1==this._videoObject.playbackRate&&(this._debug&&this._logger.decoratedLog("Playback Speed: 1.0","dark-green"),this._videoObject.playbackRate=1,this._rateCooldown.triggerCooldown()),1!=this._videoObject.playbackRate||this._rateCooldown.isCooling()||(this._debug&&this._logger.decoratedLog("Playback Speed: 0.9","dark-green"),this._videoObject.playbackRate=.9,this._rateCooldown.triggerCooldown())):fr.isNear(r,e,this._targetMargin)&&1!=this._videoObject.playbackRate&&(this._debug&&this._logger.decoratedLog("Playback Speed: 1.0","dark-green"),this._videoObject.playbackRate=1,this._rateCooldown.triggerCooldown(),this._marginEnlargedCount++,10<this._marginEnlargedCount)&&(this._marginEnlargedCount=0);2<=this._degradeChargeMeter.getCurrentCount()&&(this._degradeChargeMeter.reset(),this._bitrateCooldown.triggerCooldown(),r=0!=(i=null!=(t=Number(null==(n=this._main.getStorageManager())?void 0:n.getField("fakeBandwidthCap")))?t:0)?i:Math.round((this._bandwidthMeter.maxBandwidth+this._bandwidthMeter.currentBandwidth)/2/1024),this._main.dispatchEvent("sourceDowngrade",{ref:this._main,bandwidthCap:r}),0!=i)&&null!=(e=this._main.getStorageManager())&&e.saveField("fakeBandwidthCap","0"),(n=(new Date).getTime())-this._lastBufferCleanupTime>=this._bufferCleanupInterval&&(this._lastBufferCleanupTime=n,this._videoObject)&&0<this._videoObject.buffered.length&&(this._shouldFlushData=!0,this.appendSourceBuffer())}}calculateBufferSize(){if(!this._videoObject||!this._videoObject.buffered.length)return 0;var t=this._videoObject.currentTime;let e=0;for(let i=0;i<this._videoObject.buffered.length;i++)if(this._videoObject.buffered.start(i)<=t&&t<=this._videoObject.buffered.end(i)){e=this._videoObject.buffered.end(i)-t;break}return e}getBufferData(){var t=new $r;return t.targetBuffer=this._main.getConfigManager().getSettingsData().getBufferData().targetValue,t.minBuffer=this._main.getConfigManager().getSettingsData().getBufferData().minValue,t.maxBuffer=this._main.getConfigManager().getSettingsData().getBufferData().maxValue,t.startBuffer=this._main.getConfigManager().getSettingsData().getBufferData().startValue,t.targetMargin=this._targetMargin,t.deviation=this._bufferAnalyser.bufferDeviation,t.bufferSize=this.calculateBufferSize(),t}feedRawData(t){this._acceptVideoData&&(0==this._dataPacketCount&&(this._dataArrivalStartTime=(new Date).getTime()),this._dataPacketCount++,this._bandwidthMeter.addReceivedBytes(8*t.byteLength),this._segmentsQueue.push(t),this.appendSourceBuffer())}block(){this._acceptVideoData=!1}pause(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];null!=this._videoObject&&this._videoObject.pause(),t=t?$n.STOPPED:$n.PAUSED;this._playbackController.setPlaybackState(t),this._bandwidthMeter.reset()}createMediaSourceObject(){return new(vr.hasMMSSupport()?(this._logger.info(this,"MMS Mode was picked for this source!"),ManagedMediaSource):(this._logger.info(this,"MSE Mode was picked for this source!"),MediaSource))}flushVideoCache(){if(null!=this._mediaSource&&null!=this._sourceBuffer&&null!=this._videoObject&&!this._sourceBuffer.updating)try{var t=this._videoObject.currentTime,e=Math.max(0,t-this._bufferTimeToKeep);0<e&&this._sourceBuffer.remove(0,e),this._shouldFlushData=!1}catch(t){this._logger.warning(this,"Error while flushingVideoCache: ".concat(t)),this._shouldFlushData=!1}}restart(){if(this._sourceBuffer&&this._mediaSource){this._sourceBuffer.updating&&this._sourceBuffer.abort();try{this._mediaSource.removeSourceBuffer(this._sourceBuffer)}catch(t){this._logger.warning(this,"Error removing source buffer: ".concat(t))}this._sourceBuffer.onupdateend=null,this._sourceBuffer=null}this._mediaSource&&"open"===this._mediaSource.readyState&&(this._mediaSource.duration=0),this._mediaSource&&("open"===this._mediaSource.readyState&&this._mediaSource.endOfStream(),this._mediaSource.onsourceopen=null,this._mediaSource=null),this._videoObject&&(this._videoObject.pause(),this._videoObject.removeAttribute("src"),this._videoObject.load(),this._videoObject.playbackRate=1),this._bufferStartTime=0,this._bufferEndTime=0,this._dataPacketCount=0,this._totalBytesReceived=0,this._segmentsQueue=[],this._acceptVideoData=!1,this._seekCooldown.reset(),this._bufferAnalyser.reset(),this._bandwidthMeter.reset(),this._degradeChargeMeter.reset(),this._bitrateCooldown.reset()}clear(){if(this._acceptVideoData=!1,this._videoObject&&this._videoObject.pause(),this._videoObject&&(this._videoObject.removeAttribute("src"),this._videoObject.load()),this._sourceBuffer&&this._mediaSource){this._sourceBuffer.updating&&this._sourceBuffer.abort();try{this._mediaSource.removeSourceBuffer(this._sourceBuffer)}catch(t){}this._sourceBuffer=null}this._mediaSource&&("open"===this._mediaSource.readyState&&this._mediaSource.endOfStream(),this._mediaSource=null),null!=this._mainTimer&&clearInterval(this._mainTimer),this._seekCooldown.reset(),this._rateCooldown.reset(),this._videoObject.playbackRate=1}}class ns{constructor(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];this._isStopped=!1,this._isStopped=t}getIfStopped(){return this._isStopped}getType(){return Ur.PAUSE}}class rs{constructor(){}getType(){return Ur.UNSUBSCRIBE}}class ss extends Yr{constructor(t,e){super(),this._bufferEndTime=0,this._bufferStartTime=0,this._debug=!1,this.onMetaData=t=>{this.restart(),this._videoObject.disableRemotePlayback=!0,this._videoObject.controls=!1,this._playbackController.setPlaybackState($n.BUFFERING)},this.onStreamStateChange=t=>{switch(t.state){case Wr.CLOSED:case Wr.STOPPED:case Wr.UNPUBLISHED:this.pause(),this._playbackController.setPlaybackState($n.STOPPED),this.restart()}},this._main=t,this._playbackController=e,this._logger=t.getLogger(),this._playerType=Fr.HLS,this._debug=null!=(t=null==(e=this._main.getConfigManager())?void 0:e.getSettingsData().getDebugData().playerUnitDebug)?t:this._debug,this.initialize()}initialize(){this._main.addEventListener("streamMetadataUpdate",this.onMetaData,!1),this._main.addEventListener("streamStateChange",this.onStreamStateChange,!1),this._main.addEventListener("playbackForcePause",this.onForcePause,!1),this._videoObject=this._main.getStageController().getScreenElement().getVideoElement(),this._bufferAnalyser=new Xr,this._bandwidthMeter=new ts(60,this._main),this._degradeChargeMeter=new es(30),this._mainTimer=setInterval((()=>{this.timerEvent()}),100)}setURL(t){this._playbackController.setPlaybackState($n.BUFFERING),this._videoObject.src=t,null!=(t=this._videoObject)&&t.play().then((()=>{})).catch((t=>{this.onPlaybackError(t)}))}onPlaybackError(t){this._logger.warning(this,"Error on Play(): "+t.name+" :: "+JSON.stringify(t)),"NotAllowedError"===t.name?(this._videoObject.muted=!0,this._main.dispatchEvent("playbackForceMute",{ref:this._main})):console.warn(t),null!=(t=this._videoObject)&&t.play().then((()=>{})).catch((t=>{this._logger.error(this,"Critical HLS Player Error")}))}calculateBufferSize(){if(!this._videoObject||!this._videoObject.buffered.length)return 0;var t=this._videoObject.currentTime;let e=0;for(let i=0;i<this._videoObject.buffered.length;i++)if(this._videoObject.buffered.start(i)<=t&&t<=this._videoObject.buffered.end(i)){e=this._videoObject.buffered.end(i)-t;break}return e}pause(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];null!=this._videoObject&&this._videoObject.pause(),t=t?$n.STOPPED:$n.PAUSED;this._playbackController.setPlaybackState(t),this._bandwidthMeter.reset()}timerEvent(){null!==this._videoObject&&(this._degradeChargeMeter.markTimestamp(),this._bandwidthMeter.markTimestamp(),this._bufferAnalyser.addEntry(this.calculateBufferSize()))}feedRawData(t){}getBufferData(){var t=new $r;return t.targetBuffer=this._main.getConfigManager().getSettingsData().getBufferData().targetValue,t.minBuffer=this._main.getConfigManager().getSettingsData().getBufferData().minValue,t.maxBuffer=this._main.getConfigManager().getSettingsData().getBufferData().maxValue,t.startBuffer=this._main.getConfigManager().getSettingsData().getBufferData().startValue,t.targetMargin=0,t.deviation=0,t.bufferSize=this.calculateBufferSize(),t}restart(){this._bufferStartTime=0,this._bufferEndTime=0,this._dataPacketCount=0,this._totalBytesReceived=0,this._bufferAnalyser.reset(),this._bandwidthMeter.reset(),this._degradeChargeMeter.reset()}clear(){this._videoObject&&this._videoObject.pause(),this._videoObject&&(this._videoObject.removeAttribute("src"),this._videoObject.load()),this._bufferAnalyser.reset(),this._bandwidthMeter.reset(),this._degradeChargeMeter.reset()}}(t=>{t.STABLE="stable",t.RISING="rising",t.FALLING="failing",t.UNKNOWN="unknown"})(Hr=Hr||{});class as{constructor(t){this.MSE_ENABLED=!0,this.HLS_ENABLED=!0,this._taskQueue=new Array,this._playbackState=$n.UNKNOWN,this._previousPlaybackState=$n.UNKNOWN,this._streamState=Wr.UNKNOWN,this._absoluteStreamTime=0,this._isWindowActive=!0,this._lastStreamKey=null,this._userReportCounter=0,this._stateDebug=!1,this._debug=!1,this._silentMode=!1,this._prevStreamState=Wr.UNKNOWN,this.visibilityChange=()=>{"hidden"===document.visibilityState?this.onWindowBlur():"visible"===document.visibilityState&&this.onWindowFocus()},this.serverConnectionRestart=t=>{t.isSilent&&(this._silentMode=!0,setTimeout((()=>{this._silentMode=!1}),5e3))},this.onServerDisconnect=()=>{var t;this._lastStreamKey=null,this.setPlaybackState($n.STOPPED),this.setStreamState(Wr.STOPPED,null!=(t=null==(t=this._selectedSource)?void 0:t.getStreamKey())?t:null)},this.onProgressEvent=t=>{var e,i,n,r,s,a;this._absoluteStreamTime=t.streamStartTime+t.streamDuration,10==this._userReportCounter&&(t=null!=(t=null==(t=null==(t=this._selectedPlayer)?void 0:t.getBufferAnalyser())?void 0:t.bufferSize)?t:0,e=null!=(e=null==(e=null==(e=this._selectedPlayer)?void 0:e.getBufferAnalyser())?void 0:e.bufferDeviation)?e:0,i=null!=(i=null==(i=this._main.getBufferAnalyser())?void 0:i.stability)?i:Vr.UNKNOWN,n=null!=(n=null==(n=this._selectedPlayer)?void 0:n.getPlaybackRate())?n:0,r=null!=(r=null==(r=this._main.getBandwidthAnalyser())?void 0:r.currentTrend)?r:Hr.UNKNOWN,s=null!=(s=null==(s=this._main.getQualityController())?void 0:s.getBandwidthCap())?s:0,a=null!=(a=null==(a=this._main.getQualityController())?void 0:a.getTimeToNextUpgrade())?a:0,t={bufferSize:Math.floor(1e4*t)/1e4,bufferDev:Math.floor(1e4*e)/1e4,bufferStability:i,playbackRate:n,bwStability:r,bwCap:s,actionTimer:a},null!=(e=this._main.getNetworkController())&&e.sendUserReportPacket(t),this._userReportCounter=0),this._userReportCounter++},this.onAuthComplete=()=>{var t;this._selectedSource=null,0<this._taskQueue.length?this._taskQueue[0].getType()==Ur.PLAY&&null!=this._lastSubscribeTask&&(t=this._taskQueue.shift(),this._taskQueue=new Array,this._taskQueue.push(this._lastSubscribeTask),null!=t)&&this._taskQueue.push(t):(null!=this._lastSubscribeTask&&this._taskQueue.push(this._lastSubscribeTask),null!=this._lastCommandTask&&this._taskQueue.push(this._lastCommandTask)),this.executeTask()},this.onSubscribeComplete=()=>{this._logger.info(this,"Subscription complete, remaining tasks: "+this._taskQueue.length),0<this._taskQueue.length&&(this._taskQueue[0].getType()==Ur.SUBSCRIBE&&(this._lastSubscribeTask=this._taskQueue.shift()),this._selectedSource=null,this.executeTask())},this.onForcePause=()=>{null!=this._lastCommandTask&&(this._recoveryTask=this._lastCommandTask),this.createPauseTask()},this.onSubscribeFailed=()=>{var t;0<this._taskQueue.length&&(this._taskQueue[0].getType()==Ur.SUBSCRIBE&&(this._lastSubscribeTask=this._taskQueue.shift()),null!=(t=this._taskQueue.shift())&&t.getType()==Ur.PLAY&&(this._lastCommandTask=t),this._selectedSource=null)},this.onStreamStateChange=t=>{var e;switch(this._streamState=t.state,t.state){case Wr.PUBLISHED:(null==(e=this._lastCommandTask)?void 0:e.getType())==Ur.PLAY&&(this._taskQueue.push(this._lastCommandTask),this.executeTask());break;case Wr.CLOSED:this._selectedSource=null;break;case Wr.NOT_FOUND:this.setPlaybackState($n.STOPPED)}this._prevStreamState=t.state},this.onWindowBlur=()=>{this._isWindowActive&&this._logger.warning(this,"Player window is no longer in focus!"),this._isWindowActive=!1},this.onWindowFocus=()=>{var t;this._isWindowActive||(null!=this._recoveryTask&&(t=this._recoveryTask,this._taskQueue.push(t),this.executeTask(),this._recoveryTask=null),this._logger.info(this,"Player window is focused again!")),this._isWindowActive=!0},this._main=t,this._logger=t.getLogger(),this._logger.info(this,"Creating new PlaybackController"),this._debug=null!=(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData().getDebugData().playbackControllerDebug)?t:this._debug,this.initialize()}initialize(){this._main.addEventListener("serverDisconnect",this.onServerDisconnect,!1),this._main.addEventListener("authorizationComplete",this.onAuthComplete,!1),this._main.addEventListener("subscriptionComplete",this.onSubscribeComplete,!1),this._main.addEventListener("subscriptionFailed",this.onSubscribeFailed,!1),this._main.addEventListener("streamStateChange",this.onStreamStateChange,!1),this._main.addEventListener("playbackForcePause",this.onForcePause,!1),this._main.addEventListener("playbackProgress",this.onProgressEvent,!1),this._main.addEventListener("serverConnectionRestart",this.serverConnectionRestart,!1),this._main.addEventListener("containerChange",(t=>{var e;null!=this._recoveryTask&&(e=this._recoveryTask,this._taskQueue.push(e),this.executeTask(),this._recoveryTask=null)}),!1);var t,e=null==(e=null==(e=this._main)?void 0:e.getConfigManager())?void 0:e.getStreamData().streamKey;e&&(null!=(t=this._main.getConfigManager())&&t.getSettingsData().autoStart?this.createSubscribeTask(e,!0):this.createSubscribeTask(e,!1)),document.addEventListener("visibilitychange",this.visibilityChange),window.addEventListener("blur",this.onWindowBlur),window.addEventListener("focus",this.onWindowFocus),null!=(t=this._main.getConfigManager())&&t.getSettingsData().autoConnect?(this._logger.info(this,"Initializing NetworkController (autoConnect is true)"),null!=(e=this._main.getNetworkController())&&e.initialize()):this._logger.warning(this,"Warning - autoConnect is set to false, switching to standby mode!")}stop(){var t;null!=(t=this._selectedPlayer)&&t.clear(),this._taskQueue=new Array,this.setPlaybackState($n.UNKNOWN),this._streamState=Wr.UNKNOWN,null!=(t=this._main.getPlaybackController())&&t.setStreamState(Wr.UNKNOWN,null!=(t=null==(t=this._selectedSource)?void 0:t.getStreamKey())?t:null),this._selectedSource=null,this._previousPlaybackState=$n.UNKNOWN,this._recoveryTask=null,this._lastCommandTask=null}wasPlayingLastTime(){let t=!1;return null!=this._lastCommandTask&&this._lastCommandTask.getType()==Ur.PLAY||t}togglePlay(){switch(this._playbackState){case $n.BUFFERING:case $n.PLAYING:this.createPauseTask();break;default:this.createPlayTask()}}createSubscribeTask(t,e){this._debug&&this._logger.decoratedLog("Subscribe: "+t,"dark-red"),this._logger.info(this,"Creating new subscribe task :: streamKey: "+t+" | autoStart: "+e+" | lastStreamKey: "+this._lastStreamKey),t==this._lastStreamKey?(this._debug&&this._logger.decoratedLog("Aborting Subscribe (already subscribed): "+t,"dark-red"),this._logger.warning(this,"Already have this subscription, aborting...")):(this._lastStreamKey=t,clearTimeout(this._subscribeCooldown),this._main.getConfigManager().getStreamData().streamKey=t,this._logger.info(this,"StreamKey registered: "+t),this._taskQueue=[],this._taskQueue.push(new _r(t)),e&&this._taskQueue.push(new jr(t)),this._subscribeCooldown=setTimeout((()=>{this.executeTask()}),30))}createPauseTask(){this._debug&&this._logger.decoratedLog("Pause","dark-red"),this._taskQueue=new Array,this._taskQueue.push(new ns),this.executeTask()}createPlayTask(){var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;null==e?null!=this._lastSubscribeTask&&(t=this._lastSubscribeTask,this._taskQueue.push(new jr(t.getStreamKey()))):(this._selectedSource=e,this._taskQueue.push(new jr(this._selectedSource.getStreamKey()))),this._debug&&this._logger.decoratedLog("Play: "+(null==(t=this._selectedSource)?void 0:t.getStreamInfo().getLabel()),"dark-red"),this.executeTask()}createUnsubscribeTask(){this._debug&&this._logger.decoratedLog("Unsubscribe","dark-red"),this._logger.info(this,"Creating Unsubscribe Task"),this._lastStreamKey=null,this._main.getConfigManager().getStreamData().streamKey=null;for(let t=0;t<this._taskQueue.length;t++)this._taskQueue.shift();this._taskQueue.push(new ns(!0)),this._taskQueue.push(new rs),this.executeTask()}executeTask(){var t;if(0<this._taskQueue.length){var e=this._taskQueue.shift();if(null!=e)switch(e.getType()){case Ur.SUBSCRIBE:var i=e;this._main.getConfigManager().getStreamData().streamKey==i.getStreamKey()&&(null!=(t=this._selectedPlayer)&&t.clear(),this._main.getNetworkController().subscribe(i.getStreamKey()),this._lastSubscribeTask=e);break;case Ur.UNSUBSCRIBE:this._logger.info(this,"Performing Unsubscribe Task"),null!=(t=this._selectedPlayer)&&t.clear(),this._main.getNetworkController().unsubscribe(),this.setPlaybackState($n.UNKNOWN),this.setStreamState(Wr.UNKNOWN,null!=(t=null==(i=this._selectedSource)?void 0:i.getStreamKey())?t:null),this._selectedSource=null,this._lastSubscribeTask=null;break;case Ur.PLAY:this._lastCommandTask=e,this._streamState==Wr.PUBLISHED&&(null==this._selectedSource&&(this._selectedSource=null!=(t=null==(i=this._main.getQualityController())?void 0:i.selectSource())?t:null),null!=this._selectedSource?(null==this._selectedPlayer?this._selectedPlayer=this.selectPlayer(this._selectedSource):this._selectedPlayer.block(),null!=this._selectedPlayer?(null!=(i=this._main.getNetworkController())&&i.playSignal(this._selectedSource),null!=(t=this._main.getQualityController())&&t.updateAutoQualityItem(this._selectedSource)):this._logger.error(this,"No compatible player for playback")):(this._logger.info(this,"No StreamData to play - restoring subscription!"),null!=this._lastSubscribeTask&&(i=this._lastSubscribeTask,this._main.getNetworkController().subscribe(i.getStreamKey()))));break;case Ur.PAUSE:if(null!=this._selectedPlayer&&null!=this._main.getNetworkController()){var n=e;switch(this._playbackState){case $n.PLAYING:case $n.BUFFERING:this._lastCommandTask=e,this._selectedPlayer.pause(n.getIfStopped()),this._main.getNetworkController().pauseSignal();break;default:this._logger.warning(this,"Incorrect state, cannot pause: "+this._playbackState)}}this.executeTask()}}else this._logger.warning(this,"No tasks to perform, waiting for user command")}selectPlayer(t){if(t.getType()===jn.STORM){if(this.MSE_ENABLED&&(vr.hasMMSSupport()||vr.hasMSESupport()))return this._logger.info(this,"MSE/MME Player was picked for this source!"),new is(this._main,this);if(this.HLS_ENABLED)return this._logger.info(this,"HLS Player was picked for this source!"),new ss(this._main,this)}return this._logger.error(this,"This device does not support any available media protocol!"),this._main.dispatchEvent("compatibilityError",{ref:this._main,message:"This device does not support any available media protocol!"}),null}setPlaybackState(t){var e,i;if(this._previousPlaybackState=this._playbackState,this._playbackState=t,this._stateDebug&&this._logger.decoratedLog("Playback State: "+t,"dark-blue"),this._logger.info(this,"Playback State Change: "+t+" (old: "+this._previousPlaybackState+")"),!this._silentMode||t!=$n.STOPPED)switch(this._main.dispatchEvent("playbackStateChange",{ref:this._main,streamKey:null!=(e=null==(e=this._selectedSource)?void 0:e.getStreamKey())?e:null,state:this._playbackState}),t){case $n.PLAYING:this._main.dispatchEvent("playbackStart",{ref:this._main,streamKey:null!=(i=null==(i=this._selectedSource)?void 0:i.getStreamKey())?i:null});break;case $n.PAUSED:this._main.dispatchEvent("playbackPause",{ref:this._main,streamKey:null!=(i=null==(i=this._selectedSource)?void 0:i.getStreamKey())?i:null});break;case $n.STOPPED:this._main.dispatchEvent("playbackStop",{ref:this._main,streamKey:null!=(i=null==(i=this._selectedSource)?void 0:i.getStreamKey())?i:null})}}setStreamState(t,e){this._stateDebug&&this._logger.decoratedLog("Stream State: "+t,"dark-orange"),this._streamState=t,this._silentMode&&(t==Wr.STOPPED||t==Wr.CLOSED)||(t===Wr.NOT_FOUND&&(this._playbackState=$n.UNKNOWN),this._main.dispatchEvent("streamStateChange",{ref:this._main,streamKey:e,state:t}))}getAbsoluteStreamTime(){return this._absoluteStreamTime}getTaskQueue(){return this._taskQueue}getPlayer(){return this._selectedPlayer}getPlaybackState(){return this._playbackState}getCurrentSourceItem(){return this._selectedSource}getStreamState(){return this._streamState}setSelectedStream(t){this._selectedSource=t}destroy(){var t;this.setStreamState(Wr.UNKNOWN,null!=(t=null==(t=this._selectedSource)?void 0:t.getStreamKey())?t:null),this.setPlaybackState($n.UNKNOWN),null!=(t=this._selectedPlayer)&&t.clear(),this._selectedPlayer=null,this._selectedSource=null,document.removeEventListener("visibilitychange",this.visibilityChange),window.removeEventListener("blur",this.onWindowBlur),window.removeEventListener("focus",this.onWindowFocus)}}(t=>{t[t.NOT_INITIALIZED=0]="NOT_INITIALIZED",t[t.STARTED=1]="STARTED",t[t.CONNECTING=2]="CONNECTING",t[t.CONNECTED=3]="CONNECTED",t[t.CLOSED=4]="CLOSED",t[t.FAILED=5]="FAILED"})(qr=qr||{});class os{constructor(){this.CONNECTION_TIMEOUT=5,this.isBinary=!0,this._connectionState=qr.NOT_INITIALIZED,this._messageCount=0,this._disconnectedByUser=!1,this._isConnected=!1,this._sequenceNumber=-1,this._isDestroyed=!1}startConnection(){this._disconnectedByUser=!1,this._messageCount=0,this._isConnected=!1,this._disconnectedByUser=!1,this._connectionState=qr.CONNECTING,this.socket=new WebSocket(this.socketURL),this.isBinary&&(this.socket.binaryType="arraybuffer"),this.socket.onopen=t=>{clearTimeout(this._connectionTimeout),this._sequenceNumber++,this._connectionState=qr.CONNECTED,this.onSocketOpen(t)},this.socket.onmessage=t=>{this._messageCount++,this.onSocketMessage(t)},this.socket.onclose=t=>{clearTimeout(this._connectionTimeout),this._connectionState==qr.CONNECTED?(this._connectionState=qr.CLOSED,this.onSocketClose(t)):this._connectionState=qr.FAILED},this.socket.onerror=t=>{if(clearTimeout(this._connectionTimeout),this._connectionState==qr.CONNECTING&&this.onSocketError(t),this._connectionState==qr.CONNECTED)try{this.socket.close()}catch(t){}},this._connectionTimeout=setTimeout((()=>{try{this.socket.close()}catch(t){}this._connectionState==qr.CONNECTING&&(this._connectionState=qr.FAILED,this.onSocketError(new ErrorEvent("connectionTimeout")))}),1e3*this.CONNECTION_TIMEOUT)}onSocketOpen(t){}onSocketClose(t){}onSocketMessage(t){}onSocketError(t){}onError(t){}sendData(t){if(this._connectionState==qr.CONNECTED&&null!==this.socket){if(null!=t)return void this.socket.send(t);this.onError("no data to send")}this.onError("socket not connected")}getConnectionState(){return this._connectionState}disconnect(){var t=!(0<arguments.length&&void 0!==arguments[0])||arguments[0];this._isConnected=!1,this._connectionState=qr.CLOSED,t&&(this._logger.warning(this,"Disconnected by user"),this._disconnectedByUser=t);try{this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close()}catch(t){}}destroy(){this._isDestroyed=!0,this._connectionState=qr.CLOSED,null!=this.socket&&(this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.close())}getSocketURL(){return this.socketURL}}class ls extends os{constructor(t,e){super(),this._logger=t.getLogger(),this._main=t,this._networkController=e,this.initialize()}initialize(){this._logger.info(this,"Starting new connection with a storm server"),this.pickServerFromList(this._main.getConfigManager().getStreamData().getServerList()),null!=this._currServer?(this.socketURL=this.createURL(this._currServer),this._logger.info(this,"Starting WebSocket connection with: ".concat(this.socketURL)),this._main.dispatchEvent("serverConnectionInitiate",{ref:this._main,serverURL:this.socketURL}),this._main.getConfigManager().getIfDemoMode()?(this._logger.warning(this,"Player is in demo mode, and will not connect with a server!"),this._main.dispatchEvent("authorizationComplete",{ref:this._main,clientIP:"127.0.0.1"})):this.startConnection()):this._logger.error(this,"Connection with the server could not be initialized!")}onSocketOpen(t){this._logger.success(this,"Connection with the server has been established!"),this._main.dispatchEvent("serverConnect",{ref:this._main,serverURL:this.socketURL,sequenceNum:this._sequenceNumber}),this._isConnected=!0}onSocketError(t){this._isConnected=!1,this._disconnectedByUser||(this._logger.error(this,"Connection with the server failed"),this._main.dispatchEvent("serverConnectionError",{ref:this._main,serverURL:this.socketURL,restart:this._main.getConfigManager().getSettingsData().getIfRestartOnError(),sequenceNum:this._sequenceNumber}),0==this._isConnected&&(this._currServer.setAsFaild(!0),this.initiateReconnect()))}onSocketClose(t){this._isConnected=!1,this._disconnectedByUser?this._logger.warning(this,"Force disconnect from server!"):(this._logger.error(this,"Connection with the server has been closed"),this._main.dispatchEvent("serverDisconnect",{ref:this._main,serverURL:this.socketURL,restart:this._main.getConfigManager().getSettingsData().getIfRestartOnError(),sequenceNum:this._sequenceNumber}),this.initiateReconnect())}onSocketMessage(t){this._isDestroyed||this._networkController.onMessage(t)}createURL(t){var e="";return(e+=t.getIfSSL()?"wss://":"ws://")+t.getHost()+":"+t.getPort()+"/"+ls.STORM_WEBSOCKET_HARNESS+"/"+t.getApplication()}initiateReconnect(){var t=this._main.getConfigManager().getSettingsData().getIfRestartOnError();let e=this._main.getConfigManager().getSettingsData().getReconnectTime();this._disconnectedByUser||t&&(null!=this._reconnectTimer&&clearTimeout(this._reconnectTimer),this._reconnectTimer=setTimeout((()=>{this.pickServerFromList(this._main.getConfigManager().getStreamData().getServerList()),null!=this._currServer&&(this._logger.info(this,"Will reconnect to the server in ".concat(e," seconds...")),this.socketURL=this.createURL(this._currServer),this._logger.info(this,"Starting WebSocket connection with: ".concat(this.socketURL)),this._main.dispatchEvent("serverConnectionInitiate",{ref:this._main,serverURL:this.socketURL}),this.startConnection())}),1e3*e))}pickServerFromList(t){let e=null;for(let i=0;i<t.length;i++)if(!t[i].getIfFaild()){e=t[i];break}null==e?(this._logger.error(this,"All connections failed!"),this._main.dispatchEvent("allConnectionsFailed",{ref:this._main,mode:"none"}),this._currServer=null):this._currServer=e}isConnectionActive(){return this._isConnected}getCurrentServer(){return this._currServer}destroy(){super.destroy(),null!=this._reconnectTimer&&clearTimeout(this._reconnectTimer)}}ls.STORM_WEBSOCKET_HARNESS="storm/v2";class hs{constructor(t,e,i,n,r){this._name=t,this._groupName=e,this._protocolVer=i,this._serverInitTime=n,this._version=r}get name(){return this._name}get group(){return this._groupName}get protocolVersion(){return this._protocolVer}get serverInitTime(){return this._serverInitTime}get version(){return this._version}}class us{constructor(t,e,i){this.name=t,this.type=i,this.dvrEnabled=e}getName(){return this.name}getType(){return this.type}getIfDVREnabled(){return this.dvrEnabled}}class ds{constructor(t){this.bitrate=0,null!=t&&(null!=t.label&&(this.label=t.label),null!=t.width&&(this.width=t.width),null!=t.height&&(this.height=t.height),null!=t.fps&&(this.fps=t.fps),null!=t.bitrate)&&(this.bitrate=t.bitrate),this.assignMonogram()}assignMonogram(){var t;null!=this.width&&null!=this.height?(t=Math.min(this.width,this.height),this.monogram=t<=360?"LQ":t<=480?"SD":t<=720?"HD":t<=1080?"FH":t<=1440?"2K":t<=2160?"4K":"UN"):this.monogram="UN"}getLabel(){return this.label}getMonogram(){return this.monogram}getWidth(){return this.width}getHeight(){return this.height}getFPS(){return this.fps}getBitrate(){return this.bitrate}toString(){return"label: "+this.label+" | width: "+this.width+" | height: "+this.height+" | bitrate: "+this.bitrate}}class cs{constructor(t,e){this.type=t,this.streamInfo=e}getType(){return this.type}getStreamInfo(){return this.streamInfo}}class ms extends cs{constructor(t,e,i){super(jn.STORM,e),this.streamKey=t,this.defaultSource=i}getStreamKey(){return this.streamKey}isDefaultSource(){return this.defaultSource}toString(){return"type: Storm | streamKey: "+this.streamKey+" | streamInfo: "+this.streamInfo.toString()}}class gs{constructor(){this._videoWidth=0,this._videoHeight=0,this._videoTimeScale=0,this._constantFrameRate=!1,this._videoDataRate=0,this._frameRate=0,this._encoder="Unknown",this._audioCodec="Unknown",this._videoCodec="Unknown",this._audioChannels=0,this._audioSampleRate=0,this._audioSampleSize=0,this._audioDataRate=0}get videoWidth(){return this._videoWidth}set videoWidth(t){this._videoWidth=t}get videoHeight(){return this._videoHeight}set videoHeight(t){this._videoHeight=t}get videoTimeScale(){return this._videoTimeScale}set videoTimeScale(t){this._videoTimeScale=t}get constantFrameRate(){return this._constantFrameRate}set constantFrameRate(t){this._constantFrameRate=t}get videoDataRate(){return this._videoDataRate}set videoDataRate(t){this._videoDataRate=t}get frameRate(){return this._frameRate}set frameRate(t){this._frameRate=t}get encoder(){return this._encoder}set encoder(t){this._encoder=t}get audioCodec(){return this._audioCodec}set audioCodec(t){this._audioCodec=t}set audioCodecID(t){this._audioCodec=10===t?"ACC":"Unknown"}get videoCodec(){return this._videoCodec}set videoCodec(t){this._videoCodec=t}set videoCodecID(t){this._videoCodec=7===t?"H.264":"Unknown"}get audioChannels(){return this._audioChannels}set audioChannels(t){this._audioChannels=t}get audioSampleRate(){return this._audioSampleRate}set audioSampleRate(t){this._audioSampleRate=t}get audioSampleSize(){return this._audioSampleSize}set audioSampleSize(t){this._audioSampleSize=t}get audioDataRate(){return this._audioDataRate}set audioDataRate(t){this._audioDataRate=t}get isVariableFPS(){return this._constantFrameRate}get nominalFPS(){return this._frameRate}toString(){return"videoWidth: ".concat(this._videoWidth," | ")+"videoHeight: ".concat(this._videoHeight," | ")+"videoTimeScale: ".concat(this._videoTimeScale," | ")+"variableFPS: ".concat(this._constantFrameRate," | ")+"nominalFPS: ".concat(this._frameRate," | ")+"encoder: ".concat(this._encoder," | ")+"audioCodec: ".concat(this._audioCodec," | ")+"videoCodec: ".concat(this._videoCodec," | ")+"audioChannels: ".concat(this._audioChannels," | ")+"audioSampleRate: ".concat(this._audioSampleRate," | ")+"audioSampleSize: ".concat(this._audioSampleSize," | ")+"audioDataRate: ".concat(this._audioDataRate)}}class ps{constructor(){this._trend=Hr.STABLE,this._trendStartTime=Date.now(),this._trendDuration=0,this.SIGNIFICANT_CHANGE_THRESHOLD=25,this.STABILITY_THRESHOLD=10,this._packetDataQueue=new Jr(20)}addEntry(t){this._packetDataQueue.enqueue(t),this.calculateTrend()}calculateTrend(){var t=this._packetDataQueue.getElements();if(t.length<2)this.updateTrend(Hr.STABLE);else{var e=t[t.length-1]-t[t.length-2];if(Math.abs(e)>this.SIGNIFICANT_CHANGE_THRESHOLD)this.updateTrend(0<e?Hr.RISING:Hr.FALLING);else{let n=!1,r=!1,s=0;for(let e=1;e<t.length;e++){var i=t[e]-t[e-1];Math.abs(i)>this.STABILITY_THRESHOLD&&(s++,0<i&&(n=!0),i<0)&&(r=!0)}0<s?n&&!r?this.updateTrend(Hr.RISING):r&&!n?this.updateTrend(Hr.FALLING):this.updateTrend(0<e?Hr.RISING:Hr.FALLING):this.updateTrend(Hr.STABLE)}}}updateTrend(t){this._trend!==t?(this._trend=t,this._trendStartTime=Date.now(),this._trendDuration=0):this._trendDuration=Date.now()-this._trendStartTime}get currentTrend(){return this._trend}get trendDuration(){return 0!=this._trendDuration?this._trendDuration/1e3:0}reset(){this._packetDataQueue=new Jr(20),this._trend=Hr.STABLE,this._trendStartTime=Date.now(),this._trendDuration=0}}class fs{constructor(t){this._isAuthorized=!1,this._currentStreamKey="none",this._lastState="",this._lastSubscribeRequestTime=0,this._isUnsubscribe=!1,this._sequenceNumber=0,this.onServerConnect=()=>{},this.onServerDisconnect=()=>{this._isAuthorized=!1,this._appData=null,this._serverInfo=null,this._lastState="none"},this.onMessage=t=>{var e,i,n;if("string"==typeof t.data){var r=JSON.parse(t.data);switch(r.packetID){case"serverHandshake":var s=r.data;this._serverInfo=new hs(s.name,s.group,s.protocolVer,s.serverTime,s.version),this._logger.info(this,"ServerData :: Server Name: "+this._serverInfo.name+" | Server Group: "+this._serverInfo.group+" | Server Version: "+this._serverInfo.version),"invalid"==s.license&&(this._logger.info(this,"Storm server license is not valid (probably expired or incorrect serial key was provided)!"),this._main.dispatchEvent("invalidLicense",{ref:this._main})),s.protocolVer!=this._main.PLAYER_PROTOCOL_VERSION&&(this._logger.error(this,"Incompatible protocol version - player is ".concat(this._main.PLAYER_PROTOCOL_VERSION,", but server is ").concat(s.protocolVer)),this._main.dispatchEvent("incompatibleProtocol",{ref:this._main,clientProtocolVer:this._main.PLAYER_PROTOCOL_VERSION,serverProtocolVersion:s.protocolVer}));break;case"appData":{s=r.data;this._appData=new us(s.name,s.dvrEnabled,s.type),this._logger.info(this,"ApplicationData :: App Name: "+this._appData.getName()+" | App Type: "+this._appData.getType());let t=null;s.tokenRequired?(null==(l=this._main.getConfigManager())?void 0:l.getStreamData().getSecurityData().securityType)==_n.TOKEN?(l=null==(l=this._main.getConfigManager())?void 0:l.getStreamData().getSecurityData().token,t={userAgent:navigator.userAgent,token:l,command:"authorize",uniq:fr.generateUniqueString(8)+"_"+Date.now().toString().slice(-5),domain:window.location.hostname}):(this._logger.error(this,"Application ".concat(s.name," requires token for authentication! Disconnecting!")),this._main.dispatchEvent("authorizationError",{ref:this._main}),this._connection.disconnect()):t={userAgent:navigator.userAgent,token:"",command:"authorize",domain:window.location.hostname},this._connection.sendData(JSON.stringify({packetID:"appAuthPacket",data:t,sequenceNumber:this._sequenceNumber++}))}break;case"authResultPacket":"success"==r.data.answer?(l=r.ip,this._isAuthorized=!0,this._logger.success(this,"Authorization with the sever is complete!"),this._main.dispatchEvent("authorizationComplete",{ref:this._main,clientIP:l})):(this._logger.error(this,"Authorization with the sever failed! Disconnecting!"),this._main.dispatchEvent("authorizationError",{ref:this._main}),this._connection.disconnect());break;case"subscriptionResultPacket":var a=r.data;if((s=null!=(l=null==(s=this._main.getConfigManager())?void 0:s.getStreamData().streamKey)?l:null)!=(l=a.streamKey))this._logger.error(this,"Subscribe result denied, original: "+s+" | packet: "+l);else if("success"==a.status)null!=a.optParameters&&(this._logger.info(this,"Optional Stream Data: "+a.optParameters),this._main.dispatchEvent("optionalStreamData",{ref:this._main,optData:a.optParameters})),this._lastState="unkown",this.parseSources(a),this.updateStreamStatus(a),this._main.dispatchEvent("subscriptionComplete",{ref:this._main,streamKey:this._currentStreamKey,sourceList:this._main.getConfigManager().getStreamData().getSourceList()});else switch(this._lastState="unkown",this._main.dispatchEvent("subscriptionFailed",{ref:this._main,streamKey:this._currentStreamKey}),a.reason){case"NOT_FOUND":this._logger.error(this,"Stream not found"),this._main.dispatchEvent("streamNotFound",{ref:this._main,streamKey:a.streamKey}),null!=(e=this._main.getPlaybackController())&&e.setStreamState(Wr.NOT_FOUND,a.streamKey);break;case"INCORRECT_STREAM_KEY":this._logger.error(this,"Stream not found (incorrect streamKey)"),this._main.dispatchEvent("streamNotFound",{ref:this._main,streamKey:a.streamKey});break;case"NOT_AUTHORIZED":this._logger.error(this,"Not authorized for play");break;default:this._logger.error(this,"Could get data from the server: "+a.reason)}break;case"unsubscribeResultPacket":this._isUnsubscribe=!1;break;case"playResultPacket":var o=r.data;if((s=null!=(l=null==(s=this._main.getConfigManager())?void 0:s.getStreamData().streamKey)?l:null)!=o.streamKey)this._logger.error(this,'Play result denied, requested streamKey: "'+s+'" | packet: '+o.streamKey);else if("success"==o.status)switch(o.streamState){case"PUBLISHED":this._logger.success(this,"Playback initialized! StreamKey: ".concat(o.streamKey)),this._main.dispatchEvent("playbackInitiate",{ref:this._main,streamKey:o.streamKey});break;case"AWAITING":null!=(i=this._main.getPlaybackController())&&i.setPlaybackState($n.STOPPED),null!=(i=this._main.getPlaybackController())&&i.setStreamState(Wr.AWAITING,o.streamKey),this._logger.info(this,"Stream is not ready yet (state: AWAITING)");break;case"NOT_PUBLISHED":null!=(i=this._main.getPlaybackController())&&i.setPlaybackState($n.STOPPED),null!=(i=this._main.getPlaybackController())&&i.setStreamState(Wr.NOT_PUBLISHED,o.streamKey);break;case"UNPUBLISHED":null!=(i=this._main.getPlaybackController())&&i.setPlaybackState($n.STOPPED),null!=(i=this._main.getPlaybackController())&&i.setStreamState(Wr.UNPUBLISHED,o.streamKey),this._logger.info(this,"Stream is not ready yet (state: UNPUBLISHED");break;case"INITIALIZED":null!=(i=this._main.getPlaybackController())&&i.setPlaybackState($n.STOPPED),null!=(i=this._main.getPlaybackController())&&i.setStreamState(Wr.INITIALIZED,o.streamKey),this._logger.info(this,"Stream is not ready yet (state: INITIALIZED/UNPUBLISHED")}else switch(o.reason){case"NOT_FOUND":this._logger.info(this,"Stream not found"),this._main.dispatchEvent("streamNotFound",{ref:this._main,streamKey:o.streamKey}),null!=(n=this._main.getPlaybackController())&&n.setStreamState(Wr.NOT_FOUND,o.streamKey);break;case"INCORRECT_STREAMKEY":this._logger.info(this,"Stream not found (incorrect streamKey)"),this._main.dispatchEvent("streamNotFound",{ref:this._main,streamKey:o.streamKey});break;case"NOT_AUTHORIZED":this._logger.info(this,"Not authorized for play")}break;case"playbackMetadata":var l=r.data;(s=new gs).videoCodecID=l.videoCodecID,s.videoWidth=l.videoWidth,s.videoHeight=l.videoHeight,s.videoDataRate=l.videoDataRate,l.constFrameRate?(s.constantFrameRate=!0,s.frameRate=l.frameRate):s.constantFrameRate=!1,s.audioCodecID=l.audioCodecID,s.audioDataRate=l.audioDataRate,s.audioSampleSize=l.audioSampleSize,s.audioSampleRate=l.audioSampleRate,s.audioChannels=l.audioChannels,this._logger.success(this,"MetaData has arrived!"),this._main.dispatchEvent("streamMetadataUpdate",{ref:this._main,metadata:s});break;case"playbackStopPacket":r.data.newState,this._logger.success(this,"Stream Stop"),this._main.dispatchEvent("streamStop",{ref:this._main,streamKey:this._currentStreamKey});break;case"playbackLinkingPacket":l=r.data,s=null!=(s=null==(s=this._connection)?void 0:s.getCurrentServer())&&s.getIfSSL()?"https://":"http://",s=(s+=(null==(h=null==(h=this._connection)?void 0:h.getCurrentServer())?void 0:h.getHost())+":"+(null==(h=null==(h=this._connection)?void 0:h.getCurrentServer())?void 0:h.getPort())+"/")+l.path,null!=(l=null==(h=this._main.getPlaybackController())?void 0:h.getPlayer())&&l.setURL(s);break;case"playbackProgress":var h=r.data;this._main.dispatchEvent("playbackProgress",{ref:this._main,streamKey:this._currentStreamKey,streamStartTime:h.streamStartTime,streamDuration:h.streamDuration,playbackStartTime:h.playbackStartTime,playbackDuration:h.playbackDuration,dvrCacheSize:h.dvrCacheSize}),this._bandwidthAnalyser.addEntry(h.recentUndeliveredPackets);break;case"subscriptionUpdatePacket":l=r.data,this._main.getStreamState(),this.parseSources(l),this.updateStreamStatus(l)}}else{var u=null==(u=this._main.getPlaybackController())?void 0:u.getPlayer();null!=u&&u.feedRawData(t.data)}},this.updateStreamStatus=t=>{var e;if(this._lastState!=t.streamState)switch(this._lastState=t.streamState,t.streamState){case"AWAITING":this._logger.success(this,"Stream is awaiting start (AWAITING)"),null!=(e=this._main.getPlaybackController())&&e.setStreamState(Wr.AWAITING,t.streamKey);break;case"NOT_PUBLISHED":this._logger.success(this,"Stream is awaiting start (NOT_PUBLISHED)"),null!=(e=this._main.getPlaybackController())&&e.setStreamState(Wr.NOT_PUBLISHED,t.streamKey);break;case"UNPUBLISHED":this._logger.success(this,"Stream has been unpublished (UNPUBLISHED)"),null!=(e=this._main.getPlaybackController())&&e.setStreamState(Wr.NOT_PUBLISHED,t.streamKey);break;case"PUBLISHED":this._logger.success(this,"Stream is published (PUBLISHED)"),null!=(e=this._main.getPlaybackController())&&e.setStreamState(Wr.PUBLISHED,t.streamKey);break;case"CLOSING":case"CLOSED":this._logger.success(this,"Stream is closed (CLOSED)"),null!=(e=this._main.getPlaybackController())&&e.setStreamState(Wr.CLOSED,t.streamKey);break;default:this._logger.success(this,"Incorrect state: "+t.streamState)}},this._main=t,this._logger=t.getLogger(),this._bandwidthAnalyser=new ps,this._main.addEventListener("serverConnect",this.onServerConnect,!1),this._main.addEventListener("serverDisconnect",this.onServerDisconnect,!1)}initialize(){this._isAuthorized=!1,null!=this._connection?this._connection.getConnectionState()==qr.CONNECTING||this._connection.getConnectionState()==qr.CONNECTED?this._logger.info(this,"Connection is alive, not doing anything!"):(this._logger.info(this,"Connection is dead, restarting!"),this._connection.startConnection()):this._connection=new ls(this._main,this)}stop(){this._connection.disconnect(!0),this._lastState="",this._isAuthorized=!1,this._serverInfo=null,this._appData=null}restart(){this._main.dispatchEvent("serverConnectionRestart",{ref:this._main,isSilent:0<arguments.length&&void 0!==arguments[0]&&arguments[0]}),this._connection.disconnect(),stop(),this._connection=new ls(this._main,this),this.subscribe(this._currentStreamKey)}subscribe(t){var e;this._isUnsubscribe?setTimeout((()=>{this.subscribe(t)}),100):(this._logger.info(this,"StreamKey registered: "+t),this._main.dispatchEvent("subscriptionStart",{ref:this._main,streamKey:t}),null!=this._connection&&this._connection.isConnectionActive()?(null,e={streamKey:t},this._currentStreamKey=t,this._lastSubscribeRequestTime=(new Date).getTime(),this._main.getConfigManager().getStreamData().streamKey=t,this._connection.sendData(JSON.stringify({packetID:"subscriptionRequestPacket",data:e,sequenceNumber:this._sequenceNumber++}))):this.initialize())}unsubscribe(){var t=this._main.getConfigManager().getStreamData().streamKey;this._isUnsubscribe=!0,this._lastState="none",null!=this._connection&&this._connection.isConnectionActive()?this._connection.sendData(JSON.stringify({packetID:"unsubscriptionRequestPacket",data:{streamKey:t},sequenceNumber:this._sequenceNumber++})):this.initialize()}playSignal(t){var e;null!=this._connection&&this._connection.isConnectionActive()?null!=(e=null==(e=this._main.getPlaybackController())?void 0:e.getPlayer())?(this._main.dispatchEvent("playbackRequest",{ref:this._main,streamKey:t.getStreamKey()}),t={protocol:"storm",streamKey:t.getStreamKey(),subscriptionKey:this._main.getConfigManager().getStreamData().streamKey,packetizer:e.getPlayerType(),startTime:0},this._connection.sendData(JSON.stringify({packetID:"playRequestPacket",data:t,sequenceNumber:this._sequenceNumber++}))):this._logger.error(this,"No player for playback"):this.initialize()}pauseSignal(){null!=this._connection&&this._connection.isConnectionActive()&&this._connection.sendData(JSON.stringify({packetID:"pauseRequestPacket",sequenceNumber:this._sequenceNumber++}))}parseSources(t){var e=new Array;for(let n=0;n<t.streamList.length;n++){var i=new ds(t.streamList[n].streamInfo);i=new ms(t.streamList[n].streamKey,i,!1);e.push(i)}this._main.getConfigManager().getStreamData().sourceList=e,this._main.dispatchEvent("sourceListUpdate",{ref:this._main,sourceList:e})}sendUserReportPacket(t){this._connection.isConnectionActive()&&this._connection.sendData(JSON.stringify({packetID:"userReportPacket",data:t,sequenceNumber:this._sequenceNumber++}))}getLastSubscribeRequestTime(){return this._lastSubscribeRequestTime}getIfAuthorized(){return this._isAuthorized}getConnection(){return this._connection}getBandwidthAnalyser(){return this._bandwidthAnalyser}getServerInfo(){return this._serverInfo}}class ys{constructor(t,e,i){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:1;if(this._currentX=0,this._isFullyDrawn=!1,this._lastTimestamp=null,this._isTimemarkLine=!1,this._borderWidth=1,i.length!==e.length+1)throw new Error("Colors array must have exactly ".concat(e.length+1," elements (one more than valueRanges)"));for(let t=1;t<e.length;t++)if(e[t]<=e[t-1])throw new Error("ValueRanges must be in ascending order");let r,s=/^#[0-9A-Fa-f]{6}$/;if(!i.every((t=>s.test(t))))throw new Error("All colors must be in valid hex format (e.g., #FF0000)");if("string"==typeof t){var a=document.getElementById(t);if(!a)throw new Error("Container element with id ".concat(t," not found"));r=a}else r=t;if(a=r.getBoundingClientRect(),this._width=Math.floor(a.width),this._height=Math.floor(a.height),this._effectiveWidth=this._width-2*this._borderWidth,this._effectiveHeight=this._height-2*this._borderWidth,this._canvas=document.createElement("canvas"),r.appendChild(this._canvas),!(t=this._canvas.getContext("2d",{willReadFrequently:!0})))throw new Error("Failed to get canvas context");this._ctx=t,this._valueRanges=[0,...e],this._colors=i,this._lineWidth=n,this._canvas.width=this._width,this._canvas.height=this._height,this._canvas.style.width="".concat(this._width,"px"),this._canvas.style.height="".concat(this._height,"px"),this.clear()}drawBorder(){this._ctx.strokeStyle="#000000",this._ctx.lineWidth=this._borderWidth,this._ctx.strokeRect(this._borderWidth/2,this._borderWidth/2,this._width-this._borderWidth,this._height-this._borderWidth)}clear(){this._ctx.clearRect(0,0,this._width,this._height),this._ctx.fillStyle=this._colors[0],this._ctx.fillRect(this._borderWidth,this._borderWidth,this._effectiveWidth,this._effectiveHeight),this.drawBorder(),this._isFullyDrawn=!1,this._currentX=this._borderWidth,this._lastTimestamp=null,this._isTimemarkLine=!1}getColorIndices(t){for(let e=0;e<this._valueRanges.length-1;e++)if(t>=this._valueRanges[e]&&t<=this._valueRanges[e+1])return{lowerIndex:e,upperIndex:e+1};return{lowerIndex:this._valueRanges.length-2,upperIndex:this._valueRanges.length-1}}calculateHeightRatio(t,e,i){return(t-e)/(i-e)}shiftCanvasLeft(t){t=this._ctx.getImageData(this._borderWidth+t,this._borderWidth,this._effectiveWidth-t,this._effectiveHeight),this._ctx.fillStyle=this._colors[0],this._ctx.fillRect(this._borderWidth,this._borderWidth,this._effectiveWidth,this._effectiveHeight),this._ctx.putImageData(t,this._borderWidth,this._borderWidth),this.drawBorder()}applyOverlayEffect(t){let e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.5;var i=parseInt(t.slice(1,3),16),n=parseInt(t.slice(3,5),16),r=(t=parseInt(t.slice(5,7),16),t=>{var i=t/255;let n;return n=i<=.5?2*i*1:1-2*(1-i)*0,Math.round(255*n*e+t*(1-e))});i=r(i),n=r(n),r=r(t);return"#".concat((t=t=>1===(t=t.toString(16)).length?"0"+t:t)(i)).concat(t(n)).concat(t(r))}addEntry(t){t=Math.round(100*t)/100;var e=Date.now();null===this._lastTimestamp?(this._lastTimestamp=e,this._isTimemarkLine=!1):1e3<=e-this._lastTimestamp?(this._isTimemarkLine=!0,this._lastTimestamp=e):this._isTimemarkLine=!1,e=this._isTimemarkLine?1:this._lineWidth;!this._isFullyDrawn&&this._currentX>=this._width-this._borderWidth&&(this._isFullyDrawn=!0),this._isFullyDrawn?(this.shiftCanvasLeft(e),this.drawLine(this._width-this._borderWidth-e,t,e)):(this.drawLine(this._currentX,t,e),this._currentX+=e)}drawLine(t,e,i){var{lowerIndex:n,upperIndex:r}=this.getColorIndices(e);e=this.calculateHeightRatio(e,this._valueRanges[n],this._valueRanges[r]);let s=this._colors[n],a=this._colors[r];this._isTimemarkLine&&(s=this.applyOverlayEffect(s,.3),a=this.applyOverlayEffect(a,.3)),n=Math.round(this._effectiveHeight*e),r=this._effectiveHeight-n,this._ctx.fillStyle=s,this._ctx.fillRect(t,this._height-this._borderWidth-r,i,r),this._ctx.fillStyle=a,this._ctx.fillRect(t,this._borderWidth,i,n)}clearGraph(){this._currentX=this._borderWidth,this._isFullyDrawn=!1,this._lastTimestamp=null,this._isTimemarkLine=!1,this.clear()}destroy(){this._canvas.parentNode&&this._canvas.parentNode.removeChild(this._canvas)}}class vs{constructor(t,e,i){this._interval=-1,this._intervalValue=50,this._main=t,this._object=e,this._intervalValue=i,this._main.addGraph(this)}start(){var t,e;return null!=this._graph&&stop(),null!=this._main.getConfigManager()&&(t=[this._main.getConfigManager().getSettingsData().getBufferData().minValue,this._main.getConfigManager().getSettingsData().getBufferData().startValue,this._main.getConfigManager().getSettingsData().getBufferData().targetValue-.1,this._main.getConfigManager().getSettingsData().getBufferData().targetValue,this._main.getConfigManager().getSettingsData().getBufferData().targetValue+.1,this._main.getConfigManager().getSettingsData().getBufferData().maxValue],e=["#000000","#1b4386","#3b86bb","#6bc2a5","#e5f69b","#fab067","#fa6767"],this._graph=new ys(this._object,t,e),this._interval=setInterval((()=>{null!=this._graph&&null!=this._main.getBufferAnalyser()&&this._graph.addEntry(this._main.getBufferAnalyser().bufferSize)}),this._intervalValue)),this}stop(){return clearInterval(this._interval),null!=this._graph&&this._graph.destroy(),this._graph=null,this}}class bs{constructor(t,e,i){this._interval=-1,this._intervalValue=50,this._main=t,this._object=e,this._intervalValue=i,this._main.addGraph(this)}start(){var t,e;return null!=this._graph&&stop(),null!=this._main.getConfigManager()&&(t=[1e6,2e6,3e6,5e6,6e6,7e6],e=["#000000","#0a3980","#2793dd","#3bc39c","#c3df3e","#f89539","#f83f3f"],this._graph=new ys(this._object,t,e),this._interval=setInterval((()=>{null!=this._graph&&null!=this._main.getBandwidthMeter()&&this._graph.addEntry(this._main.getBandwidthMeter().currentBandwidth)}),this._intervalValue)),this}stop(){return clearInterval(this._interval),null!=this._graph&&this._graph.destroy(),this._graph=null,this}}class Ss{constructor(t,e,i){this._interval=-1,this._intervalValue=50,this._main=t,this._object=e,this._intervalValue=i,this._main.addGraph(this)}start(){var t,e;return null!=this._graph&&stop(),null!=this._main.getConfigManager()&&(t=[.02,.05],e=["#2bbf22","#d8ba14","#d33423"],this._graph=new ys(this._object,t,e),this._interval=setInterval((()=>{null!=this._graph&&null!=this._main.getBufferAnalyser()&&this._graph.addEntry(this._main.getBufferAnalyser().bufferDeviation)}),this._intervalValue)),this}stop(){return clearInterval(this._interval),null!=this._graph&&this._graph.destroy(),this._graph=null,this}}class Cs{constructor(t,e,i){this._isSelected=!1,this._isAuto=!1,this._id=t,this._label=e,this._monogram=i}get isSelected(){return this._isSelected}set isSelected(t){this._isSelected=t}get label(){return this._label}set label(t){this._label=t}get id(){return this._id}get monogram(){return this._monogram}set monogram(t){this._monogram=t}get isAuto(){return this._isAuto}set isAuto(t){this._isAuto=!0}}class ws{constructor(t){this._initialUpgradeTimeout=0,this._maxUpgradeTimeout=0,this._qualityControlMode=Xn.PASSIVE,this._upgradeTimeout=0,this._lastDowngradeTime=0,this._failedUpgradeAttempts=0,this._lastUpgradeTime=0,this._bandwidthCapValue=0,this._preselectedResolution=0,this._upgradeAttempts=0,this._rapidFailure=0,this._sourceListSize=0,this._resizeCooldown=new Qr(30),this._savedResolutionWidth=0,this._savedResolutionHeight=0,this._debug=!1,this.createQualityList=()=>{this._qualityItemList=new Array,this._qualityItemList.push(this._autoQualityItem);let t=0,e=null!=(i=null==(i=null==(i=this._main)?void 0:i.getPlaybackController())?void 0:i.getCurrentSourceItem())?i:null;var i,n=[...null!=(i=null==(i=null==(i=this._main.getConfigManager())?void 0:i.getStreamData())?void 0:i.getSourceList())?i:[]].sort(((t,e)=>e.getStreamInfo().getHeight()-t.getStreamInfo().getHeight()));let r=!0;if(null!=e){r=!1;for(let t=0;t<n.length;t++)if(n[t].getStreamKey()==e.getStreamKey()){r=!0;break}r||(e=this.selectSource(),null!=(i=this._main.getPlaybackController())&&i.setSelectedStream(e),(null==(i=this._main.getPlaybackController())?void 0:i.getStreamState())==Wr.PUBLISHED&&null!=(i=this._main.getPlaybackController())&&i.wasPlayingLastTime()&&null!=(i=this._main.getPlaybackController())&&i.createPlayTask(e))}n.length>this._sourceListSize&&(null==(i=this.selectSource())?void 0:i.getStreamKey())!=(null==e?void 0:e.getStreamKey())&&(e=i,(null==(i=this._main.getPlaybackController())?void 0:i.getStreamState())==Wr.PUBLISHED)&&null!=(i=this._main.getPlaybackController())&&i.wasPlayingLastTime()&&null!=(i=this._main.getPlaybackController())&&i.createPlayTask(e);for(let e=0;e<n.length;e++){var s=n[e].getStreamInfo().getLabel(),a=n[e].getStreamInfo().getMonogram();let i=!1;if(0<this._qualityItemList.length)for(let t=0;t<this._qualityItemList.length;t++)if(this._qualityItemList[t].label==s){i=!0;break}0==i&&(t++,this._qualityItemList.push(new Cs(t,s,a)))}if(null!=e&&null!=e.getStreamInfo()&&0==this._autoQualityItem.isSelected)for(let t=0;t<this._qualityItemList.length;t++)if(this._qualityItemList[t].label==e.getStreamInfo().getLabel()){this._qualityItemList[t].isSelected=!0;break}this._sourceListSize=n.length,this._main.dispatchEvent("qualityListUpdate",{ref:this._main,qualityList:this._qualityItemList})},this.downgradeSourceItem=t=>{this._bandwidthCapValue=t.bandwidthCap,null!=(t=this._main.getStorageManager())&&t.saveField("bandwidthCapValue",this._bandwidthCapValue.toString()),null!=(t=this._main.getStorageManager())&&t.saveField("bandwidthCapTime",(new Date).getTime().toString());var e=(t=Math.round((new Date).getTime()/1e3))-this._lastUpgradeTime,i=t-this._lastDowngradeTime;i=(t=(0===this._lastDowngradeTime?(this._upgradeTimeout=this._initialUpgradeTimeout,this._upgradeAttempts=0,this._failedUpgradeAttempts=0,this._rapidFailure=0):i>this._upgradeTimeout?(this._upgradeAttempts=0,this._failedUpgradeAttempts=0,this._upgradeTimeout=this._initialUpgradeTimeout,this._rapidFailure=0):0!==this._lastUpgradeTime&&e<this._upgradeTimeout?(this._failedUpgradeAttempts=this._failedUpgradeAttempts+1,this._rapidFailure=0,this._upgradeTimeout=Math.pow(2,this._failedUpgradeAttempts+3)*this._initialUpgradeTimeout,this._lastUpgradeTime=0):this._rapidFailure<5?this._rapidFailure++:(this._rapidFailure=0,this._failedUpgradeAttempts++,this._upgradeTimeout=Math.pow(2,this._failedUpgradeAttempts+3)*this._initialUpgradeTimeout),this._upgradeTimeout>this._maxUpgradeTimeout&&(this._upgradeTimeout=this._maxUpgradeTimeout),this._lastDowngradeTime=t,this.saveQualityData(),null!=(e=null==(i=this._main.getConfigManager())?void 0:i.getStreamData().getSourceList())?e:[])).reduce(((t,e)=>t.getStreamInfo().getBitrate()>e.getStreamInfo().getBitrate()?e:t));(e=null!=(e=null==(e=null==(e=this._main)?void 0:e.getPlaybackController())?void 0:e.getCurrentSourceItem())?e:null)&&e.getStreamInfo().getBitrate()<=i.getStreamInfo().getBitrate()?this._logger.info(this,"Already playing lowest bitrate source, skipping downgrade"):this._main.getPlaybackState()!==$n.PLAYING&&this._main.getPlaybackState()!==$n.BUFFERING||(0<(e=t.filter((t=>t.getStreamInfo().getBitrate()<=this._bandwidthCapValue))).length?(t=e.reduce(((t,e)=>t.getStreamInfo().getBitrate()<e.getStreamInfo().getBitrate()?e:t)),this._debug&&this._logger.decoratedLog("Quality Downgrade Triggered: "+t.getStreamInfo().getLabel()+", cap: "+this._bandwidthCapValue.toFixed(0)+"kbps","dark-yellow"),null!=(e=null==(e=this._main.getStageController())?void 0:e.getScreenElement())&&e.createBlackBackground(),null!=(e=this._main.getPlaybackController())&&e.createPlayTask(t),null!=(e=this._main.getNetworkController())&&e.restart(!0)):(this._debug&&this._logger.decoratedLog("Quality Downgrade Triggered: "+i.getStreamInfo().getLabel()+", cap: "+this._bandwidthCapValue.toFixed(0)+"kbps","dark-yellow"),null!=(e=null==(t=this._main.getStageController())?void 0:t.getScreenElement())&&e.createBlackBackground(),null!=(t=this._main.getPlaybackController())&&t.createPlayTask(i)))},this.onAuthorizationComplete=t=>{var e=null!=(e=null==(e=this._main.getStorageManager())?void 0:e.getField("savedLocalIP"))?e:null;null!=e&&e!=t.clientIP&&(null!=(e=this._main.getStorageManager())&&e.saveField("upgradeTimeout","0"),null!=(e=this._main.getStorageManager())&&e.saveField("lastDowngradeTime","0"),null!=(e=this._main.getStorageManager())&&e.saveField("failedUpgradeAttempts","0"),null!=(e=this._main.getStorageManager())&&e.saveField("bandwidthCapValue","0"),null!=(e=this._main.getStorageManager()))&&e.saveField("upgradeAttempts","0"),null!=(e=this._main.getStorageManager())&&e.saveField("savedLocalIP",t.clientIP)},this.onSubscribeComplete=()=>{this.loadQualityData(),this._resizeCooldown.reset()},this.onProgressEvent=t=>{if(0<this._bandwidthCapValue&&0===this._preselectedResolution&&0<this._lastDowngradeTime){var e=Math.round((new Date).getTime()/1e3);let t=null!=(r=null==(r=null==(r=this._main)?void 0:r.getPlaybackController())?void 0:r.getCurrentSourceItem())?r:null;var i,n,r=this.selectSource(!1);e-this._lastDowngradeTime<this._upgradeTimeout||(null==(i=this._main.getBandwidthAnalyser())||i.trendDuration,i=null!=(i=null==(i=this._main.getBandwidthAnalyser())?void 0:i.currentTrend)?i:Hr.RISING,n=null!=(n=null==(n=this._main.getBufferAnalyser())?void 0:n.stability)?n:Vr.BAD,this.saveQualityData(),i!=Hr.STABLE)||n!=Vr.GOOD&&n!=Vr.MEDIUM||(n=null==(i=this._main.getConfigManager())?void 0:i.getStreamData().getSourceList())&&t&&(-1!==(n=(i=[...n].sort(((t,e)=>t.getStreamInfo().getBitrate()-e.getStreamInfo().getBitrate()))).findIndex((e=>e.getStreamInfo().getBitrate()===(null==t?void 0:t.getStreamInfo().getBitrate()))))&&n<i.length-1?(n=(i=i[n+1]).getStreamInfo().getBitrate(),null!=r&&0!==n&&i.getStreamInfo().getHeight()<=(null==(r=null==r?void 0:r.getStreamInfo())?void 0:r.getHeight())?(this._debug&&this._logger.decoratedLog("Quality Upgrade Triggered: "+i.getStreamInfo().getLabel(),"dark-yellow"),this._bandwidthCapValue=1.2*n,null!=(r=this._main.getStorageManager())&&r.saveField("bandwidthCapValue",this._bandwidthCapValue.toString()),this._logger.info(this,"Quality Upgrade :: Next quality found, bandwidthCap increased to: "+this._bandwidthCapValue),this._lastDowngradeTime=e,this._upgradeTimeout=this._initialUpgradeTimeout,this._upgradeAttempts++,this._lastUpgradeTime=e,this.saveQualityData(),this._main.getPlaybackState()!==$n.PLAYING&&this._main.getPlaybackState()!==$n.BUFFERING||(this.updateAutoQualityItem(i),null!=(n=this._main.getPlaybackController())&&n.createPlayTask(i))):(this._logger.info(this,"Quality Upgrade :: Next quality is above 720p or has invalid bitrate - aborting..."),this._lastDowngradeTime=0,this._upgradeTimeout=0)):this._logger.info(this,"Quality Upgrade :: No higher quality found - aborting..."))}},this._main=t,this._logger=t.getLogger(),this._logger.info(this,"Creating new QualityController"),this._qualityItemList=new Array,this._qualityControlMode=null!=(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData().getQualityData().qualityControlMode)?t:Xn.PASSIVE,this._initialUpgradeTimeout=null!=(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData().getQualityData().initialUpgradeTimeout)?t:30,this._maxUpgradeTimeout=null!=(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData().getQualityData().maxUpgradeTimeout)?t:3600,this._upgradeTimeout=this._initialUpgradeTimeout,this._debug=null!=(t=null==(t=this._main.getConfigManager())?void 0:t.getSettingsData().getDebugData().qualityControllerDebug)?t:this._debug,this.initialize()}initialize(){var t;this._autoQualityItem=new Cs(0,"Auto",""),this._autoQualityItem.isAuto=!0,this.loadQualityData(),this._main.addEventListener("authorizationComplete",this.onAuthorizationComplete,!1),this._main.addEventListener("subscriptionComplete",this.onSubscribeComplete,!1),this._main.addEventListener("playbackProgress",this.onProgressEvent,!1),this._main.addEventListener("sourceDowngrade",this.downgradeSourceItem,!1),this._main.addEventListener("sourceListUpdate",this.createQualityList,!1),this._main.addEventListener("resizeUpdate",zr((()=>{this.onLibraryResize()}),2e3,{leading:!1,trailing:!0}),!1),this._preselectedResolution=Number(null==(t=this._main.getStorageManager())?void 0:t.getField("preselectedResolution")),0==this._preselectedResolution&&(this._autoQualityItem.isSelected=!0)}selectSource(){var t=!(0<arguments.length&&void 0!==arguments[0])||arguments[0],e=null==(e=this._main.getConfigManager())?void 0:e.getStreamData().getSourceList();return e&&0!==e.length?0===this._preselectedResolution?this.selectAutoSource(e,t):this.selectManualSource(e):null}selectAutoSource(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];switch(this._qualityControlMode){case Xn.PASSIVE:{let n=e?this.filterByBandwidth(t):t,r=(0===n.length&&(n=t),this._savedResolutionWidth),s=this._savedResolutionHeight;var i=n.filter((t=>{var e=t.getStreamInfo().getWidth()/1.2;t=t.getStreamInfo().getHeight()/1.2;return e<=r&&t<=s}));if(0<i.length){let t=this.selectHighestQualitySource(i);return e&&this.updateAutoQualityItem(t),t}if(0<n.length){let t=this.selectLowestQualitySource(n);return e&&this.updateAutoQualityItem(t),t}let a=this.selectLowestQualitySource(t);return e&&this.updateAutoQualityItem(a),a}case Xn.RESOLUTION_AWARE:{i=e?this.filterByBandwidth(t):t;let r=this._main.getWidth(),s=this._main.getHeight();var n=i.filter((t=>{var e=t.getStreamInfo().getWidth()/1.5;t=t.getStreamInfo().getHeight()/1.5;return e<=r&&t<=s}));if(0<n.length){let t=this.selectHighestQualitySource(n);return e&&this.updateAutoQualityItem(t),t}if(0<i.length){let t=this.selectLowestQualitySource(i);return e&&this.updateAutoQualityItem(t),t}let a=this.selectLowestQualitySource(t);return e&&this.updateAutoQualityItem(a),a}case Xn.LOWEST_QUALITY:{let i=this.selectLowestQualitySource(t);return e&&this.updateAutoQualityItem(i),i}case Xn.HIGHEST_QUALITY:{if(0==(n=e?this.filterByBandwidth(t):t).length){let i=this.selectLowestQualitySource(t);return e&&this.updateAutoQualityItem(i),i}let i=this.selectHighestQualitySource(n);return e&&this.updateAutoQualityItem(i),i}}let r=this.selectLowestQualitySource(t);return e&&this.updateAutoQualityItem(r),r}selectManualSource(t){let e=[...t].sort(((t,e)=>Math.abs(t.getStreamInfo().getHeight()-this._preselectedResolution)-Math.abs(e.getStreamInfo().getHeight()-this._preselectedResolution)))[0];return this._autoQualityItem.isSelected=!1,this._autoQualityItem.label="Auto",this._bandwidthCapValue=0,null!=(t=this._main.getStorageManager())&&t.saveField("bandwidthCapValue","0"),this._qualityItemList.forEach((t=>{t.isAuto||(t.label===e.getStreamInfo().getLabel()?t.isSelected=!0:t.isSelected=!1)})),this._main.dispatchEvent("qualityListUpdate",{ref:this._main,qualityList:this._qualityItemList}),e}updateAutoQualityItem(t){this._autoQualityItem&&(this._autoQualityItem.label="Auto (".concat(t.getStreamInfo().getLabel(),")"),this._autoQualityItem.monogram=t.getStreamInfo().getMonogram()),this._main.dispatchEvent("qualityListUpdate",{ref:this._main,qualityList:this._qualityItemList})}playQualityItemByID(t){var e,i,n=null!=(e=null==(e=this._main.getConfigManager())?void 0:e.getStreamData().getSourceList())?e:[];let r=null;for(let e=0;e<this._qualityItemList.length;e++)this._qualityItemList[e].id==t?(r=this._qualityItemList[e]).isSelected=!0:this._qualityItemList[e].isSelected=!1;if(null!=r)if(null!=(e=null==(e=this._main.getStageController())?void 0:e.getScreenElement())&&e.createBlackBackground(),r.isAuto)this._preselectedResolution=0,null!=(e=this._main.getStorageManager())&&e.saveField("preselectedResolution",this._preselectedResolution.toString()),this._autoQualityItem.isSelected=!0,null!=(e=null==(e=this._main.getStageController())?void 0:e.getScreenElement())&&e.createBlackBackground(),null!=(e=this._main.getPlaybackController())&&e.createPlayTask(this.selectSource());else if(0<n.length)for(let t=0;t<n.length;t++)if(n[t].getStreamInfo().getLabel()==r.label){this._autoQualityItem.label="Auto",this._preselectedResolution=n[t].getStreamInfo().getHeight(),null!=(i=this._main.getStorageManager())&&i.saveField("preselectedResolution",this._preselectedResolution.toString()),null!=(i=null==(i=this._main.getStageController())?void 0:i.getScreenElement())&&i.createBlackBackground(),null!=(i=this._main.getPlaybackController())&&i.createPlayTask(n[t]);break}return this._main.dispatchEvent("qualityListUpdate",{ref:this._main,qualityList:this._qualityItemList}),!1}reduceUpgradeTimeout(t){this._upgradeTimeout=Math.max(1,this._upgradeTimeout-t),this.saveQualityData()}onLibraryResize(){var t,e,i;vr.isMobile()||this._qualityControlMode==Xn.RESOLUTION_AWARE&&(i=this._main.getPlaybackState(),this._savedResolutionWidth=this._main.getWidth(),this._savedResolutionHeight=this._main.getHeight(),this._debug&&this._logger.decoratedLog("Updating Quality to resolution: "+this._savedResolutionWidth+"x"+this._savedResolutionHeight,"dark-yellow"),null!=(t=this._main.getStorageManager())&&t.saveField("resolutionWidth",this._savedResolutionWidth.toString()),null!=(t=this._main.getStorageManager())&&t.saveField("resolutionHeight",this._savedResolutionHeight.toString()),i===$n.PLAYING||i===$n.BUFFERING)&&0==this._preselectedResolution&&(t=this.selectSource(),i=this.selectSource(!1),e=null!=(e=null==(e=null==(e=this._main)?void 0:e.getPlaybackController())?void 0:e.getCurrentSourceItem())?e:null,t!=i&&0==this.getTimeToNextUpgrade()&&(i=Math.round((new Date).getTime()/1e3),this._lastDowngradeTime=i,this._upgradeTimeout=this._initialUpgradeTimeout,this.saveQualityData()),null!=t)&&t!=e&&(this.updateAutoQualityItem(t),null!=(e=null==(i=this._main.getStageController())?void 0:i.getScreenElement())&&e.createBlackBackground(),null!=(e=null==(i=this._main)?void 0:i.getPlaybackController()))&&e.createPlayTask(t)}saveQualityData(){var t;this._qualityControlMode!=Xn.PASSIVE&&(null!=(t=this._main.getStorageManager())&&t.saveField("upgradeTimeout",this._upgradeTimeout.toString()),null!=(t=this._main.getStorageManager())&&t.saveField("lastDowngradeTime",this._lastDowngradeTime.toString()),null!=(t=this._main.getStorageManager())&&t.saveField("lastUpgradeTime",this._lastUpgradeTime.toString()),null!=(t=this._main.getStorageManager())&&t.saveField("upgradeAttempts",this._upgradeAttempts.toString()),null!=(t=this._main.getStorageManager())&&t.saveField("failedUpgradeAttempts",this._failedUpgradeAttempts.toString()),null!=(t=this._main.getStorageManager()))&&t.saveField("bandwidthCapValue",this._bandwidthCapValue.toString())}loadQualityData(){var t;(t=((t=((t=((t=((t=((t=((t=((t=null==(t=this._main.getStorageManager())?void 0:t.getField("upgradeTimeout"))&&(this._upgradeTimeout=Number(t)),null==(t=this._main.getStorageManager())?void 0:t.getField("lastDowngradeTime")))&&(this._lastDowngradeTime=Number(t)),null==(t=this._main.getStorageManager())?void 0:t.getField("lastUpgradeTime")))&&(this._lastUpgradeTime=Number(t)),null==(t=this._main.getStorageManager())?void 0:t.getField("upgradeAttempts")))&&(this._upgradeAttempts=Number(t)),null==(t=this._main.getStorageManager())?void 0:t.getField("failedUpgradeAttempts")))&&(this._failedUpgradeAttempts=Number(t)),null==(t=this._main.getStorageManager())?void 0:t.getField("bandwidthCapValue")))&&(this._bandwidthCapValue=Number(t)),Number(null==(t=this._main.getStorageManager())?void 0:t.getField("resolutionWidth"))))&&(this._savedResolutionWidth=t),Number(null==(t=this._main.getStorageManager())?void 0:t.getField("resolutionHeight"))))&&(this._savedResolutionHeight=t)}filterByBandwidth(t){return 0===this._bandwidthCapValue?[...t]:t.filter((t=>t.getStreamInfo().getBitrate()<=this._bandwidthCapValue))}selectHighestQualitySource(t){return t.reduce(((t,e)=>t.getStreamInfo().getHeight()<e.getStreamInfo().getHeight()?e:t))}selectLowestQualitySource(t){return t.reduce(((t,e)=>t.getStreamInfo().getHeight()>e.getStreamInfo().getHeight()?e:t))}findClosestResolutionSource(t,e){return t.reduce(((t,i)=>{var n=Math.abs(t.getStreamInfo().getHeight()-e);return Math.abs(i.getStreamInfo().getHeight()-e)<n?i:t}))}getBandwidthCap(){return this._bandwidthCapValue}getQualityItemList(){return this._qualityItemList}getQualityControlMode(){return this._qualityControlMode}setQualityControlMode(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];this._qualityControlMode=t,this._debug&&this._logger.decoratedLog("Quality Control Mode: "+t,"dark-yellow"),e&&null!=(t=this.selectSource())&&t!=(null==(e=this._main.getPlaybackController())?void 0:e.getCurrentSourceItem())&&(this.updateAutoQualityItem(t),null!=(e=this._main.getPlaybackController()))&&e.createPlayTask(t)}getTimeToNextUpgrade(){var t=Math.round((new Date).getTime()/1e3);return 0===this._lastDowngradeTime?0:(t-=this._lastDowngradeTime,Math.max(0,this._upgradeTimeout-t))}}class Es extends pr{constructor(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];super(),this.DEV_MODE=!0,this.LIBRARY_VERSION="5.0.0-rc.6",this.COMPILE_DATE="9/24/2025, 1:08:56 PM",this.LIBRARY_BRANCH="Experimental",this.PLAYER_PROTOCOL_VERSION=1,this._initialized=!1,"undefined"!=typeof window&&window.document&&window.document.createElement?(!this.DEV_MODE||"StormLibraryArray"in window||(window.StormLibraryArray=[]),window.StormLibraryArray.push(this),this._libraryID=Es.NEXT_LIBRARY_ID++,null!=t&&(this.setStreamConfig(t),e)&&this.initialize()):console.error('StormLibrary Creation Error - No "window" element in the provided context!')}initialize(){if(!this._isRemoved){if(null==this._configManager)throw Error("Stream Config was not provided for this library! A properly configured object must be provided through the constructor or via the setConfig method before using the initialize() method.");this._storageManager=new br(this),this._stageController=new Zr(this),this._networkController=new fs(this),this._playbackController=new as(this),this._qualityController=new ws(this),this._graphs=[],this._initialized=!0,this.dispatchEvent("playerReady",{ref:this})}}setStreamConfig(t){this._isRemoved||(t=JSON.parse(JSON.stringify(t)),null==this._configManager?(this._configManager=new gr(t),this._logger=new yr(this._configManager.getSettingsData().getDebugData(),this),this._logger.info(this,"Storm Library :: Storm Streaming Suite"),this._logger.info(this,"LibraryID: "+this._libraryID),this._logger.info(this,"Version: "+this.LIBRARY_VERSION+" | Compile Date: "+this.COMPILE_DATE+" | Branch: "+this.LIBRARY_BRANCH),this._logger.info(this,"UserCapabilities :: Browser: "+vr.getBrowserName()+" "+vr.getBrowserVersion()),this._logger.info(this,"UserCapabilities :: Operating System: "+vr.getOS()+" "+vr.getOSVersion()),this._logger.info(this,"UserCapabilities :: isMobile: "+vr.isMobile()),this._logger.info(this,"UserCapabilities :: hasMSESupport: "+vr.hasMSESupport()),this._logger.info(this,"UserCapabilities :: hasWebSocketSupport: "+vr.hasWebSocketsSupport()),this._logger.info(this,"UserCapabilities :: hasWebRTCSupport: "+vr.hasWebRTCSupport()),this._configManager.print(this._logger)):(this._logger.info(this,"StreamConfig has been overwritten, dispatching streamConfigChanged!"),this._configManager=new gr(t),this._configManager.print(this._logger),this.dispatchEvent("streamConfigChange",{ref:this,newConfig:this._configManager})))}play(){null!=this._playbackController&&this._playbackController.createPlayTask()}pause(){null!=this._playbackController&&this._playbackController.createPauseTask()}getAbsoluteStreamTime(){return null!=this._playbackController?this._playbackController.getAbsoluteStreamTime():0}stop(){null!=this._networkController&&this._networkController.stop(),null!=this._playbackController&&this._playbackController.stop()}subscribe(t,e){null!=this._playbackController&&this._playbackController.createSubscribeTask(t,e)}unsubscribe(){null!=this._playbackController&&this._playbackController.createUnsubscribeTask()}getSubscriptionKey(){var t;return null!=(t=null==(t=null==(t=this.getConfigManager())?void 0:t.getStreamData())?void 0:t.streamKey)?t:null}togglePlay(){null!=this._playbackController&&this._playbackController.togglePlay()}isPlaying(){var t=null!=(t=null==(t=this._playbackController)?void 0:t.getPlaybackState())?t:$n.UNKNOWN;return t==$n.PLAYING||t==$n.BUFFERING}isConnected(){var t;return null!=(t=null==(t=this._networkController)?void 0:t.getConnection().isConnectionActive())&&t}isAuthorized(){var t;return null!=(t=null==(t=this._networkController)?void 0:t.getIfAuthorized())&&t}getPlaybackState(){var t;return null!=(t=null==(t=this._playbackController)?void 0:t.getPlaybackState())?t:$n.UNKNOWN}getStreamState(){var t;return null!=(t=null==(t=this._playbackController)?void 0:t.getStreamState())?t:Wr.UNKNOWN}mute(){null!=this._stageController&&null!=this._stageController.getScreenElement()?this._stageController.getScreenElement().setMuted(!0):this._configManager.getSettingsData().getAudioData().muted=!0}unmute(){null!=this._stageController&&null!=this._stageController.getScreenElement()?this._stageController.getScreenElement().setMuted(!1):this._configManager.getSettingsData().getAudioData().muted=!1}isMute(){var t;return null!=(t=null!=(t=null==(t=null==(t=this._stageController)?void 0:t.getScreenElement())?void 0:t.getIfMuted())?t:this._configManager.getSettingsData().getAudioData().muted)&&t}toggleMute(){var t=this.isMute();return t?this.unmute():this.mute(),!t}setVolume(t){var e;void 0===(null==(e=null==(e=this._stageController)?void 0:e.getScreenElement())?void 0:e.setVolume(t))&&(this._configManager.getSettingsData().getAudioData().startVolume=t)}getVolume(){var t;return null!=(t=null==(t=null==(t=this._stageController)?void 0:t.getScreenElement())?void 0:t.getVolume())?t:this._configManager.getSettingsData().getAudioData().startVolume}getSourceItemList(){var t;return null!=(t=null==(t=this._configManager)?void 0:t.getStreamData().getSourceList())?t:[]}getQualityItemList(){var t;return null!=(t=null==(t=this._qualityController)?void 0:t.getQualityItemList())?t:[]}getCurrentSourceItem(){var t;return null!=(t=null==(t=this._playbackController)?void 0:t.getCurrentSourceItem())?t:null}playSourceItem(t){this._playbackController&&this._playbackController.createPlayTask(t)}playQualityItem(t){this._qualityController&&this._qualityController.playQualityItemByID(t)}attachToContainer(t){var e;return!!this._initialized&&null!=(e=null==(e=this._stageController)?void 0:e.attachToParent(t))&&e}detachFromContainer(){var t;return!!this._initialized&&null!=(t=null==(t=this._stageController)?void 0:t.detachFromParent())&&t}getContainer(){var t;return null!=(t=null==(t=this._stageController)?void 0:t.getParentElement())?t:null}setSize(t,e){this._initialized?this._stageController.setSize(t,e):(t=fr.parseValue(t),e=fr.parseValue(e),this._configManager.getSettingsData().getVideoData().videoWidthValue=t.value,this._configManager.getSettingsData().getVideoData().videoWidthInPixels=t.isPixels,this._configManager.getSettingsData().getVideoData().videoHeightValue=e.value,this._configManager.getSettingsData().getVideoData().videoHeightInPixels=e.isPixels)}setWidth(t){this._initialized?this._stageController.setWidth(t):(t=fr.parseValue(t),this._configManager.getSettingsData().getVideoData().videoWidthValue=t.value,this._configManager.getSettingsData().getVideoData().videoWidthInPixels=t.isPixels)}setHeight(t){this._initialized?this._stageController.setHeight(t):(t=fr.parseValue(t),this._configManager.getSettingsData().getVideoData().videoHeightValue=t.value,this._configManager.getSettingsData().getVideoData().videoHeightInPixels=t.isPixels)}getWidth(){return this._initialized?this._stageController.getContainerWidth():this._configManager.getSettingsData().getVideoData().videoWidthInPixels?this._configManager.getSettingsData().getVideoData().videoWidthValue:0}getHeight(){return this._initialized?this._stageController.getContainerHeight():this._configManager.getSettingsData().getVideoData().videoHeightInPixels?this._configManager.getSettingsData().getVideoData().videoHeightValue:0}setScalingMode(t){this._stageController?this._stageController.setScalingMode(t):this._configManager.getSettingsData().getVideoData().scalingMode=t}getScalingMode(){return this._stageController?this._stageController.getScalingMode():this._configManager.getSettingsData().getVideoData().scalingMode}updateToSize(){this._initialized&&this._stageController.onResize()}makeScreenshot(){let t=document.createElement("canvas"),e=t.getContext("2d");return new Promise((i=>{var n;null!=this._stageController&&(t.width=this._stageController.getScreenElement().getVideoElement().videoWidth,t.height=this._stageController.getScreenElement().getVideoElement().videoHeight,n=this._stageController.getScreenElement().getVideoElement(),e)?(e.drawImage(n,0,0,t.width,t.height),t.toBlob((t=>{i(t)}),"image/png")):i(null)}))}createBufferGraph(t,e){return new vs(this,t,e)}createBandwidthGraph(t,e){return new bs(this,t,e)}createBufferStabilityGraph(t,e){return new Ss(this,t,e)}addGraph(t){null!=this._graphs&&this._graphs.push(t)}stopAllGraphs(){if(null!=this._graphs&&0<this._graphs.length)for(let t=0;t<this._graphs.length;t++)this._graphs[t].stop()}enterFullScreen(){this._initialized&&this._stageController&&this._stageController.enterFullScreen()}exitFullScreen(){this._initialized&&this._stageController&&this._stageController.exitFullScreen()}isFullScreenMode(){return!(!this._initialized||!this._stageController)&&this._stageController.isFullScreenMode()}getLibraryID(){return this._libraryID}getLogger(){return this._logger}getConfigManager(){return this._configManager}getNetworkController(){return this._networkController}getPlaybackController(){return this._playbackController}getQualityController(){return this._qualityController}getStageController(){return this._stageController}getVideoElement(){var t;return null!=(t=null==(t=null==(t=this._stageController)?void 0:t.getScreenElement())?void 0:t.getVideoElement())?t:null}isInitialized(){return this._initialized}getVersion(){return this.LIBRARY_VERSION}getServerInfo(){var t;return null!=(t=null==(t=this._networkController)?void 0:t.getServerInfo())?t:null}getBranch(){return this.LIBRARY_BRANCH}getStorageManager(){return this._storageManager}getTaskQueue(){var t;return null==(t=this._playbackController)?void 0:t.getTaskQueue()}getQualityControlMode(){var t;return null!=(t=null==(t=this._qualityController)?void 0:t.getQualityControlMode())?t:Xn.UNKNOWN}setQualityControlMode(t){var e;null!=(e=this._qualityController)&&e.setQualityControlMode(t,1<arguments.length&&void 0!==arguments[1]&&arguments[1])}getPlaybackRate(){var t;return null!=(t=null==(t=null==(t=this._stageController)?void 0:t.getScreenElement())?void 0:t.getVideoElement().playbackRate)?t:1}getBandwidthAnalyser(){var t;return null!=(t=null==(t=this._networkController)?void 0:t.getBandwidthAnalyser())?t:null}getBandwidthMeter(){var t;return null!=(t=null==(t=null==(t=this._playbackController)?void 0:t.getPlayer())?void 0:t.getBandwidthMeter())?t:null}getBufferAnalyser(){var t;return null!=(t=null==(t=null==(t=this._playbackController)?void 0:t.getPlayer())?void 0:t.getBufferAnalyser())?t:null}dispatchEvent(t,e){super.dispatchEvent(t,e)}destroy(){var t;if(this._logger.warning(this,"Destroying library instance, bye, bye!"),null!=this._graphs&&0<this._graphs.length)for(let t=0;t<this._graphs.length;t++)this._graphs[t].stop();this._initialized=!1,this._isRemoved=!0,null!=(t=this._networkController)&&t.getConnection().destroy(),null!=(t=this._stageController)&&t.destroy(),null!=(t=this._playbackController)&&t.destroy(),this.removeAllEventListeners()}}Es.NEXT_LIBRARY_ID=0;class Ts{constructor(t){r(this,"isFullScreenMode",!1),r(this,"currWidth",0),r(this,"currHeight",0),r(this,"isLibraryReady",!1),r(this,"hadAutostart",!1),this.stormPlayer=t}initialize(t){if(this.config=t,void 0!==this.config.settings.video)this.hadAutostart=this.config.settings.autoStart,this.config.settings.autoStart=!1,this.config.settings.video.containerID=this.stormPlayer.getInstanceName()+"_video",this.config.settings.video.width=this.stormPlayer.getPlayerConfigManager().getWidth(),this.config.settings.video.height=this.stormPlayer.getPlayerConfigManager().getHeight();else{let t={containerID:this.stormPlayer.getInstanceName()+"_video",width:this.stormPlayer.getPlayerConfigManager().getWidth(),height:this.stormPlayer.getPlayerConfigManager().getHeight()};this.config.settings.video=t}this.currWidth=this.stormPlayer.getPlayerConfigManager().getWidth(),this.currHeight=this.stormPlayer.getPlayerConfigManager().getHeight(),this.attachListeners()}getConfig(){return this.config}getLibrary(){return this.library}setStreamConfig(t){this.config=t,null!=this.library&&this.library.setStreamConfig(t)}initializeLibrary(){const t=this;this.library=new Es(this.config),this.library.getLogger().info(this,"Attaching StormPlayer v. "+this.stormPlayer.getVersion()),this.library.getLogger().setPlayerID(this.stormPlayer.getInstanceID()),this.stormPlayer.dispatchEvent("libraryCreate",{ref:this.stormPlayer,library:this.library}),this.library.addEventListener("playerReady",(function(e){t.stormPlayer.dispatchEvent("playerReady",{ref:t.stormPlayer})}),!1),this.library.addEventListener("serverConnectionInitiate",(function(e){t.stormPlayer.dispatchEvent("serverConnectionInitiate",{ref:t.stormPlayer,serverURL:e.serverURL})}),!1),this.library.addEventListener("serverConnect",(function(e){t.stormPlayer.dispatchEvent("serverConnect",{ref:t.stormPlayer,serverURL:e.serverURL})}),!1),this.library.addEventListener("serverDisconnect",(function(e){t.stormPlayer.dispatchEvent("serverDisconnect",{ref:t.stormPlayer,serverURL:e.serverURL,restart:e.restart})}),!1),this.library.addEventListener("serverConnectionError",(function(e){t.stormPlayer.dispatchEvent("serverConnectionError",{ref:t.stormPlayer,serverURL:e.serverURL,restart:e.restart})}),!1),this.library.addEventListener("allConnectionsFailed",(function(e){t.stormPlayer.dispatchEvent("allConnectionsFailed",{ref:t.stormPlayer,mode:e.mode})}),!1),this.library.addEventListener("interactionRequired",(function(e){t.stormPlayer.dispatchEvent("interactionRequired",{ref:t.stormPlayer,mode:e.mode})}),!1),this.library.addEventListener("compatibilityError",(function(e){t.stormPlayer.dispatchEvent("compatibilityError",{ref:t.stormPlayer,message:e.message})}),!1),this.library.addEventListener("playbackInitiate",(function(e){t.stormPlayer.dispatchEvent("playbackInitiate",{ref:t.stormPlayer,streamKey:e.streamKey})}),!1),this.library.addEventListener("bufferingStart",(function(e){t.stormPlayer.dispatchEvent("bufferingStart",{ref:t.stormPlayer})}),!1),this.library.addEventListener("bufferingComplete",(function(e){t.stormPlayer.dispatchEvent("bufferingComplete",{ref:t.stormPlayer})}),!1),this.library.addEventListener("authorizationComplete",(function(e){t.stormPlayer.dispatchEvent("authorizationComplete",{ref:t.stormPlayer})}),!1),this.library.addEventListener("authorizationError",(function(e){t.stormPlayer.dispatchEvent("authorizationError",{ref:t.stormPlayer})}),!1),this.library.addEventListener("playbackStart",(function(e){t.stormPlayer.dispatchEvent("playbackStart",{ref:t.stormPlayer,streamKey:e.streamKey})}),!1),this.library.addEventListener("playbackPause",(function(e){t.stormPlayer.dispatchEvent("playbackPause",{ref:t.stormPlayer,streamKey:e.streamKey})}),!1),this.library.addEventListener("playbackStop",(function(e){t.stormPlayer.dispatchEvent("playbackStop",{ref:t.stormPlayer,streamKey:e.streamKey})}),!1),this.library.addEventListener("streamStop",(function(e){t.stormPlayer.dispatchEvent("streamStop",{ref:t.stormPlayer,streamKey:e.streamKey})}),!1),this.library.addEventListener("playbackError",(function(e){t.stormPlayer.dispatchEvent("playbackError",{ref:t.stormPlayer,mode:e.mode,streamKey:e.streamKey})}),!1),this.library.addEventListener("sourceListUpdate",(function(e){t.stormPlayer.dispatchEvent("sourceListUpdate",{ref:t.stormPlayer,sourceList:e.sourceList})}),!1),this.library.addEventListener("playbackProgress",(function(e){t.stormPlayer.dispatchEvent("playbackProgress",{ref:t.stormPlayer,streamKey:e.streamKey,playbackDuration:e.playbackDuration,playbackStartTime:e.playbackStartTime,streamStartTime:e.streamStartTime,streamDuration:e.streamDuration,dvrCacheSize:e.dvrCacheSize})}),!1),this.library.addEventListener("streamNotFound",(function(e){t.stormPlayer.dispatchEvent("streamNotFound",{ref:t.stormPlayer,streamKey:e.streamKey})}),!1),this.library.addEventListener("streamSourceAdd",(function(e){t.stormPlayer.dispatchEvent("streamSourceAdd",{ref:t.stormPlayer,mode:e.mode,streamKey:e.streamKey})}),!1),this.library.addEventListener("streamMetadataUpdate",(function(e){t.stormPlayer.dispatchEvent("streamMetadataUpdate",{ref:t.stormPlayer,metadata:e.metadata})}),!1),this.library.addEventListener("volumeChange",(e=>{this.stormPlayer.dispatchEvent("volumeChange",{ref:t.stormPlayer,volume:e.volume,muted:e.muted,invokedBy:e.invokedBy})}),!1),this.library.addEventListener("videoElementCreate",(function(e){t.videoElement=e.videoElement,t.stormPlayer.dispatchEvent("videoElementCreate",{ref:t.stormPlayer,videoElement:e.videoElement})}),!1),this.library.addEventListener("SSLError",(function(e){t.stormPlayer.dispatchEvent("SSLError",{ref:t.stormPlayer,mode:e.mode})}),!1),this.library.addEventListener("incompatibleProtocol",(function(e){t.stormPlayer.dispatchEvent("incompatibleProtocol",{ref:t.stormPlayer,clientProtocolVer:e.clientProtocolVer,serverProtocolVersion:e.serverProtocolVersion})}),!1),this.library.addEventListener("invalidLicense",(function(e){t.stormPlayer.dispatchEvent("invalidLicense",{ref:t.stormPlayer})}),!1),this.library.addEventListener("streamStateChange",(function(e){t.stormPlayer.dispatchEvent("streamStateChange",{ref:t.stormPlayer,streamKey:e.streamKey,state:e.state})}),!1),this.library.addEventListener("fullScreenExit",(()=>{this.stormPlayer.dispatchEvent("fullscreenExit",{ref:this.stormPlayer})})),this.library.addEventListener("serverConnectionRestart",(function(e){t.stormPlayer.dispatchEvent("serverConnectionRestart",{ref:t.stormPlayer,isSilent:e.isSilent})}),!1),this.library.addEventListener("playbackRequest",(function(e){t.stormPlayer.dispatchEvent("playbackRequest",{ref:t.stormPlayer,streamKey:e.streamKey})}),!1),this.library.addEventListener("playbackForcePause",(function(e){t.stormPlayer.dispatchEvent("playbackForcePause",{ref:t.stormPlayer})}),!1),this.library.addEventListener("playbackForceMute",(function(e){t.stormPlayer.dispatchEvent("playbackForceMute",{ref:t.stormPlayer})}),!1),this.library.addEventListener("subscriptionStart",(function(e){t.stormPlayer.dispatchEvent("subscriptionStart",{ref:t.stormPlayer,streamKey:e.streamKey})}),!1),this.library.addEventListener("subscriptionComplete",(function(e){t.stormPlayer.dispatchEvent("subscriptionComplete",{ref:t.stormPlayer,streamKey:e.streamKey,sourceList:e.sourceList})}),!1),this.library.addEventListener("subscriptionFailed",(function(e){t.stormPlayer.dispatchEvent("subscriptionFailed",{ref:t.stormPlayer,streamKey:e.streamKey})}),!1),this.library.addEventListener("playbackStateChange",(function(e){t.stormPlayer.dispatchEvent("playbackStateChange",{ref:t.stormPlayer,streamKey:e.streamKey,state:e.state})}),!1),this.library.addEventListener("qualityListUpdate",(function(e){t.stormPlayer.dispatchEvent("qualityListUpdate",{ref:t.stormPlayer,qualityList:e.qualityList})}),!1),this.library.addEventListener("containerChange",(function(e){t.stormPlayer.dispatchEvent("containerChange",{ref:t.stormPlayer,container:e.container})}),!1),this.library.addEventListener("resizeUpdate",(function(e){t.stormPlayer.dispatchEvent("resizeUpdate",{ref:t.stormPlayer,width:e.width,height:e.height})}),!1),this.library.addEventListener("sourceDowngrade",(function(e){t.stormPlayer.dispatchEvent("sourceDowngrade",{ref:t.stormPlayer,bandwidthCap:e.bandwidthCap})}),!1),this.library.addEventListener("videoUnmuted",(function(e){t.stormPlayer.dispatchEvent("videoUnmuted",{ref:t.stormPlayer})}),!1),this.library.addEventListener("fullScreenEnter",(function(e){t.stormPlayer.dispatchEvent("fullScreenEnter",{ref:t.stormPlayer})}),!1),this.library.initialize(),this.stormPlayer.dispatchEvent("libraryInitialize",{ref:this.stormPlayer,library:this.library})}attachListeners(){const t=this;this.stormPlayer.addEventListener("interfaceReady",(function(e){t.initializeLibrary()})),this.stormPlayer.addEventListener("libraryInitialize",(function(){this.isLibraryReady=!0,t.stormPlayer.addEventListener("playClick",(function(){t.getLibrary().play()})),t.stormPlayer.addEventListener("pauseClick",(function(){t.getLibrary().pause()})),t.stormPlayer.addEventListener("muteClick",(function(){t.getLibrary().mute()})),t.stormPlayer.addEventListener("unmuteClick",(function(){t.getLibrary().unmute()})),t.stormPlayer.addEventListener("videoClick",(function(){t.getLibrary().togglePlay()})),t.stormPlayer.addEventListener("volumeSet",(function(e){t.getLibrary().setVolume(e.volume)})),t.stormPlayer.addEventListener("qualityChange",(function(e){1!=t.stormPlayer.getRawPlayerConfig().demoMode&&t.getLibrary().playQualityItem(e.qualityId)})),t.stormPlayer.addEventListener("fullscreenEnter",(function(){t.isFullScreenMode=!0,mn.isMobile()&&t.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&t.library.getVideoElement().setAttribute("controls","true"),null!=t.resolutionTimeout&&clearInterval(t.resolutionTimeout),t.resolutionTimeout=setInterval((function(){t.checkResolution()}),100)})),t.stormPlayer.addEventListener("fullscreenExit",(function(){t.isFullScreenMode=!1,mn.isMobile()&&t.stormPlayer.getPlayerConfigManager().getIfNativeMobileGUI()&&t.library.getVideoElement().removeAttribute("controls")}))})),this.stormPlayer.addEventListener("playerConfigUpdate",(()=>{}))}getVideoElement(){return this.videoElement}checkResolution(){if(this.isFullScreenMode){let t=window.screen.width,e=window.screen.height;this.currWidth==t&&this.currHeight==e?(null!=this.resolutionTimeout&&clearInterval(this.resolutionTimeout),this.getLibrary().setSize(window.innerWidth,window.innerHeight)):(this.currWidth=t,this.currHeight=e)}}destroy(){null!=this.library&&this.library.destroy()}}class Ps{constructor(){r(this,"listeners",{})}addEventListener(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.listeners[t]||(this.listeners[t]=[]);let n=!1;if(null!=this.listeners[t]&&this.listeners[t].length>0)for(let i=0;i<this.listeners[t].length;i++){if(this.listeners[t][i][1]==e){n=!0;break}}return!n&&(this.listeners[t].push([t,e,i]),!0)}removeEventListener(t,e){let i=!1;if(null!=this.listeners[t]&&this.listeners[t].length>0)for(let n=0;n<this.listeners[t].length;n++){let r=this.listeners[t][n];if(e){if(r[1]==e){if(1==r[2]){i=!0,this.listeners[t].splice(n,1);break}break}}else i=!0,1==r[2]&&this.listeners[t].splice(n,1)}return i}removeAllEventListeners(){for(let t in this.listeners){let e=t,i=this.listeners[e];if(i.length>0)for(let t=0;t<i.length;t++){1==i[t][2]&&i.splice(t,1)}}}dispatchEvent(t,e){if(null!=this.listeners[t]&&this.listeners[t].length>0)for(let i=0;i<this.listeners[t].length;i++){this.listeners[t][i][1].call(this,e)}}deleteAllEventListeners(){this.listeners={}}}class Ls{constructor(t,e){if(r(this,"initialWidth","100%"),r(this,"initialHeight","100%"),r(this,"aspectRatio","none"),r(this,"bigPlayButton",!1),r(this,"showTimeline",!1),r(this,"posterURL",null),r(this,"autoGUIHide",!0),r(this,"guiHideTime",3),r(this,"title",null),r(this,"subtitle",null),r(this,"serverDisconnectedText","Disconnected from streaming server."),r(this,"serverConnectionFailedText","Failed to connect to the streaming server."),r(this,"compatibilityErrorText","Your device is not compatible with the available video source."),r(this,"incorrectProtocolVersionText","Incorrect Storm Protocol Version."),r(this,"licenseErrorText","Incorrect Storm Protocol Version."),r(this,"noSSLErrorText","This connection requires a secure SSL connection."),r(this,"streamErrorText","Error while playing the stream."),r(this,"awaitingStartText","Waiting for the stream to start..."),r(this,"streamNotFoundText","Stream with given name was not found."),r(this,"streamStopText","The stream has ended."),r(this,"incompatiblePlayerProtocolText","This player version is not compatible with the provided streaming server."),r(this,"liveText","LIVE"),r(this,"unmuteText","UNMUTE SOUND"),r(this,"watermarkPosition","bottom_right"),r(this,"broadcastRemainingTimeText","Remaining time"),r(this,"broadcastStartTimeText","Broadcasting will start at"),r(this,"waitingRoomTimeZone","UTC"),r(this,"timeDaysText","days"),r(this,"timeHoursText","hours"),r(this,"timeMinutesText","minutes"),r(this,"timeSecondsText","seconds"),r(this,"nativeMobileGUI",!0),r(this,"loaderColor",null),r(this,"progressBarGradientColor1",null),r(this,"progressBarGradientColor2",null),r(this,"waitingRoomRingColor1",null),r(this,"waitingRoomRingColor2",null),r(this,"cuePointColor1",null),r(this,"cuePointColor2",null),r(this,"unmuteBGColor",null),r(this,"unmutePRColor",null),r(this,"iconPrimaryColor",null),r(this,"iconSecondaryColor",null),r(this,"iconActiveColor",null),r(this,"iconErrorColor",null),r(this,"backgroundColor",null),r(this,"titleColor",null),r(this,"subtitleColor",null),r(this,"errorColor",null),r(this,"fontRegular",null),r(this,"fontBold",null),r(this,"borderRadius",null),r(this,"demoMode",!1),this.stromPlayer=t,!e.containerID)throw new Error("containerID is not defined in initialPlayerConfig");this.containerID=e.containerID,this.overwriteConfig(e)}overwriteConfig(t){this.currentRawConfig=t,this.overwriteGeneral(t),this.overwriteInterface(t),this.overwriteWatermark(t),this.overwriteTranslations(t),this.overwriteWaitingRoom(t),this.overwriteStyles(t)}overwriteGeneral(t){var e,i,n,r,s,a,o;this.title=null!==(e=t.title)&&void 0!==e?e:this.title,this.subtitle=null!==(i=t.subtitle)&&void 0!==i?i:this.subtitle,this.initialWidth=null!==(n=t.width)&&void 0!==n?n:this.initialWidth,this.initialHeight=null!==(r=t.height)&&void 0!==r?r:this.initialHeight,this.posterURL=null!==(s=t.posterURL)&&void 0!==s?s:this.posterURL,this.aspectRatio=null!==(a=t.aspectRatio)&&void 0!==a?a:this.aspectRatio,this.demoMode=null!==(o=t.demoMode)&&void 0!==o?o:this.demoMode}overwriteInterface(t){var e,i,n,r,s;t.interface&&(this.autoGUIHide=null!==(e=t.interface.autoGUIHide)&&void 0!==e?e:this.autoGUIHide,this.guiHideTime=null!==(i=t.interface.autoGUIHideTime)&&void 0!==i?i:this.guiHideTime,this.bigPlayButton=null!==(n=t.interface.showBigPlayBTN)&&void 0!==n?n:this.bigPlayButton,this.nativeMobileGUI=null!==(r=t.interface.nativeMobileGUI)&&void 0!==r?r:this.nativeMobileGUI,this.showTimeline=null!==(s=t.interface.showTimeline)&&void 0!==s?s:this.showTimeline)}overwriteWatermark(t){var e,i;null!==(e=t.style)&&void 0!==e&&e.watermark?(this.watermarkPosition=null!==(i=t.style.watermark.position)&&void 0!==i?i:this.watermarkPosition,null!=t.style.watermark.imgURL?this.watermarkURL=t.style.watermark.imgURL:this.watermarkURL=null):this.watermarkURL=null}overwriteTranslations(t){var e,i,n,r,s,a,o,l,h,u,d,c,m,g,p,f;t.translations&&(this.broadcastRemainingTimeText=null!==(e=t.translations.broadcastRemainingTime)&&void 0!==e?e:this.broadcastRemainingTimeText,this.broadcastStartTimeText=null!==(i=t.translations.broadcastStartTime)&&void 0!==i?i:this.broadcastStartTimeText,this.timeDaysText=null!==(n=t.translations.timeDays)&&void 0!==n?n:this.timeDaysText,this.timeHoursText=null!==(r=t.translations.timeHours)&&void 0!==r?r:this.timeHoursText,this.timeMinutesText=null!==(s=t.translations.timeMinutes)&&void 0!==s?s:this.timeMinutesText,this.timeSecondsText=null!==(a=t.translations.timeSeconds)&&void 0!==a?a:this.timeSecondsText,this.unmuteText=null!==(o=t.translations.unmute)&&void 0!==o?o:this.unmuteText,this.serverDisconnectedText=null!==(l=t.translations.disconnected)&&void 0!==l?l:this.serverDisconnectedText,this.awaitingStartText=null!==(h=t.translations.awaitingStart)&&void 0!==h?h:this.awaitingStartText,this.serverConnectionFailedText=null!==(u=t.translations.connectionFailed)&&void 0!==u?u:this.serverConnectionFailedText,this.compatibilityErrorText=null!==(d=t.translations.compatibilityError)&&void 0!==d?d:this.compatibilityErrorText,this.noSSLErrorText=null!==(c=t.translations.noSSLError)&&void 0!==c?c:this.noSSLErrorText,this.streamErrorText=null!==(m=t.translations.streamError)&&void 0!==m?m:this.streamErrorText,this.streamNotFoundText=null!==(g=t.translations.streamNotFound)&&void 0!==g?g:this.streamNotFoundText,this.streamStopText=null!==(p=t.translations.streamStop)&&void 0!==p?p:this.streamStopText,this.liveText=null!==(f=t.translations.live)&&void 0!==f?f:this.liveText)}overwriteWaitingRoom(t){var e,i,n,r;t.waitingRoom&&(this.broadcastCreateDate=null!==(e=t.waitingRoom.createTime)&&void 0!==e?e:this.broadcastCreateDate,this.broadcastStartDate=null!==(i=t.waitingRoom.startTime)&&void 0!==i?i:this.broadcastStartDate,this.waitingRoomPoster=null!==(n=t.waitingRoom.posterURL)&&void 0!==n?n:this.waitingRoomPoster,this.waitingRoomTimeZone=null!==(r=t.waitingRoom.timeZone)&&void 0!==r?r:this.waitingRoomTimeZone)}overwriteStyles(t){if(t.style){var e,i,n,r,s,a,o,l,h,u,d,c,m,g,p,f,y,v,b,S,C,w,E,T;if(this.loaderColor=null!==(e=t.style.loaderColor)&&void 0!==e?e:this.loaderColor,null!==(i=t.style)&&void 0!==i&&i.progressBar)this.progressBarGradientColor1=null!==(u=t.style.progressBar.gradientColor1)&&void 0!==u?u:this.progressBarGradientColor1,this.progressBarGradientColor2=null!==(d=t.style.progressBar.gradientColor2)&&void 0!==d?d:this.progressBarGradientColor2;if(null!==(n=t.style)&&void 0!==n&&n.waitingRoomRings)this.waitingRoomRingColor1=null!==(c=t.style.waitingRoomRings.gradientColor1)&&void 0!==c?c:this.waitingRoomRingColor1,this.waitingRoomRingColor2=null!==(m=t.style.waitingRoomRings.gradientColor2)&&void 0!==m?m:this.waitingRoomRingColor2;if(null!==(r=t.style)&&void 0!==r&&r.cuePoint)this.cuePointColor1=null!==(g=t.style.cuePoint.gradientColor1)&&void 0!==g?g:this.cuePointColor1,this.cuePointColor2=null!==(p=t.style.cuePoint.gradientColor2)&&void 0!==p?p:this.cuePointColor2;if(null!==(s=t.style)&&void 0!==s&&s.unmuteLabel)this.unmuteBGColor=null!==(f=t.style.unmuteLabel.backgroundColor)&&void 0!==f?f:this.unmuteBGColor,this.unmutePRColor=null!==(y=t.style.unmuteLabel.primaryColor)&&void 0!==y?y:this.unmutePRColor;if(null!==(a=t.style)&&void 0!==a&&a.icons)this.iconPrimaryColor=null!==(v=t.style.icons.primaryColor)&&void 0!==v?v:this.iconPrimaryColor,this.iconSecondaryColor=null!==(b=t.style.icons.secondaryColor)&&void 0!==b?b:this.iconSecondaryColor,this.iconActiveColor=null!==(S=t.style.icons.activeColor)&&void 0!==S?S:this.iconActiveColor,this.iconErrorColor=null!==(C=t.style.icons.errorColor)&&void 0!==C?C:this.iconErrorColor;if(this.backgroundColor=null!==(o=t.style.backgroundColor)&&void 0!==o?o:this.backgroundColor,null!==(l=t.style)&&void 0!==l&&l.text)this.titleColor=null!==(w=t.style.text.titleColor)&&void 0!==w?w:this.titleColor,this.subtitleColor=null!==(E=t.style.text.subtitleColor)&&void 0!==E?E:this.subtitleColor,this.errorColor=null!==(T=t.style.text.errorColor)&&void 0!==T?T:this.errorColor;this.borderRadius=null!==(h=t.style.borderRadius)&&void 0!==h?h:this.borderRadius}}matchConfig(t){this.matchGeneral(t),this.matchInterface(t),this.matchWatermark(t),this.matchTranslations(t),this.matchWaitingRoom(t),this.matchStyles(t),this.setStyle()}matchGeneral(t){var e,i,n,r,s,a,o,l,h,u,d,c;this.title=null!==(e=null!==(i=null===(n=this.currentRawConfig)||void 0===n?void 0:n.title)&&void 0!==i?i:t.title)&&void 0!==e?e:this.title,this.subtitle=null!==(r=null!==(s=null===(a=this.currentRawConfig)||void 0===a?void 0:a.subtitle)&&void 0!==s?s:t.subtitle)&&void 0!==r?r:this.subtitle,this.posterURL=null!==(o=null!==(l=null===(h=this.currentRawConfig)||void 0===h?void 0:h.posterURL)&&void 0!==l?l:t.posterURL)&&void 0!==o?o:this.posterURL,this.aspectRatio=null!==(u=null!==(d=null===(c=this.currentRawConfig)||void 0===c?void 0:c.aspectRatio)&&void 0!==d?d:t.aspectRatio)&&void 0!==u?u:this.aspectRatio}matchInterface(t){var e,i,n,r,s,a,o,l,h,u,d,c,m,g,p;t.interface&&(this.autoGUIHide=null!==(e=null!==(i=null===(n=this.currentRawConfig)||void 0===n||null===(n=n.interface)||void 0===n?void 0:n.autoGUIHide)&&void 0!==i?i:t.interface.autoGUIHide)&&void 0!==e?e:this.autoGUIHide,this.guiHideTime=null!==(r=null!==(s=null===(a=this.currentRawConfig)||void 0===a||null===(a=a.interface)||void 0===a?void 0:a.autoGUIHideTime)&&void 0!==s?s:t.interface.autoGUIHideTime)&&void 0!==r?r:this.guiHideTime,this.bigPlayButton=null!==(o=null!==(l=null===(h=this.currentRawConfig)||void 0===h||null===(h=h.interface)||void 0===h?void 0:h.showBigPlayBTN)&&void 0!==l?l:t.interface.showBigPlayBTN)&&void 0!==o?o:this.bigPlayButton,this.nativeMobileGUI=null!==(u=null!==(d=null===(c=this.currentRawConfig)||void 0===c||null===(c=c.interface)||void 0===c?void 0:c.nativeMobileGUI)&&void 0!==d?d:t.interface.nativeMobileGUI)&&void 0!==u?u:this.nativeMobileGUI,this.showTimeline=null!==(m=null!==(g=null===(p=this.currentRawConfig)||void 0===p||null===(p=p.interface)||void 0===p?void 0:p.showTimeline)&&void 0!==g?g:t.interface.showTimeline)&&void 0!==m?m:this.showTimeline)}matchWatermark(t){var e,i,n,r,s,a,o;null!==(e=t.style)&&void 0!==e&&e.watermark&&(this.watermarkURL=null!==(i=null!==(n=null===(r=this.currentRawConfig)||void 0===r||null===(r=r.style)||void 0===r||null===(r=r.watermark)||void 0===r?void 0:r.imgURL)&&void 0!==n?n:t.style.watermark.imgURL)&&void 0!==i?i:this.watermarkURL,this.watermarkPosition=null!==(s=null!==(a=null===(o=this.currentRawConfig)||void 0===o||null===(o=o.style)||void 0===o||null===(o=o.watermark)||void 0===o?void 0:o.position)&&void 0!==a?a:t.style.watermark.position)&&void 0!==s?s:this.watermarkPosition)}matchTranslations(t){var e,i,n,r,s,a,o,l,h,u,d,c,m,g,p,f,y,v,b,S,C,w,E,T,P,L,k,x,M,I,R,N,D,O,A,B,U,F,W,V,H,q,z,G,K,Z;t.translations&&(this.broadcastRemainingTimeText=null!==(e=null!==(i=null===(n=this.currentRawConfig)||void 0===n||null===(n=n.translations)||void 0===n?void 0:n.broadcastRemainingTime)&&void 0!==i?i:t.translations.broadcastRemainingTime)&&void 0!==e?e:this.broadcastRemainingTimeText,this.broadcastStartTimeText=null!==(r=null!==(s=null===(a=this.currentRawConfig)||void 0===a||null===(a=a.translations)||void 0===a?void 0:a.broadcastStartTime)&&void 0!==s?s:t.translations.broadcastStartTime)&&void 0!==r?r:this.broadcastStartTimeText,this.timeDaysText=null!==(o=null!==(l=null===(h=this.currentRawConfig)||void 0===h||null===(h=h.translations)||void 0===h?void 0:h.timeDays)&&void 0!==l?l:t.translations.timeDays)&&void 0!==o?o:this.timeDaysText,this.timeHoursText=null!==(u=null!==(d=null===(c=this.currentRawConfig)||void 0===c||null===(c=c.translations)||void 0===c?void 0:c.timeHours)&&void 0!==d?d:t.translations.timeHours)&&void 0!==u?u:this.timeHoursText,this.timeMinutesText=null!==(m=null!==(g=null===(p=this.currentRawConfig)||void 0===p||null===(p=p.translations)||void 0===p?void 0:p.timeMinutes)&&void 0!==g?g:t.translations.timeMinutes)&&void 0!==m?m:this.timeMinutesText,this.timeSecondsText=null!==(f=null!==(y=null===(v=this.currentRawConfig)||void 0===v||null===(v=v.translations)||void 0===v?void 0:v.timeSeconds)&&void 0!==y?y:t.translations.timeSeconds)&&void 0!==f?f:this.timeSecondsText,this.unmuteText=null!==(b=null!==(S=null===(C=this.currentRawConfig)||void 0===C||null===(C=C.translations)||void 0===C?void 0:C.unmute)&&void 0!==S?S:t.translations.unmute)&&void 0!==b?b:this.unmuteText,this.serverDisconnectedText=null!==(w=null!==(E=null===(T=this.currentRawConfig)||void 0===T||null===(T=T.translations)||void 0===T?void 0:T.disconnected)&&void 0!==E?E:t.translations.disconnected)&&void 0!==w?w:this.serverDisconnectedText,this.awaitingStartText=null!==(P=null!==(L=null===(k=this.currentRawConfig)||void 0===k||null===(k=k.translations)||void 0===k?void 0:k.awaitingStart)&&void 0!==L?L:t.translations.awaitingStart)&&void 0!==P?P:this.awaitingStartText,this.serverConnectionFailedText=null!==(x=null!==(M=null===(I=this.currentRawConfig)||void 0===I||null===(I=I.translations)||void 0===I?void 0:I.connectionFailed)&&void 0!==M?M:t.translations.connectionFailed)&&void 0!==x?x:this.serverConnectionFailedText,this.compatibilityErrorText=null!==(R=null!==(N=null===(D=this.currentRawConfig)||void 0===D||null===(D=D.translations)||void 0===D?void 0:D.compatibilityError)&&void 0!==N?N:t.translations.compatibilityError)&&void 0!==R?R:this.compatibilityErrorText,this.noSSLErrorText=null!==(O=null!==(A=null===(B=this.currentRawConfig)||void 0===B||null===(B=B.translations)||void 0===B?void 0:B.noSSLError)&&void 0!==A?A:t.translations.noSSLError)&&void 0!==O?O:this.noSSLErrorText,this.streamErrorText=null!==(U=null!==(F=null===(W=this.currentRawConfig)||void 0===W||null===(W=W.translations)||void 0===W?void 0:W.streamError)&&void 0!==F?F:t.translations.streamError)&&void 0!==U?U:this.streamErrorText,this.streamNotFoundText=null!==(V=null!==(H=null===(q=this.currentRawConfig)||void 0===q||null===(q=q.translations)||void 0===q?void 0:q.streamNotFound)&&void 0!==H?H:t.translations.streamNotFound)&&void 0!==V?V:this.streamNotFoundText,this.streamStopText=null!==(z=null!==(G=null===(K=this.currentRawConfig)||void 0===K||null===(K=K.translations)||void 0===K?void 0:K.streamStop)&&void 0!==G?G:t.translations.streamStop)&&void 0!==z?z:this.streamStopText,this.liveText=null!==(Z=t.translations.live)&&void 0!==Z?Z:this.liveText)}matchWaitingRoom(t){var e,i,n,r,s,a,o,l,h,u,d,c,m;t.waitingRoom&&(this.broadcastCreateDate=null!==(e=null!==(i=null===(n=this.currentRawConfig)||void 0===n||null===(n=n.waitingRoom)||void 0===n?void 0:n.createTime)&&void 0!==i?i:t.waitingRoom.createTime)&&void 0!==e?e:this.broadcastCreateDate,this.broadcastStartDate=null!==(r=null!==(s=null===(a=this.currentRawConfig)||void 0===a||null===(a=a.waitingRoom)||void 0===a?void 0:a.startTime)&&void 0!==s?s:t.waitingRoom.startTime)&&void 0!==r?r:this.broadcastStartDate,this.waitingRoomPoster=null!==(o=null!==(l=null===(h=this.currentRawConfig)||void 0===h||null===(h=h.waitingRoom)||void 0===h?void 0:h.posterURL)&&void 0!==l?l:null===(u=t.waitingRoom)||void 0===u?void 0:u.posterURL)&&void 0!==o?o:this.waitingRoomPoster,this.waitingRoomTimeZone=null!==(d=null!==(c=null===(m=this.currentRawConfig)||void 0===m||null===(m=m.waitingRoom)||void 0===m?void 0:m.timeZone)&&void 0!==c?c:t.waitingRoom.timeZone)&&void 0!==d?d:this.waitingRoomTimeZone)}matchStyles(t){if(t.style){var e,i,n,r,s,a,o,l,h,u,d,c,m,g,p,f,y,v,b,S,C,w,E,T,P,L,k,x,M,I,R,N,D,O,A,B,U,F,W,V,H,q,z,G,K,Z,_,j,Y,Q,J,X,$,tt,et,it,nt,rt,st,at;if(this.loaderColor=null!==(e=null!==(i=null===(n=this.currentRawConfig)||void 0===n||null===(n=n.style)||void 0===n?void 0:n.loaderColor)&&void 0!==i?i:t.style.loaderColor)&&void 0!==e?e:this.loaderColor,null!==(r=t.style)&&void 0!==r&&r.progressBar)this.progressBarGradientColor1=null!==(f=null!==(y=null===(v=this.currentRawConfig)||void 0===v||null===(v=v.style)||void 0===v||null===(v=v.progressBar)||void 0===v?void 0:v.gradientColor1)&&void 0!==y?y:t.style.progressBar.gradientColor1)&&void 0!==f?f:this.progressBarGradientColor1,this.progressBarGradientColor2=null!==(b=null!==(S=null===(C=this.currentRawConfig)||void 0===C||null===(C=C.style)||void 0===C||null===(C=C.progressBar)||void 0===C?void 0:C.gradientColor2)&&void 0!==S?S:t.style.progressBar.gradientColor2)&&void 0!==b?b:this.progressBarGradientColor2;if(null!==(s=t.style)&&void 0!==s&&s.waitingRoomRings)this.waitingRoomRingColor1=null!==(w=null!==(E=null===(T=this.currentRawConfig)||void 0===T||null===(T=T.style)||void 0===T||null===(T=T.waitingRoomRings)||void 0===T?void 0:T.gradientColor1)&&void 0!==E?E:t.style.waitingRoomRings.gradientColor1)&&void 0!==w?w:this.waitingRoomRingColor1,this.waitingRoomRingColor2=null!==(P=null!==(L=null===(k=this.currentRawConfig)||void 0===k||null===(k=k.style)||void 0===k||null===(k=k.waitingRoomRings)||void 0===k?void 0:k.gradientColor2)&&void 0!==L?L:t.style.waitingRoomRings.gradientColor2)&&void 0!==P?P:this.waitingRoomRingColor2;if(null!==(a=t.style)&&void 0!==a&&a.cuePoint)this.cuePointColor1=null!==(x=null!==(M=null===(I=this.currentRawConfig)||void 0===I||null===(I=I.style)||void 0===I||null===(I=I.cuePoint)||void 0===I?void 0:I.gradientColor1)&&void 0!==M?M:t.style.cuePoint.gradientColor1)&&void 0!==x?x:this.cuePointColor1,this.cuePointColor2=null!==(R=null!==(N=null===(D=this.currentRawConfig)||void 0===D||null===(D=D.style)||void 0===D||null===(D=D.cuePoint)||void 0===D?void 0:D.gradientColor2)&&void 0!==N?N:t.style.cuePoint.gradientColor2)&&void 0!==R?R:this.cuePointColor2;if(null!==(o=t.style)&&void 0!==o&&o.unmuteLabel)this.unmuteBGColor=null!==(O=null!==(A=null===(B=this.currentRawConfig)||void 0===B||null===(B=B.style)||void 0===B||null===(B=B.unmuteLabel)||void 0===B?void 0:B.backgroundColor)&&void 0!==A?A:t.style.unmuteLabel.backgroundColor)&&void 0!==O?O:this.unmuteBGColor,this.unmutePRColor=null!==(U=null!==(F=null===(W=this.currentRawConfig)||void 0===W||null===(W=W.style)||void 0===W||null===(W=W.unmuteLabel)||void 0===W?void 0:W.primaryColor)&&void 0!==F?F:t.style.unmuteLabel.primaryColor)&&void 0!==U?U:this.unmutePRColor;if(null!==(l=t.style)&&void 0!==l&&l.icons)this.iconPrimaryColor=null!==(V=null!==(H=null===(q=this.currentRawConfig)||void 0===q||null===(q=q.style)||void 0===q||null===(q=q.icons)||void 0===q?void 0:q.primaryColor)&&void 0!==H?H:t.style.icons.primaryColor)&&void 0!==V?V:this.iconPrimaryColor,this.iconSecondaryColor=null!==(z=null!==(G=null===(K=this.currentRawConfig)||void 0===K||null===(K=K.style)||void 0===K||null===(K=K.icons)||void 0===K?void 0:K.secondaryColor)&&void 0!==G?G:t.style.icons.secondaryColor)&&void 0!==z?z:this.iconSecondaryColor,this.iconActiveColor=null!==(Z=null!==(_=null===(j=this.currentRawConfig)||void 0===j||null===(j=j.style)||void 0===j||null===(j=j.icons)||void 0===j?void 0:j.activeColor)&&void 0!==_?_:t.style.icons.activeColor)&&void 0!==Z?Z:this.iconActiveColor,this.iconErrorColor=null!==(Y=null!==(Q=null===(J=this.currentRawConfig)||void 0===J||null===(J=J.style)||void 0===J||null===(J=J.icons)||void 0===J?void 0:J.errorColor)&&void 0!==Q?Q:t.style.icons.errorColor)&&void 0!==Y?Y:this.iconErrorColor;if(this.backgroundColor=null!==(h=null!==(u=null===(d=this.currentRawConfig)||void 0===d||null===(d=d.style)||void 0===d?void 0:d.backgroundColor)&&void 0!==u?u:t.style.backgroundColor)&&void 0!==h?h:this.backgroundColor,null!==(c=t.style)&&void 0!==c&&c.text)this.titleColor=null!==(X=null!==($=null===(tt=this.currentRawConfig)||void 0===tt||null===(tt=tt.style)||void 0===tt||null===(tt=tt.text)||void 0===tt?void 0:tt.titleColor)&&void 0!==$?$:t.style.text.titleColor)&&void 0!==X?X:this.titleColor,this.subtitleColor=null!==(et=null!==(it=null===(nt=this.currentRawConfig)||void 0===nt||null===(nt=nt.style)||void 0===nt||null===(nt=nt.text)||void 0===nt?void 0:nt.subtitleColor)&&void 0!==it?it:t.style.text.subtitleColor)&&void 0!==et?et:this.subtitleColor,this.errorColor=null!==(rt=null!==(st=null===(at=this.currentRawConfig)||void 0===at||null===(at=at.style)||void 0===at||null===(at=at.text)||void 0===at?void 0:at.errorColor)&&void 0!==st?st:t.style.text.errorColor)&&void 0!==rt?rt:this.errorColor;this.borderRadius=null!==(m=null!==(g=null===(p=this.currentRawConfig)||void 0===p||null===(p=p.style)||void 0===p?void 0:p.borderRadius)&&void 0!==g?g:t.style.borderRadius)&&void 0!==m?m:this.borderRadius}}setStyle(){const t=this.stromPlayer.getMainElement().getPlayerElement();null!=this.loaderColor&&t.style.setProperty("--sp-loader-color",this.loaderColor),null!=this.progressBarGradientColor1&&t.style.setProperty("--sp-first-progress-bar-color",this.progressBarGradientColor1),null!=this.progressBarGradientColor2&&t.style.setProperty("--sp-second-progress-bar-color",this.progressBarGradientColor2),null!=this.waitingRoomRingColor1&&t.style.setProperty("--sp-first-waiting-ring-color",this.waitingRoomRingColor1),null!=this.waitingRoomRingColor2&&t.style.setProperty("--sp-second-waiting-ring-color",this.waitingRoomRingColor2),null!=this.cuePointColor1&&t.style.setProperty("--sp-first-cue-point-color",this.cuePointColor1),null!=this.cuePointColor2&&t.style.setProperty("--sp-second-cue-point-color",this.cuePointColor2),null!=this.unmuteBGColor&&t.style.setProperty("--sp-unmute-label-bg-color",this.unmuteBGColor),null!=this.unmutePRColor&&t.style.setProperty("--sp-unmute-label-primary-color",this.unmutePRColor),null!=this.iconPrimaryColor&&t.style.setProperty("--sp-icons-primary-color",this.iconPrimaryColor),null!=this.iconSecondaryColor&&t.style.setProperty("--sp-icons-secondary-color",this.iconSecondaryColor),null!=this.iconActiveColor&&t.style.setProperty("--sp-icons-active-color",this.iconActiveColor),null!=this.iconErrorColor&&t.style.setProperty("--sp-icons-error-color",this.iconErrorColor),null!=this.backgroundColor&&t.style.setProperty("--sp-background-color",this.backgroundColor),null!=this.titleColor&&t.style.setProperty("--sp-text-title-color",this.titleColor),null!=this.subtitleColor&&t.style.setProperty("--sp-text-desc-color",this.subtitleColor),null!=this.errorColor&&t.style.setProperty("--sp-text-error-color",this.errorColor),null!=this.fontRegular&&t.style.setProperty("--sp-font-regular",this.fontRegular),null!=this.fontBold&&t.style.setProperty("--sp-font-bold",this.fontBold),null!=this.borderRadius&&t.style.setProperty("--sp-border-radius",this.borderRadius)}setIncompatiblePlayerProtocolText(t){this.incompatiblePlayerProtocolText=t}getIncompatiblePlayerProtocolText(){return this.incompatiblePlayerProtocolText}setTimeline(t){this.showTimeline=t}getTimeline(){return this.showTimeline}setLiveText(t){this.liveText=t}getLiveText(){return this.liveText}setVideoStopText(t){this.streamStopText=t}getVideoStopText(){return this.streamStopText}isBigPlayButton(){return this.bigPlayButton}setBigPlaybackButton(t){this.bigPlayButton=t}getContainerID(){return this.containerID}setGuiHideSeconds(t){this.guiHideTime=t}getGuiHideSeconds(){return this.guiHideTime}getIfAutoGUIHide(){return this.autoGUIHide}setContainerID(t){this.containerID=t}getWidth(){return this.initialWidth}setWidth(t){this.initialWidth=t}getHeight(){return this.initialHeight}setHeight(t){this.initialHeight=t}getTitle(){return this.title}setTitle(t){this.title=t}getSubtitle(){return this.subtitle}setSubtitle(t){this.subtitle=t}getUnmuteText(){return this.unmuteText}setUnmuteText(t){this.unmuteText=t}getPlayerDisconnectedText(){return this.serverDisconnectedText}setPlayerDisconnectedText(t){this.serverDisconnectedText=t}getServersFailedText(){return this.serverConnectionFailedText}setServersFailedText(t){this.serverConnectionFailedText=t}getCompatibilityErrorText(){return this.compatibilityErrorText}setCompatibilityErrorText(t){this.compatibilityErrorText=t}getNoSSLErrorText(){return this.noSSLErrorText}getLicenseErrorText(){return this.licenseErrorText}setNoSSLErrorText(t){this.noSSLErrorText=t}getVideoErrorText(){return this.streamErrorText}getIncorrectProtocolVersionText(){return this.incorrectProtocolVersionText}setVideoErrorText(t){this.streamErrorText=t}getVideoNotFoundText(){return this.streamNotFoundText}setVideoNotFoundText(t){this.streamNotFoundText=t}getWatermarkPosition(){return this.watermarkPosition}getWaitingRoomTimeZone(){return this.waitingRoomTimeZone}getWatermarkURL(){return this.watermarkURL}getBroadcastStartDate(){return this.broadcastStartDate}getBroadcastCreateDate(){return this.broadcastCreateDate}getBroadcastRemainingTimeText(){return this.broadcastRemainingTimeText}getBroadcastStartTimeText(){return this.broadcastStartTimeText}getTimeDaysText(){return this.timeDaysText}getTimeHoursText(){return this.timeHoursText}getTimeMinutesText(){return this.timeMinutesText}getTimeSecondsText(){return this.timeSecondsText}getAwaitingText(){return this.awaitingStartText}getAspectRatio(){return this.aspectRatio}getIfNativeMobileGUI(){return this.nativeMobileGUI}getPosterURL(){return this.posterURL}setPoster(t){this.posterURL=t}getWaitingRoomPoster(){return this.waitingRoomPoster}getIfDemoMode(){return this.demoMode}}class ks extends Ps{constructor(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super(),r(this,"started",!1),r(this,"waitingRoom",!1),r(this,"waitingRoomResize",(()=>{this.waitingRoom||window.removeEventListener("resize",this.waitingRoomResize),this.mainElement.getHtmlElement().clientWidth<600?this.mainElement.getHtmlElement().querySelector(".countdown-container").style.transform="scale(".concat(this.mainElement.getHtmlElement().clientWidth/600,")"):this.mainElement.getHtmlElement().querySelector(".countdown-container").style.transform="scale(1)"})),"undefined"!=typeof window&&window.document&&window.document.createElement&&(1==(null==t?void 0:t.demoMode)&&null!=e&&(e.demoMode=!0),this.rawPlayerConfig=JSON.parse(JSON.stringify(t)),this.rawStreamConfig=JSON.parse(JSON.stringify(e)),this.id=ks.NEXT_PLAYER_ID,this.instanceName="stormPlayer-"+this.id,this.libraryManager=new Ts(this),ks.NEXT_PLAYER_ID++,1==!i&&this.initialize())}initialize(){this.started||(this.started=!0,this.playerConfig=new Ls(this,this.rawPlayerConfig),null!=this.playerConfig.getBroadcastCreateDate()&&on.isWaitingApplicable(this.playerConfig.getBroadcastStartDate(),this.playerConfig.getWaitingRoomTimeZone())?this.waitingRoom=!0:this.libraryManager.initialize(this.rawStreamConfig),this.mainElement=new nr(this),document.getElementById(this.playerConfig.getContainerID()).appendChild(this.mainElement.getHtmlElement()),this.waitingRoom||(this.dispatchEvent("interfaceReady",{ref:this}),this.setTitle(this.playerConfig.getTitle()),this.setSubtitle(this.playerConfig.getSubtitle())),this.waitingRoom&&(this.waitingRoomResize(),window.addEventListener("resize",this.waitingRoomResize)),this.setSize(this.rawPlayerConfig.width,this.rawPlayerConfig.height),this.mainElement.setObserver(),this.playerConfig.setStyle(),this.addEventListener("playerConfigUpdate",(t=>{this.playerConfig.setStyle()})))}setLibraryManager(){this.libraryManager=new Ts(this),this.libraryManager.initialize(this.rawStreamConfig)}addCuePoint(t,e){this.dispatchEvent("cuePointAdd",{ref:this,label:t,time:e})}removeCuePoint(t){this.dispatchEvent("cuePointRemove",{ref:this,time:t})}getLibrary(){return this.libraryManager.getLibrary()}getInstanceID(){return this.id}setStreamConfig(t){if(this.getRawPlayerConfig().demoMode)return;let e=JSON.parse(JSON.stringify(t));null!=this.getLibrary()&&this.getLibrary().getLogger().info(this,"setStreamConfig "+JSON.stringify(e)),e.settings.video=this.rawStreamConfig.settings.video,this.rawStreamConfig=e,null!=this.libraryManager&&this.libraryManager.setStreamConfig(e),this.dispatchEvent("streamConfigUpdate",{ref:this})}setPlayerConfig(t){let e=JSON.parse(JSON.stringify(t));null!=this.getLibrary()&&this.getLibrary().getLogger().info(this,"setPlayerConfig "+JSON.stringify(e)),null!=this.playerConfig&&(this.rawPlayerConfig=e,this.playerConfig.overwriteConfig(e),this.playerConfig.setStyle(),this.dispatchEvent("playerConfigUpdate",{ref:this}))}getInstanceName(){return this.instanceName}getMainElement(){return this.mainElement}setMainElement(t){this.mainElement=t}setSize(t,e){this.mainElement.setSize(t,e)}setWidth(t){this.mainElement.setWidth(t)}setHeight(t){this.mainElement.setHeight(t)}getWidth(){return this.mainElement.getWidth()}getHeight(){return this.mainElement.getHeight()}setTitle(t){this.mainElement.getHeaderElement()&&(this.playerConfig.setTitle(t),this.mainElement.getHeaderElement().setTitle(t))}setSubtitle(t){this.mainElement.getHeaderElement()&&(this.playerConfig.setSubtitle(t),this.mainElement.getHeaderElement().setSubtitle(t))}getPlayerConfigManager(){return this.playerConfig}getRawStreamConfig(){return this.rawStreamConfig}getRawPlayerConfig(){return this.rawPlayerConfig}getLibraryManager(){return this.libraryManager}isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}getVersion(){return ks.VERSION}destroy(){try{null!=this.getLibrary()&&this.getLibrary().destroy(),this.deleteAllEventListeners(),this.mainElement.remove()}catch(t){}}}r(ks,"VERSION","5.0.0"),r(ks,"NEXT_PLAYER_ID",0);class xs extends HTMLElement{static get observedAttributes(){return["streamConfig","playerConfig","containerID","width","height"]}constructor(){super(),r(this,"setupContainer",(t=>{let{containerID:e}=t;this.wrapper=document.createElement("div"),this.wrapper.setAttribute("id",e),this.appendChild(this.wrapper)})),r(this,"setStreamConfig",(t=>this.streamConfig=t)),r(this,"setPlayerConfig",(t=>this.playerConfig=t)),this.prepare()}prepare(){if(!this.getAttribute("containerID"))throw new Error("containerID attribute was not supplied the strom player element");if(this.containerID=this.getAttribute("containerID"),!this.getAttribute("width"))throw new Error('width attribute was not supplied to containerId=["'.concat(this.getAttribute("containerID"),'"]'));if(!this.containsOnlyNumbers(this.getAttribute("width")))throw new Error('width attribute supplied to containerId=["'.concat(this.getAttribute("containerID"),'"] must be a number'));if(this.width=Number(this.getAttribute("width")),!this.getAttribute("height"))throw new Error('height attribute was not supplied to containerId=["'.concat(this.getAttribute("containerID"),'"]'));if(!this.containsOnlyNumbers(this.getAttribute("height")))throw new Error('height attribute supplied to containerId=["'.concat(this.getAttribute("containerID"),'"] must be a number'));if(this.height=Number(this.getAttribute("height")),this.getAttribute("streamConfig"))try{this.setStreamConfig(JSON.parse(this.getAttribute("streamConfig")))}catch(t){throw new Error('streamConfig attribute supplied to containerId=["'.concat(this.getAttribute("containerID"),'"] must be a valid JSON object'))}if(this.getAttribute("playerConfig"))try{this.setPlayerConfig(JSON.parse(this.getAttribute("playerConfig"))),this.playerConfig.width=this.width,this.playerConfig.height=this.height,this.playerConfig.containerID=this.containerID}catch(t){throw new Error('playerConfig attribute supplied to containerId=["'.concat(this.getAttribute("containerID"),'"] must be a valid JSON object'))}else this.playerConfig={width:this.width,height:this.height,containerID:this.containerID}}initialize(){this.setupContainer({containerID:this.playerConfig.containerID}),this.player=new ks(this.playerConfig,this.streamConfig)}connectedCallback(){this.streamConfig&&this.initialize()}disconnectedCallback(){this.player.destroy()}attributeChangedCallback(t,e,i){if(this.player){const e="width"===t||"height"===t?parseInt(i):i;switch(t){case"width":this.player.setSize(e,this.playerConfig.height),this.playerConfig.width=e;break;case"height":this.player.setSize(this.playerConfig.width,e),this.playerConfig.height=e}}else"streamConfig"!==t&&"playerConfig"!==t||setTimeout((()=>{var t;null===(t=this.player)||void 0===t||t.destroy(),this.prepare(),this.initialize()}),0)}containsOnlyNumbers(t){return/^\d+$/.test(t)}}return customElements.define("storm-player",xs),function(t,e,i){return new ks(t,e,i)}}();
