{"version":3,"file":"RaiVideoPlayer.js","mappings":"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","sources":["webpack://_RaiVideoPlayer/./node_modules/video.js/dist/video-js.css","webpack://_RaiVideoPlayer/./node_modules/css-loader/dist/runtime/api.js","webpack://_RaiVideoPlayer/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://_RaiVideoPlayer/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://_RaiVideoPlayer/./node_modules/video.js/dist/video-exposed.js","webpack://_RaiVideoPlayer/./node_modules/expose-loader/dist/runtime/getGlobalThis.js","webpack://_RaiVideoPlayer/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://_RaiVideoPlayer/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://_RaiVideoPlayer/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://_RaiVideoPlayer/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://_RaiVideoPlayer/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://_RaiVideoPlayer/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://_RaiVideoPlayer/./node_modules/video.js/dist/video.js","webpack://_RaiVideoPlayer/webpack/bootstrap","webpack://_RaiVideoPlayer/webpack/runtime/compat get default export","webpack://_RaiVideoPlayer/webpack/runtime/define property getters","webpack://_RaiVideoPlayer/webpack/runtime/global","webpack://_RaiVideoPlayer/webpack/runtime/hasOwnProperty shorthand","webpack://_RaiVideoPlayer/webpack/runtime/jsonp chunk loading","webpack://_RaiVideoPlayer/webpack/runtime/nonce","webpack://_RaiVideoPlayer/./node_modules/video.js/dist/video-js.css?658f","webpack://_RaiVideoPlayer/./src/js/modules/filePlaylist.js","webpack://_RaiVideoPlayer/./src/js/modules/formatTime.js","webpack://_RaiVideoPlayer/./src/js/app.js","webpack://_RaiVideoPlayer/./src/js/modules/extConcat.js","webpack://_RaiVideoPlayer/./src/index.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:application/font-woff;charset=utf-8;base64,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\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".vjs-svg-icon {\\n display: inline-block;\\n background-repeat: no-repeat;\\n background-position: center;\\n fill: #FFFFFF;\\n height: 1.5em;\\n width: 1.5em;\\n}\\n.vjs-svg-icon:before {\\n content: none !important;\\n}\\n\\n.vjs-svg-icon:hover,\\n.vjs-control:focus .vjs-svg-icon {\\n filter: drop-shadow(0 0 0.25em #fff);\\n}\\n\\n.vjs-modal-dialog .vjs-modal-dialog-content, .video-js .vjs-modal-dialog, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n text-align: center;\\n}\\n\\n@font-face {\\n font-family: VideoJS;\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"woff\\\");\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-play, .video-js .vjs-play-control .vjs-icon-placeholder, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f101\\\";\\n}\\n\\n.vjs-icon-play-circle {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-play-circle:before {\\n content: \\\"\\\\f102\\\";\\n}\\n\\n.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {\\n content: \\\"\\\\f103\\\";\\n}\\n\\n.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f104\\\";\\n}\\n\\n.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f105\\\";\\n}\\n\\n.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f106\\\";\\n}\\n\\n.vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f107\\\";\\n}\\n\\n.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f108\\\";\\n}\\n\\n.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f109\\\";\\n}\\n\\n.vjs-icon-spinner {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-spinner:before {\\n content: \\\"\\\\f10a\\\";\\n}\\n\\n.vjs-icon-subtitles, .video-js .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-subtitles-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-subtitles:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f10b\\\";\\n}\\n\\n.vjs-icon-captions, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-captions-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-captions:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f10c\\\";\\n}\\n\\n.vjs-icon-hd {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-hd:before {\\n content: \\\"\\\\f10d\\\";\\n}\\n\\n.vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f10e\\\";\\n}\\n\\n.vjs-icon-downloading {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-downloading:before {\\n content: \\\"\\\\f10f\\\";\\n}\\n\\n.vjs-icon-file-download {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-file-download:before {\\n content: \\\"\\\\f110\\\";\\n}\\n\\n.vjs-icon-file-download-done {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-file-download-done:before {\\n content: \\\"\\\\f111\\\";\\n}\\n\\n.vjs-icon-file-download-off {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-file-download-off:before {\\n content: \\\"\\\\f112\\\";\\n}\\n\\n.vjs-icon-share {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-share:before {\\n content: \\\"\\\\f113\\\";\\n}\\n\\n.vjs-icon-cog {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-cog:before {\\n content: \\\"\\\\f114\\\";\\n}\\n\\n.vjs-icon-square {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-square:before {\\n content: \\\"\\\\f115\\\";\\n}\\n\\n.vjs-icon-circle, .vjs-seek-to-live-control .vjs-icon-placeholder, .video-js .vjs-volume-level, .video-js .vjs-play-progress {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-circle:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before, .video-js .vjs-volume-level:before, .video-js .vjs-play-progress:before {\\n content: \\\"\\\\f116\\\";\\n}\\n\\n.vjs-icon-circle-outline {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-circle-outline:before {\\n content: \\\"\\\\f117\\\";\\n}\\n\\n.vjs-icon-circle-inner-circle {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-circle-inner-circle:before {\\n content: \\\"\\\\f118\\\";\\n}\\n\\n.vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f119\\\";\\n}\\n\\n.vjs-icon-repeat {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-repeat:before {\\n content: \\\"\\\\f11a\\\";\\n}\\n\\n.vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11b\\\";\\n}\\n\\n.vjs-icon-replay-5, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-replay-5:before, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11c\\\";\\n}\\n\\n.vjs-icon-replay-10, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-replay-10:before, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11d\\\";\\n}\\n\\n.vjs-icon-replay-30, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-replay-30:before, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11e\\\";\\n}\\n\\n.vjs-icon-forward-5, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-forward-5:before, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11f\\\";\\n}\\n\\n.vjs-icon-forward-10, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-forward-10:before, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f120\\\";\\n}\\n\\n.vjs-icon-forward-30, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-forward-30:before, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f121\\\";\\n}\\n\\n.vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f122\\\";\\n}\\n\\n.vjs-icon-next-item {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-next-item:before {\\n content: \\\"\\\\f123\\\";\\n}\\n\\n.vjs-icon-previous-item {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-previous-item:before {\\n content: \\\"\\\\f124\\\";\\n}\\n\\n.vjs-icon-shuffle {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-shuffle:before {\\n content: \\\"\\\\f125\\\";\\n}\\n\\n.vjs-icon-cast {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-cast:before {\\n content: \\\"\\\\f126\\\";\\n}\\n\\n.vjs-icon-picture-in-picture-enter, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-picture-in-picture-enter:before, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f127\\\";\\n}\\n\\n.vjs-icon-picture-in-picture-exit, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-picture-in-picture-exit:before, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f128\\\";\\n}\\n\\n.vjs-icon-facebook {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-facebook:before {\\n content: \\\"\\\\f129\\\";\\n}\\n\\n.vjs-icon-linkedin {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-linkedin:before {\\n content: \\\"\\\\f12a\\\";\\n}\\n\\n.vjs-icon-twitter {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-twitter:before {\\n content: \\\"\\\\f12b\\\";\\n}\\n\\n.vjs-icon-tumblr {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-tumblr:before {\\n content: \\\"\\\\f12c\\\";\\n}\\n\\n.vjs-icon-pinterest {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-pinterest:before {\\n content: \\\"\\\\f12d\\\";\\n}\\n\\n.vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f12e\\\";\\n}\\n\\n.video-js {\\n display: inline-block;\\n vertical-align: top;\\n box-sizing: border-box;\\n color: #fff;\\n background-color: #000;\\n position: relative;\\n padding: 0;\\n font-size: 10px;\\n line-height: 1;\\n font-weight: normal;\\n font-style: normal;\\n font-family: Arial, Helvetica, sans-serif;\\n word-break: initial;\\n}\\n.video-js:-moz-full-screen {\\n position: absolute;\\n}\\n.video-js:-webkit-full-screen {\\n width: 100% !important;\\n height: 100% !important;\\n}\\n\\n.video-js[tabindex=\\\"-1\\\"] {\\n outline: none;\\n}\\n\\n.video-js *,\\n.video-js *:before,\\n.video-js *:after {\\n box-sizing: inherit;\\n}\\n\\n.video-js ul {\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n list-style-position: outside;\\n margin-left: 0;\\n margin-right: 0;\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n\\n.video-js.vjs-fluid,\\n.video-js.vjs-16-9,\\n.video-js.vjs-4-3,\\n.video-js.vjs-9-16,\\n.video-js.vjs-1-1 {\\n width: 100%;\\n max-width: 100%;\\n}\\n\\n.video-js.vjs-fluid:not(.vjs-audio-only-mode),\\n.video-js.vjs-16-9:not(.vjs-audio-only-mode),\\n.video-js.vjs-4-3:not(.vjs-audio-only-mode),\\n.video-js.vjs-9-16:not(.vjs-audio-only-mode),\\n.video-js.vjs-1-1:not(.vjs-audio-only-mode) {\\n height: 0;\\n}\\n\\n.video-js.vjs-16-9:not(.vjs-audio-only-mode) {\\n padding-top: 56.25%;\\n}\\n\\n.video-js.vjs-4-3:not(.vjs-audio-only-mode) {\\n padding-top: 75%;\\n}\\n\\n.video-js.vjs-9-16:not(.vjs-audio-only-mode) {\\n padding-top: 177.7777777778%;\\n}\\n\\n.video-js.vjs-1-1:not(.vjs-audio-only-mode) {\\n padding-top: 100%;\\n}\\n\\n.video-js.vjs-fill:not(.vjs-audio-only-mode) {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.video-js .vjs-tech {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.video-js.vjs-audio-only-mode .vjs-tech {\\n display: none;\\n}\\n\\nbody.vjs-full-window,\\nbody.vjs-pip-window {\\n padding: 0;\\n margin: 0;\\n height: 100%;\\n}\\n\\n.vjs-full-window .video-js.vjs-fullscreen,\\nbody.vjs-pip-window .video-js {\\n position: fixed;\\n overflow: hidden;\\n z-index: 1000;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n}\\n\\n.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),\\nbody.vjs-pip-window .video-js {\\n width: 100% !important;\\n height: 100% !important;\\n padding-top: 0 !important;\\n}\\n\\n.video-js.vjs-fullscreen.vjs-user-inactive {\\n cursor: none;\\n}\\n\\n.vjs-pip-container .vjs-pip-text {\\n position: absolute;\\n bottom: 10%;\\n font-size: 2em;\\n background-color: rgba(0, 0, 0, 0.7);\\n padding: 0.5em;\\n text-align: center;\\n width: 100%;\\n}\\n\\n.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,\\n.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,\\n.vjs-layout-small.vjs-pip-container .vjs-pip-text {\\n bottom: 0;\\n font-size: 1.4em;\\n}\\n\\n.vjs-hidden {\\n display: none !important;\\n}\\n\\n.vjs-disabled {\\n opacity: 0.5;\\n cursor: default;\\n}\\n\\n.video-js .vjs-offscreen {\\n height: 1px;\\n left: -9999px;\\n position: absolute;\\n top: 0;\\n width: 1px;\\n}\\n\\n.vjs-lock-showing {\\n display: block !important;\\n opacity: 1 !important;\\n visibility: visible !important;\\n}\\n\\n.vjs-no-js {\\n padding: 20px;\\n color: #fff;\\n background-color: #000;\\n font-size: 18px;\\n font-family: Arial, Helvetica, sans-serif;\\n text-align: center;\\n width: 300px;\\n height: 150px;\\n margin: 0px auto;\\n}\\n\\n.vjs-no-js a,\\n.vjs-no-js a:visited {\\n color: #66A8CC;\\n}\\n\\n.video-js .vjs-big-play-button {\\n font-size: 3em;\\n line-height: 1.5em;\\n height: 1.63332em;\\n width: 3em;\\n display: block;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n padding: 0;\\n margin-top: -0.81666em;\\n margin-left: -1.5em;\\n cursor: pointer;\\n opacity: 1;\\n border: 0.06666em solid #fff;\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n border-radius: 0.3em;\\n transition: all 0.4s;\\n}\\n.vjs-big-play-button .vjs-svg-icon {\\n width: 0.75em;\\n height: 0.75em;\\n}\\n\\n.video-js:hover .vjs-big-play-button,\\n.video-js .vjs-big-play-button:focus {\\n border-color: #fff;\\n background-color: #73859f;\\n background-color: rgba(115, 133, 159, 0.5);\\n transition: all 0s;\\n}\\n\\n.vjs-controls-disabled .vjs-big-play-button,\\n.vjs-has-started .vjs-big-play-button,\\n.vjs-using-native-controls .vjs-big-play-button,\\n.vjs-error .vjs-big-play-button {\\n display: none;\\n}\\n\\n.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button {\\n display: block;\\n}\\n\\n.video-js button {\\n background: none;\\n border: none;\\n color: inherit;\\n display: inline-block;\\n font-size: inherit;\\n line-height: inherit;\\n text-transform: none;\\n text-decoration: none;\\n transition: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n\\n.vjs-control .vjs-button {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.video-js .vjs-control.vjs-close-button {\\n cursor: pointer;\\n height: 3em;\\n position: absolute;\\n right: 0;\\n top: 0.5em;\\n z-index: 2;\\n}\\n.video-js .vjs-modal-dialog {\\n background: rgba(0, 0, 0, 0.8);\\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));\\n overflow: auto;\\n}\\n\\n.video-js .vjs-modal-dialog > * {\\n box-sizing: border-box;\\n}\\n\\n.vjs-modal-dialog .vjs-modal-dialog-content {\\n font-size: 1.2em;\\n line-height: 1.5;\\n padding: 20px 24px;\\n z-index: 1;\\n}\\n\\n.vjs-menu-button {\\n cursor: pointer;\\n}\\n\\n.vjs-menu-button.vjs-disabled {\\n cursor: default;\\n}\\n\\n.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {\\n display: none;\\n}\\n\\n.vjs-menu .vjs-menu-content {\\n display: block;\\n padding: 0;\\n margin: 0;\\n font-family: Arial, Helvetica, sans-serif;\\n overflow: auto;\\n}\\n\\n.vjs-menu .vjs-menu-content > * {\\n box-sizing: border-box;\\n}\\n\\n.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {\\n display: none;\\n}\\n\\n.vjs-menu li {\\n display: flex;\\n justify-content: center;\\n list-style: none;\\n margin: 0;\\n padding: 0.2em 0;\\n line-height: 1.4em;\\n font-size: 1.2em;\\n text-align: center;\\n text-transform: lowercase;\\n}\\n\\n.vjs-menu li.vjs-menu-item:focus,\\n.vjs-menu li.vjs-menu-item:hover,\\n.js-focus-visible .vjs-menu li.vjs-menu-item:hover {\\n background-color: #73859f;\\n background-color: rgba(115, 133, 159, 0.5);\\n}\\n\\n.vjs-menu li.vjs-selected,\\n.vjs-menu li.vjs-selected:focus,\\n.vjs-menu li.vjs-selected:hover,\\n.js-focus-visible .vjs-menu li.vjs-selected:hover {\\n background-color: #fff;\\n color: #2B333F;\\n}\\n.vjs-menu li.vjs-selected .vjs-svg-icon,\\n.vjs-menu li.vjs-selected:focus .vjs-svg-icon,\\n.vjs-menu li.vjs-selected:hover .vjs-svg-icon,\\n.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon {\\n fill: #000000;\\n}\\n\\n.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),\\n.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible) {\\n background: none;\\n}\\n\\n.vjs-menu li.vjs-menu-title {\\n text-align: center;\\n text-transform: uppercase;\\n font-size: 1em;\\n line-height: 2em;\\n padding: 0;\\n margin: 0 0 0.3em 0;\\n font-weight: bold;\\n cursor: default;\\n}\\n\\n.vjs-menu-button-popup .vjs-menu {\\n display: none;\\n position: absolute;\\n bottom: 0;\\n width: 10em;\\n left: -3em;\\n height: 0em;\\n margin-bottom: 1.5em;\\n border-top-color: rgba(43, 51, 63, 0.7);\\n}\\n\\n.vjs-pip-window .vjs-menu-button-popup .vjs-menu {\\n left: unset;\\n right: 1em;\\n}\\n\\n.vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n position: absolute;\\n width: 100%;\\n bottom: 1.5em;\\n max-height: 15em;\\n}\\n\\n.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\\n.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 5em;\\n}\\n\\n.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 10em;\\n}\\n\\n.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 14em;\\n}\\n\\n.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\\n.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\\n.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 25em;\\n}\\n\\n.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,\\n.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {\\n display: block;\\n}\\n\\n.video-js .vjs-menu-button-inline {\\n transition: all 0.4s;\\n overflow: hidden;\\n}\\n\\n.video-js .vjs-menu-button-inline:before {\\n width: 2.222222222em;\\n}\\n\\n.video-js .vjs-menu-button-inline:hover,\\n.video-js .vjs-menu-button-inline:focus,\\n.video-js .vjs-menu-button-inline.vjs-slider-active {\\n width: 12em;\\n}\\n\\n.vjs-menu-button-inline .vjs-menu {\\n opacity: 0;\\n height: 100%;\\n width: auto;\\n position: absolute;\\n left: 4em;\\n top: 0;\\n padding: 0;\\n margin: 0;\\n transition: all 0.4s;\\n}\\n\\n.vjs-menu-button-inline:hover .vjs-menu,\\n.vjs-menu-button-inline:focus .vjs-menu,\\n.vjs-menu-button-inline.vjs-slider-active .vjs-menu {\\n display: block;\\n opacity: 1;\\n}\\n\\n.vjs-menu-button-inline .vjs-menu-content {\\n width: auto;\\n height: 100%;\\n margin: 0;\\n overflow: hidden;\\n}\\n\\n.video-js .vjs-control-bar {\\n display: none;\\n width: 100%;\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 3em;\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n}\\n\\n.vjs-has-started .vjs-control-bar,\\n.vjs-audio-only-mode .vjs-control-bar {\\n display: flex;\\n visibility: visible;\\n opacity: 1;\\n transition: visibility 0.1s, opacity 0.1s;\\n}\\n\\n.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\\n visibility: visible;\\n opacity: 0;\\n pointer-events: none;\\n transition: visibility 1s, opacity 1s;\\n}\\n\\n.vjs-controls-disabled .vjs-control-bar,\\n.vjs-using-native-controls .vjs-control-bar,\\n.vjs-error .vjs-control-bar {\\n display: none !important;\\n}\\n\\n.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,\\n.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\\n opacity: 1;\\n visibility: visible;\\n pointer-events: auto;\\n}\\n\\n.video-js .vjs-control {\\n position: relative;\\n text-align: center;\\n margin: 0;\\n padding: 0;\\n height: 100%;\\n width: 4em;\\n flex: none;\\n}\\n\\n.video-js .vjs-control.vjs-visible-text {\\n width: auto;\\n padding-left: 1em;\\n padding-right: 1em;\\n}\\n\\n.vjs-button > .vjs-icon-placeholder:before {\\n font-size: 1.8em;\\n line-height: 1.67;\\n}\\n\\n.vjs-button > .vjs-icon-placeholder {\\n display: block;\\n}\\n\\n.vjs-button > .vjs-svg-icon {\\n display: inline-block;\\n}\\n\\n.video-js .vjs-control:focus:before,\\n.video-js .vjs-control:hover:before,\\n.video-js .vjs-control:focus {\\n text-shadow: 0em 0em 1em white;\\n}\\n\\n.video-js *:not(.vjs-visible-text) > .vjs-control-text {\\n border: 0;\\n clip: rect(0 0 0 0);\\n height: 1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.video-js .vjs-custom-control-spacer {\\n display: none;\\n}\\n\\n.video-js .vjs-progress-control {\\n cursor: pointer;\\n flex: auto;\\n display: flex;\\n align-items: center;\\n min-width: 4em;\\n touch-action: none;\\n}\\n\\n.video-js .vjs-progress-control.disabled {\\n cursor: default;\\n}\\n\\n.vjs-live .vjs-progress-control {\\n display: none;\\n}\\n\\n.vjs-liveui .vjs-progress-control {\\n display: flex;\\n align-items: center;\\n}\\n\\n.video-js .vjs-progress-holder {\\n flex: auto;\\n transition: all 0.2s;\\n height: 0.3em;\\n}\\n\\n.video-js .vjs-progress-control .vjs-progress-holder {\\n margin: 0 10px;\\n}\\n\\n.video-js .vjs-progress-control:hover .vjs-progress-holder {\\n font-size: 1.6666666667em;\\n}\\n\\n.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {\\n font-size: 1em;\\n}\\n\\n.video-js .vjs-progress-holder .vjs-play-progress,\\n.video-js .vjs-progress-holder .vjs-load-progress,\\n.video-js .vjs-progress-holder .vjs-load-progress div {\\n position: absolute;\\n display: block;\\n height: 100%;\\n margin: 0;\\n padding: 0;\\n width: 0;\\n}\\n\\n.video-js .vjs-play-progress {\\n background-color: #fff;\\n}\\n.video-js .vjs-play-progress:before {\\n font-size: 0.9em;\\n position: absolute;\\n right: -0.5em;\\n line-height: 0.35em;\\n z-index: 1;\\n}\\n\\n.vjs-svg-icons-enabled .vjs-play-progress:before {\\n content: none !important;\\n}\\n\\n.vjs-play-progress .vjs-svg-icon {\\n position: absolute;\\n top: -0.35em;\\n right: -0.4em;\\n width: 1em;\\n height: 1em;\\n pointer-events: none;\\n line-height: 0.15em;\\n}\\n\\n.video-js .vjs-load-progress {\\n background: rgba(115, 133, 159, 0.5);\\n}\\n\\n.video-js .vjs-load-progress div {\\n background: rgba(115, 133, 159, 0.75);\\n}\\n\\n.video-js .vjs-time-tooltip {\\n background-color: #fff;\\n background-color: rgba(255, 255, 255, 0.8);\\n border-radius: 0.3em;\\n color: #000;\\n float: right;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 1em;\\n padding: 6px 8px 8px 8px;\\n pointer-events: none;\\n position: absolute;\\n top: -3.4em;\\n visibility: hidden;\\n z-index: 1;\\n}\\n\\n.vjs-progress-control:hover .vjs-progress-holder .vjs-play-progress .vjs-svg-icon {\\n width: 0.8em;\\n height: 0.8em;\\n top: -0.25em;\\n right: -0.5em;\\n line-height: 0.35em;\\n}\\n\\n.video-js .vjs-progress-holder:focus .vjs-time-tooltip {\\n display: none;\\n}\\n\\n.video-js .vjs-progress-control:hover .vjs-time-tooltip,\\n.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip {\\n display: block;\\n font-size: 0.6em;\\n visibility: visible;\\n}\\n\\n.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {\\n font-size: 1em;\\n}\\n\\n.video-js .vjs-progress-control .vjs-mouse-display {\\n display: none;\\n position: absolute;\\n width: 1px;\\n height: 100%;\\n background-color: #000;\\n z-index: 1;\\n}\\n\\n.video-js .vjs-progress-control:hover .vjs-mouse-display {\\n display: block;\\n}\\n\\n.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {\\n visibility: hidden;\\n opacity: 0;\\n transition: visibility 1s, opacity 1s;\\n}\\n\\n.vjs-mouse-display .vjs-time-tooltip {\\n color: #fff;\\n background-color: #000;\\n background-color: rgba(0, 0, 0, 0.8);\\n}\\n\\n.video-js .vjs-slider {\\n position: relative;\\n cursor: pointer;\\n padding: 0;\\n margin: 0 0.45em 0 0.45em;\\n /* iOS Safari */\\n -webkit-touch-callout: none;\\n /* Safari, and Chrome 53 */\\n -webkit-user-select: none;\\n /* Non-prefixed version, currently supported by Chrome and Opera */\\n -moz-user-select: none;\\n user-select: none;\\n background-color: #73859f;\\n background-color: rgba(115, 133, 159, 0.5);\\n}\\n\\n.video-js .vjs-slider.disabled {\\n cursor: default;\\n}\\n\\n.video-js .vjs-slider:focus {\\n text-shadow: 0em 0em 1em white;\\n box-shadow: 0 0 1em #fff;\\n}\\n\\n.video-js .vjs-mute-control {\\n cursor: pointer;\\n flex: none;\\n}\\n.video-js .vjs-volume-control {\\n cursor: pointer;\\n margin-right: 1em;\\n display: flex;\\n}\\n\\n.video-js .vjs-volume-control.vjs-volume-horizontal {\\n width: 5em;\\n}\\n\\n.video-js .vjs-volume-panel .vjs-volume-control {\\n visibility: visible;\\n opacity: 0;\\n width: 1px;\\n height: 1px;\\n margin-left: -1px;\\n}\\n\\n.video-js .vjs-volume-panel {\\n transition: width 1s;\\n}\\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control, .video-js .vjs-volume-panel:active .vjs-volume-control, .video-js .vjs-volume-panel:focus .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control:active, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {\\n visibility: visible;\\n opacity: 1;\\n position: relative;\\n transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s;\\n}\\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {\\n width: 5em;\\n height: 3em;\\n margin-right: 0;\\n}\\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {\\n left: -3.5em;\\n transition: left 0s;\\n}\\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {\\n width: 10em;\\n transition: width 0.1s;\\n}\\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {\\n width: 4em;\\n}\\n\\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\\n height: 8em;\\n width: 3em;\\n left: -3000em;\\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s;\\n}\\n\\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s;\\n}\\n\\n.video-js .vjs-volume-panel {\\n display: flex;\\n}\\n\\n.video-js .vjs-volume-bar {\\n margin: 1.35em 0.45em;\\n}\\n\\n.vjs-volume-bar.vjs-slider-horizontal {\\n width: 5em;\\n height: 0.3em;\\n}\\n\\n.vjs-volume-bar.vjs-slider-vertical {\\n width: 0.3em;\\n height: 5em;\\n margin: 1.35em auto;\\n}\\n\\n.video-js .vjs-volume-level {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n background-color: #fff;\\n}\\n.video-js .vjs-volume-level:before {\\n position: absolute;\\n font-size: 0.9em;\\n z-index: 1;\\n}\\n\\n.vjs-slider-vertical .vjs-volume-level {\\n width: 0.3em;\\n}\\n.vjs-slider-vertical .vjs-volume-level:before {\\n top: -0.5em;\\n left: -0.3em;\\n z-index: 1;\\n}\\n\\n.vjs-svg-icons-enabled .vjs-volume-level:before {\\n content: none;\\n}\\n\\n.vjs-volume-level .vjs-svg-icon {\\n position: absolute;\\n width: 0.6em;\\n height: 0.6em;\\n top: -0.55em;\\n pointer-events: none;\\n}\\n\\n.vjs-mute-control .vjs-svg-icon {\\n width: 1.75em;\\n height: 1.75em;\\n}\\n\\n.vjs-slider-horizontal .vjs-volume-level {\\n height: 0.3em;\\n}\\n.vjs-slider-horizontal .vjs-volume-level:before {\\n line-height: 0.35em;\\n right: -0.5em;\\n}\\n\\n.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon {\\n top: -0.15em;\\n right: -0.3em;\\n line-height: 0.05em;\\n}\\n\\n.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon {\\n top: -0.9em;\\n right: -0.15em;\\n}\\n\\n.video-js .vjs-volume-panel.vjs-volume-panel-vertical {\\n width: 4em;\\n}\\n\\n.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {\\n height: 100%;\\n}\\n\\n.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {\\n width: 100%;\\n}\\n\\n.video-js .vjs-volume-vertical {\\n width: 3em;\\n height: 8em;\\n bottom: 8em;\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n}\\n\\n.video-js .vjs-volume-horizontal .vjs-menu {\\n left: -2em;\\n}\\n\\n.video-js .vjs-volume-tooltip {\\n background-color: #fff;\\n background-color: rgba(255, 255, 255, 0.8);\\n border-radius: 0.3em;\\n color: #000;\\n float: right;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 1em;\\n padding: 6px 8px 8px 8px;\\n pointer-events: none;\\n position: absolute;\\n top: -3.4em;\\n visibility: hidden;\\n z-index: 1;\\n}\\n\\n.video-js .vjs-volume-control:hover .vjs-volume-tooltip,\\n.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip {\\n display: block;\\n font-size: 1em;\\n visibility: visible;\\n}\\n\\n.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,\\n.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip {\\n left: 1em;\\n top: -12px;\\n}\\n\\n.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip {\\n font-size: 1em;\\n}\\n\\n.video-js .vjs-volume-control .vjs-mouse-display {\\n display: none;\\n position: absolute;\\n width: 100%;\\n height: 1px;\\n background-color: #000;\\n z-index: 1;\\n}\\n\\n.video-js .vjs-volume-horizontal .vjs-mouse-display {\\n width: 1px;\\n height: 100%;\\n}\\n\\n.video-js .vjs-volume-control:hover .vjs-mouse-display {\\n display: block;\\n}\\n\\n.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display {\\n visibility: hidden;\\n opacity: 0;\\n transition: visibility 1s, opacity 1s;\\n}\\n\\n.vjs-mouse-display .vjs-volume-tooltip {\\n color: #fff;\\n background-color: #000;\\n background-color: rgba(0, 0, 0, 0.8);\\n}\\n\\n.vjs-poster {\\n display: inline-block;\\n vertical-align: middle;\\n cursor: pointer;\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n height: 100%;\\n}\\n\\n.vjs-has-started .vjs-poster,\\n.vjs-using-native-controls .vjs-poster {\\n display: none;\\n}\\n\\n.vjs-audio.vjs-has-started .vjs-poster,\\n.vjs-has-started.vjs-audio-poster-mode .vjs-poster,\\n.vjs-pip-container.vjs-has-started .vjs-poster {\\n display: block;\\n}\\n\\n.vjs-poster img {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: contain;\\n object-fit: contain;\\n}\\n\\n.video-js .vjs-live-control {\\n display: flex;\\n align-items: flex-start;\\n flex: auto;\\n font-size: 1em;\\n line-height: 3em;\\n}\\n\\n.video-js:not(.vjs-live) .vjs-live-control,\\n.video-js.vjs-liveui .vjs-live-control {\\n display: none;\\n}\\n\\n.video-js .vjs-seek-to-live-control {\\n align-items: center;\\n cursor: pointer;\\n flex: none;\\n display: inline-flex;\\n height: 100%;\\n padding-left: 0.5em;\\n padding-right: 0.5em;\\n font-size: 1em;\\n line-height: 3em;\\n width: auto;\\n min-width: 4em;\\n}\\n\\n.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,\\n.video-js:not(.vjs-live) .vjs-seek-to-live-control {\\n display: none;\\n}\\n\\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {\\n cursor: auto;\\n}\\n\\n.vjs-seek-to-live-control .vjs-icon-placeholder {\\n margin-right: 0.5em;\\n color: #888;\\n}\\n\\n.vjs-svg-icons-enabled .vjs-seek-to-live-control {\\n line-height: 0;\\n}\\n\\n.vjs-seek-to-live-control .vjs-svg-icon {\\n width: 1em;\\n height: 1em;\\n pointer-events: none;\\n fill: #888888;\\n}\\n\\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {\\n color: red;\\n}\\n\\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon {\\n fill: red;\\n}\\n\\n.video-js .vjs-time-control {\\n flex: none;\\n font-size: 1em;\\n line-height: 3em;\\n min-width: 2em;\\n width: auto;\\n padding-left: 1em;\\n padding-right: 1em;\\n}\\n\\n.vjs-live .vjs-time-control,\\n.vjs-live .vjs-time-divider,\\n.video-js .vjs-current-time,\\n.video-js .vjs-duration {\\n display: none;\\n}\\n\\n.vjs-time-divider {\\n display: none;\\n line-height: 3em;\\n}\\n\\n.video-js .vjs-play-control {\\n cursor: pointer;\\n}\\n\\n.video-js .vjs-play-control .vjs-icon-placeholder {\\n flex: none;\\n}\\n\\n.vjs-text-track-display {\\n position: absolute;\\n bottom: 3em;\\n left: 0;\\n right: 0;\\n top: 0;\\n pointer-events: none;\\n}\\n\\n.video-js.vjs-controls-disabled .vjs-text-track-display,\\n.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {\\n bottom: 1em;\\n}\\n\\n.video-js .vjs-text-track {\\n font-size: 1.4em;\\n text-align: center;\\n margin-bottom: 0.1em;\\n}\\n\\n.vjs-subtitles {\\n color: #fff;\\n}\\n\\n.vjs-captions {\\n color: #fc6;\\n}\\n\\n.vjs-tt-cue {\\n display: block;\\n}\\n\\nvideo::-webkit-media-text-track-display {\\n transform: translateY(-3em);\\n}\\n\\n.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,\\n.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {\\n transform: translateY(-1.5em);\\n}\\n\\n.video-js .vjs-picture-in-picture-control {\\n cursor: pointer;\\n flex: none;\\n}\\n.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,\\n.vjs-pip-window .vjs-picture-in-picture-control {\\n display: none;\\n}\\n\\n.video-js .vjs-fullscreen-control {\\n cursor: pointer;\\n flex: none;\\n}\\n.video-js.vjs-audio-only-mode .vjs-fullscreen-control,\\n.vjs-pip-window .vjs-fullscreen-control {\\n display: none;\\n}\\n\\n.vjs-playback-rate > .vjs-menu-button,\\n.vjs-playback-rate .vjs-playback-rate-value {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.vjs-playback-rate .vjs-playback-rate-value {\\n pointer-events: none;\\n font-size: 1.5em;\\n line-height: 2;\\n text-align: center;\\n}\\n\\n.vjs-playback-rate .vjs-menu {\\n width: 4em;\\n left: 0em;\\n}\\n\\n.vjs-error .vjs-error-display .vjs-modal-dialog-content {\\n font-size: 1.4em;\\n text-align: center;\\n}\\n\\n.vjs-error .vjs-error-display:before {\\n color: #fff;\\n content: \\\"X\\\";\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 4em;\\n left: 0;\\n line-height: 1;\\n margin-top: -0.5em;\\n position: absolute;\\n text-shadow: 0.05em 0.05em 0.1em #000;\\n text-align: center;\\n top: 50%;\\n vertical-align: middle;\\n width: 100%;\\n}\\n\\n.vjs-loading-spinner {\\n display: none;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n opacity: 0.85;\\n text-align: left;\\n border: 0.6em solid rgba(43, 51, 63, 0.7);\\n box-sizing: border-box;\\n background-clip: padding-box;\\n width: 5em;\\n height: 5em;\\n border-radius: 50%;\\n visibility: hidden;\\n}\\n\\n.vjs-seeking .vjs-loading-spinner,\\n.vjs-waiting .vjs-loading-spinner {\\n display: block;\\n animation: vjs-spinner-show 0s linear 0.3s forwards;\\n}\\n\\n.vjs-loading-spinner:before,\\n.vjs-loading-spinner:after {\\n content: \\\"\\\";\\n position: absolute;\\n margin: -0.6em;\\n box-sizing: inherit;\\n width: inherit;\\n height: inherit;\\n border-radius: inherit;\\n opacity: 1;\\n border: inherit;\\n border-color: transparent;\\n border-top-color: white;\\n}\\n\\n.vjs-seeking .vjs-loading-spinner:before,\\n.vjs-seeking .vjs-loading-spinner:after,\\n.vjs-waiting .vjs-loading-spinner:before,\\n.vjs-waiting .vjs-loading-spinner:after {\\n animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;\\n}\\n\\n.vjs-seeking .vjs-loading-spinner:before,\\n.vjs-waiting .vjs-loading-spinner:before {\\n border-top-color: rgb(255, 255, 255);\\n}\\n\\n.vjs-seeking .vjs-loading-spinner:after,\\n.vjs-waiting .vjs-loading-spinner:after {\\n border-top-color: rgb(255, 255, 255);\\n animation-delay: 0.44s;\\n}\\n\\n@keyframes vjs-spinner-show {\\n to {\\n visibility: visible;\\n }\\n}\\n@keyframes vjs-spinner-spin {\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes vjs-spinner-fade {\\n 0% {\\n border-top-color: #73859f;\\n }\\n 20% {\\n border-top-color: #73859f;\\n }\\n 35% {\\n border-top-color: white;\\n }\\n 60% {\\n border-top-color: #73859f;\\n }\\n 100% {\\n border-top-color: #73859f;\\n }\\n}\\n.video-js.vjs-audio-only-mode .vjs-captions-button {\\n display: none;\\n}\\n\\n.vjs-chapters-button .vjs-menu ul {\\n width: 24em;\\n}\\n\\n.video-js.vjs-audio-only-mode .vjs-descriptions-button {\\n display: none;\\n}\\n\\n.vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-svg-icon {\\n margin-left: 0.3em;\\n}\\n\\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\\n vertical-align: middle;\\n display: inline-block;\\n margin-bottom: -0.1em;\\n}\\n\\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\\n font-family: VideoJS;\\n content: \\\"\\\\f10c\\\";\\n font-size: 1.5em;\\n line-height: inherit;\\n}\\n\\n.video-js.vjs-audio-only-mode .vjs-subs-caps-button {\\n display: none;\\n}\\n\\n.video-js .vjs-audio-button + .vjs-menu .vjs-description-menu-item .vjs-menu-item-text .vjs-icon-placeholder,\\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\\n vertical-align: middle;\\n display: inline-block;\\n margin-bottom: -0.1em;\\n}\\n\\n.video-js .vjs-audio-button + .vjs-menu .vjs-description-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,\\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\\n font-family: VideoJS;\\n content: \\\" \\\\f12e\\\";\\n font-size: 1.5em;\\n line-height: inherit;\\n}\\n\\n.video-js.vjs-layout-small .vjs-current-time,\\n.video-js.vjs-layout-small .vjs-time-divider,\\n.video-js.vjs-layout-small .vjs-duration,\\n.video-js.vjs-layout-small .vjs-remaining-time,\\n.video-js.vjs-layout-small .vjs-playback-rate,\\n.video-js.vjs-layout-small .vjs-volume-control, .video-js.vjs-layout-x-small .vjs-current-time,\\n.video-js.vjs-layout-x-small .vjs-time-divider,\\n.video-js.vjs-layout-x-small .vjs-duration,\\n.video-js.vjs-layout-x-small .vjs-remaining-time,\\n.video-js.vjs-layout-x-small .vjs-playback-rate,\\n.video-js.vjs-layout-x-small .vjs-volume-control, .video-js.vjs-layout-tiny .vjs-current-time,\\n.video-js.vjs-layout-tiny .vjs-time-divider,\\n.video-js.vjs-layout-tiny .vjs-duration,\\n.video-js.vjs-layout-tiny .vjs-remaining-time,\\n.video-js.vjs-layout-tiny .vjs-playback-rate,\\n.video-js.vjs-layout-tiny .vjs-volume-control {\\n display: none;\\n}\\n.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover {\\n width: auto;\\n width: initial;\\n}\\n.video-js.vjs-layout-x-small .vjs-progress-control, .video-js.vjs-layout-tiny .vjs-progress-control {\\n display: none;\\n}\\n.video-js.vjs-layout-x-small .vjs-custom-control-spacer {\\n flex: auto;\\n display: block;\\n}\\n\\n.vjs-modal-dialog.vjs-text-track-settings {\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.75);\\n color: #fff;\\n height: 70%;\\n}\\n\\n.vjs-text-track-settings .vjs-modal-dialog-content {\\n display: table;\\n}\\n\\n.vjs-text-track-settings .vjs-track-settings-colors,\\n.vjs-text-track-settings .vjs-track-settings-font,\\n.vjs-text-track-settings .vjs-track-settings-controls {\\n display: table-cell;\\n}\\n\\n.vjs-text-track-settings .vjs-track-settings-controls {\\n text-align: right;\\n vertical-align: bottom;\\n}\\n\\n@supports (display: grid) {\\n .vjs-text-track-settings .vjs-modal-dialog-content {\\n display: grid;\\n grid-template-columns: 1fr 1fr;\\n grid-template-rows: 1fr;\\n padding: 20px 24px 0px 24px;\\n }\\n .vjs-track-settings-controls .vjs-default-button {\\n margin-bottom: 20px;\\n }\\n .vjs-text-track-settings .vjs-track-settings-controls {\\n grid-column: 1/-1;\\n }\\n .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,\\n .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,\\n .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {\\n grid-template-columns: 1fr;\\n }\\n}\\n.vjs-text-track-settings select {\\n font-size: inherit;\\n}\\n\\n.vjs-track-setting > select {\\n margin-right: 1em;\\n margin-bottom: 0.5em;\\n}\\n\\n.vjs-text-track-settings fieldset {\\n margin: 10px;\\n border: none;\\n}\\n\\n.vjs-text-track-settings fieldset span {\\n display: inline-block;\\n padding: 0 0.6em 0.8em;\\n}\\n\\n.vjs-text-track-settings fieldset span > select {\\n max-width: 7.3em;\\n}\\n\\n.vjs-text-track-settings legend {\\n color: #fff;\\n font-weight: bold;\\n font-size: 1.2em;\\n}\\n\\n.vjs-text-track-settings .vjs-label {\\n margin: 0 0.5em 0.5em 0;\\n}\\n\\n.vjs-track-settings-controls button:focus,\\n.vjs-track-settings-controls button:active {\\n outline-style: solid;\\n outline-width: medium;\\n background-image: linear-gradient(0deg, #fff 88%, #73859f 100%);\\n}\\n\\n.vjs-track-settings-controls button:hover {\\n color: rgba(43, 51, 63, 0.75);\\n}\\n\\n.vjs-track-settings-controls button {\\n background-color: #fff;\\n background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%);\\n color: #2B333F;\\n cursor: pointer;\\n border-radius: 2px;\\n}\\n\\n.vjs-track-settings-controls .vjs-default-button {\\n margin-right: 1em;\\n}\\n\\n.vjs-title-bar {\\n background: rgba(0, 0, 0, 0.9);\\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0) 100%);\\n font-size: 1.2em;\\n line-height: 1.5;\\n transition: opacity 0.1s;\\n padding: 0.666em 1.333em 4em;\\n pointer-events: none;\\n position: absolute;\\n top: 0;\\n width: 100%;\\n}\\n\\n.vjs-title-bar-title,\\n.vjs-title-bar-description {\\n margin: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\\n.vjs-title-bar-title {\\n font-weight: bold;\\n margin-bottom: 0.333em;\\n}\\n\\n.vjs-playing.vjs-user-inactive .vjs-title-bar {\\n opacity: 0;\\n transition: opacity 1s;\\n}\\n\\n.video-js .vjs-skip-forward-5 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-forward-10 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-forward-30 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-backward-5 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-backward-10 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-backward-30 {\\n cursor: pointer;\\n}\\n@media print {\\n .video-js > *:not(.vjs-tech):not(.vjs-poster) {\\n visibility: hidden;\\n }\\n}\\n.vjs-resize-manager {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: none;\\n z-index: -1000;\\n}\\n\\n.js-focus-visible .video-js *:focus:not(.focus-visible) {\\n outline: none;\\n}\\n\\n.video-js *:focus:not(:focus-visible) {\\n outline: none;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/video.js/dist/video-js.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,qBAAqB;EACrB,4BAA4B;EAC5B,2BAA2B;EAC3B,aAAa;EACb,aAAa;EACb,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;;AAEA;;EAEE,oCAAoC;AACtC;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;AACd;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,oBAAoB;EACpB,2DAAqnO;EACrnO,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;;;;;EAKE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;;;;;EAKE,gBAAgB;AAClB;;AAEA;;EAEE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;;EAEE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mB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\",\"sourcesContent\":[\".vjs-svg-icon {\\n display: inline-block;\\n background-repeat: no-repeat;\\n background-position: center;\\n fill: #FFFFFF;\\n height: 1.5em;\\n width: 1.5em;\\n}\\n.vjs-svg-icon:before {\\n content: none !important;\\n}\\n\\n.vjs-svg-icon:hover,\\n.vjs-control:focus .vjs-svg-icon {\\n filter: drop-shadow(0 0 0.25em #fff);\\n}\\n\\n.vjs-modal-dialog .vjs-modal-dialog-content, .video-js .vjs-modal-dialog, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n text-align: center;\\n}\\n\\n@font-face {\\n font-family: VideoJS;\\n src: url(data:application/font-woff;charset=utf-8;base64,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) format(\\\"woff\\\");\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-play, .video-js .vjs-play-control .vjs-icon-placeholder, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f101\\\";\\n}\\n\\n.vjs-icon-play-circle {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-play-circle:before {\\n content: \\\"\\\\f102\\\";\\n}\\n\\n.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {\\n content: \\\"\\\\f103\\\";\\n}\\n\\n.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f104\\\";\\n}\\n\\n.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f105\\\";\\n}\\n\\n.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f106\\\";\\n}\\n\\n.vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f107\\\";\\n}\\n\\n.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f108\\\";\\n}\\n\\n.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f109\\\";\\n}\\n\\n.vjs-icon-spinner {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-spinner:before {\\n content: \\\"\\\\f10a\\\";\\n}\\n\\n.vjs-icon-subtitles, .video-js .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-subtitles-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-subtitles:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f10b\\\";\\n}\\n\\n.vjs-icon-captions, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,\\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-captions-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-captions:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,\\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f10c\\\";\\n}\\n\\n.vjs-icon-hd {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-hd:before {\\n content: \\\"\\\\f10d\\\";\\n}\\n\\n.vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f10e\\\";\\n}\\n\\n.vjs-icon-downloading {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-downloading:before {\\n content: \\\"\\\\f10f\\\";\\n}\\n\\n.vjs-icon-file-download {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-file-download:before {\\n content: \\\"\\\\f110\\\";\\n}\\n\\n.vjs-icon-file-download-done {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-file-download-done:before {\\n content: \\\"\\\\f111\\\";\\n}\\n\\n.vjs-icon-file-download-off {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-file-download-off:before {\\n content: \\\"\\\\f112\\\";\\n}\\n\\n.vjs-icon-share {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-share:before {\\n content: \\\"\\\\f113\\\";\\n}\\n\\n.vjs-icon-cog {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-cog:before {\\n content: \\\"\\\\f114\\\";\\n}\\n\\n.vjs-icon-square {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-square:before {\\n content: \\\"\\\\f115\\\";\\n}\\n\\n.vjs-icon-circle, .vjs-seek-to-live-control .vjs-icon-placeholder, .video-js .vjs-volume-level, .video-js .vjs-play-progress {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-circle:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before, .video-js .vjs-volume-level:before, .video-js .vjs-play-progress:before {\\n content: \\\"\\\\f116\\\";\\n}\\n\\n.vjs-icon-circle-outline {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-circle-outline:before {\\n content: \\\"\\\\f117\\\";\\n}\\n\\n.vjs-icon-circle-inner-circle {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-circle-inner-circle:before {\\n content: \\\"\\\\f118\\\";\\n}\\n\\n.vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f119\\\";\\n}\\n\\n.vjs-icon-repeat {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-repeat:before {\\n content: \\\"\\\\f11a\\\";\\n}\\n\\n.vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11b\\\";\\n}\\n\\n.vjs-icon-replay-5, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-replay-5:before, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11c\\\";\\n}\\n\\n.vjs-icon-replay-10, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-replay-10:before, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11d\\\";\\n}\\n\\n.vjs-icon-replay-30, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-replay-30:before, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11e\\\";\\n}\\n\\n.vjs-icon-forward-5, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-forward-5:before, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f11f\\\";\\n}\\n\\n.vjs-icon-forward-10, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-forward-10:before, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f120\\\";\\n}\\n\\n.vjs-icon-forward-30, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-forward-30:before, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before {\\n content: \\\"\\\\f121\\\";\\n}\\n\\n.vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f122\\\";\\n}\\n\\n.vjs-icon-next-item {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-next-item:before {\\n content: \\\"\\\\f123\\\";\\n}\\n\\n.vjs-icon-previous-item {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-previous-item:before {\\n content: \\\"\\\\f124\\\";\\n}\\n\\n.vjs-icon-shuffle {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-shuffle:before {\\n content: \\\"\\\\f125\\\";\\n}\\n\\n.vjs-icon-cast {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-cast:before {\\n content: \\\"\\\\f126\\\";\\n}\\n\\n.vjs-icon-picture-in-picture-enter, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-picture-in-picture-enter:before, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f127\\\";\\n}\\n\\n.vjs-icon-picture-in-picture-exit, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-picture-in-picture-exit:before, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before {\\n content: \\\"\\\\f128\\\";\\n}\\n\\n.vjs-icon-facebook {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-facebook:before {\\n content: \\\"\\\\f129\\\";\\n}\\n\\n.vjs-icon-linkedin {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-linkedin:before {\\n content: \\\"\\\\f12a\\\";\\n}\\n\\n.vjs-icon-twitter {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-twitter:before {\\n content: \\\"\\\\f12b\\\";\\n}\\n\\n.vjs-icon-tumblr {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-tumblr:before {\\n content: \\\"\\\\f12c\\\";\\n}\\n\\n.vjs-icon-pinterest {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-pinterest:before {\\n content: \\\"\\\\f12d\\\";\\n}\\n\\n.vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder {\\n font-family: VideoJS;\\n font-weight: normal;\\n font-style: normal;\\n}\\n.vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before {\\n content: \\\"\\\\f12e\\\";\\n}\\n\\n.video-js {\\n display: inline-block;\\n vertical-align: top;\\n box-sizing: border-box;\\n color: #fff;\\n background-color: #000;\\n position: relative;\\n padding: 0;\\n font-size: 10px;\\n line-height: 1;\\n font-weight: normal;\\n font-style: normal;\\n font-family: Arial, Helvetica, sans-serif;\\n word-break: initial;\\n}\\n.video-js:-moz-full-screen {\\n position: absolute;\\n}\\n.video-js:-webkit-full-screen {\\n width: 100% !important;\\n height: 100% !important;\\n}\\n\\n.video-js[tabindex=\\\"-1\\\"] {\\n outline: none;\\n}\\n\\n.video-js *,\\n.video-js *:before,\\n.video-js *:after {\\n box-sizing: inherit;\\n}\\n\\n.video-js ul {\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n list-style-position: outside;\\n margin-left: 0;\\n margin-right: 0;\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n\\n.video-js.vjs-fluid,\\n.video-js.vjs-16-9,\\n.video-js.vjs-4-3,\\n.video-js.vjs-9-16,\\n.video-js.vjs-1-1 {\\n width: 100%;\\n max-width: 100%;\\n}\\n\\n.video-js.vjs-fluid:not(.vjs-audio-only-mode),\\n.video-js.vjs-16-9:not(.vjs-audio-only-mode),\\n.video-js.vjs-4-3:not(.vjs-audio-only-mode),\\n.video-js.vjs-9-16:not(.vjs-audio-only-mode),\\n.video-js.vjs-1-1:not(.vjs-audio-only-mode) {\\n height: 0;\\n}\\n\\n.video-js.vjs-16-9:not(.vjs-audio-only-mode) {\\n padding-top: 56.25%;\\n}\\n\\n.video-js.vjs-4-3:not(.vjs-audio-only-mode) {\\n padding-top: 75%;\\n}\\n\\n.video-js.vjs-9-16:not(.vjs-audio-only-mode) {\\n padding-top: 177.7777777778%;\\n}\\n\\n.video-js.vjs-1-1:not(.vjs-audio-only-mode) {\\n padding-top: 100%;\\n}\\n\\n.video-js.vjs-fill:not(.vjs-audio-only-mode) {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.video-js .vjs-tech {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.video-js.vjs-audio-only-mode .vjs-tech {\\n display: none;\\n}\\n\\nbody.vjs-full-window,\\nbody.vjs-pip-window {\\n padding: 0;\\n margin: 0;\\n height: 100%;\\n}\\n\\n.vjs-full-window .video-js.vjs-fullscreen,\\nbody.vjs-pip-window .video-js {\\n position: fixed;\\n overflow: hidden;\\n z-index: 1000;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n}\\n\\n.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),\\nbody.vjs-pip-window .video-js {\\n width: 100% !important;\\n height: 100% !important;\\n padding-top: 0 !important;\\n}\\n\\n.video-js.vjs-fullscreen.vjs-user-inactive {\\n cursor: none;\\n}\\n\\n.vjs-pip-container .vjs-pip-text {\\n position: absolute;\\n bottom: 10%;\\n font-size: 2em;\\n background-color: rgba(0, 0, 0, 0.7);\\n padding: 0.5em;\\n text-align: center;\\n width: 100%;\\n}\\n\\n.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,\\n.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,\\n.vjs-layout-small.vjs-pip-container .vjs-pip-text {\\n bottom: 0;\\n font-size: 1.4em;\\n}\\n\\n.vjs-hidden {\\n display: none !important;\\n}\\n\\n.vjs-disabled {\\n opacity: 0.5;\\n cursor: default;\\n}\\n\\n.video-js .vjs-offscreen {\\n height: 1px;\\n left: -9999px;\\n position: absolute;\\n top: 0;\\n width: 1px;\\n}\\n\\n.vjs-lock-showing {\\n display: block !important;\\n opacity: 1 !important;\\n visibility: visible !important;\\n}\\n\\n.vjs-no-js {\\n padding: 20px;\\n color: #fff;\\n background-color: #000;\\n font-size: 18px;\\n font-family: Arial, Helvetica, sans-serif;\\n text-align: center;\\n width: 300px;\\n height: 150px;\\n margin: 0px auto;\\n}\\n\\n.vjs-no-js a,\\n.vjs-no-js a:visited {\\n color: #66A8CC;\\n}\\n\\n.video-js .vjs-big-play-button {\\n font-size: 3em;\\n line-height: 1.5em;\\n height: 1.63332em;\\n width: 3em;\\n display: block;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n padding: 0;\\n margin-top: -0.81666em;\\n margin-left: -1.5em;\\n cursor: pointer;\\n opacity: 1;\\n border: 0.06666em solid #fff;\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n border-radius: 0.3em;\\n transition: all 0.4s;\\n}\\n.vjs-big-play-button .vjs-svg-icon {\\n width: 0.75em;\\n height: 0.75em;\\n}\\n\\n.video-js:hover .vjs-big-play-button,\\n.video-js .vjs-big-play-button:focus {\\n border-color: #fff;\\n background-color: #73859f;\\n background-color: rgba(115, 133, 159, 0.5);\\n transition: all 0s;\\n}\\n\\n.vjs-controls-disabled .vjs-big-play-button,\\n.vjs-has-started .vjs-big-play-button,\\n.vjs-using-native-controls .vjs-big-play-button,\\n.vjs-error .vjs-big-play-button {\\n display: none;\\n}\\n\\n.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button {\\n display: block;\\n}\\n\\n.video-js button {\\n background: none;\\n border: none;\\n color: inherit;\\n display: inline-block;\\n font-size: inherit;\\n line-height: inherit;\\n text-transform: none;\\n text-decoration: none;\\n transition: none;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n\\n.vjs-control .vjs-button {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.video-js .vjs-control.vjs-close-button {\\n cursor: pointer;\\n height: 3em;\\n position: absolute;\\n right: 0;\\n top: 0.5em;\\n z-index: 2;\\n}\\n.video-js .vjs-modal-dialog {\\n background: rgba(0, 0, 0, 0.8);\\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));\\n overflow: auto;\\n}\\n\\n.video-js .vjs-modal-dialog > * {\\n box-sizing: border-box;\\n}\\n\\n.vjs-modal-dialog .vjs-modal-dialog-content {\\n font-size: 1.2em;\\n line-height: 1.5;\\n padding: 20px 24px;\\n z-index: 1;\\n}\\n\\n.vjs-menu-button {\\n cursor: pointer;\\n}\\n\\n.vjs-menu-button.vjs-disabled {\\n cursor: default;\\n}\\n\\n.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {\\n display: none;\\n}\\n\\n.vjs-menu .vjs-menu-content {\\n display: block;\\n padding: 0;\\n margin: 0;\\n font-family: Arial, Helvetica, sans-serif;\\n overflow: auto;\\n}\\n\\n.vjs-menu .vjs-menu-content > * {\\n box-sizing: border-box;\\n}\\n\\n.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {\\n display: none;\\n}\\n\\n.vjs-menu li {\\n display: flex;\\n justify-content: center;\\n list-style: none;\\n margin: 0;\\n padding: 0.2em 0;\\n line-height: 1.4em;\\n font-size: 1.2em;\\n text-align: center;\\n text-transform: lowercase;\\n}\\n\\n.vjs-menu li.vjs-menu-item:focus,\\n.vjs-menu li.vjs-menu-item:hover,\\n.js-focus-visible .vjs-menu li.vjs-menu-item:hover {\\n background-color: #73859f;\\n background-color: rgba(115, 133, 159, 0.5);\\n}\\n\\n.vjs-menu li.vjs-selected,\\n.vjs-menu li.vjs-selected:focus,\\n.vjs-menu li.vjs-selected:hover,\\n.js-focus-visible .vjs-menu li.vjs-selected:hover {\\n background-color: #fff;\\n color: #2B333F;\\n}\\n.vjs-menu li.vjs-selected .vjs-svg-icon,\\n.vjs-menu li.vjs-selected:focus .vjs-svg-icon,\\n.vjs-menu li.vjs-selected:hover .vjs-svg-icon,\\n.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon {\\n fill: #000000;\\n}\\n\\n.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),\\n.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible) {\\n background: none;\\n}\\n\\n.vjs-menu li.vjs-menu-title {\\n text-align: center;\\n text-transform: uppercase;\\n font-size: 1em;\\n line-height: 2em;\\n padding: 0;\\n margin: 0 0 0.3em 0;\\n font-weight: bold;\\n cursor: default;\\n}\\n\\n.vjs-menu-button-popup .vjs-menu {\\n display: none;\\n position: absolute;\\n bottom: 0;\\n width: 10em;\\n left: -3em;\\n height: 0em;\\n margin-bottom: 1.5em;\\n border-top-color: rgba(43, 51, 63, 0.7);\\n}\\n\\n.vjs-pip-window .vjs-menu-button-popup .vjs-menu {\\n left: unset;\\n right: 1em;\\n}\\n\\n.vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n position: absolute;\\n width: 100%;\\n bottom: 1.5em;\\n max-height: 15em;\\n}\\n\\n.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\\n.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 5em;\\n}\\n\\n.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 10em;\\n}\\n\\n.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 14em;\\n}\\n\\n.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\\n.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\\n.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\\n max-height: 25em;\\n}\\n\\n.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,\\n.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {\\n display: block;\\n}\\n\\n.video-js .vjs-menu-button-inline {\\n transition: all 0.4s;\\n overflow: hidden;\\n}\\n\\n.video-js .vjs-menu-button-inline:before {\\n width: 2.222222222em;\\n}\\n\\n.video-js .vjs-menu-button-inline:hover,\\n.video-js .vjs-menu-button-inline:focus,\\n.video-js .vjs-menu-button-inline.vjs-slider-active {\\n width: 12em;\\n}\\n\\n.vjs-menu-button-inline .vjs-menu {\\n opacity: 0;\\n height: 100%;\\n width: auto;\\n position: absolute;\\n left: 4em;\\n top: 0;\\n padding: 0;\\n margin: 0;\\n transition: all 0.4s;\\n}\\n\\n.vjs-menu-button-inline:hover .vjs-menu,\\n.vjs-menu-button-inline:focus .vjs-menu,\\n.vjs-menu-button-inline.vjs-slider-active .vjs-menu {\\n display: block;\\n opacity: 1;\\n}\\n\\n.vjs-menu-button-inline .vjs-menu-content {\\n width: auto;\\n height: 100%;\\n margin: 0;\\n overflow: hidden;\\n}\\n\\n.video-js .vjs-control-bar {\\n display: none;\\n width: 100%;\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 3em;\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n}\\n\\n.vjs-has-started .vjs-control-bar,\\n.vjs-audio-only-mode .vjs-control-bar {\\n display: flex;\\n visibility: visible;\\n opacity: 1;\\n transition: visibility 0.1s, opacity 0.1s;\\n}\\n\\n.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\\n visibility: visible;\\n opacity: 0;\\n pointer-events: none;\\n transition: visibility 1s, opacity 1s;\\n}\\n\\n.vjs-controls-disabled .vjs-control-bar,\\n.vjs-using-native-controls .vjs-control-bar,\\n.vjs-error .vjs-control-bar {\\n display: none !important;\\n}\\n\\n.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,\\n.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\\n opacity: 1;\\n visibility: visible;\\n pointer-events: auto;\\n}\\n\\n.video-js .vjs-control {\\n position: relative;\\n text-align: center;\\n margin: 0;\\n padding: 0;\\n height: 100%;\\n width: 4em;\\n flex: none;\\n}\\n\\n.video-js .vjs-control.vjs-visible-text {\\n width: auto;\\n padding-left: 1em;\\n padding-right: 1em;\\n}\\n\\n.vjs-button > .vjs-icon-placeholder:before {\\n font-size: 1.8em;\\n line-height: 1.67;\\n}\\n\\n.vjs-button > .vjs-icon-placeholder {\\n display: block;\\n}\\n\\n.vjs-button > .vjs-svg-icon {\\n display: inline-block;\\n}\\n\\n.video-js .vjs-control:focus:before,\\n.video-js .vjs-control:hover:before,\\n.video-js .vjs-control:focus {\\n text-shadow: 0em 0em 1em white;\\n}\\n\\n.video-js *:not(.vjs-visible-text) > .vjs-control-text {\\n border: 0;\\n clip: rect(0 0 0 0);\\n height: 1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.video-js .vjs-custom-control-spacer {\\n display: none;\\n}\\n\\n.video-js .vjs-progress-control {\\n cursor: pointer;\\n flex: auto;\\n display: flex;\\n align-items: center;\\n min-width: 4em;\\n touch-action: none;\\n}\\n\\n.video-js .vjs-progress-control.disabled {\\n cursor: default;\\n}\\n\\n.vjs-live .vjs-progress-control {\\n display: none;\\n}\\n\\n.vjs-liveui .vjs-progress-control {\\n display: flex;\\n align-items: center;\\n}\\n\\n.video-js .vjs-progress-holder {\\n flex: auto;\\n transition: all 0.2s;\\n height: 0.3em;\\n}\\n\\n.video-js .vjs-progress-control .vjs-progress-holder {\\n margin: 0 10px;\\n}\\n\\n.video-js .vjs-progress-control:hover .vjs-progress-holder {\\n font-size: 1.6666666667em;\\n}\\n\\n.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {\\n font-size: 1em;\\n}\\n\\n.video-js .vjs-progress-holder .vjs-play-progress,\\n.video-js .vjs-progress-holder .vjs-load-progress,\\n.video-js .vjs-progress-holder .vjs-load-progress div {\\n position: absolute;\\n display: block;\\n height: 100%;\\n margin: 0;\\n padding: 0;\\n width: 0;\\n}\\n\\n.video-js .vjs-play-progress {\\n background-color: #fff;\\n}\\n.video-js .vjs-play-progress:before {\\n font-size: 0.9em;\\n position: absolute;\\n right: -0.5em;\\n line-height: 0.35em;\\n z-index: 1;\\n}\\n\\n.vjs-svg-icons-enabled .vjs-play-progress:before {\\n content: none !important;\\n}\\n\\n.vjs-play-progress .vjs-svg-icon {\\n position: absolute;\\n top: -0.35em;\\n right: -0.4em;\\n width: 1em;\\n height: 1em;\\n pointer-events: none;\\n line-height: 0.15em;\\n}\\n\\n.video-js .vjs-load-progress {\\n background: rgba(115, 133, 159, 0.5);\\n}\\n\\n.video-js .vjs-load-progress div {\\n background: rgba(115, 133, 159, 0.75);\\n}\\n\\n.video-js .vjs-time-tooltip {\\n background-color: #fff;\\n background-color: rgba(255, 255, 255, 0.8);\\n border-radius: 0.3em;\\n color: #000;\\n float: right;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 1em;\\n padding: 6px 8px 8px 8px;\\n pointer-events: none;\\n position: absolute;\\n top: -3.4em;\\n visibility: hidden;\\n z-index: 1;\\n}\\n\\n.vjs-progress-control:hover .vjs-progress-holder .vjs-play-progress .vjs-svg-icon {\\n width: 0.8em;\\n height: 0.8em;\\n top: -0.25em;\\n right: -0.5em;\\n line-height: 0.35em;\\n}\\n\\n.video-js .vjs-progress-holder:focus .vjs-time-tooltip {\\n display: none;\\n}\\n\\n.video-js .vjs-progress-control:hover .vjs-time-tooltip,\\n.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip {\\n display: block;\\n font-size: 0.6em;\\n visibility: visible;\\n}\\n\\n.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {\\n font-size: 1em;\\n}\\n\\n.video-js .vjs-progress-control .vjs-mouse-display {\\n display: none;\\n position: absolute;\\n width: 1px;\\n height: 100%;\\n background-color: #000;\\n z-index: 1;\\n}\\n\\n.video-js .vjs-progress-control:hover .vjs-mouse-display {\\n display: block;\\n}\\n\\n.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {\\n visibility: hidden;\\n opacity: 0;\\n transition: visibility 1s, opacity 1s;\\n}\\n\\n.vjs-mouse-display .vjs-time-tooltip {\\n color: #fff;\\n background-color: #000;\\n background-color: rgba(0, 0, 0, 0.8);\\n}\\n\\n.video-js .vjs-slider {\\n position: relative;\\n cursor: pointer;\\n padding: 0;\\n margin: 0 0.45em 0 0.45em;\\n /* iOS Safari */\\n -webkit-touch-callout: none;\\n /* Safari, and Chrome 53 */\\n -webkit-user-select: none;\\n /* Non-prefixed version, currently supported by Chrome and Opera */\\n -moz-user-select: none;\\n user-select: none;\\n background-color: #73859f;\\n background-color: rgba(115, 133, 159, 0.5);\\n}\\n\\n.video-js .vjs-slider.disabled {\\n cursor: default;\\n}\\n\\n.video-js .vjs-slider:focus {\\n text-shadow: 0em 0em 1em white;\\n box-shadow: 0 0 1em #fff;\\n}\\n\\n.video-js .vjs-mute-control {\\n cursor: pointer;\\n flex: none;\\n}\\n.video-js .vjs-volume-control {\\n cursor: pointer;\\n margin-right: 1em;\\n display: flex;\\n}\\n\\n.video-js .vjs-volume-control.vjs-volume-horizontal {\\n width: 5em;\\n}\\n\\n.video-js .vjs-volume-panel .vjs-volume-control {\\n visibility: visible;\\n opacity: 0;\\n width: 1px;\\n height: 1px;\\n margin-left: -1px;\\n}\\n\\n.video-js .vjs-volume-panel {\\n transition: width 1s;\\n}\\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control, .video-js .vjs-volume-panel:active .vjs-volume-control, .video-js .vjs-volume-panel:focus .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control:active, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {\\n visibility: visible;\\n opacity: 1;\\n position: relative;\\n transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s;\\n}\\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {\\n width: 5em;\\n height: 3em;\\n margin-right: 0;\\n}\\n.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {\\n left: -3.5em;\\n transition: left 0s;\\n}\\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {\\n width: 10em;\\n transition: width 0.1s;\\n}\\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {\\n width: 4em;\\n}\\n\\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\\n height: 8em;\\n width: 3em;\\n left: -3000em;\\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s;\\n}\\n\\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s;\\n}\\n\\n.video-js .vjs-volume-panel {\\n display: flex;\\n}\\n\\n.video-js .vjs-volume-bar {\\n margin: 1.35em 0.45em;\\n}\\n\\n.vjs-volume-bar.vjs-slider-horizontal {\\n width: 5em;\\n height: 0.3em;\\n}\\n\\n.vjs-volume-bar.vjs-slider-vertical {\\n width: 0.3em;\\n height: 5em;\\n margin: 1.35em auto;\\n}\\n\\n.video-js .vjs-volume-level {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n background-color: #fff;\\n}\\n.video-js .vjs-volume-level:before {\\n position: absolute;\\n font-size: 0.9em;\\n z-index: 1;\\n}\\n\\n.vjs-slider-vertical .vjs-volume-level {\\n width: 0.3em;\\n}\\n.vjs-slider-vertical .vjs-volume-level:before {\\n top: -0.5em;\\n left: -0.3em;\\n z-index: 1;\\n}\\n\\n.vjs-svg-icons-enabled .vjs-volume-level:before {\\n content: none;\\n}\\n\\n.vjs-volume-level .vjs-svg-icon {\\n position: absolute;\\n width: 0.6em;\\n height: 0.6em;\\n top: -0.55em;\\n pointer-events: none;\\n}\\n\\n.vjs-mute-control .vjs-svg-icon {\\n width: 1.75em;\\n height: 1.75em;\\n}\\n\\n.vjs-slider-horizontal .vjs-volume-level {\\n height: 0.3em;\\n}\\n.vjs-slider-horizontal .vjs-volume-level:before {\\n line-height: 0.35em;\\n right: -0.5em;\\n}\\n\\n.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon {\\n top: -0.15em;\\n right: -0.3em;\\n line-height: 0.05em;\\n}\\n\\n.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon {\\n top: -0.9em;\\n right: -0.15em;\\n}\\n\\n.video-js .vjs-volume-panel.vjs-volume-panel-vertical {\\n width: 4em;\\n}\\n\\n.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {\\n height: 100%;\\n}\\n\\n.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {\\n width: 100%;\\n}\\n\\n.video-js .vjs-volume-vertical {\\n width: 3em;\\n height: 8em;\\n bottom: 8em;\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.7);\\n}\\n\\n.video-js .vjs-volume-horizontal .vjs-menu {\\n left: -2em;\\n}\\n\\n.video-js .vjs-volume-tooltip {\\n background-color: #fff;\\n background-color: rgba(255, 255, 255, 0.8);\\n border-radius: 0.3em;\\n color: #000;\\n float: right;\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 1em;\\n padding: 6px 8px 8px 8px;\\n pointer-events: none;\\n position: absolute;\\n top: -3.4em;\\n visibility: hidden;\\n z-index: 1;\\n}\\n\\n.video-js .vjs-volume-control:hover .vjs-volume-tooltip,\\n.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip {\\n display: block;\\n font-size: 1em;\\n visibility: visible;\\n}\\n\\n.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,\\n.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip {\\n left: 1em;\\n top: -12px;\\n}\\n\\n.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip {\\n font-size: 1em;\\n}\\n\\n.video-js .vjs-volume-control .vjs-mouse-display {\\n display: none;\\n position: absolute;\\n width: 100%;\\n height: 1px;\\n background-color: #000;\\n z-index: 1;\\n}\\n\\n.video-js .vjs-volume-horizontal .vjs-mouse-display {\\n width: 1px;\\n height: 100%;\\n}\\n\\n.video-js .vjs-volume-control:hover .vjs-mouse-display {\\n display: block;\\n}\\n\\n.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display {\\n visibility: hidden;\\n opacity: 0;\\n transition: visibility 1s, opacity 1s;\\n}\\n\\n.vjs-mouse-display .vjs-volume-tooltip {\\n color: #fff;\\n background-color: #000;\\n background-color: rgba(0, 0, 0, 0.8);\\n}\\n\\n.vjs-poster {\\n display: inline-block;\\n vertical-align: middle;\\n cursor: pointer;\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n height: 100%;\\n}\\n\\n.vjs-has-started .vjs-poster,\\n.vjs-using-native-controls .vjs-poster {\\n display: none;\\n}\\n\\n.vjs-audio.vjs-has-started .vjs-poster,\\n.vjs-has-started.vjs-audio-poster-mode .vjs-poster,\\n.vjs-pip-container.vjs-has-started .vjs-poster {\\n display: block;\\n}\\n\\n.vjs-poster img {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: contain;\\n object-fit: contain;\\n}\\n\\n.video-js .vjs-live-control {\\n display: flex;\\n align-items: flex-start;\\n flex: auto;\\n font-size: 1em;\\n line-height: 3em;\\n}\\n\\n.video-js:not(.vjs-live) .vjs-live-control,\\n.video-js.vjs-liveui .vjs-live-control {\\n display: none;\\n}\\n\\n.video-js .vjs-seek-to-live-control {\\n align-items: center;\\n cursor: pointer;\\n flex: none;\\n display: inline-flex;\\n height: 100%;\\n padding-left: 0.5em;\\n padding-right: 0.5em;\\n font-size: 1em;\\n line-height: 3em;\\n width: auto;\\n min-width: 4em;\\n}\\n\\n.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,\\n.video-js:not(.vjs-live) .vjs-seek-to-live-control {\\n display: none;\\n}\\n\\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {\\n cursor: auto;\\n}\\n\\n.vjs-seek-to-live-control .vjs-icon-placeholder {\\n margin-right: 0.5em;\\n color: #888;\\n}\\n\\n.vjs-svg-icons-enabled .vjs-seek-to-live-control {\\n line-height: 0;\\n}\\n\\n.vjs-seek-to-live-control .vjs-svg-icon {\\n width: 1em;\\n height: 1em;\\n pointer-events: none;\\n fill: #888888;\\n}\\n\\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {\\n color: red;\\n}\\n\\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon {\\n fill: red;\\n}\\n\\n.video-js .vjs-time-control {\\n flex: none;\\n font-size: 1em;\\n line-height: 3em;\\n min-width: 2em;\\n width: auto;\\n padding-left: 1em;\\n padding-right: 1em;\\n}\\n\\n.vjs-live .vjs-time-control,\\n.vjs-live .vjs-time-divider,\\n.video-js .vjs-current-time,\\n.video-js .vjs-duration {\\n display: none;\\n}\\n\\n.vjs-time-divider {\\n display: none;\\n line-height: 3em;\\n}\\n\\n.video-js .vjs-play-control {\\n cursor: pointer;\\n}\\n\\n.video-js .vjs-play-control .vjs-icon-placeholder {\\n flex: none;\\n}\\n\\n.vjs-text-track-display {\\n position: absolute;\\n bottom: 3em;\\n left: 0;\\n right: 0;\\n top: 0;\\n pointer-events: none;\\n}\\n\\n.video-js.vjs-controls-disabled .vjs-text-track-display,\\n.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {\\n bottom: 1em;\\n}\\n\\n.video-js .vjs-text-track {\\n font-size: 1.4em;\\n text-align: center;\\n margin-bottom: 0.1em;\\n}\\n\\n.vjs-subtitles {\\n color: #fff;\\n}\\n\\n.vjs-captions {\\n color: #fc6;\\n}\\n\\n.vjs-tt-cue {\\n display: block;\\n}\\n\\nvideo::-webkit-media-text-track-display {\\n transform: translateY(-3em);\\n}\\n\\n.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,\\n.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {\\n transform: translateY(-1.5em);\\n}\\n\\n.video-js .vjs-picture-in-picture-control {\\n cursor: pointer;\\n flex: none;\\n}\\n.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,\\n.vjs-pip-window .vjs-picture-in-picture-control {\\n display: none;\\n}\\n\\n.video-js .vjs-fullscreen-control {\\n cursor: pointer;\\n flex: none;\\n}\\n.video-js.vjs-audio-only-mode .vjs-fullscreen-control,\\n.vjs-pip-window .vjs-fullscreen-control {\\n display: none;\\n}\\n\\n.vjs-playback-rate > .vjs-menu-button,\\n.vjs-playback-rate .vjs-playback-rate-value {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.vjs-playback-rate .vjs-playback-rate-value {\\n pointer-events: none;\\n font-size: 1.5em;\\n line-height: 2;\\n text-align: center;\\n}\\n\\n.vjs-playback-rate .vjs-menu {\\n width: 4em;\\n left: 0em;\\n}\\n\\n.vjs-error .vjs-error-display .vjs-modal-dialog-content {\\n font-size: 1.4em;\\n text-align: center;\\n}\\n\\n.vjs-error .vjs-error-display:before {\\n color: #fff;\\n content: \\\"X\\\";\\n font-family: Arial, Helvetica, sans-serif;\\n font-size: 4em;\\n left: 0;\\n line-height: 1;\\n margin-top: -0.5em;\\n position: absolute;\\n text-shadow: 0.05em 0.05em 0.1em #000;\\n text-align: center;\\n top: 50%;\\n vertical-align: middle;\\n width: 100%;\\n}\\n\\n.vjs-loading-spinner {\\n display: none;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n opacity: 0.85;\\n text-align: left;\\n border: 0.6em solid rgba(43, 51, 63, 0.7);\\n box-sizing: border-box;\\n background-clip: padding-box;\\n width: 5em;\\n height: 5em;\\n border-radius: 50%;\\n visibility: hidden;\\n}\\n\\n.vjs-seeking .vjs-loading-spinner,\\n.vjs-waiting .vjs-loading-spinner {\\n display: block;\\n animation: vjs-spinner-show 0s linear 0.3s forwards;\\n}\\n\\n.vjs-loading-spinner:before,\\n.vjs-loading-spinner:after {\\n content: \\\"\\\";\\n position: absolute;\\n margin: -0.6em;\\n box-sizing: inherit;\\n width: inherit;\\n height: inherit;\\n border-radius: inherit;\\n opacity: 1;\\n border: inherit;\\n border-color: transparent;\\n border-top-color: white;\\n}\\n\\n.vjs-seeking .vjs-loading-spinner:before,\\n.vjs-seeking .vjs-loading-spinner:after,\\n.vjs-waiting .vjs-loading-spinner:before,\\n.vjs-waiting .vjs-loading-spinner:after {\\n animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;\\n}\\n\\n.vjs-seeking .vjs-loading-spinner:before,\\n.vjs-waiting .vjs-loading-spinner:before {\\n border-top-color: rgb(255, 255, 255);\\n}\\n\\n.vjs-seeking .vjs-loading-spinner:after,\\n.vjs-waiting .vjs-loading-spinner:after {\\n border-top-color: rgb(255, 255, 255);\\n animation-delay: 0.44s;\\n}\\n\\n@keyframes vjs-spinner-show {\\n to {\\n visibility: visible;\\n }\\n}\\n@keyframes vjs-spinner-spin {\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes vjs-spinner-fade {\\n 0% {\\n border-top-color: #73859f;\\n }\\n 20% {\\n border-top-color: #73859f;\\n }\\n 35% {\\n border-top-color: white;\\n }\\n 60% {\\n border-top-color: #73859f;\\n }\\n 100% {\\n border-top-color: #73859f;\\n }\\n}\\n.video-js.vjs-audio-only-mode .vjs-captions-button {\\n display: none;\\n}\\n\\n.vjs-chapters-button .vjs-menu ul {\\n width: 24em;\\n}\\n\\n.video-js.vjs-audio-only-mode .vjs-descriptions-button {\\n display: none;\\n}\\n\\n.vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-svg-icon {\\n margin-left: 0.3em;\\n}\\n\\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\\n vertical-align: middle;\\n display: inline-block;\\n margin-bottom: -0.1em;\\n}\\n\\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\\n font-family: VideoJS;\\n content: \\\"\\\\f10c\\\";\\n font-size: 1.5em;\\n line-height: inherit;\\n}\\n\\n.video-js.vjs-audio-only-mode .vjs-subs-caps-button {\\n display: none;\\n}\\n\\n.video-js .vjs-audio-button + .vjs-menu .vjs-description-menu-item .vjs-menu-item-text .vjs-icon-placeholder,\\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\\n vertical-align: middle;\\n display: inline-block;\\n margin-bottom: -0.1em;\\n}\\n\\n.video-js .vjs-audio-button + .vjs-menu .vjs-description-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,\\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\\n font-family: VideoJS;\\n content: \\\" \\\\f12e\\\";\\n font-size: 1.5em;\\n line-height: inherit;\\n}\\n\\n.video-js.vjs-layout-small .vjs-current-time,\\n.video-js.vjs-layout-small .vjs-time-divider,\\n.video-js.vjs-layout-small .vjs-duration,\\n.video-js.vjs-layout-small .vjs-remaining-time,\\n.video-js.vjs-layout-small .vjs-playback-rate,\\n.video-js.vjs-layout-small .vjs-volume-control, .video-js.vjs-layout-x-small .vjs-current-time,\\n.video-js.vjs-layout-x-small .vjs-time-divider,\\n.video-js.vjs-layout-x-small .vjs-duration,\\n.video-js.vjs-layout-x-small .vjs-remaining-time,\\n.video-js.vjs-layout-x-small .vjs-playback-rate,\\n.video-js.vjs-layout-x-small .vjs-volume-control, .video-js.vjs-layout-tiny .vjs-current-time,\\n.video-js.vjs-layout-tiny .vjs-time-divider,\\n.video-js.vjs-layout-tiny .vjs-duration,\\n.video-js.vjs-layout-tiny .vjs-remaining-time,\\n.video-js.vjs-layout-tiny .vjs-playback-rate,\\n.video-js.vjs-layout-tiny .vjs-volume-control {\\n display: none;\\n}\\n.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover {\\n width: auto;\\n width: initial;\\n}\\n.video-js.vjs-layout-x-small .vjs-progress-control, .video-js.vjs-layout-tiny .vjs-progress-control {\\n display: none;\\n}\\n.video-js.vjs-layout-x-small .vjs-custom-control-spacer {\\n flex: auto;\\n display: block;\\n}\\n\\n.vjs-modal-dialog.vjs-text-track-settings {\\n background-color: #2B333F;\\n background-color: rgba(43, 51, 63, 0.75);\\n color: #fff;\\n height: 70%;\\n}\\n\\n.vjs-text-track-settings .vjs-modal-dialog-content {\\n display: table;\\n}\\n\\n.vjs-text-track-settings .vjs-track-settings-colors,\\n.vjs-text-track-settings .vjs-track-settings-font,\\n.vjs-text-track-settings .vjs-track-settings-controls {\\n display: table-cell;\\n}\\n\\n.vjs-text-track-settings .vjs-track-settings-controls {\\n text-align: right;\\n vertical-align: bottom;\\n}\\n\\n@supports (display: grid) {\\n .vjs-text-track-settings .vjs-modal-dialog-content {\\n display: grid;\\n grid-template-columns: 1fr 1fr;\\n grid-template-rows: 1fr;\\n padding: 20px 24px 0px 24px;\\n }\\n .vjs-track-settings-controls .vjs-default-button {\\n margin-bottom: 20px;\\n }\\n .vjs-text-track-settings .vjs-track-settings-controls {\\n grid-column: 1/-1;\\n }\\n .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,\\n .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,\\n .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {\\n grid-template-columns: 1fr;\\n }\\n}\\n.vjs-text-track-settings select {\\n font-size: inherit;\\n}\\n\\n.vjs-track-setting > select {\\n margin-right: 1em;\\n margin-bottom: 0.5em;\\n}\\n\\n.vjs-text-track-settings fieldset {\\n margin: 10px;\\n border: none;\\n}\\n\\n.vjs-text-track-settings fieldset span {\\n display: inline-block;\\n padding: 0 0.6em 0.8em;\\n}\\n\\n.vjs-text-track-settings fieldset span > select {\\n max-width: 7.3em;\\n}\\n\\n.vjs-text-track-settings legend {\\n color: #fff;\\n font-weight: bold;\\n font-size: 1.2em;\\n}\\n\\n.vjs-text-track-settings .vjs-label {\\n margin: 0 0.5em 0.5em 0;\\n}\\n\\n.vjs-track-settings-controls button:focus,\\n.vjs-track-settings-controls button:active {\\n outline-style: solid;\\n outline-width: medium;\\n background-image: linear-gradient(0deg, #fff 88%, #73859f 100%);\\n}\\n\\n.vjs-track-settings-controls button:hover {\\n color: rgba(43, 51, 63, 0.75);\\n}\\n\\n.vjs-track-settings-controls button {\\n background-color: #fff;\\n background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%);\\n color: #2B333F;\\n cursor: pointer;\\n border-radius: 2px;\\n}\\n\\n.vjs-track-settings-controls .vjs-default-button {\\n margin-right: 1em;\\n}\\n\\n.vjs-title-bar {\\n background: rgba(0, 0, 0, 0.9);\\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0) 100%);\\n font-size: 1.2em;\\n line-height: 1.5;\\n transition: opacity 0.1s;\\n padding: 0.666em 1.333em 4em;\\n pointer-events: none;\\n position: absolute;\\n top: 0;\\n width: 100%;\\n}\\n\\n.vjs-title-bar-title,\\n.vjs-title-bar-description {\\n margin: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\\n.vjs-title-bar-title {\\n font-weight: bold;\\n margin-bottom: 0.333em;\\n}\\n\\n.vjs-playing.vjs-user-inactive .vjs-title-bar {\\n opacity: 0;\\n transition: opacity 1s;\\n}\\n\\n.video-js .vjs-skip-forward-5 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-forward-10 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-forward-30 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-backward-5 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-backward-10 {\\n cursor: pointer;\\n}\\n.video-js .vjs-skip-backward-30 {\\n cursor: pointer;\\n}\\n@media print {\\n .video-js > *:not(.vjs-tech):not(.vjs-poster) {\\n visibility: hidden;\\n }\\n}\\n.vjs-resize-manager {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: none;\\n z-index: -1000;\\n}\\n\\n.js-focus-visible .video-js *:focus:not(.focus-visible) {\\n outline: none;\\n}\\n\\n.video-js *:focus:not(:focus-visible) {\\n outline: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!./video.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../../expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"$\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"$\"] = ___EXPOSE_LOADER_IMPORT___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"videojs\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"videojs\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","\"use strict\";\n\n// eslint-disable-next-line func-names\nmodule.exports = function () {\n if (typeof globalThis === \"object\") {\n return globalThis;\n }\n var g;\n try {\n // This works if eval is allowed (see CSP)\n // eslint-disable-next-line no-new-func\n g = this || new Function(\"return this\")();\n } catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") {\n return window;\n }\n\n // This works if the self reference is available\n if (typeof self === \"object\") {\n return self;\n }\n\n // This works if the global reference is available\n if (typeof global !== \"undefined\") {\n return global;\n }\n }\n return g;\n}();","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","/**\n * @license\n * Video.js 8.5.0 \n * Copyright Brightcove, Inc. \n * Available under Apache License Version 2.0\n * \n *\n * Includes vtt.js \n * Available under Apache License Version 2.0\n * \n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.videojs = factory());\n})(this, (function () { 'use strict';\n\n var version$5 = \"8.5.0\";\n\n /**\n * An Object that contains lifecycle hooks as keys which point to an array\n * of functions that are run when a lifecycle is triggered\n *\n * @private\n */\n const hooks_ = {};\n\n /**\n * Get a list of hooks for a specific lifecycle\n *\n * @param {string} type\n * the lifecycle to get hooks from\n *\n * @param {Function|Function[]} [fn]\n * Optionally add a hook (or hooks) to the lifecycle that your are getting.\n *\n * @return {Array}\n * an array of hooks, or an empty array if there are none.\n */\n const hooks = function (type, fn) {\n hooks_[type] = hooks_[type] || [];\n if (fn) {\n hooks_[type] = hooks_[type].concat(fn);\n }\n return hooks_[type];\n };\n\n /**\n * Add a function hook to a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle to hook the function to.\n *\n * @param {Function|Function[]}\n * The function or array of functions to attach.\n */\n const hook = function (type, fn) {\n hooks(type, fn);\n };\n\n /**\n * Remove a hook from a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle that the function hooked to\n *\n * @param {Function} fn\n * The hooked function to remove\n *\n * @return {boolean}\n * The function that was removed or undef\n */\n const removeHook = function (type, fn) {\n const index = hooks(type).indexOf(fn);\n if (index <= -1) {\n return false;\n }\n hooks_[type] = hooks_[type].slice();\n hooks_[type].splice(index, 1);\n return true;\n };\n\n /**\n * Add a function hook that will only run once to a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle to hook the function to.\n *\n * @param {Function|Function[]}\n * The function or array of functions to attach.\n */\n const hookOnce = function (type, fn) {\n hooks(type, [].concat(fn).map(original => {\n const wrapper = (...args) => {\n removeHook(type, wrapper);\n return original(...args);\n };\n return wrapper;\n }));\n };\n\n /**\n * @file fullscreen-api.js\n * @module fullscreen-api\n */\n\n /**\n * Store the browser-specific methods for the fullscreen API.\n *\n * @type {Object}\n * @see [Specification]{@link https://fullscreen.spec.whatwg.org}\n * @see [Map Approach From Screenfull.js]{@link https://github.com/sindresorhus/screenfull.js}\n */\n const FullscreenApi = {\n prefixed: true\n };\n\n // browser API methods\n const apiMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror', 'fullscreen'],\n // WebKit\n ['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror', '-webkit-full-screen']];\n const specApi = apiMap[0];\n let browserApi;\n\n // determine the supported set of functions\n for (let i = 0; i < apiMap.length; i++) {\n // check for exitFullscreen function\n if (apiMap[i][1] in document) {\n browserApi = apiMap[i];\n break;\n }\n }\n\n // map the browser API names to the spec API names\n if (browserApi) {\n for (let i = 0; i < browserApi.length; i++) {\n FullscreenApi[specApi[i]] = browserApi[i];\n }\n FullscreenApi.prefixed = browserApi[0] !== specApi[0];\n }\n\n /**\n * @file create-logger.js\n * @module create-logger\n */\n\n // This is the private tracking variable for the logging history.\n let history = [];\n\n /**\n * Log messages to the console and history based on the type of message\n *\n * @private\n * @param {string} type\n * The name of the console method to use.\n *\n * @param {Array} args\n * The arguments to be passed to the matching console method.\n */\n const LogByTypeFactory = (name, log) => (type, level, args) => {\n const lvl = log.levels[level];\n const lvlRegExp = new RegExp(`^(${lvl})$`);\n if (type !== 'log') {\n // Add the type to the front of the message when it's not \"log\".\n args.unshift(type.toUpperCase() + ':');\n }\n\n // Add console prefix after adding to history.\n args.unshift(name + ':');\n\n // Add a clone of the args at this point to history.\n if (history) {\n history.push([].concat(args));\n\n // only store 1000 history entries\n const splice = history.length - 1000;\n history.splice(0, splice > 0 ? splice : 0);\n }\n\n // If there's no console then don't try to output messages, but they will\n // still be stored in history.\n if (!window.console) {\n return;\n }\n\n // Was setting these once outside of this function, but containing them\n // in the function makes it easier to test cases where console doesn't exist\n // when the module is executed.\n let fn = window.console[type];\n if (!fn && type === 'debug') {\n // Certain browsers don't have support for console.debug. For those, we\n // should default to the closest comparable log.\n fn = window.console.info || window.console.log;\n }\n\n // Bail out if there's no console or if this type is not allowed by the\n // current logging level.\n if (!fn || !lvl || !lvlRegExp.test(type)) {\n return;\n }\n fn[Array.isArray(args) ? 'apply' : 'call'](window.console, args);\n };\n function createLogger$1(name) {\n // This is the private tracking variable for logging level.\n let level = 'info';\n\n // the curried logByType bound to the specific log and history\n let logByType;\n\n /**\n * Logs plain debug messages. Similar to `console.log`.\n *\n * Due to [limitations](https://github.com/jsdoc3/jsdoc/issues/955#issuecomment-313829149)\n * of our JSDoc template, we cannot properly document this as both a function\n * and a namespace, so its function signature is documented here.\n *\n * #### Arguments\n * ##### *args\n * *[]\n *\n * Any combination of values that could be passed to `console.log()`.\n *\n * #### Return Value\n *\n * `undefined`\n *\n * @namespace\n * @param {...*} args\n * One or more messages or objects that should be logged.\n */\n const log = function (...args) {\n logByType('log', level, args);\n };\n\n // This is the logByType helper that the logging methods below use\n logByType = LogByTypeFactory(name, log);\n\n /**\n * Create a new sublogger which chains the old name to the new name.\n *\n * For example, doing `videojs.log.createLogger('player')` and then using that logger will log the following:\n * ```js\n * mylogger('foo');\n * // > VIDEOJS: player: foo\n * ```\n *\n * @param {string} name\n * The name to add call the new logger\n * @return {Object}\n */\n log.createLogger = subname => createLogger$1(name + ': ' + subname);\n\n /**\n * Enumeration of available logging levels, where the keys are the level names\n * and the values are `|`-separated strings containing logging methods allowed\n * in that logging level. These strings are used to create a regular expression\n * matching the function name being called.\n *\n * Levels provided by Video.js are:\n *\n * - `off`: Matches no calls. Any value that can be cast to `false` will have\n * this effect. The most restrictive.\n * - `all`: Matches only Video.js-provided functions (`debug`, `log`,\n * `log.warn`, and `log.error`).\n * - `debug`: Matches `log.debug`, `log`, `log.warn`, and `log.error` calls.\n * - `info` (default): Matches `log`, `log.warn`, and `log.error` calls.\n * - `warn`: Matches `log.warn` and `log.error` calls.\n * - `error`: Matches only `log.error` calls.\n *\n * @type {Object}\n */\n log.levels = {\n all: 'debug|log|warn|error',\n off: '',\n debug: 'debug|log|warn|error',\n info: 'log|warn|error',\n warn: 'warn|error',\n error: 'error',\n DEFAULT: level\n };\n\n /**\n * Get or set the current logging level.\n *\n * If a string matching a key from {@link module:log.levels} is provided, acts\n * as a setter.\n *\n * @param {string} [lvl]\n * Pass a valid level to set a new logging level.\n *\n * @return {string}\n * The current logging level.\n */\n log.level = lvl => {\n if (typeof lvl === 'string') {\n if (!log.levels.hasOwnProperty(lvl)) {\n throw new Error(`\"${lvl}\" in not a valid log level`);\n }\n level = lvl;\n }\n return level;\n };\n\n /**\n * Returns an array containing everything that has been logged to the history.\n *\n * This array is a shallow clone of the internal history record. However, its\n * contents are _not_ cloned; so, mutating objects inside this array will\n * mutate them in history.\n *\n * @return {Array}\n */\n log.history = () => history ? [].concat(history) : [];\n\n /**\n * Allows you to filter the history by the given logger name\n *\n * @param {string} fname\n * The name to filter by\n *\n * @return {Array}\n * The filtered list to return\n */\n log.history.filter = fname => {\n return (history || []).filter(historyItem => {\n // if the first item in each historyItem includes `fname`, then it's a match\n return new RegExp(`.*${fname}.*`).test(historyItem[0]);\n });\n };\n\n /**\n * Clears the internal history tracking, but does not prevent further history\n * tracking.\n */\n log.history.clear = () => {\n if (history) {\n history.length = 0;\n }\n };\n\n /**\n * Disable history tracking if it is currently enabled.\n */\n log.history.disable = () => {\n if (history !== null) {\n history.length = 0;\n history = null;\n }\n };\n\n /**\n * Enable history tracking if it is currently disabled.\n */\n log.history.enable = () => {\n if (history === null) {\n history = [];\n }\n };\n\n /**\n * Logs error messages. Similar to `console.error`.\n *\n * @param {...*} args\n * One or more messages or objects that should be logged as an error\n */\n log.error = (...args) => logByType('error', level, args);\n\n /**\n * Logs warning messages. Similar to `console.warn`.\n *\n * @param {...*} args\n * One or more messages or objects that should be logged as a warning.\n */\n log.warn = (...args) => logByType('warn', level, args);\n\n /**\n * Logs debug messages. Similar to `console.debug`, but may also act as a comparable\n * log if `console.debug` is not available\n *\n * @param {...*} args\n * One or more messages or objects that should be logged as debug.\n */\n log.debug = (...args) => logByType('debug', level, args);\n return log;\n }\n\n /**\n * @file log.js\n * @module log\n */\n const log$1 = createLogger$1('VIDEOJS');\n const createLogger = log$1.createLogger;\n\n /**\n * @file obj.js\n * @module obj\n */\n\n /**\n * @callback obj:EachCallback\n *\n * @param {*} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n */\n\n /**\n * @callback obj:ReduceCallback\n *\n * @param {*} accum\n * The value that is accumulating over the reduce loop.\n *\n * @param {*} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n *\n * @return {*}\n * The new accumulated value.\n */\n const toString$1 = Object.prototype.toString;\n\n /**\n * Get the keys of an Object\n *\n * @param {Object}\n * The Object to get the keys from\n *\n * @return {string[]}\n * An array of the keys from the object. Returns an empty array if the\n * object passed in was invalid or had no keys.\n *\n * @private\n */\n const keys = function (object) {\n return isObject$1(object) ? Object.keys(object) : [];\n };\n\n /**\n * Array-like iteration for objects.\n *\n * @param {Object} object\n * The object to iterate over\n *\n * @param {obj:EachCallback} fn\n * The callback function which is called for each key in the object.\n */\n function each(object, fn) {\n keys(object).forEach(key => fn(object[key], key));\n }\n\n /**\n * Array-like reduce for objects.\n *\n * @param {Object} object\n * The Object that you want to reduce.\n *\n * @param {Function} fn\n * A callback function which is called for each key in the object. It\n * receives the accumulated value and the per-iteration value and key\n * as arguments.\n *\n * @param {*} [initial = 0]\n * Starting value\n *\n * @return {*}\n * The final accumulated value.\n */\n function reduce(object, fn, initial = 0) {\n return keys(object).reduce((accum, key) => fn(accum, object[key], key), initial);\n }\n\n /**\n * Returns whether a value is an object of any kind - including DOM nodes,\n * arrays, regular expressions, etc. Not functions, though.\n *\n * This avoids the gotcha where using `typeof` on a `null` value\n * results in `'object'`.\n *\n * @param {Object} value\n * @return {boolean}\n */\n function isObject$1(value) {\n return !!value && typeof value === 'object';\n }\n\n /**\n * Returns whether an object appears to be a \"plain\" object - that is, a\n * direct instance of `Object`.\n *\n * @param {Object} value\n * @return {boolean}\n */\n function isPlain(value) {\n return isObject$1(value) && toString$1.call(value) === '[object Object]' && value.constructor === Object;\n }\n\n /**\n * Merge two objects recursively.\n *\n * Performs a deep merge like\n * {@link https://lodash.com/docs/4.17.10#merge|lodash.merge}, but only merges\n * plain objects (not arrays, elements, or anything else).\n *\n * Non-plain object values will be copied directly from the right-most\n * argument.\n *\n * @param {Object[]} sources\n * One or more objects to merge into a new object.\n *\n * @return {Object}\n * A new object that is the merged result of all sources.\n */\n function merge$2(...sources) {\n const result = {};\n sources.forEach(source => {\n if (!source) {\n return;\n }\n each(source, (value, key) => {\n if (!isPlain(value)) {\n result[key] = value;\n return;\n }\n if (!isPlain(result[key])) {\n result[key] = {};\n }\n result[key] = merge$2(result[key], value);\n });\n });\n return result;\n }\n\n /**\n * Returns an array of values for a given object\n *\n * @param {Object} source - target object\n * @return {Array} - object values\n */\n function values$1(source = {}) {\n const result = [];\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n const value = source[key];\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * Object.defineProperty but \"lazy\", which means that the value is only set after\n * it is retrieved the first time, rather than being set right away.\n *\n * @param {Object} obj the object to set the property on\n * @param {string} key the key for the property to set\n * @param {Function} getValue the function used to get the value when it is needed.\n * @param {boolean} setter whether a setter should be allowed or not\n */\n function defineLazyProperty(obj, key, getValue, setter = true) {\n const set = value => Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n writable: true\n });\n const options = {\n configurable: true,\n enumerable: true,\n get() {\n const value = getValue();\n set(value);\n return value;\n }\n };\n if (setter) {\n options.set = set;\n }\n return Object.defineProperty(obj, key, options);\n }\n\n var Obj = /*#__PURE__*/Object.freeze({\n __proto__: null,\n each: each,\n reduce: reduce,\n isObject: isObject$1,\n isPlain: isPlain,\n merge: merge$2,\n values: values$1,\n defineLazyProperty: defineLazyProperty\n });\n\n /**\n * @file browser.js\n * @module browser\n */\n\n /**\n * Whether or not this device is an iPod.\n *\n * @static\n * @type {Boolean}\n */\n let IS_IPOD = false;\n\n /**\n * The detected iOS version - or `null`.\n *\n * @static\n * @type {string|null}\n */\n let IOS_VERSION = null;\n\n /**\n * Whether or not this is an Android device.\n *\n * @static\n * @type {Boolean}\n */\n let IS_ANDROID = false;\n\n /**\n * The detected Android version - or `null` if not Android or indeterminable.\n *\n * @static\n * @type {number|string|null}\n */\n let ANDROID_VERSION;\n\n /**\n * Whether or not this is Mozilla Firefox.\n *\n * @static\n * @type {Boolean}\n */\n let IS_FIREFOX = false;\n\n /**\n * Whether or not this is Microsoft Edge.\n *\n * @static\n * @type {Boolean}\n */\n let IS_EDGE = false;\n\n /**\n * Whether or not this is any Chromium Browser\n *\n * @static\n * @type {Boolean}\n */\n let IS_CHROMIUM = false;\n\n /**\n * Whether or not this is any Chromium browser that is not Edge.\n *\n * This will also be `true` for Chrome on iOS, which will have different support\n * as it is actually Safari under the hood.\n *\n * Deprecated, as the behaviour to not match Edge was to prevent Legacy Edge's UA matching.\n * IS_CHROMIUM should be used instead.\n * \"Chromium but not Edge\" could be explicitly tested with IS_CHROMIUM && !IS_EDGE\n *\n * @static\n * @deprecated\n * @type {Boolean}\n */\n let IS_CHROME = false;\n\n /**\n * The detected Chromium version - or `null`.\n *\n * @static\n * @type {number|null}\n */\n let CHROMIUM_VERSION = null;\n\n /**\n * The detected Google Chrome version - or `null`.\n * This has always been the _Chromium_ version, i.e. would return on Chromium Edge.\n * Deprecated, use CHROMIUM_VERSION instead.\n *\n * @static\n * @deprecated\n * @type {number|null}\n */\n let CHROME_VERSION = null;\n\n /**\n * The detected Internet Explorer version - or `null`.\n *\n * @static\n * @deprecated\n * @type {number|null}\n */\n let IE_VERSION = null;\n\n /**\n * Whether or not this is desktop Safari.\n *\n * @static\n * @type {Boolean}\n */\n let IS_SAFARI = false;\n\n /**\n * Whether or not this is a Windows machine.\n *\n * @static\n * @type {Boolean}\n */\n let IS_WINDOWS = false;\n\n /**\n * Whether or not this device is an iPad.\n *\n * @static\n * @type {Boolean}\n */\n let IS_IPAD = false;\n\n /**\n * Whether or not this device is an iPhone.\n *\n * @static\n * @type {Boolean}\n */\n // The Facebook app's UIWebView identifies as both an iPhone and iPad, so\n // to identify iPhones, we need to exclude iPads.\n // http://artsy.github.io/blog/2012/10/18/the-perils-of-ios-user-agent-sniffing/\n let IS_IPHONE = false;\n\n /**\n * Whether or not this device is touch-enabled.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n const TOUCH_ENABLED = Boolean(isReal() && ('ontouchstart' in window || window.navigator.maxTouchPoints || window.DocumentTouch && window.document instanceof window.DocumentTouch));\n const UAD = window.navigator && window.navigator.userAgentData;\n if (UAD) {\n // If userAgentData is present, use it instead of userAgent to avoid warnings\n // Currently only implemented on Chromium\n // userAgentData does not expose Android version, so ANDROID_VERSION remains `null`\n\n IS_ANDROID = UAD.platform === 'Android';\n IS_EDGE = Boolean(UAD.brands.find(b => b.brand === 'Microsoft Edge'));\n IS_CHROMIUM = Boolean(UAD.brands.find(b => b.brand === 'Chromium'));\n IS_CHROME = !IS_EDGE && IS_CHROMIUM;\n CHROMIUM_VERSION = CHROME_VERSION = (UAD.brands.find(b => b.brand === 'Chromium') || {}).version || null;\n IS_WINDOWS = UAD.platform === 'Windows';\n }\n\n // If the browser is not Chromium, either userAgentData is not present which could be an old Chromium browser,\n // or it's a browser that has added userAgentData since that we don't have tests for yet. In either case,\n // the checks need to be made agiainst the regular userAgent string.\n if (!IS_CHROMIUM) {\n const USER_AGENT = window.navigator && window.navigator.userAgent || '';\n IS_IPOD = /iPod/i.test(USER_AGENT);\n IOS_VERSION = function () {\n const match = USER_AGENT.match(/OS (\\d+)_/i);\n if (match && match[1]) {\n return match[1];\n }\n return null;\n }();\n IS_ANDROID = /Android/i.test(USER_AGENT);\n ANDROID_VERSION = function () {\n // This matches Android Major.Minor.Patch versions\n // ANDROID_VERSION is Major.Minor as a Number, if Minor isn't available, then only Major is returned\n const match = USER_AGENT.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);\n if (!match) {\n return null;\n }\n const major = match[1] && parseFloat(match[1]);\n const minor = match[2] && parseFloat(match[2]);\n if (major && minor) {\n return parseFloat(match[1] + '.' + match[2]);\n } else if (major) {\n return major;\n }\n return null;\n }();\n IS_FIREFOX = /Firefox/i.test(USER_AGENT);\n IS_EDGE = /Edg/i.test(USER_AGENT);\n IS_CHROMIUM = /Chrome/i.test(USER_AGENT) || /CriOS/i.test(USER_AGENT);\n IS_CHROME = !IS_EDGE && IS_CHROMIUM;\n CHROMIUM_VERSION = CHROME_VERSION = function () {\n const match = USER_AGENT.match(/(Chrome|CriOS)\\/(\\d+)/);\n if (match && match[2]) {\n return parseFloat(match[2]);\n }\n return null;\n }();\n IE_VERSION = function () {\n const result = /MSIE\\s(\\d+)\\.\\d/.exec(USER_AGENT);\n let version = result && parseFloat(result[1]);\n if (!version && /Trident\\/7.0/i.test(USER_AGENT) && /rv:11.0/.test(USER_AGENT)) {\n // IE 11 has a different user agent string than other IE versions\n version = 11.0;\n }\n return version;\n }();\n IS_SAFARI = /Safari/i.test(USER_AGENT) && !IS_CHROME && !IS_ANDROID && !IS_EDGE;\n IS_WINDOWS = /Windows/i.test(USER_AGENT);\n IS_IPAD = /iPad/i.test(USER_AGENT) || IS_SAFARI && TOUCH_ENABLED && !/iPhone/i.test(USER_AGENT);\n IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;\n }\n\n /**\n * Whether or not this is an iOS device.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n const IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;\n\n /**\n * Whether or not this is any flavor of Safari - including iOS.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n const IS_ANY_SAFARI = (IS_SAFARI || IS_IOS) && !IS_CHROME;\n\n var browser = /*#__PURE__*/Object.freeze({\n __proto__: null,\n get IS_IPOD () { return IS_IPOD; },\n get IOS_VERSION () { return IOS_VERSION; },\n get IS_ANDROID () { return IS_ANDROID; },\n get ANDROID_VERSION () { return ANDROID_VERSION; },\n get IS_FIREFOX () { return IS_FIREFOX; },\n get IS_EDGE () { return IS_EDGE; },\n get IS_CHROMIUM () { return IS_CHROMIUM; },\n get IS_CHROME () { return IS_CHROME; },\n get CHROMIUM_VERSION () { return CHROMIUM_VERSION; },\n get CHROME_VERSION () { return CHROME_VERSION; },\n get IE_VERSION () { return IE_VERSION; },\n get IS_SAFARI () { return IS_SAFARI; },\n get IS_WINDOWS () { return IS_WINDOWS; },\n get IS_IPAD () { return IS_IPAD; },\n get IS_IPHONE () { return IS_IPHONE; },\n TOUCH_ENABLED: TOUCH_ENABLED,\n IS_IOS: IS_IOS,\n IS_ANY_SAFARI: IS_ANY_SAFARI\n });\n\n /**\n * @file dom.js\n * @module dom\n */\n\n /**\n * Detect if a value is a string with any non-whitespace characters.\n *\n * @private\n * @param {string} str\n * The string to check\n *\n * @return {boolean}\n * Will be `true` if the string is non-blank, `false` otherwise.\n *\n */\n function isNonBlankString(str) {\n // we use str.trim as it will trim any whitespace characters\n // from the front or back of non-whitespace characters. aka\n // Any string that contains non-whitespace characters will\n // still contain them after `trim` but whitespace only strings\n // will have a length of 0, failing this check.\n return typeof str === 'string' && Boolean(str.trim());\n }\n\n /**\n * Throws an error if the passed string has whitespace. This is used by\n * class methods to be relatively consistent with the classList API.\n *\n * @private\n * @param {string} str\n * The string to check for whitespace.\n *\n * @throws {Error}\n * Throws an error if there is whitespace in the string.\n */\n function throwIfWhitespace(str) {\n // str.indexOf instead of regex because str.indexOf is faster performance wise.\n if (str.indexOf(' ') >= 0) {\n throw new Error('class has illegal whitespace characters');\n }\n }\n\n /**\n * Whether the current DOM interface appears to be real (i.e. not simulated).\n *\n * @return {boolean}\n * Will be `true` if the DOM appears to be real, `false` otherwise.\n */\n function isReal() {\n // Both document and window will never be undefined thanks to `global`.\n return document === window.document;\n }\n\n /**\n * Determines, via duck typing, whether or not a value is a DOM element.\n *\n * @param {*} value\n * The value to check.\n *\n * @return {boolean}\n * Will be `true` if the value is a DOM element, `false` otherwise.\n */\n function isEl(value) {\n return isObject$1(value) && value.nodeType === 1;\n }\n\n /**\n * Determines if the current DOM is embedded in an iframe.\n *\n * @return {boolean}\n * Will be `true` if the DOM is embedded in an iframe, `false`\n * otherwise.\n */\n function isInFrame() {\n // We need a try/catch here because Safari will throw errors when attempting\n // to get either `parent` or `self`\n try {\n return window.parent !== window.self;\n } catch (x) {\n return true;\n }\n }\n\n /**\n * Creates functions to query the DOM using a given method.\n *\n * @private\n * @param {string} method\n * The method to create the query with.\n *\n * @return {Function}\n * The query method\n */\n function createQuerier(method) {\n return function (selector, context) {\n if (!isNonBlankString(selector)) {\n return document[method](null);\n }\n if (isNonBlankString(context)) {\n context = document.querySelector(context);\n }\n const ctx = isEl(context) ? context : document;\n return ctx[method] && ctx[method](selector);\n };\n }\n\n /**\n * Creates an element and applies properties, attributes, and inserts content.\n *\n * @param {string} [tagName='div']\n * Name of tag to be created.\n *\n * @param {Object} [properties={}]\n * Element properties to be applied.\n *\n * @param {Object} [attributes={}]\n * Element attributes to be applied.\n *\n * @param {ContentDescriptor} [content]\n * A content descriptor object.\n *\n * @return {Element}\n * The element that was created.\n */\n function createEl(tagName = 'div', properties = {}, attributes = {}, content) {\n const el = document.createElement(tagName);\n Object.getOwnPropertyNames(properties).forEach(function (propName) {\n const val = properties[propName];\n\n // Handle textContent since it's not supported everywhere and we have a\n // method for it.\n if (propName === 'textContent') {\n textContent(el, val);\n } else if (el[propName] !== val || propName === 'tabIndex') {\n el[propName] = val;\n }\n });\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n el.setAttribute(attrName, attributes[attrName]);\n });\n if (content) {\n appendContent(el, content);\n }\n return el;\n }\n\n /**\n * Injects text into an element, replacing any existing contents entirely.\n *\n * @param {HTMLElement} el\n * The element to add text content into\n *\n * @param {string} text\n * The text content to add.\n *\n * @return {Element}\n * The element with added text content.\n */\n function textContent(el, text) {\n if (typeof el.textContent === 'undefined') {\n el.innerText = text;\n } else {\n el.textContent = text;\n }\n return el;\n }\n\n /**\n * Insert an element as the first child node of another\n *\n * @param {Element} child\n * Element to insert\n *\n * @param {Element} parent\n * Element to insert child into\n */\n function prependTo(child, parent) {\n if (parent.firstChild) {\n parent.insertBefore(child, parent.firstChild);\n } else {\n parent.appendChild(child);\n }\n }\n\n /**\n * Check if an element has a class name.\n *\n * @param {Element} element\n * Element to check\n *\n * @param {string} classToCheck\n * Class name to check for\n *\n * @return {boolean}\n * Will be `true` if the element has a class, `false` otherwise.\n *\n * @throws {Error}\n * Throws an error if `classToCheck` has white space.\n */\n function hasClass(element, classToCheck) {\n throwIfWhitespace(classToCheck);\n return element.classList.contains(classToCheck);\n }\n\n /**\n * Add a class name to an element.\n *\n * @param {Element} element\n * Element to add class name to.\n *\n * @param {...string} classesToAdd\n * One or more class name to add.\n *\n * @return {Element}\n * The DOM element with the added class name.\n */\n function addClass(element, ...classesToAdd) {\n element.classList.add(...classesToAdd.reduce((prev, current) => prev.concat(current.split(/\\s+/)), []));\n return element;\n }\n\n /**\n * Remove a class name from an element.\n *\n * @param {Element} element\n * Element to remove a class name from.\n *\n * @param {...string} classesToRemove\n * One or more class name to remove.\n *\n * @return {Element}\n * The DOM element with class name removed.\n */\n function removeClass(element, ...classesToRemove) {\n // Protect in case the player gets disposed\n if (!element) {\n log$1.warn(\"removeClass was called with an element that doesn't exist\");\n return null;\n }\n element.classList.remove(...classesToRemove.reduce((prev, current) => prev.concat(current.split(/\\s+/)), []));\n return element;\n }\n\n /**\n * The callback definition for toggleClass.\n *\n * @callback module:dom~PredicateCallback\n * @param {Element} element\n * The DOM element of the Component.\n *\n * @param {string} classToToggle\n * The `className` that wants to be toggled\n *\n * @return {boolean|undefined}\n * If `true` is returned, the `classToToggle` will be added to the\n * `element`. If `false`, the `classToToggle` will be removed from\n * the `element`. If `undefined`, the callback will be ignored.\n */\n\n /**\n * Adds or removes a class name to/from an element depending on an optional\n * condition or the presence/absence of the class name.\n *\n * @param {Element} element\n * The element to toggle a class name on.\n *\n * @param {string} classToToggle\n * The class that should be toggled.\n *\n * @param {boolean|module:dom~PredicateCallback} [predicate]\n * See the return value for {@link module:dom~PredicateCallback}\n *\n * @return {Element}\n * The element with a class that has been toggled.\n */\n function toggleClass(element, classToToggle, predicate) {\n if (typeof predicate === 'function') {\n predicate = predicate(element, classToToggle);\n }\n if (typeof predicate !== 'boolean') {\n predicate = undefined;\n }\n classToToggle.split(/\\s+/).forEach(className => element.classList.toggle(className, predicate));\n return element;\n }\n\n /**\n * Apply attributes to an HTML element.\n *\n * @param {Element} el\n * Element to add attributes to.\n *\n * @param {Object} [attributes]\n * Attributes to be applied.\n */\n function setAttributes(el, attributes) {\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n const attrValue = attributes[attrName];\n if (attrValue === null || typeof attrValue === 'undefined' || attrValue === false) {\n el.removeAttribute(attrName);\n } else {\n el.setAttribute(attrName, attrValue === true ? '' : attrValue);\n }\n });\n }\n\n /**\n * Get an element's attribute values, as defined on the HTML tag.\n *\n * Attributes are not the same as properties. They're defined on the tag\n * or with setAttribute.\n *\n * @param {Element} tag\n * Element from which to get tag attributes.\n *\n * @return {Object}\n * All attributes of the element. Boolean attributes will be `true` or\n * `false`, others will be strings.\n */\n function getAttributes(tag) {\n const obj = {};\n\n // known boolean attributes\n // we can check for matching boolean properties, but not all browsers\n // and not all tags know about these attributes, so, we still want to check them manually\n const knownBooleans = ['autoplay', 'controls', 'playsinline', 'loop', 'muted', 'default', 'defaultMuted'];\n if (tag && tag.attributes && tag.attributes.length > 0) {\n const attrs = tag.attributes;\n for (let i = attrs.length - 1; i >= 0; i--) {\n const attrName = attrs[i].name;\n /** @type {boolean|string} */\n let attrVal = attrs[i].value;\n\n // check for known booleans\n // the matching element property will return a value for typeof\n if (knownBooleans.includes(attrName)) {\n // the value of an included boolean attribute is typically an empty\n // string ('') which would equal false if we just check for a false value.\n // we also don't want support bad code like autoplay='false'\n attrVal = attrVal !== null ? true : false;\n }\n obj[attrName] = attrVal;\n }\n }\n return obj;\n }\n\n /**\n * Get the value of an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to get the value of.\n *\n * @return {string}\n * The value of the attribute.\n */\n function getAttribute(el, attribute) {\n return el.getAttribute(attribute);\n }\n\n /**\n * Set the value of an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n */\n function setAttribute(el, attribute, value) {\n el.setAttribute(attribute, value);\n }\n\n /**\n * Remove an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to remove.\n */\n function removeAttribute(el, attribute) {\n el.removeAttribute(attribute);\n }\n\n /**\n * Attempt to block the ability to select text.\n */\n function blockTextSelection() {\n document.body.focus();\n document.onselectstart = function () {\n return false;\n };\n }\n\n /**\n * Turn off text selection blocking.\n */\n function unblockTextSelection() {\n document.onselectstart = function () {\n return true;\n };\n }\n\n /**\n * Identical to the native `getBoundingClientRect` function, but ensures that\n * the method is supported at all (it is in all browsers we claim to support)\n * and that the element is in the DOM before continuing.\n *\n * This wrapper function also shims properties which are not provided by some\n * older browsers (namely, IE8).\n *\n * Additionally, some browsers do not support adding properties to a\n * `ClientRect`/`DOMRect` object; so, we shallow-copy it with the standard\n * properties (except `x` and `y` which are not widely supported). This helps\n * avoid implementations where keys are non-enumerable.\n *\n * @param {Element} el\n * Element whose `ClientRect` we want to calculate.\n *\n * @return {Object|undefined}\n * Always returns a plain object - or `undefined` if it cannot.\n */\n function getBoundingClientRect(el) {\n if (el && el.getBoundingClientRect && el.parentNode) {\n const rect = el.getBoundingClientRect();\n const result = {};\n ['bottom', 'height', 'left', 'right', 'top', 'width'].forEach(k => {\n if (rect[k] !== undefined) {\n result[k] = rect[k];\n }\n });\n if (!result.height) {\n result.height = parseFloat(computedStyle(el, 'height'));\n }\n if (!result.width) {\n result.width = parseFloat(computedStyle(el, 'width'));\n }\n return result;\n }\n }\n\n /**\n * Represents the position of a DOM element on the page.\n *\n * @typedef {Object} module:dom~Position\n *\n * @property {number} left\n * Pixels to the left.\n *\n * @property {number} top\n * Pixels from the top.\n */\n\n /**\n * Get the position of an element in the DOM.\n *\n * Uses `getBoundingClientRect` technique from John Resig.\n *\n * @see http://ejohn.org/blog/getboundingclientrect-is-awesome/\n *\n * @param {Element} el\n * Element from which to get offset.\n *\n * @return {module:dom~Position}\n * The position of the element that was passed in.\n */\n function findPosition(el) {\n if (!el || el && !el.offsetParent) {\n return {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n };\n }\n const width = el.offsetWidth;\n const height = el.offsetHeight;\n let left = 0;\n let top = 0;\n while (el.offsetParent && el !== document[FullscreenApi.fullscreenElement]) {\n left += el.offsetLeft;\n top += el.offsetTop;\n el = el.offsetParent;\n }\n return {\n left,\n top,\n width,\n height\n };\n }\n\n /**\n * Represents x and y coordinates for a DOM element or mouse pointer.\n *\n * @typedef {Object} module:dom~Coordinates\n *\n * @property {number} x\n * x coordinate in pixels\n *\n * @property {number} y\n * y coordinate in pixels\n */\n\n /**\n * Get the pointer position within an element.\n *\n * The base on the coordinates are the bottom left of the element.\n *\n * @param {Element} el\n * Element on which to get the pointer position on.\n *\n * @param {Event} event\n * Event object.\n *\n * @return {module:dom~Coordinates}\n * A coordinates object corresponding to the mouse position.\n *\n */\n function getPointerPosition(el, event) {\n const translated = {\n x: 0,\n y: 0\n };\n if (IS_IOS) {\n let item = el;\n while (item && item.nodeName.toLowerCase() !== 'html') {\n const transform = computedStyle(item, 'transform');\n if (/^matrix/.test(transform)) {\n const values = transform.slice(7, -1).split(/,\\s/).map(Number);\n translated.x += values[4];\n translated.y += values[5];\n } else if (/^matrix3d/.test(transform)) {\n const values = transform.slice(9, -1).split(/,\\s/).map(Number);\n translated.x += values[12];\n translated.y += values[13];\n }\n item = item.parentNode;\n }\n }\n const position = {};\n const boxTarget = findPosition(event.target);\n const box = findPosition(el);\n const boxW = box.width;\n const boxH = box.height;\n let offsetY = event.offsetY - (box.top - boxTarget.top);\n let offsetX = event.offsetX - (box.left - boxTarget.left);\n if (event.changedTouches) {\n offsetX = event.changedTouches[0].pageX - box.left;\n offsetY = event.changedTouches[0].pageY + box.top;\n if (IS_IOS) {\n offsetX -= translated.x;\n offsetY -= translated.y;\n }\n }\n position.y = 1 - Math.max(0, Math.min(1, offsetY / boxH));\n position.x = Math.max(0, Math.min(1, offsetX / boxW));\n return position;\n }\n\n /**\n * Determines, via duck typing, whether or not a value is a text node.\n *\n * @param {*} value\n * Check if this value is a text node.\n *\n * @return {boolean}\n * Will be `true` if the value is a text node, `false` otherwise.\n */\n function isTextNode$1(value) {\n return isObject$1(value) && value.nodeType === 3;\n }\n\n /**\n * Empties the contents of an element.\n *\n * @param {Element} el\n * The element to empty children from\n *\n * @return {Element}\n * The element with no children\n */\n function emptyEl(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n return el;\n }\n\n /**\n * This is a mixed value that describes content to be injected into the DOM\n * via some method. It can be of the following types:\n *\n * Type | Description\n * -----------|-------------\n * `string` | The value will be normalized into a text node.\n * `Element` | The value will be accepted as-is.\n * `Text` | A TextNode. The value will be accepted as-is.\n * `Array` | A one-dimensional array of strings, elements, text nodes, or functions. These functions should return a string, element, or text node (any other return value, like an array, will be ignored).\n * `Function` | A function, which is expected to return a string, element, text node, or array - any of the other possible values described above. This means that a content descriptor could be a function that returns an array of functions, but those second-level functions must return strings, elements, or text nodes.\n *\n * @typedef {string|Element|Text|Array|Function} ContentDescriptor\n */\n\n /**\n * Normalizes content for eventual insertion into the DOM.\n *\n * This allows a wide range of content definition methods, but helps protect\n * from falling into the trap of simply writing to `innerHTML`, which could\n * be an XSS concern.\n *\n * The content for an element can be passed in multiple types and\n * combinations, whose behavior is as follows:\n *\n * @param {ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Array}\n * All of the content that was passed in, normalized to an array of\n * elements or text nodes.\n */\n function normalizeContent(content) {\n // First, invoke content if it is a function. If it produces an array,\n // that needs to happen before normalization.\n if (typeof content === 'function') {\n content = content();\n }\n\n // Next up, normalize to an array, so one or many items can be normalized,\n // filtered, and returned.\n return (Array.isArray(content) ? content : [content]).map(value => {\n // First, invoke value if it is a function to produce a new value,\n // which will be subsequently normalized to a Node of some kind.\n if (typeof value === 'function') {\n value = value();\n }\n if (isEl(value) || isTextNode$1(value)) {\n return value;\n }\n if (typeof value === 'string' && /\\S/.test(value)) {\n return document.createTextNode(value);\n }\n }).filter(value => value);\n }\n\n /**\n * Normalizes and appends content to an element.\n *\n * @param {Element} el\n * Element to append normalized content to.\n *\n * @param {ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with appended normalized content.\n */\n function appendContent(el, content) {\n normalizeContent(content).forEach(node => el.appendChild(node));\n return el;\n }\n\n /**\n * Normalizes and inserts content into an element; this is identical to\n * `appendContent()`, except it empties the element first.\n *\n * @param {Element} el\n * Element to insert normalized content into.\n *\n * @param {ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with inserted normalized content.\n */\n function insertContent(el, content) {\n return appendContent(emptyEl(el), content);\n }\n\n /**\n * Check if an event was a single left click.\n *\n * @param {MouseEvent} event\n * Event object.\n *\n * @return {boolean}\n * Will be `true` if a single left click, `false` otherwise.\n */\n function isSingleLeftClick(event) {\n // Note: if you create something draggable, be sure to\n // call it on both `mousedown` and `mousemove` event,\n // otherwise `mousedown` should be enough for a button\n\n if (event.button === undefined && event.buttons === undefined) {\n // Why do we need `buttons` ?\n // Because, middle mouse sometimes have this:\n // e.button === 0 and e.buttons === 4\n // Furthermore, we want to prevent combination click, something like\n // HOLD middlemouse then left click, that would be\n // e.button === 0, e.buttons === 5\n // just `button` is not gonna work\n\n // Alright, then what this block does ?\n // this is for chrome `simulate mobile devices`\n // I want to support this as well\n\n return true;\n }\n if (event.button === 0 && event.buttons === undefined) {\n // Touch screen, sometimes on some specific device, `buttons`\n // doesn't have anything (safari on ios, blackberry...)\n\n return true;\n }\n\n // `mouseup` event on a single left click has\n // `button` and `buttons` equal to 0\n if (event.type === 'mouseup' && event.button === 0 && event.buttons === 0) {\n return true;\n }\n if (event.button !== 0 || event.buttons !== 1) {\n // This is the reason we have those if else block above\n // if any special case we can catch and let it slide\n // we do it above, when get to here, this definitely\n // is-not-left-click\n\n return false;\n }\n return true;\n }\n\n /**\n * Finds a single DOM element matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {Element|null}\n * The element that was found or null.\n */\n const $ = createQuerier('querySelector');\n\n /**\n * Finds a all DOM elements matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {NodeList}\n * A element list of elements that were found. Will be empty if none\n * were found.\n *\n */\n const $$ = createQuerier('querySelectorAll');\n\n /**\n * A safe getComputedStyle.\n *\n * This is needed because in Firefox, if the player is loaded in an iframe with\n * `display:none`, then `getComputedStyle` returns `null`, so, we do a\n * null-check to make sure that the player doesn't break in these cases.\n *\n * @param {Element} el\n * The element you want the computed style of\n *\n * @param {string} prop\n * The property name you want\n *\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\n function computedStyle(el, prop) {\n if (!el || !prop) {\n return '';\n }\n if (typeof window.getComputedStyle === 'function') {\n let computedStyleValue;\n try {\n computedStyleValue = window.getComputedStyle(el);\n } catch (e) {\n return '';\n }\n return computedStyleValue ? computedStyleValue.getPropertyValue(prop) || computedStyleValue[prop] : '';\n }\n return '';\n }\n\n var Dom = /*#__PURE__*/Object.freeze({\n __proto__: null,\n isReal: isReal,\n isEl: isEl,\n isInFrame: isInFrame,\n createEl: createEl,\n textContent: textContent,\n prependTo: prependTo,\n hasClass: hasClass,\n addClass: addClass,\n removeClass: removeClass,\n toggleClass: toggleClass,\n setAttributes: setAttributes,\n getAttributes: getAttributes,\n getAttribute: getAttribute,\n setAttribute: setAttribute,\n removeAttribute: removeAttribute,\n blockTextSelection: blockTextSelection,\n unblockTextSelection: unblockTextSelection,\n getBoundingClientRect: getBoundingClientRect,\n findPosition: findPosition,\n getPointerPosition: getPointerPosition,\n isTextNode: isTextNode$1,\n emptyEl: emptyEl,\n normalizeContent: normalizeContent,\n appendContent: appendContent,\n insertContent: insertContent,\n isSingleLeftClick: isSingleLeftClick,\n $: $,\n $$: $$,\n computedStyle: computedStyle\n });\n\n /**\n * @file setup.js - Functions for setting up a player without\n * user interaction based on the data-setup `attribute` of the video tag.\n *\n * @module setup\n */\n let _windowLoaded = false;\n let videojs$1;\n\n /**\n * Set up any tags that have a data-setup `attribute` when the player is started.\n */\n const autoSetup = function () {\n if (videojs$1.options.autoSetup === false) {\n return;\n }\n const vids = Array.prototype.slice.call(document.getElementsByTagName('video'));\n const audios = Array.prototype.slice.call(document.getElementsByTagName('audio'));\n const divs = Array.prototype.slice.call(document.getElementsByTagName('video-js'));\n const mediaEls = vids.concat(audios, divs);\n\n // Check if any media elements exist\n if (mediaEls && mediaEls.length > 0) {\n for (let i = 0, e = mediaEls.length; i < e; i++) {\n const mediaEl = mediaEls[i];\n\n // Check if element exists, has getAttribute func.\n if (mediaEl && mediaEl.getAttribute) {\n // Make sure this player hasn't already been set up.\n if (mediaEl.player === undefined) {\n const options = mediaEl.getAttribute('data-setup');\n\n // Check if data-setup attr exists.\n // We only auto-setup if they've added the data-setup attr.\n if (options !== null) {\n // Create new video.js instance.\n videojs$1(mediaEl);\n }\n }\n\n // If getAttribute isn't defined, we need to wait for the DOM.\n } else {\n autoSetupTimeout(1);\n break;\n }\n }\n\n // No videos were found, so keep looping unless page is finished loading.\n } else if (!_windowLoaded) {\n autoSetupTimeout(1);\n }\n };\n\n /**\n * Wait until the page is loaded before running autoSetup. This will be called in\n * autoSetup if `hasLoaded` returns false.\n *\n * @param {number} wait\n * How long to wait in ms\n *\n * @param {module:videojs} [vjs]\n * The videojs library function\n */\n function autoSetupTimeout(wait, vjs) {\n // Protect against breakage in non-browser environments\n if (!isReal()) {\n return;\n }\n if (vjs) {\n videojs$1 = vjs;\n }\n window.setTimeout(autoSetup, wait);\n }\n\n /**\n * Used to set the internal tracking of window loaded state to true.\n *\n * @private\n */\n function setWindowLoaded() {\n _windowLoaded = true;\n window.removeEventListener('load', setWindowLoaded);\n }\n if (isReal()) {\n if (document.readyState === 'complete') {\n setWindowLoaded();\n } else {\n /**\n * Listen for the load event on window, and set _windowLoaded to true.\n *\n * We use a standard event listener here to avoid incrementing the GUID\n * before any players are created.\n *\n * @listens load\n */\n window.addEventListener('load', setWindowLoaded);\n }\n }\n\n /**\n * @file stylesheet.js\n * @module stylesheet\n */\n\n /**\n * Create a DOM style element given a className for it.\n *\n * @param {string} className\n * The className to add to the created style element.\n *\n * @return {Element}\n * The element that was created.\n */\n const createStyleElement = function (className) {\n const style = document.createElement('style');\n style.className = className;\n return style;\n };\n\n /**\n * Add text to a DOM element.\n *\n * @param {Element} el\n * The Element to add text content to.\n *\n * @param {string} content\n * The text to add to the element.\n */\n const setTextContent = function (el, content) {\n if (el.styleSheet) {\n el.styleSheet.cssText = content;\n } else {\n el.textContent = content;\n }\n };\n\n /**\n * @file dom-data.js\n * @module dom-data\n */\n\n /**\n * Element Data Store.\n *\n * Allows for binding data to an element without putting it directly on the\n * element. Ex. Event listeners are stored here.\n * (also from jsninja.com, slightly modified and updated for closure compiler)\n *\n * @type {Object}\n * @private\n */\n var DomData = new WeakMap();\n\n /**\n * @file guid.js\n * @module guid\n */\n\n // Default value for GUIDs. This allows us to reset the GUID counter in tests.\n //\n // The initial GUID is 3 because some users have come to rely on the first\n // default player ID ending up as `vjs_video_3`.\n //\n // See: https://github.com/videojs/video.js/pull/6216\n const _initialGuid = 3;\n\n /**\n * Unique ID for an element or function\n *\n * @type {Number}\n */\n let _guid = _initialGuid;\n\n /**\n * Get a unique auto-incrementing ID by number that has not been returned before.\n *\n * @return {number}\n * A new unique ID.\n */\n function newGUID() {\n return _guid++;\n }\n\n /**\n * @file events.js. An Event System (John Resig - Secrets of a JS Ninja http://jsninja.com/)\n * (Original book version wasn't completely usable, so fixed some things and made Closure Compiler compatible)\n * This should work very similarly to jQuery's events, however it's based off the book version which isn't as\n * robust as jquery's, so there's probably some differences.\n *\n * @file events.js\n * @module events\n */\n\n /**\n * Clean up the listener cache and dispatchers\n *\n * @param {Element|Object} elem\n * Element to clean up\n *\n * @param {string} type\n * Type of event to clean up\n */\n function _cleanUpEvents(elem, type) {\n if (!DomData.has(elem)) {\n return;\n }\n const data = DomData.get(elem);\n\n // Remove the events of a particular type if there are none left\n if (data.handlers[type].length === 0) {\n delete data.handlers[type];\n // data.handlers[type] = null;\n // Setting to null was causing an error with data.handlers\n\n // Remove the meta-handler from the element\n if (elem.removeEventListener) {\n elem.removeEventListener(type, data.dispatcher, false);\n } else if (elem.detachEvent) {\n elem.detachEvent('on' + type, data.dispatcher);\n }\n }\n\n // Remove the events object if there are no types left\n if (Object.getOwnPropertyNames(data.handlers).length <= 0) {\n delete data.handlers;\n delete data.dispatcher;\n delete data.disabled;\n }\n\n // Finally remove the element data if there is no data left\n if (Object.getOwnPropertyNames(data).length === 0) {\n DomData.delete(elem);\n }\n }\n\n /**\n * Loops through an array of event types and calls the requested method for each type.\n *\n * @param {Function} fn\n * The event method we want to use.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string} type\n * Type of event to bind to.\n *\n * @param {Function} callback\n * Event listener.\n */\n function _handleMultipleEvents(fn, elem, types, callback) {\n types.forEach(function (type) {\n // Call the event method for each one of the types\n fn(elem, type, callback);\n });\n }\n\n /**\n * Fix a native event to have standard property values\n *\n * @param {Object} event\n * Event object to fix.\n *\n * @return {Object}\n * Fixed event object.\n */\n function fixEvent(event) {\n if (event.fixed_) {\n return event;\n }\n function returnTrue() {\n return true;\n }\n function returnFalse() {\n return false;\n }\n\n // Test if fixing up is needed\n // Used to check if !event.stopPropagation instead of isPropagationStopped\n // But native events return true for stopPropagation, but don't have\n // other expected methods like isPropagationStopped. Seems to be a problem\n // with the Javascript Ninja code. So we're just overriding all events now.\n if (!event || !event.isPropagationStopped || !event.isImmediatePropagationStopped) {\n const old = event || window.event;\n event = {};\n // Clone the old object so that we can modify the values event = {};\n // IE8 Doesn't like when you mess with native event properties\n // Firefox returns false for event.hasOwnProperty('type') and other props\n // which makes copying more difficult.\n // TODO: Probably best to create a whitelist of event props\n for (const key in old) {\n // Safari 6.0.3 warns you if you try to copy deprecated layerX/Y\n // Chrome warns you if you try to copy deprecated keyboardEvent.keyLocation\n // and webkitMovementX/Y\n // Lighthouse complains if Event.path is copied\n if (key !== 'layerX' && key !== 'layerY' && key !== 'keyLocation' && key !== 'webkitMovementX' && key !== 'webkitMovementY' && key !== 'path') {\n // Chrome 32+ warns if you try to copy deprecated returnValue, but\n // we still want to if preventDefault isn't supported (IE8).\n if (!(key === 'returnValue' && old.preventDefault)) {\n event[key] = old[key];\n }\n }\n }\n\n // The event occurred on this element\n if (!event.target) {\n event.target = event.srcElement || document;\n }\n\n // Handle which other element the event is related to\n if (!event.relatedTarget) {\n event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;\n }\n\n // Stop the default browser action\n event.preventDefault = function () {\n if (old.preventDefault) {\n old.preventDefault();\n }\n event.returnValue = false;\n old.returnValue = false;\n event.defaultPrevented = true;\n };\n event.defaultPrevented = false;\n\n // Stop the event from bubbling\n event.stopPropagation = function () {\n if (old.stopPropagation) {\n old.stopPropagation();\n }\n event.cancelBubble = true;\n old.cancelBubble = true;\n event.isPropagationStopped = returnTrue;\n };\n event.isPropagationStopped = returnFalse;\n\n // Stop the event from bubbling and executing other handlers\n event.stopImmediatePropagation = function () {\n if (old.stopImmediatePropagation) {\n old.stopImmediatePropagation();\n }\n event.isImmediatePropagationStopped = returnTrue;\n event.stopPropagation();\n };\n event.isImmediatePropagationStopped = returnFalse;\n\n // Handle mouse position\n if (event.clientX !== null && event.clientX !== undefined) {\n const doc = document.documentElement;\n const body = document.body;\n event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // Handle key presses\n event.which = event.charCode || event.keyCode;\n\n // Fix button for mouse clicks:\n // 0 == left; 1 == middle; 2 == right\n if (event.button !== null && event.button !== undefined) {\n // The following is disabled because it does not pass videojs-standard\n // and... yikes.\n /* eslint-disable */\n event.button = event.button & 1 ? 0 : event.button & 4 ? 1 : event.button & 2 ? 2 : 0;\n /* eslint-enable */\n }\n }\n\n event.fixed_ = true;\n // Returns fixed-up instance\n return event;\n }\n\n /**\n * Whether passive event listeners are supported\n */\n let _supportsPassive;\n const supportsPassive = function () {\n if (typeof _supportsPassive !== 'boolean') {\n _supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, 'passive', {\n get() {\n _supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n window.removeEventListener('test', null, opts);\n } catch (e) {\n // disregard\n }\n }\n return _supportsPassive;\n };\n\n /**\n * Touch events Chrome expects to be passive\n */\n const passiveEvents = ['touchstart', 'touchmove'];\n\n /**\n * Add an event listener to element\n * It stores the handler function in a separate cache object\n * and adds a generic handler to the element's event,\n * along with a unique id (guid) to the element.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string|string[]} type\n * Type of event to bind to.\n *\n * @param {Function} fn\n * Event listener.\n */\n function on(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(on, elem, type, fn);\n }\n if (!DomData.has(elem)) {\n DomData.set(elem, {});\n }\n const data = DomData.get(elem);\n\n // We need a place to store all our handler data\n if (!data.handlers) {\n data.handlers = {};\n }\n if (!data.handlers[type]) {\n data.handlers[type] = [];\n }\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n data.handlers[type].push(fn);\n if (!data.dispatcher) {\n data.disabled = false;\n data.dispatcher = function (event, hash) {\n if (data.disabled) {\n return;\n }\n event = fixEvent(event);\n const handlers = data.handlers[event.type];\n if (handlers) {\n // Copy handlers so if handlers are added/removed during the process it doesn't throw everything off.\n const handlersCopy = handlers.slice(0);\n for (let m = 0, n = handlersCopy.length; m < n; m++) {\n if (event.isImmediatePropagationStopped()) {\n break;\n } else {\n try {\n handlersCopy[m].call(elem, event, hash);\n } catch (e) {\n log$1.error(e);\n }\n }\n }\n }\n };\n }\n if (data.handlers[type].length === 1) {\n if (elem.addEventListener) {\n let options = false;\n if (supportsPassive() && passiveEvents.indexOf(type) > -1) {\n options = {\n passive: true\n };\n }\n elem.addEventListener(type, data.dispatcher, options);\n } else if (elem.attachEvent) {\n elem.attachEvent('on' + type, data.dispatcher);\n }\n }\n }\n\n /**\n * Removes event listeners from an element\n *\n * @param {Element|Object} elem\n * Object to remove listeners from.\n *\n * @param {string|string[]} [type]\n * Type of listener to remove. Don't include to remove all events from element.\n *\n * @param {Function} [fn]\n * Specific listener to remove. Don't include to remove listeners for an event\n * type.\n */\n function off(elem, type, fn) {\n // Don't want to add a cache object through getElData if not needed\n if (!DomData.has(elem)) {\n return;\n }\n const data = DomData.get(elem);\n\n // If no events exist, nothing to unbind\n if (!data.handlers) {\n return;\n }\n if (Array.isArray(type)) {\n return _handleMultipleEvents(off, elem, type, fn);\n }\n\n // Utility function\n const removeType = function (el, t) {\n data.handlers[t] = [];\n _cleanUpEvents(el, t);\n };\n\n // Are we removing all bound events?\n if (type === undefined) {\n for (const t in data.handlers) {\n if (Object.prototype.hasOwnProperty.call(data.handlers || {}, t)) {\n removeType(elem, t);\n }\n }\n return;\n }\n const handlers = data.handlers[type];\n\n // If no handlers exist, nothing to unbind\n if (!handlers) {\n return;\n }\n\n // If no listener was provided, remove all listeners for type\n if (!fn) {\n removeType(elem, type);\n return;\n }\n\n // We're only removing a single handler\n if (fn.guid) {\n for (let n = 0; n < handlers.length; n++) {\n if (handlers[n].guid === fn.guid) {\n handlers.splice(n--, 1);\n }\n }\n }\n _cleanUpEvents(elem, type);\n }\n\n /**\n * Trigger an event for an element\n *\n * @param {Element|Object} elem\n * Element to trigger an event on\n *\n * @param {EventTarget~Event|string} event\n * A string (the type) or an event object with a type attribute\n *\n * @param {Object} [hash]\n * data hash to pass along with the event\n *\n * @return {boolean|undefined}\n * Returns the opposite of `defaultPrevented` if default was\n * prevented. Otherwise, returns `undefined`\n */\n function trigger(elem, event, hash) {\n // Fetches element data and a reference to the parent (for bubbling).\n // Don't want to add a data object to cache for every parent,\n // so checking hasElData first.\n const elemData = DomData.has(elem) ? DomData.get(elem) : {};\n const parent = elem.parentNode || elem.ownerDocument;\n // type = event.type || event,\n // handler;\n\n // If an event name was passed as a string, creates an event out of it\n if (typeof event === 'string') {\n event = {\n type: event,\n target: elem\n };\n } else if (!event.target) {\n event.target = elem;\n }\n\n // Normalizes the event properties.\n event = fixEvent(event);\n\n // If the passed element has a dispatcher, executes the established handlers.\n if (elemData.dispatcher) {\n elemData.dispatcher.call(elem, event, hash);\n }\n\n // Unless explicitly stopped or the event does not bubble (e.g. media events)\n // recursively calls this function to bubble the event up the DOM.\n if (parent && !event.isPropagationStopped() && event.bubbles === true) {\n trigger.call(null, parent, event, hash);\n\n // If at the top of the DOM, triggers the default action unless disabled.\n } else if (!parent && !event.defaultPrevented && event.target && event.target[event.type]) {\n if (!DomData.has(event.target)) {\n DomData.set(event.target, {});\n }\n const targetData = DomData.get(event.target);\n\n // Checks if the target has a default action for this event.\n if (event.target[event.type]) {\n // Temporarily disables event dispatching on the target as we have already executed the handler.\n targetData.disabled = true;\n // Executes the default action.\n if (typeof event.target[event.type] === 'function') {\n event.target[event.type]();\n }\n // Re-enables event dispatching.\n targetData.disabled = false;\n }\n }\n\n // Inform the triggerer if the default was prevented by returning false\n return !event.defaultPrevented;\n }\n\n /**\n * Trigger a listener only once for an event.\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event listener function\n */\n function one(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(one, elem, type, fn);\n }\n const func = function () {\n off(elem, type, func);\n fn.apply(this, arguments);\n };\n\n // copy the guid to the new function so it can removed using the original function's ID\n func.guid = fn.guid = fn.guid || newGUID();\n on(elem, type, func);\n }\n\n /**\n * Trigger a listener only once and then turn if off for all\n * configured events\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event listener function\n */\n function any(elem, type, fn) {\n const func = function () {\n off(elem, type, func);\n fn.apply(this, arguments);\n };\n\n // copy the guid to the new function so it can removed using the original function's ID\n func.guid = fn.guid = fn.guid || newGUID();\n\n // multiple ons, but one off for everything\n on(elem, type, func);\n }\n\n var Events = /*#__PURE__*/Object.freeze({\n __proto__: null,\n fixEvent: fixEvent,\n on: on,\n off: off,\n trigger: trigger,\n one: one,\n any: any\n });\n\n /**\n * @file fn.js\n * @module fn\n */\n const UPDATE_REFRESH_INTERVAL = 30;\n\n /**\n * A private, internal-only function for changing the context of a function.\n *\n * It also stores a unique id on the function so it can be easily removed from\n * events.\n *\n * @private\n * @function\n * @param {*} context\n * The object to bind as scope.\n *\n * @param {Function} fn\n * The function to be bound to a scope.\n *\n * @param {number} [uid]\n * An optional unique ID for the function to be set\n *\n * @return {Function}\n * The new function that will be bound into the context given\n */\n const bind_ = function (context, fn, uid) {\n // Make sure the function has a unique ID\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n\n // Create the new function that changes the context\n const bound = fn.bind(context);\n\n // Allow for the ability to individualize this function\n // Needed in the case where multiple objects might share the same prototype\n // IF both items add an event listener with the same function, then you try to remove just one\n // it will remove both because they both have the same guid.\n // when using this, you need to use the bind method when you remove the listener as well.\n // currently used in text tracks\n bound.guid = uid ? uid + '_' + fn.guid : fn.guid;\n return bound;\n };\n\n /**\n * Wraps the given function, `fn`, with a new function that only invokes `fn`\n * at most once per every `wait` milliseconds.\n *\n * @function\n * @param {Function} fn\n * The function to be throttled.\n *\n * @param {number} wait\n * The number of milliseconds by which to throttle.\n *\n * @return {Function}\n */\n const throttle = function (fn, wait) {\n let last = window.performance.now();\n const throttled = function (...args) {\n const now = window.performance.now();\n if (now - last >= wait) {\n fn(...args);\n last = now;\n }\n };\n return throttled;\n };\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked.\n *\n * Inspired by lodash and underscore implementations.\n *\n * @function\n * @param {Function} func\n * The function to wrap with debounce behavior.\n *\n * @param {number} wait\n * The number of milliseconds to wait after the last invocation.\n *\n * @param {boolean} [immediate]\n * Whether or not to invoke the function immediately upon creation.\n *\n * @param {Object} [context=window]\n * The \"context\" in which the debounced function should debounce. For\n * example, if this function should be tied to a Video.js player,\n * the player can be passed here. Alternatively, defaults to the\n * global `window` object.\n *\n * @return {Function}\n * A debounced function.\n */\n const debounce = function (func, wait, immediate, context = window) {\n let timeout;\n const cancel = () => {\n context.clearTimeout(timeout);\n timeout = null;\n };\n\n /* eslint-disable consistent-this */\n const debounced = function () {\n const self = this;\n const args = arguments;\n let later = function () {\n timeout = null;\n later = null;\n if (!immediate) {\n func.apply(self, args);\n }\n };\n if (!timeout && immediate) {\n func.apply(self, args);\n }\n context.clearTimeout(timeout);\n timeout = context.setTimeout(later, wait);\n };\n /* eslint-enable consistent-this */\n\n debounced.cancel = cancel;\n return debounced;\n };\n\n var Fn = /*#__PURE__*/Object.freeze({\n __proto__: null,\n UPDATE_REFRESH_INTERVAL: UPDATE_REFRESH_INTERVAL,\n bind_: bind_,\n throttle: throttle,\n debounce: debounce\n });\n\n /**\n * @file src/js/event-target.js\n */\n let EVENT_MAP;\n\n /**\n * `EventTarget` is a class that can have the same API as the DOM `EventTarget`. It\n * adds shorthand functions that wrap around lengthy functions. For example:\n * the `on` function is a wrapper around `addEventListener`.\n *\n * @see [EventTarget Spec]{@link https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget}\n * @class EventTarget\n */\n class EventTarget$2 {\n /**\n * Adds an `event listener` to an instance of an `EventTarget`. An `event listener` is a\n * function that will get called when an event with a certain name gets triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to call with `EventTarget`s\n */\n on(type, fn) {\n // Remove the addEventListener alias before calling Events.on\n // so we don't get into an infinite type loop\n const ael = this.addEventListener;\n this.addEventListener = () => {};\n on(this, type, fn);\n this.addEventListener = ael;\n }\n /**\n * Removes an `event listener` for a specific event from an instance of `EventTarget`.\n * This makes it so that the `event listener` will no longer get called when the\n * named event happens.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to remove.\n */\n off(type, fn) {\n off(this, type, fn);\n }\n /**\n * This function will add an `event listener` that gets triggered only once. After the\n * first trigger it will get removed. This is like adding an `event listener`\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on itself.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to be called once for each event name.\n */\n one(type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n const ael = this.addEventListener;\n this.addEventListener = () => {};\n one(this, type, fn);\n this.addEventListener = ael;\n }\n /**\n * This function will add an `event listener` that gets triggered only once and is\n * removed from all events. This is like adding an array of `event listener`s\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on all events the\n * first time it is triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to be called once for each event name.\n */\n any(type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n const ael = this.addEventListener;\n this.addEventListener = () => {};\n any(this, type, fn);\n this.addEventListener = ael;\n }\n /**\n * This function causes an event to happen. This will then cause any `event listeners`\n * that are waiting for that event, to get called. If there are no `event listeners`\n * for an event then nothing will happen.\n *\n * If the name of the `Event` that is being triggered is in `EventTarget.allowedEvents_`.\n * Trigger will also call the `on` + `uppercaseEventName` function.\n *\n * Example:\n * 'click' is in `EventTarget.allowedEvents_`, so, trigger will attempt to call\n * `onClick` if it exists.\n *\n * @param {string|EventTarget~Event|Object} event\n * The name of the event, an `Event`, or an object with a key of type set to\n * an event name.\n */\n trigger(event) {\n const type = event.type || event;\n\n // deprecation\n // In a future version we should default target to `this`\n // similar to how we default the target to `elem` in\n // `Events.trigger`. Right now the default `target` will be\n // `document` due to the `Event.fixEvent` call.\n if (typeof event === 'string') {\n event = {\n type\n };\n }\n event = fixEvent(event);\n if (this.allowedEvents_[type] && this['on' + type]) {\n this['on' + type](event);\n }\n trigger(this, event);\n }\n queueTrigger(event) {\n // only set up EVENT_MAP if it'll be used\n if (!EVENT_MAP) {\n EVENT_MAP = new Map();\n }\n const type = event.type || event;\n let map = EVENT_MAP.get(this);\n if (!map) {\n map = new Map();\n EVENT_MAP.set(this, map);\n }\n const oldTimeout = map.get(type);\n map.delete(type);\n window.clearTimeout(oldTimeout);\n const timeout = window.setTimeout(() => {\n map.delete(type);\n // if we cleared out all timeouts for the current target, delete its map\n if (map.size === 0) {\n map = null;\n EVENT_MAP.delete(this);\n }\n this.trigger(event);\n }, 0);\n map.set(type, timeout);\n }\n }\n\n /**\n * A Custom DOM event.\n *\n * @typedef {CustomEvent} Event\n * @see [Properties]{@link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent}\n */\n\n /**\n * All event listeners should follow the following format.\n *\n * @callback EventTarget~EventListener\n * @this {EventTarget}\n *\n * @param {Event} event\n * the event that triggered this function\n *\n * @param {Object} [hash]\n * hash of data sent during the event\n */\n\n /**\n * An object containing event names as keys and booleans as values.\n *\n * > NOTE: If an event name is set to a true value here {@link EventTarget#trigger}\n * will have extra functionality. See that function for more information.\n *\n * @property EventTarget.prototype.allowedEvents_\n * @private\n */\n EventTarget$2.prototype.allowedEvents_ = {};\n\n /**\n * An alias of {@link EventTarget#on}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#on}\n */\n EventTarget$2.prototype.addEventListener = EventTarget$2.prototype.on;\n\n /**\n * An alias of {@link EventTarget#off}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#off}\n */\n EventTarget$2.prototype.removeEventListener = EventTarget$2.prototype.off;\n\n /**\n * An alias of {@link EventTarget#trigger}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#trigger}\n */\n EventTarget$2.prototype.dispatchEvent = EventTarget$2.prototype.trigger;\n\n /**\n * @file mixins/evented.js\n * @module evented\n */\n const objName = obj => {\n if (typeof obj.name === 'function') {\n return obj.name();\n }\n if (typeof obj.name === 'string') {\n return obj.name;\n }\n if (obj.name_) {\n return obj.name_;\n }\n if (obj.constructor && obj.constructor.name) {\n return obj.constructor.name;\n }\n return typeof obj;\n };\n\n /**\n * Returns whether or not an object has had the evented mixin applied.\n *\n * @param {Object} object\n * An object to test.\n *\n * @return {boolean}\n * Whether or not the object appears to be evented.\n */\n const isEvented = object => object instanceof EventTarget$2 || !!object.eventBusEl_ && ['on', 'one', 'off', 'trigger'].every(k => typeof object[k] === 'function');\n\n /**\n * Adds a callback to run after the evented mixin applied.\n *\n * @param {Object} target\n * An object to Add\n * @param {Function} callback\n * The callback to run.\n */\n const addEventedCallback = (target, callback) => {\n if (isEvented(target)) {\n callback();\n } else {\n if (!target.eventedCallbacks) {\n target.eventedCallbacks = [];\n }\n target.eventedCallbacks.push(callback);\n }\n };\n\n /**\n * Whether a value is a valid event type - non-empty string or array.\n *\n * @private\n * @param {string|Array} type\n * The type value to test.\n *\n * @return {boolean}\n * Whether or not the type is a valid event type.\n */\n const isValidEventType = type =>\n // The regex here verifies that the `type` contains at least one non-\n // whitespace character.\n typeof type === 'string' && /\\S/.test(type) || Array.isArray(type) && !!type.length;\n\n /**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the target does not appear to be a valid event target.\n *\n * @param {Object} target\n * The object to test.\n *\n * @param {Object} obj\n * The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\n const validateTarget = (target, obj, fnName) => {\n if (!target || !target.nodeName && !isEvented(target)) {\n throw new Error(`Invalid target for ${objName(obj)}#${fnName}; must be a DOM node or evented object.`);\n }\n };\n\n /**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the type does not appear to be a valid event type.\n *\n * @param {string|Array} type\n * The type to test.\n *\n * @param {Object} obj\n * The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\n const validateEventType = (type, obj, fnName) => {\n if (!isValidEventType(type)) {\n throw new Error(`Invalid event type for ${objName(obj)}#${fnName}; must be a non-empty string or array.`);\n }\n };\n\n /**\n * Validates a value to determine if it is a valid listener. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the listener is not a function.\n *\n * @param {Function} listener\n * The listener to test.\n *\n * @param {Object} obj\n * The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\n const validateListener = (listener, obj, fnName) => {\n if (typeof listener !== 'function') {\n throw new Error(`Invalid listener for ${objName(obj)}#${fnName}; must be a function.`);\n }\n };\n\n /**\n * Takes an array of arguments given to `on()` or `one()`, validates them, and\n * normalizes them into an object.\n *\n * @private\n * @param {Object} self\n * The evented object on which `on()` or `one()` was called. This\n * object will be bound as the `this` value for the listener.\n *\n * @param {Array} args\n * An array of arguments passed to `on()` or `one()`.\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n *\n * @return {Object}\n * An object containing useful values for `on()` or `one()` calls.\n */\n const normalizeListenArgs = (self, args, fnName) => {\n // If the number of arguments is less than 3, the target is always the\n // evented object itself.\n const isTargetingSelf = args.length < 3 || args[0] === self || args[0] === self.eventBusEl_;\n let target;\n let type;\n let listener;\n if (isTargetingSelf) {\n target = self.eventBusEl_;\n\n // Deal with cases where we got 3 arguments, but we are still listening to\n // the evented object itself.\n if (args.length >= 3) {\n args.shift();\n }\n [type, listener] = args;\n } else {\n [target, type, listener] = args;\n }\n validateTarget(target, self, fnName);\n validateEventType(type, self, fnName);\n validateListener(listener, self, fnName);\n listener = bind_(self, listener);\n return {\n isTargetingSelf,\n target,\n type,\n listener\n };\n };\n\n /**\n * Adds the listener to the event type(s) on the target, normalizing for\n * the type of target.\n *\n * @private\n * @param {Element|Object} target\n * A DOM node or evented object.\n *\n * @param {string} method\n * The event binding method to use (\"on\" or \"one\").\n *\n * @param {string|Array} type\n * One or more event type(s).\n *\n * @param {Function} listener\n * A listener function.\n */\n const listen = (target, method, type, listener) => {\n validateTarget(target, target, method);\n if (target.nodeName) {\n Events[method](target, type, listener);\n } else {\n target[method](type, listener);\n }\n };\n\n /**\n * Contains methods that provide event capabilities to an object which is passed\n * to {@link module:evented|evented}.\n *\n * @mixin EventedMixin\n */\n const EventedMixin = {\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n on(...args) {\n const {\n isTargetingSelf,\n target,\n type,\n listener\n } = normalizeListenArgs(this, args, 'on');\n listen(target, 'on', type, listener);\n\n // If this object is listening to another evented object.\n if (!isTargetingSelf) {\n // If this object is disposed, remove the listener.\n const removeListenerOnDispose = () => this.off(target, type, listener);\n\n // Use the same function ID as the listener so we can remove it later it\n // using the ID of the original listener.\n removeListenerOnDispose.guid = listener.guid;\n\n // Add a listener to the target's dispose event as well. This ensures\n // that if the target is disposed BEFORE this object, we remove the\n // removal listener that was just added. Otherwise, we create a memory leak.\n const removeRemoverOnTargetDispose = () => this.off('dispose', removeListenerOnDispose);\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n removeRemoverOnTargetDispose.guid = listener.guid;\n listen(this, 'on', 'dispose', removeListenerOnDispose);\n listen(target, 'on', 'dispose', removeRemoverOnTargetDispose);\n }\n },\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object. The listener will be called once per event and then removed.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n one(...args) {\n const {\n isTargetingSelf,\n target,\n type,\n listener\n } = normalizeListenArgs(this, args, 'one');\n\n // Targeting this evented object.\n if (isTargetingSelf) {\n listen(target, 'one', type, listener);\n\n // Targeting another evented object.\n } else {\n // TODO: This wrapper is incorrect! It should only\n // remove the wrapper for the event type that called it.\n // Instead all listeners are removed on the first trigger!\n // see https://github.com/videojs/video.js/issues/5962\n const wrapper = (...largs) => {\n this.off(target, type, wrapper);\n listener.apply(null, largs);\n };\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n wrapper.guid = listener.guid;\n listen(target, 'one', type, wrapper);\n }\n },\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object. The listener will only be called once for the first event that is triggered\n * then removed.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n any(...args) {\n const {\n isTargetingSelf,\n target,\n type,\n listener\n } = normalizeListenArgs(this, args, 'any');\n\n // Targeting this evented object.\n if (isTargetingSelf) {\n listen(target, 'any', type, listener);\n\n // Targeting another evented object.\n } else {\n const wrapper = (...largs) => {\n this.off(target, type, wrapper);\n listener.apply(null, largs);\n };\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n wrapper.guid = listener.guid;\n listen(target, 'any', type, wrapper);\n }\n },\n /**\n * Removes listener(s) from event(s) on an evented object.\n *\n * @param {string|Array|Element|Object} [targetOrType]\n * If this is a string or array, it represents the event type(s).\n *\n * Another evented object can be passed here instead, in which case\n * ALL 3 arguments are _required_.\n *\n * @param {string|Array|Function} [typeOrListener]\n * If the first argument was a string or array, this may be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function; otherwise, _all_ listeners bound to the\n * event type(s) will be removed.\n */\n off(targetOrType, typeOrListener, listener) {\n // Targeting this evented object.\n if (!targetOrType || isValidEventType(targetOrType)) {\n off(this.eventBusEl_, targetOrType, typeOrListener);\n\n // Targeting another evented object.\n } else {\n const target = targetOrType;\n const type = typeOrListener;\n\n // Fail fast and in a meaningful way!\n validateTarget(target, this, 'off');\n validateEventType(type, this, 'off');\n validateListener(listener, this, 'off');\n\n // Ensure there's at least a guid, even if the function hasn't been used\n listener = bind_(this, listener);\n\n // Remove the dispose listener on this evented object, which was given\n // the same guid as the event listener in on().\n this.off('dispose', listener);\n if (target.nodeName) {\n off(target, type, listener);\n off(target, 'dispose', listener);\n } else if (isEvented(target)) {\n target.off(type, listener);\n target.off('dispose', listener);\n }\n }\n },\n /**\n * Fire an event on this evented object, causing its listeners to be called.\n *\n * @param {string|Object} event\n * An event type or an object with a type property.\n *\n * @param {Object} [hash]\n * An additional object to pass along to listeners.\n *\n * @return {boolean}\n * Whether or not the default behavior was prevented.\n */\n trigger(event, hash) {\n validateTarget(this.eventBusEl_, this, 'trigger');\n const type = event && typeof event !== 'string' ? event.type : event;\n if (!isValidEventType(type)) {\n throw new Error(`Invalid event type for ${objName(this)}#trigger; ` + 'must be a non-empty string or object with a type key that has a non-empty value.');\n }\n return trigger(this.eventBusEl_, event, hash);\n }\n };\n\n /**\n * Applies {@link module:evented~EventedMixin|EventedMixin} to a target object.\n *\n * @param {Object} target\n * The object to which to add event methods.\n *\n * @param {Object} [options={}]\n * Options for customizing the mixin behavior.\n *\n * @param {string} [options.eventBusKey]\n * By default, adds a `eventBusEl_` DOM element to the target object,\n * which is used as an event bus. If the target object already has a\n * DOM element that should be used, pass its key here.\n *\n * @return {Object}\n * The target object.\n */\n function evented(target, options = {}) {\n const {\n eventBusKey\n } = options;\n\n // Set or create the eventBusEl_.\n if (eventBusKey) {\n if (!target[eventBusKey].nodeName) {\n throw new Error(`The eventBusKey \"${eventBusKey}\" does not refer to an element.`);\n }\n target.eventBusEl_ = target[eventBusKey];\n } else {\n target.eventBusEl_ = createEl('span', {\n className: 'vjs-event-bus'\n });\n }\n Object.assign(target, EventedMixin);\n if (target.eventedCallbacks) {\n target.eventedCallbacks.forEach(callback => {\n callback();\n });\n }\n\n // When any evented object is disposed, it removes all its listeners.\n target.on('dispose', () => {\n target.off();\n [target, target.el_, target.eventBusEl_].forEach(function (val) {\n if (val && DomData.has(val)) {\n DomData.delete(val);\n }\n });\n window.setTimeout(() => {\n target.eventBusEl_ = null;\n }, 0);\n });\n return target;\n }\n\n /**\n * @file mixins/stateful.js\n * @module stateful\n */\n\n /**\n * Contains methods that provide statefulness to an object which is passed\n * to {@link module:stateful}.\n *\n * @mixin StatefulMixin\n */\n const StatefulMixin = {\n /**\n * A hash containing arbitrary keys and values representing the state of\n * the object.\n *\n * @type {Object}\n */\n state: {},\n /**\n * Set the state of an object by mutating its\n * {@link module:stateful~StatefulMixin.state|state} object in place.\n *\n * @fires module:stateful~StatefulMixin#statechanged\n * @param {Object|Function} stateUpdates\n * A new set of properties to shallow-merge into the plugin state.\n * Can be a plain object or a function returning a plain object.\n *\n * @return {Object|undefined}\n * An object containing changes that occurred. If no changes\n * occurred, returns `undefined`.\n */\n setState(stateUpdates) {\n // Support providing the `stateUpdates` state as a function.\n if (typeof stateUpdates === 'function') {\n stateUpdates = stateUpdates();\n }\n let changes;\n each(stateUpdates, (value, key) => {\n // Record the change if the value is different from what's in the\n // current state.\n if (this.state[key] !== value) {\n changes = changes || {};\n changes[key] = {\n from: this.state[key],\n to: value\n };\n }\n this.state[key] = value;\n });\n\n // Only trigger \"statechange\" if there were changes AND we have a trigger\n // function. This allows us to not require that the target object be an\n // evented object.\n if (changes && isEvented(this)) {\n /**\n * An event triggered on an object that is both\n * {@link module:stateful|stateful} and {@link module:evented|evented}\n * indicating that its state has changed.\n *\n * @event module:stateful~StatefulMixin#statechanged\n * @type {Object}\n * @property {Object} changes\n * A hash containing the properties that were changed and\n * the values they were changed `from` and `to`.\n */\n this.trigger({\n changes,\n type: 'statechanged'\n });\n }\n return changes;\n }\n };\n\n /**\n * Applies {@link module:stateful~StatefulMixin|StatefulMixin} to a target\n * object.\n *\n * If the target object is {@link module:evented|evented} and has a\n * `handleStateChanged` method, that method will be automatically bound to the\n * `statechanged` event on itself.\n *\n * @param {Object} target\n * The object to be made stateful.\n *\n * @param {Object} [defaultState]\n * A default set of properties to populate the newly-stateful object's\n * `state` property.\n *\n * @return {Object}\n * Returns the `target`.\n */\n function stateful(target, defaultState) {\n Object.assign(target, StatefulMixin);\n\n // This happens after the mixing-in because we need to replace the `state`\n // added in that step.\n target.state = Object.assign({}, target.state, defaultState);\n\n // Auto-bind the `handleStateChanged` method of the target object if it exists.\n if (typeof target.handleStateChanged === 'function' && isEvented(target)) {\n target.on('statechanged', target.handleStateChanged);\n }\n return target;\n }\n\n /**\n * @file str.js\n * @module to-lower-case\n */\n\n /**\n * Lowercase the first letter of a string.\n *\n * @param {string} string\n * String to be lowercased\n *\n * @return {string}\n * The string with a lowercased first letter\n */\n const toLowerCase = function (string) {\n if (typeof string !== 'string') {\n return string;\n }\n return string.replace(/./, w => w.toLowerCase());\n };\n\n /**\n * Uppercase the first letter of a string.\n *\n * @param {string} string\n * String to be uppercased\n *\n * @return {string}\n * The string with an uppercased first letter\n */\n const toTitleCase$1 = function (string) {\n if (typeof string !== 'string') {\n return string;\n }\n return string.replace(/./, w => w.toUpperCase());\n };\n\n /**\n * Compares the TitleCase versions of the two strings for equality.\n *\n * @param {string} str1\n * The first string to compare\n *\n * @param {string} str2\n * The second string to compare\n *\n * @return {boolean}\n * Whether the TitleCase versions of the strings are equal\n */\n const titleCaseEquals = function (str1, str2) {\n return toTitleCase$1(str1) === toTitleCase$1(str2);\n };\n\n var Str = /*#__PURE__*/Object.freeze({\n __proto__: null,\n toLowerCase: toLowerCase,\n toTitleCase: toTitleCase$1,\n titleCaseEquals: titleCaseEquals\n });\n\n var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n function unwrapExports (x) {\n \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n }\n\n function createCommonjsModule(fn, module) {\n \treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n }\n\n var keycode = createCommonjsModule(function (module, exports) {\n // Source: http://jsfiddle.net/vWx8V/\n // http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes\n\n /**\n * Conenience method returns corresponding value for given keyName or keyCode.\n *\n * @param {Mixed} keyCode {Number} or keyName {String}\n * @return {Mixed}\n * @api public\n */\n\n function keyCode(searchInput) {\n // Keyboard Events\n if (searchInput && 'object' === typeof searchInput) {\n var hasKeyCode = searchInput.which || searchInput.keyCode || searchInput.charCode;\n if (hasKeyCode) searchInput = hasKeyCode;\n }\n\n // Numbers\n if ('number' === typeof searchInput) return names[searchInput];\n\n // Everything else (cast to string)\n var search = String(searchInput);\n\n // check codes\n var foundNamedKey = codes[search.toLowerCase()];\n if (foundNamedKey) return foundNamedKey;\n\n // check aliases\n var foundNamedKey = aliases[search.toLowerCase()];\n if (foundNamedKey) return foundNamedKey;\n\n // weird character?\n if (search.length === 1) return search.charCodeAt(0);\n return undefined;\n }\n\n /**\n * Compares a keyboard event with a given keyCode or keyName.\n *\n * @param {Event} event Keyboard event that should be tested\n * @param {Mixed} keyCode {Number} or keyName {String}\n * @return {Boolean}\n * @api public\n */\n keyCode.isEventKey = function isEventKey(event, nameOrCode) {\n if (event && 'object' === typeof event) {\n var keyCode = event.which || event.keyCode || event.charCode;\n if (keyCode === null || keyCode === undefined) {\n return false;\n }\n if (typeof nameOrCode === 'string') {\n // check codes\n var foundNamedKey = codes[nameOrCode.toLowerCase()];\n if (foundNamedKey) {\n return foundNamedKey === keyCode;\n }\n\n // check aliases\n var foundNamedKey = aliases[nameOrCode.toLowerCase()];\n if (foundNamedKey) {\n return foundNamedKey === keyCode;\n }\n } else if (typeof nameOrCode === 'number') {\n return nameOrCode === keyCode;\n }\n return false;\n }\n };\n exports = module.exports = keyCode;\n\n /**\n * Get by name\n *\n * exports.code['enter'] // => 13\n */\n\n var codes = exports.code = exports.codes = {\n 'backspace': 8,\n 'tab': 9,\n 'enter': 13,\n 'shift': 16,\n 'ctrl': 17,\n 'alt': 18,\n 'pause/break': 19,\n 'caps lock': 20,\n 'esc': 27,\n 'space': 32,\n 'page up': 33,\n 'page down': 34,\n 'end': 35,\n 'home': 36,\n 'left': 37,\n 'up': 38,\n 'right': 39,\n 'down': 40,\n 'insert': 45,\n 'delete': 46,\n 'command': 91,\n 'left command': 91,\n 'right command': 93,\n 'numpad *': 106,\n 'numpad +': 107,\n 'numpad -': 109,\n 'numpad .': 110,\n 'numpad /': 111,\n 'num lock': 144,\n 'scroll lock': 145,\n 'my computer': 182,\n 'my calculator': 183,\n ';': 186,\n '=': 187,\n ',': 188,\n '-': 189,\n '.': 190,\n '/': 191,\n '`': 192,\n '[': 219,\n '\\\\': 220,\n ']': 221,\n \"'\": 222\n };\n\n // Helper aliases\n\n var aliases = exports.aliases = {\n 'windows': 91,\n '⇧': 16,\n '⌥': 18,\n '⌃': 17,\n '⌘': 91,\n 'ctl': 17,\n 'control': 17,\n 'option': 18,\n 'pause': 19,\n 'break': 19,\n 'caps': 20,\n 'return': 13,\n 'escape': 27,\n 'spc': 32,\n 'spacebar': 32,\n 'pgup': 33,\n 'pgdn': 34,\n 'ins': 45,\n 'del': 46,\n 'cmd': 91\n };\n\n /*!\n * Programatically add the following\n */\n\n // lower case chars\n for (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32;\n\n // numbers\n for (var i = 48; i < 58; i++) codes[i - 48] = i;\n\n // function keys\n for (i = 1; i < 13; i++) codes['f' + i] = i + 111;\n\n // numpad keys\n for (i = 0; i < 10; i++) codes['numpad ' + i] = i + 96;\n\n /**\n * Get by code\n *\n * exports.name[13] // => 'Enter'\n */\n\n var names = exports.names = exports.title = {}; // title for backward compat\n\n // Create reverse mapping\n for (i in codes) names[codes[i]] = i;\n\n // Add aliases\n for (var alias in aliases) {\n codes[alias] = aliases[alias];\n }\n });\n keycode.code;\n keycode.codes;\n keycode.aliases;\n keycode.names;\n keycode.title;\n\n /**\n * Player Component - Base class for all UI objects\n *\n * @file component.js\n */\n\n /**\n * Base class for all UI Components.\n * Components are UI objects which represent both a javascript object and an element\n * in the DOM. They can be children of other components, and can have\n * children themselves.\n *\n * Components can also use methods from {@link EventTarget}\n */\n class Component$1 {\n /**\n * A callback that is called when a component is ready. Does not have any\n * parameters and any callback value will be ignored.\n *\n * @callback ReadyCallback\n * @this Component\n */\n\n /**\n * Creates an instance of this class.\n *\n * @param { import('./player').default } player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of component options.\n *\n * @param {Object[]} [options.children]\n * An array of children objects to initialize this component with. Children objects have\n * a name property that will be used if more than one component of the same type needs to be\n * added.\n *\n * @param {string} [options.className]\n * A class or space separated list of classes to add the component\n *\n * @param {ReadyCallback} [ready]\n * Function that gets called when the `Component` is ready.\n */\n constructor(player, options, ready) {\n // The component might be the player itself and we can't pass `this` to super\n if (!player && this.play) {\n this.player_ = player = this; // eslint-disable-line\n } else {\n this.player_ = player;\n }\n this.isDisposed_ = false;\n\n // Hold the reference to the parent component via `addChild` method\n this.parentComponent_ = null;\n\n // Make a copy of prototype.options_ to protect against overriding defaults\n this.options_ = merge$2({}, this.options_);\n\n // Updated options with supplied options\n options = this.options_ = merge$2(this.options_, options);\n\n // Get ID from options or options element if one is supplied\n this.id_ = options.id || options.el && options.el.id;\n\n // If there was no ID from the options, generate one\n if (!this.id_) {\n // Don't require the player ID function in the case of mock players\n const id = player && player.id && player.id() || 'no_player';\n this.id_ = `${id}_component_${newGUID()}`;\n }\n this.name_ = options.name || null;\n\n // Create element if one wasn't provided in options\n if (options.el) {\n this.el_ = options.el;\n } else if (options.createEl !== false) {\n this.el_ = this.createEl();\n }\n if (options.className && this.el_) {\n options.className.split(' ').forEach(c => this.addClass(c));\n }\n\n // Remove the placeholder event methods. If the component is evented, the\n // real methods are added next\n ['on', 'off', 'one', 'any', 'trigger'].forEach(fn => {\n this[fn] = undefined;\n });\n\n // if evented is anything except false, we want to mixin in evented\n if (options.evented !== false) {\n // Make this an evented object and use `el_`, if available, as its event bus\n evented(this, {\n eventBusKey: this.el_ ? 'el_' : null\n });\n this.handleLanguagechange = this.handleLanguagechange.bind(this);\n this.on(this.player_, 'languagechange', this.handleLanguagechange);\n }\n stateful(this, this.constructor.defaultState);\n this.children_ = [];\n this.childIndex_ = {};\n this.childNameIndex_ = {};\n this.setTimeoutIds_ = new Set();\n this.setIntervalIds_ = new Set();\n this.rafIds_ = new Set();\n this.namedRafs_ = new Map();\n this.clearingTimersOnDispose_ = false;\n\n // Add any child components in options\n if (options.initChildren !== false) {\n this.initChildren();\n }\n\n // Don't want to trigger ready here or it will go before init is actually\n // finished for all children that run this constructor\n this.ready(ready);\n if (options.reportTouchActivity !== false) {\n this.enableTouchActivity();\n }\n }\n\n // `on`, `off`, `one`, `any` and `trigger` are here so tsc includes them in definitions.\n // They are replaced or removed in the constructor\n\n /**\n * Adds an `event listener` to an instance of an `EventTarget`. An `event listener` is a\n * function that will get called when an event with a certain name gets triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to call with `EventTarget`s\n */\n on(type, fn) {}\n\n /**\n * Removes an `event listener` for a specific event from an instance of `EventTarget`.\n * This makes it so that the `event listener` will no longer get called when the\n * named event happens.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to remove.\n */\n off(type, fn) {}\n\n /**\n * This function will add an `event listener` that gets triggered only once. After the\n * first trigger it will get removed. This is like adding an `event listener`\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on itself.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to be called once for each event name.\n */\n one(type, fn) {}\n\n /**\n * This function will add an `event listener` that gets triggered only once and is\n * removed from all events. This is like adding an array of `event listener`s\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on all events the\n * first time it is triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to be called once for each event name.\n */\n any(type, fn) {}\n\n /**\n * This function causes an event to happen. This will then cause any `event listeners`\n * that are waiting for that event, to get called. If there are no `event listeners`\n * for an event then nothing will happen.\n *\n * If the name of the `Event` that is being triggered is in `EventTarget.allowedEvents_`.\n * Trigger will also call the `on` + `uppercaseEventName` function.\n *\n * Example:\n * 'click' is in `EventTarget.allowedEvents_`, so, trigger will attempt to call\n * `onClick` if it exists.\n *\n * @param {string|Event|Object} event\n * The name of the event, an `Event`, or an object with a key of type set to\n * an event name.\n *\n * @param {Object} [hash]\n * Optionally extra argument to pass through to an event listener\n */\n trigger(event, hash) {}\n\n /**\n * Dispose of the `Component` and all child components.\n *\n * @fires Component#dispose\n *\n * @param {Object} options\n * @param {Element} options.originalEl element with which to replace player element\n */\n dispose(options = {}) {\n // Bail out if the component has already been disposed.\n if (this.isDisposed_) {\n return;\n }\n if (this.readyQueue_) {\n this.readyQueue_.length = 0;\n }\n\n /**\n * Triggered when a `Component` is disposed.\n *\n * @event Component#dispose\n * @type {Event}\n *\n * @property {boolean} [bubbles=false]\n * set to false so that the dispose event does not\n * bubble up\n */\n this.trigger({\n type: 'dispose',\n bubbles: false\n });\n this.isDisposed_ = true;\n\n // Dispose all children.\n if (this.children_) {\n for (let i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i].dispose) {\n this.children_[i].dispose();\n }\n }\n }\n\n // Delete child references\n this.children_ = null;\n this.childIndex_ = null;\n this.childNameIndex_ = null;\n this.parentComponent_ = null;\n if (this.el_) {\n // Remove element from DOM\n if (this.el_.parentNode) {\n if (options.restoreEl) {\n this.el_.parentNode.replaceChild(options.restoreEl, this.el_);\n } else {\n this.el_.parentNode.removeChild(this.el_);\n }\n }\n this.el_ = null;\n }\n\n // remove reference to the player after disposing of the element\n this.player_ = null;\n }\n\n /**\n * Determine whether or not this component has been disposed.\n *\n * @return {boolean}\n * If the component has been disposed, will be `true`. Otherwise, `false`.\n */\n isDisposed() {\n return Boolean(this.isDisposed_);\n }\n\n /**\n * Return the {@link Player} that the `Component` has attached to.\n *\n * @return { import('./player').default }\n * The player that this `Component` has attached to.\n */\n player() {\n return this.player_;\n }\n\n /**\n * Deep merge of options objects with new options.\n * > Note: When both `obj` and `options` contain properties whose values are objects.\n * The two properties get merged using {@link module:obj.merge}\n *\n * @param {Object} obj\n * The object that contains new options.\n *\n * @return {Object}\n * A new object of `this.options_` and `obj` merged together.\n */\n options(obj) {\n if (!obj) {\n return this.options_;\n }\n this.options_ = merge$2(this.options_, obj);\n return this.options_;\n }\n\n /**\n * Get the `Component`s DOM element\n *\n * @return {Element}\n * The DOM element for this `Component`.\n */\n el() {\n return this.el_;\n }\n\n /**\n * Create the `Component`s DOM element.\n *\n * @param {string} [tagName]\n * Element's DOM node type. e.g. 'div'\n *\n * @param {Object} [properties]\n * An object of properties that should be set.\n *\n * @param {Object} [attributes]\n * An object of attributes that should be set.\n *\n * @return {Element}\n * The element that gets created.\n */\n createEl(tagName, properties, attributes) {\n return createEl(tagName, properties, attributes);\n }\n\n /**\n * Localize a string given the string in english.\n *\n * If tokens are provided, it'll try and run a simple token replacement on the provided string.\n * The tokens it looks for look like `{1}` with the index being 1-indexed into the tokens array.\n *\n * If a `defaultValue` is provided, it'll use that over `string`,\n * if a value isn't found in provided language files.\n * This is useful if you want to have a descriptive key for token replacement\n * but have a succinct localized string and not require `en.json` to be included.\n *\n * Currently, it is used for the progress bar timing.\n * ```js\n * {\n * \"progress bar timing: currentTime={1} duration={2}\": \"{1} of {2}\"\n * }\n * ```\n * It is then used like so:\n * ```js\n * this.localize('progress bar timing: currentTime={1} duration{2}',\n * [this.player_.currentTime(), this.player_.duration()],\n * '{1} of {2}');\n * ```\n *\n * Which outputs something like: `01:23 of 24:56`.\n *\n *\n * @param {string} string\n * The string to localize and the key to lookup in the language files.\n * @param {string[]} [tokens]\n * If the current item has token replacements, provide the tokens here.\n * @param {string} [defaultValue]\n * Defaults to `string`. Can be a default value to use for token replacement\n * if the lookup key is needed to be separate.\n *\n * @return {string}\n * The localized string or if no localization exists the english string.\n */\n localize(string, tokens, defaultValue = string) {\n const code = this.player_.language && this.player_.language();\n const languages = this.player_.languages && this.player_.languages();\n const language = languages && languages[code];\n const primaryCode = code && code.split('-')[0];\n const primaryLang = languages && languages[primaryCode];\n let localizedString = defaultValue;\n if (language && language[string]) {\n localizedString = language[string];\n } else if (primaryLang && primaryLang[string]) {\n localizedString = primaryLang[string];\n }\n if (tokens) {\n localizedString = localizedString.replace(/\\{(\\d+)\\}/g, function (match, index) {\n const value = tokens[index - 1];\n let ret = value;\n if (typeof value === 'undefined') {\n ret = match;\n }\n return ret;\n });\n }\n return localizedString;\n }\n\n /**\n * Handles language change for the player in components. Should be overridden by sub-components.\n *\n * @abstract\n */\n handleLanguagechange() {}\n\n /**\n * Return the `Component`s DOM element. This is where children get inserted.\n * This will usually be the the same as the element returned in {@link Component#el}.\n *\n * @return {Element}\n * The content element for this `Component`.\n */\n contentEl() {\n return this.contentEl_ || this.el_;\n }\n\n /**\n * Get this `Component`s ID\n *\n * @return {string}\n * The id of this `Component`\n */\n id() {\n return this.id_;\n }\n\n /**\n * Get the `Component`s name. The name gets used to reference the `Component`\n * and is set during registration.\n *\n * @return {string}\n * The name of this `Component`.\n */\n name() {\n return this.name_;\n }\n\n /**\n * Get an array of all child components\n *\n * @return {Array}\n * The children\n */\n children() {\n return this.children_;\n }\n\n /**\n * Returns the child `Component` with the given `id`.\n *\n * @param {string} id\n * The id of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `id` or undefined.\n */\n getChildById(id) {\n return this.childIndex_[id];\n }\n\n /**\n * Returns the child `Component` with the given `name`.\n *\n * @param {string} name\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `name` or undefined.\n */\n getChild(name) {\n if (!name) {\n return;\n }\n return this.childNameIndex_[name];\n }\n\n /**\n * Returns the descendant `Component` following the givent\n * descendant `names`. For instance ['foo', 'bar', 'baz'] would\n * try to get 'foo' on the current component, 'bar' on the 'foo'\n * component and 'baz' on the 'bar' component and return undefined\n * if any of those don't exist.\n *\n * @param {...string[]|...string} names\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The descendant `Component` following the given descendant\n * `names` or undefined.\n */\n getDescendant(...names) {\n // flatten array argument into the main array\n names = names.reduce((acc, n) => acc.concat(n), []);\n let currentChild = this;\n for (let i = 0; i < names.length; i++) {\n currentChild = currentChild.getChild(names[i]);\n if (!currentChild || !currentChild.getChild) {\n return;\n }\n }\n return currentChild;\n }\n\n /**\n * Adds an SVG icon element to another element or component.\n *\n * @param {string} iconName\n * The name of icon. A list of all the icon names can be found at 'sandbox/svg-icons.html'\n *\n * @param {Element} [el=this.el()]\n * Element to set the title on. Defaults to the current Component's element.\n *\n * @return {Element}\n * The newly created icon element.\n */\n setIcon(iconName, el = this.el()) {\n // TODO: In v9 of video.js, we will want to remove font icons entirely.\n // This means this check, as well as the others throughout the code, and\n // the unecessary CSS for font icons, will need to be removed.\n // See https://github.com/videojs/video.js/pull/8260 as to which components\n // need updating.\n if (!this.player_.options_.experimentalSvgIcons) {\n return;\n }\n const xmlnsURL = 'http://www.w3.org/2000/svg';\n\n // The below creates an element in the format of:\n // ....\n const iconContainer = createEl('span', {\n className: 'vjs-icon-placeholder vjs-svg-icon'\n }, {\n 'aria-hidden': 'true'\n });\n const svgEl = document.createElementNS(xmlnsURL, 'svg');\n svgEl.setAttributeNS(null, 'viewBox', '0 0 512 512');\n const useEl = document.createElementNS(xmlnsURL, 'use');\n svgEl.appendChild(useEl);\n useEl.setAttributeNS(null, 'href', `#vjs-icon-${iconName}`);\n iconContainer.appendChild(svgEl);\n\n // Replace a pre-existing icon if one exists.\n if (this.iconIsSet_) {\n el.replaceChild(iconContainer, el.querySelector('.vjs-icon-placeholder'));\n } else {\n el.appendChild(iconContainer);\n }\n this.iconIsSet_ = true;\n return iconContainer;\n }\n\n /**\n * Add a child `Component` inside the current `Component`.\n *\n *\n * @param {string|Component} child\n * The name or instance of a child to add.\n *\n * @param {Object} [options={}]\n * The key/value store of options that will get passed to children of\n * the child.\n *\n * @param {number} [index=this.children_.length]\n * The index to attempt to add a child into.\n *\n * @return {Component}\n * The `Component` that gets added as a child. When using a string the\n * `Component` will get created by this process.\n */\n addChild(child, options = {}, index = this.children_.length) {\n let component;\n let componentName;\n\n // If child is a string, create component with options\n if (typeof child === 'string') {\n componentName = toTitleCase$1(child);\n const componentClassName = options.componentClass || componentName;\n\n // Set name through options\n options.name = componentName;\n\n // Create a new object & element for this controls set\n // If there's no .player_, this is a player\n const ComponentClass = Component$1.getComponent(componentClassName);\n if (!ComponentClass) {\n throw new Error(`Component ${componentClassName} does not exist`);\n }\n\n // data stored directly on the videojs object may be\n // misidentified as a component to retain\n // backwards-compatibility with 4.x. check to make sure the\n // component class can be instantiated.\n if (typeof ComponentClass !== 'function') {\n return null;\n }\n component = new ComponentClass(this.player_ || this, options);\n\n // child is a component instance\n } else {\n component = child;\n }\n if (component.parentComponent_) {\n component.parentComponent_.removeChild(component);\n }\n this.children_.splice(index, 0, component);\n component.parentComponent_ = this;\n if (typeof component.id === 'function') {\n this.childIndex_[component.id()] = component;\n }\n\n // If a name wasn't used to create the component, check if we can use the\n // name function of the component\n componentName = componentName || component.name && toTitleCase$1(component.name());\n if (componentName) {\n this.childNameIndex_[componentName] = component;\n this.childNameIndex_[toLowerCase(componentName)] = component;\n }\n\n // Add the UI object's element to the container div (box)\n // Having an element is not required\n if (typeof component.el === 'function' && component.el()) {\n // If inserting before a component, insert before that component's element\n let refNode = null;\n if (this.children_[index + 1]) {\n // Most children are components, but the video tech is an HTML element\n if (this.children_[index + 1].el_) {\n refNode = this.children_[index + 1].el_;\n } else if (isEl(this.children_[index + 1])) {\n refNode = this.children_[index + 1];\n }\n }\n this.contentEl().insertBefore(component.el(), refNode);\n }\n\n // Return so it can stored on parent object if desired.\n return component;\n }\n\n /**\n * Remove a child `Component` from this `Component`s list of children. Also removes\n * the child `Component`s element from this `Component`s element.\n *\n * @param {Component} component\n * The child `Component` to remove.\n */\n removeChild(component) {\n if (typeof component === 'string') {\n component = this.getChild(component);\n }\n if (!component || !this.children_) {\n return;\n }\n let childFound = false;\n for (let i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i] === component) {\n childFound = true;\n this.children_.splice(i, 1);\n break;\n }\n }\n if (!childFound) {\n return;\n }\n component.parentComponent_ = null;\n this.childIndex_[component.id()] = null;\n this.childNameIndex_[toTitleCase$1(component.name())] = null;\n this.childNameIndex_[toLowerCase(component.name())] = null;\n const compEl = component.el();\n if (compEl && compEl.parentNode === this.contentEl()) {\n this.contentEl().removeChild(component.el());\n }\n }\n\n /**\n * Add and initialize default child `Component`s based upon options.\n */\n initChildren() {\n const children = this.options_.children;\n if (children) {\n // `this` is `parent`\n const parentOptions = this.options_;\n const handleAdd = child => {\n const name = child.name;\n let opts = child.opts;\n\n // Allow options for children to be set at the parent options\n // e.g. videojs(id, { controlBar: false });\n // instead of videojs(id, { children: { controlBar: false });\n if (parentOptions[name] !== undefined) {\n opts = parentOptions[name];\n }\n\n // Allow for disabling default components\n // e.g. options['children']['posterImage'] = false\n if (opts === false) {\n return;\n }\n\n // Allow options to be passed as a simple boolean if no configuration\n // is necessary.\n if (opts === true) {\n opts = {};\n }\n\n // We also want to pass the original player options\n // to each component as well so they don't need to\n // reach back into the player for options later.\n opts.playerOptions = this.options_.playerOptions;\n\n // Create and add the child component.\n // Add a direct reference to the child by name on the parent instance.\n // If two of the same component are used, different names should be supplied\n // for each\n const newChild = this.addChild(name, opts);\n if (newChild) {\n this[name] = newChild;\n }\n };\n\n // Allow for an array of children details to passed in the options\n let workingChildren;\n const Tech = Component$1.getComponent('Tech');\n if (Array.isArray(children)) {\n workingChildren = children;\n } else {\n workingChildren = Object.keys(children);\n }\n workingChildren\n // children that are in this.options_ but also in workingChildren would\n // give us extra children we do not want. So, we want to filter them out.\n .concat(Object.keys(this.options_).filter(function (child) {\n return !workingChildren.some(function (wchild) {\n if (typeof wchild === 'string') {\n return child === wchild;\n }\n return child === wchild.name;\n });\n })).map(child => {\n let name;\n let opts;\n if (typeof child === 'string') {\n name = child;\n opts = children[name] || this.options_[name] || {};\n } else {\n name = child.name;\n opts = child;\n }\n return {\n name,\n opts\n };\n }).filter(child => {\n // we have to make sure that child.name isn't in the techOrder since\n // techs are registered as Components but can't aren't compatible\n // See https://github.com/videojs/video.js/issues/2772\n const c = Component$1.getComponent(child.opts.componentClass || toTitleCase$1(child.name));\n return c && !Tech.isTech(c);\n }).forEach(handleAdd);\n }\n }\n\n /**\n * Builds the default DOM class name. Should be overridden by sub-components.\n *\n * @return {string}\n * The DOM class name for this object.\n *\n * @abstract\n */\n buildCSSClass() {\n // Child classes can include a function that does:\n // return 'CLASS NAME' + this._super();\n return '';\n }\n\n /**\n * Bind a listener to the component's ready state.\n * Different from event listeners in that if the ready event has already happened\n * it will trigger the function immediately.\n *\n * @param {ReadyCallback} fn\n * Function that gets called when the `Component` is ready.\n *\n * @return {Component}\n * Returns itself; method can be chained.\n */\n ready(fn, sync = false) {\n if (!fn) {\n return;\n }\n if (!this.isReady_) {\n this.readyQueue_ = this.readyQueue_ || [];\n this.readyQueue_.push(fn);\n return;\n }\n if (sync) {\n fn.call(this);\n } else {\n // Call the function asynchronously by default for consistency\n this.setTimeout(fn, 1);\n }\n }\n\n /**\n * Trigger all the ready listeners for this `Component`.\n *\n * @fires Component#ready\n */\n triggerReady() {\n this.isReady_ = true;\n\n // Ensure ready is triggered asynchronously\n this.setTimeout(function () {\n const readyQueue = this.readyQueue_;\n\n // Reset Ready Queue\n this.readyQueue_ = [];\n if (readyQueue && readyQueue.length > 0) {\n readyQueue.forEach(function (fn) {\n fn.call(this);\n }, this);\n }\n\n // Allow for using event listeners also\n /**\n * Triggered when a `Component` is ready.\n *\n * @event Component#ready\n * @type {Event}\n */\n this.trigger('ready');\n }, 1);\n }\n\n /**\n * Find a single DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {Element|null}\n * the dom element that was found, or null\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n $(selector, context) {\n return $(selector, context || this.contentEl());\n }\n\n /**\n * Finds all DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {NodeList}\n * a list of dom elements that were found\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n $$(selector, context) {\n return $$(selector, context || this.contentEl());\n }\n\n /**\n * Check if a component's element has a CSS class name.\n *\n * @param {string} classToCheck\n * CSS class name to check.\n *\n * @return {boolean}\n * - True if the `Component` has the class.\n * - False if the `Component` does not have the class`\n */\n hasClass(classToCheck) {\n return hasClass(this.el_, classToCheck);\n }\n\n /**\n * Add a CSS class name to the `Component`s element.\n *\n * @param {...string} classesToAdd\n * One or more CSS class name to add.\n */\n addClass(...classesToAdd) {\n addClass(this.el_, ...classesToAdd);\n }\n\n /**\n * Remove a CSS class name from the `Component`s element.\n *\n * @param {...string} classesToRemove\n * One or more CSS class name to remove.\n */\n removeClass(...classesToRemove) {\n removeClass(this.el_, ...classesToRemove);\n }\n\n /**\n * Add or remove a CSS class name from the component's element.\n * - `classToToggle` gets added when {@link Component#hasClass} would return false.\n * - `classToToggle` gets removed when {@link Component#hasClass} would return true.\n *\n * @param {string} classToToggle\n * The class to add or remove based on (@link Component#hasClass}\n *\n * @param {boolean|Dom~predicate} [predicate]\n * An {@link Dom~predicate} function or a boolean\n */\n toggleClass(classToToggle, predicate) {\n toggleClass(this.el_, classToToggle, predicate);\n }\n\n /**\n * Show the `Component`s element if it is hidden by removing the\n * 'vjs-hidden' class name from it.\n */\n show() {\n this.removeClass('vjs-hidden');\n }\n\n /**\n * Hide the `Component`s element if it is currently showing by adding the\n * 'vjs-hidden` class name to it.\n */\n hide() {\n this.addClass('vjs-hidden');\n }\n\n /**\n * Lock a `Component`s element in its visible state by adding the 'vjs-lock-showing'\n * class name to it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n lockShowing() {\n this.addClass('vjs-lock-showing');\n }\n\n /**\n * Unlock a `Component`s element from its visible state by removing the 'vjs-lock-showing'\n * class name from it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n unlockShowing() {\n this.removeClass('vjs-lock-showing');\n }\n\n /**\n * Get the value of an attribute on the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to get the value from.\n *\n * @return {string|null}\n * - The value of the attribute that was asked for.\n * - Can be an empty string on some browsers if the attribute does not exist\n * or has no value\n * - Most browsers will return null if the attribute does not exist or has\n * no value.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute}\n */\n getAttribute(attribute) {\n return getAttribute(this.el_, attribute);\n }\n\n /**\n * Set the value of an attribute on the `Component`'s element\n *\n * @param {string} attribute\n * Name of the attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute}\n */\n setAttribute(attribute, value) {\n setAttribute(this.el_, attribute, value);\n }\n\n /**\n * Remove an attribute from the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to remove.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute}\n */\n removeAttribute(attribute) {\n removeAttribute(this.el_, attribute);\n }\n\n /**\n * Get or set the width of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The width that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n width(num, skipListeners) {\n return this.dimension('width', num, skipListeners);\n }\n\n /**\n * Get or set the height of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The height that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n height(num, skipListeners) {\n return this.dimension('height', num, skipListeners);\n }\n\n /**\n * Set both the width and height of the `Component` element at the same time.\n *\n * @param {number|string} width\n * Width to set the `Component`s element to.\n *\n * @param {number|string} height\n * Height to set the `Component`s element to.\n */\n dimensions(width, height) {\n // Skip componentresize listeners on width for optimization\n this.width(width, true);\n this.height(height);\n }\n\n /**\n * Get or set width or height of the `Component` element. This is the shared code\n * for the {@link Component#width} and {@link Component#height}.\n *\n * Things to know:\n * - If the width or height in an number this will return the number postfixed with 'px'.\n * - If the width/height is a percent this will return the percent postfixed with '%'\n * - Hidden elements have a width of 0 with `window.getComputedStyle`. This function\n * defaults to the `Component`s `style.width` and falls back to `window.getComputedStyle`.\n * See [this]{@link http://www.foliotek.com/devblog/getting-the-width-of-a-hidden-element-with-jquery-using-width/}\n * for more information\n * - If you want the computed style of the component, use {@link Component#currentWidth}\n * and {@link {Component#currentHeight}\n *\n * @fires Component#componentresize\n *\n * @param {string} widthOrHeight\n 8 'width' or 'height'\n *\n * @param {number|string} [num]\n 8 New dimension\n *\n * @param {boolean} [skipListeners]\n * Skip componentresize event trigger\n *\n * @return {number}\n * The dimension when getting or 0 if unset\n */\n dimension(widthOrHeight, num, skipListeners) {\n if (num !== undefined) {\n // Set to zero if null or literally NaN (NaN !== NaN)\n if (num === null || num !== num) {\n num = 0;\n }\n\n // Check if using css width/height (% or px) and adjust\n if (('' + num).indexOf('%') !== -1 || ('' + num).indexOf('px') !== -1) {\n this.el_.style[widthOrHeight] = num;\n } else if (num === 'auto') {\n this.el_.style[widthOrHeight] = '';\n } else {\n this.el_.style[widthOrHeight] = num + 'px';\n }\n\n // skipListeners allows us to avoid triggering the resize event when setting both width and height\n if (!skipListeners) {\n /**\n * Triggered when a component is resized.\n *\n * @event Component#componentresize\n * @type {Event}\n */\n this.trigger('componentresize');\n }\n return;\n }\n\n // Not setting a value, so getting it\n // Make sure element exists\n if (!this.el_) {\n return 0;\n }\n\n // Get dimension value from style\n const val = this.el_.style[widthOrHeight];\n const pxIndex = val.indexOf('px');\n if (pxIndex !== -1) {\n // Return the pixel value with no 'px'\n return parseInt(val.slice(0, pxIndex), 10);\n }\n\n // No px so using % or no style was set, so falling back to offsetWidth/height\n // If component has display:none, offset will return 0\n // TODO: handle display:none and no dimension style using px\n return parseInt(this.el_['offset' + toTitleCase$1(widthOrHeight)], 10);\n }\n\n /**\n * Get the computed width or the height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @param {string} widthOrHeight\n * A string containing 'width' or 'height'. Whichever one you want to get.\n *\n * @return {number}\n * The dimension that gets asked for or 0 if nothing was set\n * for that dimension.\n */\n currentDimension(widthOrHeight) {\n let computedWidthOrHeight = 0;\n if (widthOrHeight !== 'width' && widthOrHeight !== 'height') {\n throw new Error('currentDimension only accepts width or height value');\n }\n computedWidthOrHeight = computedStyle(this.el_, widthOrHeight);\n\n // remove 'px' from variable and parse as integer\n computedWidthOrHeight = parseFloat(computedWidthOrHeight);\n\n // if the computed value is still 0, it's possible that the browser is lying\n // and we want to check the offset values.\n // This code also runs wherever getComputedStyle doesn't exist.\n if (computedWidthOrHeight === 0 || isNaN(computedWidthOrHeight)) {\n const rule = `offset${toTitleCase$1(widthOrHeight)}`;\n computedWidthOrHeight = this.el_[rule];\n }\n return computedWidthOrHeight;\n }\n\n /**\n * An object that contains width and height values of the `Component`s\n * computed style. Uses `window.getComputedStyle`.\n *\n * @typedef {Object} Component~DimensionObject\n *\n * @property {number} width\n * The width of the `Component`s computed style.\n *\n * @property {number} height\n * The height of the `Component`s computed style.\n */\n\n /**\n * Get an object that contains computed width and height values of the\n * component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {Component~DimensionObject}\n * The computed dimensions of the component's element.\n */\n currentDimensions() {\n return {\n width: this.currentDimension('width'),\n height: this.currentDimension('height')\n };\n }\n\n /**\n * Get the computed width of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed width of the component's element.\n */\n currentWidth() {\n return this.currentDimension('width');\n }\n\n /**\n * Get the computed height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed height of the component's element.\n */\n currentHeight() {\n return this.currentDimension('height');\n }\n\n /**\n * Set the focus to this component\n */\n focus() {\n this.el_.focus();\n }\n\n /**\n * Remove the focus from this component\n */\n blur() {\n this.el_.blur();\n }\n\n /**\n * When this Component receives a `keydown` event which it does not process,\n * it passes the event to the Player for handling.\n *\n * @param {KeyboardEvent} event\n * The `keydown` event that caused this function to be called.\n */\n handleKeyDown(event) {\n if (this.player_) {\n // We only stop propagation here because we want unhandled events to fall\n // back to the browser. Exclude Tab for focus trapping.\n if (!keycode.isEventKey(event, 'Tab')) {\n event.stopPropagation();\n }\n this.player_.handleKeyDown(event);\n }\n }\n\n /**\n * Many components used to have a `handleKeyPress` method, which was poorly\n * named because it listened to a `keydown` event. This method name now\n * delegates to `handleKeyDown`. This means anyone calling `handleKeyPress`\n * will not see their method calls stop working.\n *\n * @param {Event} event\n * The event that caused this function to be called.\n */\n handleKeyPress(event) {\n this.handleKeyDown(event);\n }\n\n /**\n * Emit a 'tap' events when touch event support gets detected. This gets used to\n * support toggling the controls through a tap on the video. They get enabled\n * because every sub-component would have extra overhead otherwise.\n *\n * @private\n * @fires Component#tap\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchleave\n * @listens Component#touchcancel\n * @listens Component#touchend\n */\n emitTapEvents() {\n // Track the start time so we can determine how long the touch lasted\n let touchStart = 0;\n let firstTouch = null;\n\n // Maximum movement allowed during a touch event to still be considered a tap\n // Other popular libs use anywhere from 2 (hammer.js) to 15,\n // so 10 seems like a nice, round number.\n const tapMovementThreshold = 10;\n\n // The maximum length a touch can be while still being considered a tap\n const touchTimeThreshold = 200;\n let couldBeTap;\n this.on('touchstart', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length === 1) {\n // Copy pageX/pageY from the object\n firstTouch = {\n pageX: event.touches[0].pageX,\n pageY: event.touches[0].pageY\n };\n // Record start time so we can detect a tap vs. \"touch and hold\"\n touchStart = window.performance.now();\n // Reset couldBeTap tracking\n couldBeTap = true;\n }\n });\n this.on('touchmove', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length > 1) {\n couldBeTap = false;\n } else if (firstTouch) {\n // Some devices will throw touchmoves for all but the slightest of taps.\n // So, if we moved only a small distance, this could still be a tap\n const xdiff = event.touches[0].pageX - firstTouch.pageX;\n const ydiff = event.touches[0].pageY - firstTouch.pageY;\n const touchDistance = Math.sqrt(xdiff * xdiff + ydiff * ydiff);\n if (touchDistance > tapMovementThreshold) {\n couldBeTap = false;\n }\n }\n });\n const noTap = function () {\n couldBeTap = false;\n };\n\n // TODO: Listen to the original target. http://youtu.be/DujfpXOKUp8?t=13m8s\n this.on('touchleave', noTap);\n this.on('touchcancel', noTap);\n\n // When the touch ends, measure how long it took and trigger the appropriate\n // event\n this.on('touchend', function (event) {\n firstTouch = null;\n // Proceed only if the touchmove/leave/cancel event didn't happen\n if (couldBeTap === true) {\n // Measure how long the touch lasted\n const touchTime = window.performance.now() - touchStart;\n\n // Make sure the touch was less than the threshold to be considered a tap\n if (touchTime < touchTimeThreshold) {\n // Don't let browser turn this into a click\n event.preventDefault();\n /**\n * Triggered when a `Component` is tapped.\n *\n * @event Component#tap\n * @type {MouseEvent}\n */\n this.trigger('tap');\n // It may be good to copy the touchend event object and change the\n // type to tap, if the other event properties aren't exact after\n // Events.fixEvent runs (e.g. event.target)\n }\n }\n });\n }\n\n /**\n * This function reports user activity whenever touch events happen. This can get\n * turned off by any sub-components that wants touch events to act another way.\n *\n * Report user touch activity when touch events occur. User activity gets used to\n * determine when controls should show/hide. It is simple when it comes to mouse\n * events, because any mouse event should show the controls. So we capture mouse\n * events that bubble up to the player and report activity when that happens.\n * With touch events it isn't as easy as `touchstart` and `touchend` toggle player\n * controls. So touch events can't help us at the player level either.\n *\n * User activity gets checked asynchronously. So what could happen is a tap event\n * on the video turns the controls off. Then the `touchend` event bubbles up to\n * the player. Which, if it reported user activity, would turn the controls right\n * back on. We also don't want to completely block touch events from bubbling up.\n * Furthermore a `touchmove` event and anything other than a tap, should not turn\n * controls back on.\n *\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchend\n * @listens Component#touchcancel\n */\n enableTouchActivity() {\n // Don't continue if the root player doesn't support reporting user activity\n if (!this.player() || !this.player().reportUserActivity) {\n return;\n }\n\n // listener for reporting that the user is active\n const report = bind_(this.player(), this.player().reportUserActivity);\n let touchHolding;\n this.on('touchstart', function () {\n report();\n // For as long as the they are touching the device or have their mouse down,\n // we consider them active even if they're not moving their finger or mouse.\n // So we want to continue to update that they are active\n this.clearInterval(touchHolding);\n // report at the same interval as activityCheck\n touchHolding = this.setInterval(report, 250);\n });\n const touchEnd = function (event) {\n report();\n // stop the interval that maintains activity if the touch is holding\n this.clearInterval(touchHolding);\n };\n this.on('touchmove', report);\n this.on('touchend', touchEnd);\n this.on('touchcancel', touchEnd);\n }\n\n /**\n * A callback that has no parameters and is bound into `Component`s context.\n *\n * @callback Component~GenericCallback\n * @this Component\n */\n\n /**\n * Creates a function that runs after an `x` millisecond timeout. This function is a\n * wrapper around `window.setTimeout`. There are a few reasons to use this one\n * instead though:\n * 1. It gets cleared via {@link Component#clearTimeout} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will gets turned into a {@link Component~GenericCallback}\n *\n * > Note: You can't use `window.clearTimeout` on the id returned by this function. This\n * will cause its dispose listener not to get cleaned up! Please use\n * {@link Component#clearTimeout} or {@link Component#dispose} instead.\n *\n * @param {Component~GenericCallback} fn\n * The function that will be run after `timeout`.\n *\n * @param {number} timeout\n * Timeout in milliseconds to delay before executing the specified function.\n *\n * @return {number}\n * Returns a timeout ID that gets used to identify the timeout. It can also\n * get used in {@link Component#clearTimeout} to clear the timeout that\n * was set.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout}\n */\n setTimeout(fn, timeout) {\n // declare as variables so they are properly available in timeout function\n // eslint-disable-next-line\n var timeoutId;\n fn = bind_(this, fn);\n this.clearTimersOnDispose_();\n timeoutId = window.setTimeout(() => {\n if (this.setTimeoutIds_.has(timeoutId)) {\n this.setTimeoutIds_.delete(timeoutId);\n }\n fn();\n }, timeout);\n this.setTimeoutIds_.add(timeoutId);\n return timeoutId;\n }\n\n /**\n * Clears a timeout that gets created via `window.setTimeout` or\n * {@link Component#setTimeout}. If you set a timeout via {@link Component#setTimeout}\n * use this function instead of `window.clearTimout`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} timeoutId\n * The id of the timeout to clear. The return value of\n * {@link Component#setTimeout} or `window.setTimeout`.\n *\n * @return {number}\n * Returns the timeout id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearTimeout}\n */\n clearTimeout(timeoutId) {\n if (this.setTimeoutIds_.has(timeoutId)) {\n this.setTimeoutIds_.delete(timeoutId);\n window.clearTimeout(timeoutId);\n }\n return timeoutId;\n }\n\n /**\n * Creates a function that gets run every `x` milliseconds. This function is a wrapper\n * around `window.setInterval`. There are a few reasons to use this one instead though.\n * 1. It gets cleared via {@link Component#clearInterval} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will be a {@link Component~GenericCallback}\n *\n * @param {Component~GenericCallback} fn\n * The function to run every `x` seconds.\n *\n * @param {number} interval\n * Execute the specified function every `x` milliseconds.\n *\n * @return {number}\n * Returns an id that can be used to identify the interval. It can also be be used in\n * {@link Component#clearInterval} to clear the interval.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval}\n */\n setInterval(fn, interval) {\n fn = bind_(this, fn);\n this.clearTimersOnDispose_();\n const intervalId = window.setInterval(fn, interval);\n this.setIntervalIds_.add(intervalId);\n return intervalId;\n }\n\n /**\n * Clears an interval that gets created via `window.setInterval` or\n * {@link Component#setInterval}. If you set an interval via {@link Component#setInterval}\n * use this function instead of `window.clearInterval`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} intervalId\n * The id of the interval to clear. The return value of\n * {@link Component#setInterval} or `window.setInterval`.\n *\n * @return {number}\n * Returns the interval id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval}\n */\n clearInterval(intervalId) {\n if (this.setIntervalIds_.has(intervalId)) {\n this.setIntervalIds_.delete(intervalId);\n window.clearInterval(intervalId);\n }\n return intervalId;\n }\n\n /**\n * Queues up a callback to be passed to requestAnimationFrame (rAF), but\n * with a few extra bonuses:\n *\n * - Supports browsers that do not support rAF by falling back to\n * {@link Component#setTimeout}.\n *\n * - The callback is turned into a {@link Component~GenericCallback} (i.e.\n * bound to the component).\n *\n * - Automatic cancellation of the rAF callback is handled if the component\n * is disposed before it is called.\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n *\n * @return {number}\n * Returns an rAF ID that gets used to identify the timeout. It can\n * also be used in {@link Component#cancelAnimationFrame} to cancel\n * the animation frame callback.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame}\n */\n requestAnimationFrame(fn) {\n this.clearTimersOnDispose_();\n\n // declare as variables so they are properly available in rAF function\n // eslint-disable-next-line\n var id;\n fn = bind_(this, fn);\n id = window.requestAnimationFrame(() => {\n if (this.rafIds_.has(id)) {\n this.rafIds_.delete(id);\n }\n fn();\n });\n this.rafIds_.add(id);\n return id;\n }\n\n /**\n * Request an animation frame, but only one named animation\n * frame will be queued. Another will never be added until\n * the previous one finishes.\n *\n * @param {string} name\n * The name to give this requestAnimationFrame\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n */\n requestNamedAnimationFrame(name, fn) {\n if (this.namedRafs_.has(name)) {\n return;\n }\n this.clearTimersOnDispose_();\n fn = bind_(this, fn);\n const id = this.requestAnimationFrame(() => {\n fn();\n if (this.namedRafs_.has(name)) {\n this.namedRafs_.delete(name);\n }\n });\n this.namedRafs_.set(name, id);\n return name;\n }\n\n /**\n * Cancels a current named animation frame if it exists.\n *\n * @param {string} name\n * The name of the requestAnimationFrame to cancel.\n */\n cancelNamedAnimationFrame(name) {\n if (!this.namedRafs_.has(name)) {\n return;\n }\n this.cancelAnimationFrame(this.namedRafs_.get(name));\n this.namedRafs_.delete(name);\n }\n\n /**\n * Cancels a queued callback passed to {@link Component#requestAnimationFrame}\n * (rAF).\n *\n * If you queue an rAF callback via {@link Component#requestAnimationFrame},\n * use this function instead of `window.cancelAnimationFrame`. If you don't,\n * your dispose listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} id\n * The rAF ID to clear. The return value of {@link Component#requestAnimationFrame}.\n *\n * @return {number}\n * Returns the rAF ID that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/cancelAnimationFrame}\n */\n cancelAnimationFrame(id) {\n if (this.rafIds_.has(id)) {\n this.rafIds_.delete(id);\n window.cancelAnimationFrame(id);\n }\n return id;\n }\n\n /**\n * A function to setup `requestAnimationFrame`, `setTimeout`,\n * and `setInterval`, clearing on dispose.\n *\n * > Previously each timer added and removed dispose listeners on it's own.\n * For better performance it was decided to batch them all, and use `Set`s\n * to track outstanding timer ids.\n *\n * @private\n */\n clearTimersOnDispose_() {\n if (this.clearingTimersOnDispose_) {\n return;\n }\n this.clearingTimersOnDispose_ = true;\n this.one('dispose', () => {\n [['namedRafs_', 'cancelNamedAnimationFrame'], ['rafIds_', 'cancelAnimationFrame'], ['setTimeoutIds_', 'clearTimeout'], ['setIntervalIds_', 'clearInterval']].forEach(([idName, cancelName]) => {\n // for a `Set` key will actually be the value again\n // so forEach((val, val) =>` but for maps we want to use\n // the key.\n this[idName].forEach((val, key) => this[cancelName](key));\n });\n this.clearingTimersOnDispose_ = false;\n });\n }\n\n /**\n * Register a `Component` with `videojs` given the name and the component.\n *\n * > NOTE: {@link Tech}s should not be registered as a `Component`. {@link Tech}s\n * should be registered using {@link Tech.registerTech} or\n * {@link videojs:videojs.registerTech}.\n *\n * > NOTE: This function can also be seen on videojs as\n * {@link videojs:videojs.registerComponent}.\n *\n * @param {string} name\n * The name of the `Component` to register.\n *\n * @param {Component} ComponentToRegister\n * The `Component` class to register.\n *\n * @return {Component}\n * The `Component` that was registered.\n */\n static registerComponent(name, ComponentToRegister) {\n if (typeof name !== 'string' || !name) {\n throw new Error(`Illegal component name, \"${name}\"; must be a non-empty string.`);\n }\n const Tech = Component$1.getComponent('Tech');\n\n // We need to make sure this check is only done if Tech has been registered.\n const isTech = Tech && Tech.isTech(ComponentToRegister);\n const isComp = Component$1 === ComponentToRegister || Component$1.prototype.isPrototypeOf(ComponentToRegister.prototype);\n if (isTech || !isComp) {\n let reason;\n if (isTech) {\n reason = 'techs must be registered using Tech.registerTech()';\n } else {\n reason = 'must be a Component subclass';\n }\n throw new Error(`Illegal component, \"${name}\"; ${reason}.`);\n }\n name = toTitleCase$1(name);\n if (!Component$1.components_) {\n Component$1.components_ = {};\n }\n const Player = Component$1.getComponent('Player');\n if (name === 'Player' && Player && Player.players) {\n const players = Player.players;\n const playerNames = Object.keys(players);\n\n // If we have players that were disposed, then their name will still be\n // in Players.players. So, we must loop through and verify that the value\n // for each item is not null. This allows registration of the Player component\n // after all players have been disposed or before any were created.\n if (players && playerNames.length > 0 && playerNames.map(pname => players[pname]).every(Boolean)) {\n throw new Error('Can not register Player component after player has been created.');\n }\n }\n Component$1.components_[name] = ComponentToRegister;\n Component$1.components_[toLowerCase(name)] = ComponentToRegister;\n return ComponentToRegister;\n }\n\n /**\n * Get a `Component` based on the name it was registered with.\n *\n * @param {string} name\n * The Name of the component to get.\n *\n * @return {Component}\n * The `Component` that got registered under the given name.\n */\n static getComponent(name) {\n if (!name || !Component$1.components_) {\n return;\n }\n return Component$1.components_[name];\n }\n }\n Component$1.registerComponent('Component', Component$1);\n\n /**\n * @file time.js\n * @module time\n */\n\n /**\n * Returns the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @typedef {Function} TimeRangeIndex\n *\n * @param {number} [index=0]\n * The range number to return the time for.\n *\n * @return {number}\n * The time offset at the specified index.\n *\n * @deprecated The index argument must be provided.\n * In the future, leaving it out will throw an error.\n */\n\n /**\n * An object that contains ranges of time, which mimics {@link TimeRanges}.\n *\n * @typedef {Object} TimeRange\n *\n * @property {number} length\n * The number of time ranges represented by this object.\n *\n * @property {module:time~TimeRangeIndex} start\n * Returns the time offset at which a specified time range begins.\n *\n * @property {module:time~TimeRangeIndex} end\n * Returns the time offset at which a specified time range ends.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges\n */\n\n /**\n * Check if any of the time ranges are over the maximum index.\n *\n * @private\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {number} index\n * The index to check\n *\n * @param {number} maxIndex\n * The maximum possible index\n *\n * @throws {Error} if the timeRanges provided are over the maxIndex\n */\n function rangeCheck(fnName, index, maxIndex) {\n if (typeof index !== 'number' || index < 0 || index > maxIndex) {\n throw new Error(`Failed to execute '${fnName}' on 'TimeRanges': The index provided (${index}) is non-numeric or out of bounds (0-${maxIndex}).`);\n }\n }\n\n /**\n * Get the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @private\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {string} valueIndex\n * The property that should be used to get the time. should be\n * 'start' or 'end'\n *\n * @param {Array} ranges\n * An array of time ranges\n *\n * @param {Array} [rangeIndex=0]\n * The index to start the search at\n *\n * @return {number}\n * The time that offset at the specified index.\n *\n * @deprecated rangeIndex must be set to a value, in the future this will throw an error.\n * @throws {Error} if rangeIndex is more than the length of ranges\n */\n function getRange(fnName, valueIndex, ranges, rangeIndex) {\n rangeCheck(fnName, rangeIndex, ranges.length - 1);\n return ranges[rangeIndex][valueIndex];\n }\n\n /**\n * Create a time range object given ranges of time.\n *\n * @private\n * @param {Array} [ranges]\n * An array of time ranges.\n *\n * @return {TimeRange}\n */\n function createTimeRangesObj(ranges) {\n let timeRangesObj;\n if (ranges === undefined || ranges.length === 0) {\n timeRangesObj = {\n length: 0,\n start() {\n throw new Error('This TimeRanges object is empty');\n },\n end() {\n throw new Error('This TimeRanges object is empty');\n }\n };\n } else {\n timeRangesObj = {\n length: ranges.length,\n start: getRange.bind(null, 'start', 0, ranges),\n end: getRange.bind(null, 'end', 1, ranges)\n };\n }\n if (window.Symbol && window.Symbol.iterator) {\n timeRangesObj[window.Symbol.iterator] = () => (ranges || []).values();\n }\n return timeRangesObj;\n }\n\n /**\n * Create a `TimeRange` object which mimics an\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges|HTML5 TimeRanges instance}.\n *\n * @param {number|Array[]} start\n * The start of a single range (a number) or an array of ranges (an\n * array of arrays of two numbers each).\n *\n * @param {number} end\n * The end of a single range. Cannot be used with the array form of\n * the `start` argument.\n *\n * @return {TimeRange}\n */\n function createTimeRanges$1(start, end) {\n if (Array.isArray(start)) {\n return createTimeRangesObj(start);\n } else if (start === undefined || end === undefined) {\n return createTimeRangesObj();\n }\n return createTimeRangesObj([[start, end]]);\n }\n\n /**\n * Format seconds as a time string, H:MM:SS or M:SS. Supplying a guide (in\n * seconds) will force a number of leading zeros to cover the length of the\n * guide.\n *\n * @private\n * @param {number} seconds\n * Number of seconds to be turned into a string\n *\n * @param {number} guide\n * Number (in seconds) to model the string after\n *\n * @return {string}\n * Time formatted as H:MM:SS or M:SS\n */\n const defaultImplementation = function (seconds, guide) {\n seconds = seconds < 0 ? 0 : seconds;\n let s = Math.floor(seconds % 60);\n let m = Math.floor(seconds / 60 % 60);\n let h = Math.floor(seconds / 3600);\n const gm = Math.floor(guide / 60 % 60);\n const gh = Math.floor(guide / 3600);\n\n // handle invalid times\n if (isNaN(seconds) || seconds === Infinity) {\n // '-' is false for all relational operators (e.g. <, >=) so this setting\n // will add the minimum number of fields specified by the guide\n h = m = s = '-';\n }\n\n // Check if we need to show hours\n h = h > 0 || gh > 0 ? h + ':' : '';\n\n // If hours are showing, we may need to add a leading zero.\n // Always show at least one digit of minutes.\n m = ((h || gm >= 10) && m < 10 ? '0' + m : m) + ':';\n\n // Check if leading zero is need for seconds\n s = s < 10 ? '0' + s : s;\n return h + m + s;\n };\n\n // Internal pointer to the current implementation.\n let implementation = defaultImplementation;\n\n /**\n * Replaces the default formatTime implementation with a custom implementation.\n *\n * @param {Function} customImplementation\n * A function which will be used in place of the default formatTime\n * implementation. Will receive the current time in seconds and the\n * guide (in seconds) as arguments.\n */\n function setFormatTime(customImplementation) {\n implementation = customImplementation;\n }\n\n /**\n * Resets formatTime to the default implementation.\n */\n function resetFormatTime() {\n implementation = defaultImplementation;\n }\n\n /**\n * Delegates to either the default time formatting function or a custom\n * function supplied via `setFormatTime`.\n *\n * Formats seconds as a time string (H:MM:SS or M:SS). Supplying a\n * guide (in seconds) will force a number of leading zeros to cover the\n * length of the guide.\n *\n * @example formatTime(125, 600) === \"02:05\"\n * @param {number} seconds\n * Number of seconds to be turned into a string\n *\n * @param {number} guide\n * Number (in seconds) to model the string after\n *\n * @return {string}\n * Time formatted as H:MM:SS or M:SS\n */\n function formatTime(seconds, guide = seconds) {\n return implementation(seconds, guide);\n }\n\n var Time = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createTimeRanges: createTimeRanges$1,\n createTimeRange: createTimeRanges$1,\n setFormatTime: setFormatTime,\n resetFormatTime: resetFormatTime,\n formatTime: formatTime\n });\n\n /**\n * @file buffer.js\n * @module buffer\n */\n\n /**\n * Compute the percentage of the media that has been buffered.\n *\n * @param { import('./time').TimeRange } buffered\n * The current `TimeRanges` object representing buffered time ranges\n *\n * @param {number} duration\n * Total duration of the media\n *\n * @return {number}\n * Percent buffered of the total duration in decimal form.\n */\n function bufferedPercent(buffered, duration) {\n let bufferedDuration = 0;\n let start;\n let end;\n if (!duration) {\n return 0;\n }\n if (!buffered || !buffered.length) {\n buffered = createTimeRanges$1(0, 0);\n }\n for (let i = 0; i < buffered.length; i++) {\n start = buffered.start(i);\n end = buffered.end(i);\n\n // buffered end can be bigger than duration by a very small fraction\n if (end > duration) {\n end = duration;\n }\n bufferedDuration += end - start;\n }\n return bufferedDuration / duration;\n }\n\n /**\n * @file media-error.js\n */\n\n /**\n * A Custom `MediaError` class which mimics the standard HTML5 `MediaError` class.\n *\n * @param {number|string|Object|MediaError} value\n * This can be of multiple types:\n * - number: should be a standard error code\n * - string: an error message (the code will be 0)\n * - Object: arbitrary properties\n * - `MediaError` (native): used to populate a video.js `MediaError` object\n * - `MediaError` (video.js): will return itself if it's already a\n * video.js `MediaError` object.\n *\n * @see [MediaError Spec]{@link https://dev.w3.org/html5/spec-author-view/video.html#mediaerror}\n * @see [Encrypted MediaError Spec]{@link https://www.w3.org/TR/2013/WD-encrypted-media-20130510/#error-codes}\n *\n * @class MediaError\n */\n function MediaError(value) {\n // Allow redundant calls to this constructor to avoid having `instanceof`\n // checks peppered around the code.\n if (value instanceof MediaError) {\n return value;\n }\n if (typeof value === 'number') {\n this.code = value;\n } else if (typeof value === 'string') {\n // default code is zero, so this is a custom error\n this.message = value;\n } else if (isObject$1(value)) {\n // We assign the `code` property manually because native `MediaError` objects\n // do not expose it as an own/enumerable property of the object.\n if (typeof value.code === 'number') {\n this.code = value.code;\n }\n Object.assign(this, value);\n }\n if (!this.message) {\n this.message = MediaError.defaultMessages[this.code] || '';\n }\n }\n\n /**\n * The error code that refers two one of the defined `MediaError` types\n *\n * @type {Number}\n */\n MediaError.prototype.code = 0;\n\n /**\n * An optional message that to show with the error. Message is not part of the HTML5\n * video spec but allows for more informative custom errors.\n *\n * @type {String}\n */\n MediaError.prototype.message = '';\n\n /**\n * An optional status code that can be set by plugins to allow even more detail about\n * the error. For example a plugin might provide a specific HTTP status code and an\n * error message for that code. Then when the plugin gets that error this class will\n * know how to display an error message for it. This allows a custom message to show\n * up on the `Player` error overlay.\n *\n * @type {Array}\n */\n MediaError.prototype.status = null;\n\n /**\n * Errors indexed by the W3C standard. The order **CANNOT CHANGE**! See the\n * specification listed under {@link MediaError} for more information.\n *\n * @enum {array}\n * @readonly\n * @property {string} 0 - MEDIA_ERR_CUSTOM\n * @property {string} 1 - MEDIA_ERR_ABORTED\n * @property {string} 2 - MEDIA_ERR_NETWORK\n * @property {string} 3 - MEDIA_ERR_DECODE\n * @property {string} 4 - MEDIA_ERR_SRC_NOT_SUPPORTED\n * @property {string} 5 - MEDIA_ERR_ENCRYPTED\n */\n MediaError.errorTypes = ['MEDIA_ERR_CUSTOM', 'MEDIA_ERR_ABORTED', 'MEDIA_ERR_NETWORK', 'MEDIA_ERR_DECODE', 'MEDIA_ERR_SRC_NOT_SUPPORTED', 'MEDIA_ERR_ENCRYPTED'];\n\n /**\n * The default `MediaError` messages based on the {@link MediaError.errorTypes}.\n *\n * @type {Array}\n * @constant\n */\n MediaError.defaultMessages = {\n 1: 'You aborted the media playback',\n 2: 'A network error caused the media download to fail part-way.',\n 3: 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.',\n 4: 'The media could not be loaded, either because the server or network failed or because the format is not supported.',\n 5: 'The media is encrypted and we do not have the keys to decrypt it.'\n };\n\n // Add types as properties on MediaError\n // e.g. MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n for (let errNum = 0; errNum < MediaError.errorTypes.length; errNum++) {\n MediaError[MediaError.errorTypes[errNum]] = errNum;\n // values should be accessible on both the class and instance\n MediaError.prototype[MediaError.errorTypes[errNum]] = errNum;\n }\n\n var tuple = SafeParseTuple;\n function SafeParseTuple(obj, reviver) {\n var json;\n var error = null;\n try {\n json = JSON.parse(obj, reviver);\n } catch (err) {\n error = err;\n }\n return [error, json];\n }\n\n /**\n * Returns whether an object is `Promise`-like (i.e. has a `then` method).\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n *\n * @return {boolean}\n * Whether or not the object is `Promise`-like.\n */\n function isPromise(value) {\n return value !== undefined && value !== null && typeof value.then === 'function';\n }\n\n /**\n * Silence a Promise-like object.\n *\n * This is useful for avoiding non-harmful, but potentially confusing \"uncaught\n * play promise\" rejection error messages.\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n */\n function silencePromise(value) {\n if (isPromise(value)) {\n value.then(null, e => {});\n }\n }\n\n /**\n * @file text-track-list-converter.js Utilities for capturing text track state and\n * re-creating tracks based on a capture.\n *\n * @module text-track-list-converter\n */\n\n /**\n * Examine a single {@link TextTrack} and return a JSON-compatible javascript object that\n * represents the {@link TextTrack}'s state.\n *\n * @param {TextTrack} track\n * The text track to query.\n *\n * @return {Object}\n * A serializable javascript representation of the TextTrack.\n * @private\n */\n const trackToJson_ = function (track) {\n const ret = ['kind', 'label', 'language', 'id', 'inBandMetadataTrackDispatchType', 'mode', 'src'].reduce((acc, prop, i) => {\n if (track[prop]) {\n acc[prop] = track[prop];\n }\n return acc;\n }, {\n cues: track.cues && Array.prototype.map.call(track.cues, function (cue) {\n return {\n startTime: cue.startTime,\n endTime: cue.endTime,\n text: cue.text,\n id: cue.id\n };\n })\n });\n return ret;\n };\n\n /**\n * Examine a {@link Tech} and return a JSON-compatible javascript array that represents the\n * state of all {@link TextTrack}s currently configured. The return array is compatible with\n * {@link text-track-list-converter:jsonToTextTracks}.\n *\n * @param { import('../tech/tech').default } tech\n * The tech object to query\n *\n * @return {Array}\n * A serializable javascript representation of the {@link Tech}s\n * {@link TextTrackList}.\n */\n const textTracksToJson = function (tech) {\n const trackEls = tech.$$('track');\n const trackObjs = Array.prototype.map.call(trackEls, t => t.track);\n const tracks = Array.prototype.map.call(trackEls, function (trackEl) {\n const json = trackToJson_(trackEl.track);\n if (trackEl.src) {\n json.src = trackEl.src;\n }\n return json;\n });\n return tracks.concat(Array.prototype.filter.call(tech.textTracks(), function (track) {\n return trackObjs.indexOf(track) === -1;\n }).map(trackToJson_));\n };\n\n /**\n * Create a set of remote {@link TextTrack}s on a {@link Tech} based on an array of javascript\n * object {@link TextTrack} representations.\n *\n * @param {Array} json\n * An array of `TextTrack` representation objects, like those that would be\n * produced by `textTracksToJson`.\n *\n * @param {Tech} tech\n * The `Tech` to create the `TextTrack`s on.\n */\n const jsonToTextTracks = function (json, tech) {\n json.forEach(function (track) {\n const addedTrack = tech.addRemoteTextTrack(track).track;\n if (!track.src && track.cues) {\n track.cues.forEach(cue => addedTrack.addCue(cue));\n }\n });\n return tech.textTracks();\n };\n var textTrackConverter = {\n textTracksToJson,\n jsonToTextTracks,\n trackToJson_\n };\n\n /**\n * @file modal-dialog.js\n */\n const MODAL_CLASS_NAME = 'vjs-modal-dialog';\n\n /**\n * The `ModalDialog` displays over the video and its controls, which blocks\n * interaction with the player until it is closed.\n *\n * Modal dialogs include a \"Close\" button and will close when that button\n * is activated - or when ESC is pressed anywhere.\n *\n * @extends Component\n */\n class ModalDialog extends Component$1 {\n /**\n * Create an instance of this class.\n *\n * @param { import('./player').default } player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param { import('./utils/dom').ContentDescriptor} [options.content=undefined]\n * Provide customized content for this modal.\n *\n * @param {string} [options.description]\n * A text description for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.fillAlways=false]\n * Normally, modals are automatically filled only the first time\n * they open. This tells the modal to refresh its content\n * every time it opens.\n *\n * @param {string} [options.label]\n * A text label for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.pauseOnOpen=true]\n * If `true`, playback will will be paused if playing when\n * the modal opens, and resumed when it closes.\n *\n * @param {boolean} [options.temporary=true]\n * If `true`, the modal can only be opened once; it will be\n * disposed as soon as it's closed.\n *\n * @param {boolean} [options.uncloseable=false]\n * If `true`, the user will not be able to close the modal\n * through the UI in the normal ways. Programmatic closing is\n * still possible.\n */\n constructor(player, options) {\n super(player, options);\n this.handleKeyDown_ = e => this.handleKeyDown(e);\n this.close_ = e => this.close(e);\n this.opened_ = this.hasBeenOpened_ = this.hasBeenFilled_ = false;\n this.closeable(!this.options_.uncloseable);\n this.content(this.options_.content);\n\n // Make sure the contentEl is defined AFTER any children are initialized\n // because we only want the contents of the modal in the contentEl\n // (not the UI elements like the close button).\n this.contentEl_ = createEl('div', {\n className: `${MODAL_CLASS_NAME}-content`\n }, {\n role: 'document'\n });\n this.descEl_ = createEl('p', {\n className: `${MODAL_CLASS_NAME}-description vjs-control-text`,\n id: this.el().getAttribute('aria-describedby')\n });\n textContent(this.descEl_, this.description());\n this.el_.appendChild(this.descEl_);\n this.el_.appendChild(this.contentEl_);\n }\n\n /**\n * Create the `ModalDialog`'s DOM element\n *\n * @return {Element}\n * The DOM element that gets created.\n */\n createEl() {\n return super.createEl('div', {\n className: this.buildCSSClass(),\n tabIndex: -1\n }, {\n 'aria-describedby': `${this.id()}_description`,\n 'aria-hidden': 'true',\n 'aria-label': this.label(),\n 'role': 'dialog'\n });\n }\n dispose() {\n this.contentEl_ = null;\n this.descEl_ = null;\n this.previouslyActiveEl_ = null;\n super.dispose();\n }\n\n /**\n * Builds the default DOM `className`.\n *\n * @return {string}\n * The DOM `className` for this object.\n */\n buildCSSClass() {\n return `${MODAL_CLASS_NAME} vjs-hidden ${super.buildCSSClass()}`;\n }\n\n /**\n * Returns the label string for this modal. Primarily used for accessibility.\n *\n * @return {string}\n * the localized or raw label of this modal.\n */\n label() {\n return this.localize(this.options_.label || 'Modal Window');\n }\n\n /**\n * Returns the description string for this modal. Primarily used for\n * accessibility.\n *\n * @return {string}\n * The localized or raw description of this modal.\n */\n description() {\n let desc = this.options_.description || this.localize('This is a modal window.');\n\n // Append a universal closeability message if the modal is closeable.\n if (this.closeable()) {\n desc += ' ' + this.localize('This modal can be closed by pressing the Escape key or activating the close button.');\n }\n return desc;\n }\n\n /**\n * Opens the modal.\n *\n * @fires ModalDialog#beforemodalopen\n * @fires ModalDialog#modalopen\n */\n open() {\n if (!this.opened_) {\n const player = this.player();\n\n /**\n * Fired just before a `ModalDialog` is opened.\n *\n * @event ModalDialog#beforemodalopen\n * @type {Event}\n */\n this.trigger('beforemodalopen');\n this.opened_ = true;\n\n // Fill content if the modal has never opened before and\n // never been filled.\n if (this.options_.fillAlways || !this.hasBeenOpened_ && !this.hasBeenFilled_) {\n this.fill();\n }\n\n // If the player was playing, pause it and take note of its previously\n // playing state.\n this.wasPlaying_ = !player.paused();\n if (this.options_.pauseOnOpen && this.wasPlaying_) {\n player.pause();\n }\n this.on('keydown', this.handleKeyDown_);\n\n // Hide controls and note if they were enabled.\n this.hadControls_ = player.controls();\n player.controls(false);\n this.show();\n this.conditionalFocus_();\n this.el().setAttribute('aria-hidden', 'false');\n\n /**\n * Fired just after a `ModalDialog` is opened.\n *\n * @event ModalDialog#modalopen\n * @type {Event}\n */\n this.trigger('modalopen');\n this.hasBeenOpened_ = true;\n }\n }\n\n /**\n * If the `ModalDialog` is currently open or closed.\n *\n * @param {boolean} [value]\n * If given, it will open (`true`) or close (`false`) the modal.\n *\n * @return {boolean}\n * the current open state of the modaldialog\n */\n opened(value) {\n if (typeof value === 'boolean') {\n this[value ? 'open' : 'close']();\n }\n return this.opened_;\n }\n\n /**\n * Closes the modal, does nothing if the `ModalDialog` is\n * not open.\n *\n * @fires ModalDialog#beforemodalclose\n * @fires ModalDialog#modalclose\n */\n close() {\n if (!this.opened_) {\n return;\n }\n const player = this.player();\n\n /**\n * Fired just before a `ModalDialog` is closed.\n *\n * @event ModalDialog#beforemodalclose\n * @type {Event}\n */\n this.trigger('beforemodalclose');\n this.opened_ = false;\n if (this.wasPlaying_ && this.options_.pauseOnOpen) {\n player.play();\n }\n this.off('keydown', this.handleKeyDown_);\n if (this.hadControls_) {\n player.controls(true);\n }\n this.hide();\n this.el().setAttribute('aria-hidden', 'true');\n\n /**\n * Fired just after a `ModalDialog` is closed.\n *\n * @event ModalDialog#modalclose\n * @type {Event}\n */\n this.trigger('modalclose');\n this.conditionalBlur_();\n if (this.options_.temporary) {\n this.dispose();\n }\n }\n\n /**\n * Check to see if the `ModalDialog` is closeable via the UI.\n *\n * @param {boolean} [value]\n * If given as a boolean, it will set the `closeable` option.\n *\n * @return {boolean}\n * Returns the final value of the closable option.\n */\n closeable(value) {\n if (typeof value === 'boolean') {\n const closeable = this.closeable_ = !!value;\n let close = this.getChild('closeButton');\n\n // If this is being made closeable and has no close button, add one.\n if (closeable && !close) {\n // The close button should be a child of the modal - not its\n // content element, so temporarily change the content element.\n const temp = this.contentEl_;\n this.contentEl_ = this.el_;\n close = this.addChild('closeButton', {\n controlText: 'Close Modal Dialog'\n });\n this.contentEl_ = temp;\n this.on(close, 'close', this.close_);\n }\n\n // If this is being made uncloseable and has a close button, remove it.\n if (!closeable && close) {\n this.off(close, 'close', this.close_);\n this.removeChild(close);\n close.dispose();\n }\n }\n return this.closeable_;\n }\n\n /**\n * Fill the modal's content element with the modal's \"content\" option.\n * The content element will be emptied before this change takes place.\n */\n fill() {\n this.fillWith(this.content());\n }\n\n /**\n * Fill the modal's content element with arbitrary content.\n * The content element will be emptied before this change takes place.\n *\n * @fires ModalDialog#beforemodalfill\n * @fires ModalDialog#modalfill\n *\n * @param { import('./utils/dom').ContentDescriptor} [content]\n * The same rules apply to this as apply to the `content` option.\n */\n fillWith(content) {\n const contentEl = this.contentEl();\n const parentEl = contentEl.parentNode;\n const nextSiblingEl = contentEl.nextSibling;\n\n /**\n * Fired just before a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#beforemodalfill\n * @type {Event}\n */\n this.trigger('beforemodalfill');\n this.hasBeenFilled_ = true;\n\n // Detach the content element from the DOM before performing\n // manipulation to avoid modifying the live DOM multiple times.\n parentEl.removeChild(contentEl);\n this.empty();\n insertContent(contentEl, content);\n /**\n * Fired just after a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#modalfill\n * @type {Event}\n */\n this.trigger('modalfill');\n\n // Re-inject the re-filled content element.\n if (nextSiblingEl) {\n parentEl.insertBefore(contentEl, nextSiblingEl);\n } else {\n parentEl.appendChild(contentEl);\n }\n\n // make sure that the close button is last in the dialog DOM\n const closeButton = this.getChild('closeButton');\n if (closeButton) {\n parentEl.appendChild(closeButton.el_);\n }\n }\n\n /**\n * Empties the content element. This happens anytime the modal is filled.\n *\n * @fires ModalDialog#beforemodalempty\n * @fires ModalDialog#modalempty\n */\n empty() {\n /**\n * Fired just before a `ModalDialog` is emptied.\n *\n * @event ModalDialog#beforemodalempty\n * @type {Event}\n */\n this.trigger('beforemodalempty');\n emptyEl(this.contentEl());\n\n /**\n * Fired just after a `ModalDialog` is emptied.\n *\n * @event ModalDialog#modalempty\n * @type {Event}\n */\n this.trigger('modalempty');\n }\n\n /**\n * Gets or sets the modal content, which gets normalized before being\n * rendered into the DOM.\n *\n * This does not update the DOM or fill the modal, but it is called during\n * that process.\n *\n * @param { import('./utils/dom').ContentDescriptor} [value]\n * If defined, sets the internal content value to be used on the\n * next call(s) to `fill`. This value is normalized before being\n * inserted. To \"clear\" the internal content value, pass `null`.\n *\n * @return { import('./utils/dom').ContentDescriptor}\n * The current content of the modal dialog\n */\n content(value) {\n if (typeof value !== 'undefined') {\n this.content_ = value;\n }\n return this.content_;\n }\n\n /**\n * conditionally focus the modal dialog if focus was previously on the player.\n *\n * @private\n */\n conditionalFocus_() {\n const activeEl = document.activeElement;\n const playerEl = this.player_.el_;\n this.previouslyActiveEl_ = null;\n if (playerEl.contains(activeEl) || playerEl === activeEl) {\n this.previouslyActiveEl_ = activeEl;\n this.focus();\n }\n }\n\n /**\n * conditionally blur the element and refocus the last focused element\n *\n * @private\n */\n conditionalBlur_() {\n if (this.previouslyActiveEl_) {\n this.previouslyActiveEl_.focus();\n this.previouslyActiveEl_ = null;\n }\n }\n\n /**\n * Keydown handler. Attached when modal is focused.\n *\n * @listens keydown\n */\n handleKeyDown(event) {\n // Do not allow keydowns to reach out of the modal dialog.\n event.stopPropagation();\n if (keycode.isEventKey(event, 'Escape') && this.closeable()) {\n event.preventDefault();\n this.close();\n return;\n }\n\n // exit early if it isn't a tab key\n if (!keycode.isEventKey(event, 'Tab')) {\n return;\n }\n const focusableEls = this.focusableEls_();\n const activeEl = this.el_.querySelector(':focus');\n let focusIndex;\n for (let i = 0; i < focusableEls.length; i++) {\n if (activeEl === focusableEls[i]) {\n focusIndex = i;\n break;\n }\n }\n if (document.activeElement === this.el_) {\n focusIndex = 0;\n }\n if (event.shiftKey && focusIndex === 0) {\n focusableEls[focusableEls.length - 1].focus();\n event.preventDefault();\n } else if (!event.shiftKey && focusIndex === focusableEls.length - 1) {\n focusableEls[0].focus();\n event.preventDefault();\n }\n }\n\n /**\n * get all focusable elements\n *\n * @private\n */\n focusableEls_() {\n const allChildren = this.el_.querySelectorAll('*');\n return Array.prototype.filter.call(allChildren, child => {\n return (child instanceof window.HTMLAnchorElement || child instanceof window.HTMLAreaElement) && child.hasAttribute('href') || (child instanceof window.HTMLInputElement || child instanceof window.HTMLSelectElement || child instanceof window.HTMLTextAreaElement || child instanceof window.HTMLButtonElement) && !child.hasAttribute('disabled') || child instanceof window.HTMLIFrameElement || child instanceof window.HTMLObjectElement || child instanceof window.HTMLEmbedElement || child.hasAttribute('tabindex') && child.getAttribute('tabindex') !== -1 || child.hasAttribute('contenteditable');\n });\n }\n }\n\n /**\n * Default options for `ModalDialog` default options.\n *\n * @type {Object}\n * @private\n */\n ModalDialog.prototype.options_ = {\n pauseOnOpen: true,\n temporary: true\n };\n Component$1.registerComponent('ModalDialog', ModalDialog);\n\n /**\n * @file track-list.js\n */\n\n /**\n * Common functionaliy between {@link TextTrackList}, {@link AudioTrackList}, and\n * {@link VideoTrackList}\n *\n * @extends EventTarget\n */\n class TrackList extends EventTarget$2 {\n /**\n * Create an instance of this class\n *\n * @param { import('./track').default[] } tracks\n * A list of tracks to initialize the list with.\n *\n * @abstract\n */\n constructor(tracks = []) {\n super();\n this.tracks_ = [];\n\n /**\n * @memberof TrackList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n Object.defineProperty(this, 'length', {\n get() {\n return this.tracks_.length;\n }\n });\n for (let i = 0; i < tracks.length; i++) {\n this.addTrack(tracks[i]);\n }\n }\n\n /**\n * Add a {@link Track} to the `TrackList`\n *\n * @param { import('./track').default } track\n * The audio, video, or text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n addTrack(track) {\n const index = this.tracks_.length;\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get() {\n return this.tracks_[index];\n }\n });\n }\n\n // Do not add duplicate tracks\n if (this.tracks_.indexOf(track) === -1) {\n this.tracks_.push(track);\n /**\n * Triggered when a track is added to a track list.\n *\n * @event TrackList#addtrack\n * @type {Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n this.trigger({\n track,\n type: 'addtrack',\n target: this\n });\n }\n\n /**\n * Triggered when a track label is changed.\n *\n * @event TrackList#addtrack\n * @type {Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n track.labelchange_ = () => {\n this.trigger({\n track,\n type: 'labelchange',\n target: this\n });\n };\n if (isEvented(track)) {\n track.addEventListener('labelchange', track.labelchange_);\n }\n }\n\n /**\n * Remove a {@link Track} from the `TrackList`\n *\n * @param { import('./track').default } rtrack\n * The audio, video, or text track to remove from the list.\n *\n * @fires TrackList#removetrack\n */\n removeTrack(rtrack) {\n let track;\n for (let i = 0, l = this.length; i < l; i++) {\n if (this[i] === rtrack) {\n track = this[i];\n if (track.off) {\n track.off();\n }\n this.tracks_.splice(i, 1);\n break;\n }\n }\n if (!track) {\n return;\n }\n\n /**\n * Triggered when a track is removed from track list.\n *\n * @event TrackList#removetrack\n * @type {Event}\n * @property {Track} track\n * A reference to track that was removed.\n */\n this.trigger({\n track,\n type: 'removetrack',\n target: this\n });\n }\n\n /**\n * Get a Track from the TrackList by a tracks id\n *\n * @param {string} id - the id of the track to get\n * @method getTrackById\n * @return { import('./track').default }\n * @private\n */\n getTrackById(id) {\n let result = null;\n for (let i = 0, l = this.length; i < l; i++) {\n const track = this[i];\n if (track.id === id) {\n result = track;\n break;\n }\n }\n return result;\n }\n }\n\n /**\n * Triggered when a different track is selected/enabled.\n *\n * @event TrackList#change\n * @type {Event}\n */\n\n /**\n * Events that can be called with on + eventName. See {@link EventHandler}.\n *\n * @property {Object} TrackList#allowedEvents_\n * @private\n */\n TrackList.prototype.allowedEvents_ = {\n change: 'change',\n addtrack: 'addtrack',\n removetrack: 'removetrack',\n labelchange: 'labelchange'\n };\n\n // emulate attribute EventHandler support to allow for feature detection\n for (const event in TrackList.prototype.allowedEvents_) {\n TrackList.prototype['on' + event] = null;\n }\n\n /**\n * @file audio-track-list.js\n */\n\n /**\n * Anywhere we call this function we diverge from the spec\n * as we only support one enabled audiotrack at a time\n *\n * @param {AudioTrackList} list\n * list to work on\n *\n * @param { import('./audio-track').default } track\n * The track to skip\n *\n * @private\n */\n const disableOthers$1 = function (list, track) {\n for (let i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n }\n // another audio track is enabled, disable it\n list[i].enabled = false;\n }\n };\n\n /**\n * The current list of {@link AudioTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist}\n * @extends TrackList\n */\n class AudioTrackList extends TrackList {\n /**\n * Create an instance of this class.\n *\n * @param {AudioTrack[]} [tracks=[]]\n * A list of `AudioTrack` to instantiate the list with.\n */\n constructor(tracks = []) {\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (let i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].enabled) {\n disableOthers$1(tracks, tracks[i]);\n break;\n }\n }\n super(tracks);\n this.changing_ = false;\n }\n\n /**\n * Add an {@link AudioTrack} to the `AudioTrackList`.\n *\n * @param { import('./audio-track').default } track\n * The AudioTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n addTrack(track) {\n if (track.enabled) {\n disableOthers$1(this, track);\n }\n super.addTrack(track);\n // native tracks don't have this\n if (!track.addEventListener) {\n return;\n }\n track.enabledChange_ = () => {\n // when we are disabling other tracks (since we don't support\n // more than one track at a time) we will set changing_\n // to true so that we don't trigger additional change events\n if (this.changing_) {\n return;\n }\n this.changing_ = true;\n disableOthers$1(this, track);\n this.changing_ = false;\n this.trigger('change');\n };\n\n /**\n * @listens AudioTrack#enabledchange\n * @fires TrackList#change\n */\n track.addEventListener('enabledchange', track.enabledChange_);\n }\n removeTrack(rtrack) {\n super.removeTrack(rtrack);\n if (rtrack.removeEventListener && rtrack.enabledChange_) {\n rtrack.removeEventListener('enabledchange', rtrack.enabledChange_);\n rtrack.enabledChange_ = null;\n }\n }\n }\n\n /**\n * @file video-track-list.js\n */\n\n /**\n * Un-select all other {@link VideoTrack}s that are selected.\n *\n * @param {VideoTrackList} list\n * list to work on\n *\n * @param { import('./video-track').default } track\n * The track to skip\n *\n * @private\n */\n const disableOthers = function (list, track) {\n for (let i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n }\n // another video track is enabled, disable it\n list[i].selected = false;\n }\n };\n\n /**\n * The current list of {@link VideoTrack} for a video.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotracklist}\n * @extends TrackList\n */\n class VideoTrackList extends TrackList {\n /**\n * Create an instance of this class.\n *\n * @param {VideoTrack[]} [tracks=[]]\n * A list of `VideoTrack` to instantiate the list with.\n */\n constructor(tracks = []) {\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (let i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].selected) {\n disableOthers(tracks, tracks[i]);\n break;\n }\n }\n super(tracks);\n this.changing_ = false;\n\n /**\n * @member {number} VideoTrackList#selectedIndex\n * The current index of the selected {@link VideoTrack`}.\n */\n Object.defineProperty(this, 'selectedIndex', {\n get() {\n for (let i = 0; i < this.length; i++) {\n if (this[i].selected) {\n return i;\n }\n }\n return -1;\n },\n set() {}\n });\n }\n\n /**\n * Add a {@link VideoTrack} to the `VideoTrackList`.\n *\n * @param { import('./video-track').default } track\n * The VideoTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n addTrack(track) {\n if (track.selected) {\n disableOthers(this, track);\n }\n super.addTrack(track);\n // native tracks don't have this\n if (!track.addEventListener) {\n return;\n }\n track.selectedChange_ = () => {\n if (this.changing_) {\n return;\n }\n this.changing_ = true;\n disableOthers(this, track);\n this.changing_ = false;\n this.trigger('change');\n };\n\n /**\n * @listens VideoTrack#selectedchange\n * @fires TrackList#change\n */\n track.addEventListener('selectedchange', track.selectedChange_);\n }\n removeTrack(rtrack) {\n super.removeTrack(rtrack);\n if (rtrack.removeEventListener && rtrack.selectedChange_) {\n rtrack.removeEventListener('selectedchange', rtrack.selectedChange_);\n rtrack.selectedChange_ = null;\n }\n }\n }\n\n /**\n * @file text-track-list.js\n */\n\n /**\n * The current list of {@link TextTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttracklist}\n * @extends TrackList\n */\n class TextTrackList extends TrackList {\n /**\n * Add a {@link TextTrack} to the `TextTrackList`\n *\n * @param { import('./text-track').default } track\n * The text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n addTrack(track) {\n super.addTrack(track);\n if (!this.queueChange_) {\n this.queueChange_ = () => this.queueTrigger('change');\n }\n if (!this.triggerSelectedlanguagechange) {\n this.triggerSelectedlanguagechange_ = () => this.trigger('selectedlanguagechange');\n }\n\n /**\n * @listens TextTrack#modechange\n * @fires TrackList#change\n */\n track.addEventListener('modechange', this.queueChange_);\n const nonLanguageTextTrackKind = ['metadata', 'chapters'];\n if (nonLanguageTextTrackKind.indexOf(track.kind) === -1) {\n track.addEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n }\n removeTrack(rtrack) {\n super.removeTrack(rtrack);\n\n // manually remove the event handlers we added\n if (rtrack.removeEventListener) {\n if (this.queueChange_) {\n rtrack.removeEventListener('modechange', this.queueChange_);\n }\n if (this.selectedlanguagechange_) {\n rtrack.removeEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n }\n }\n }\n\n /**\n * @file html-track-element-list.js\n */\n\n /**\n * The current list of {@link HtmlTrackElement}s.\n */\n class HtmlTrackElementList {\n /**\n * Create an instance of this class.\n *\n * @param {HtmlTrackElement[]} [tracks=[]]\n * A list of `HtmlTrackElement` to instantiate the list with.\n */\n constructor(trackElements = []) {\n this.trackElements_ = [];\n\n /**\n * @memberof HtmlTrackElementList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n Object.defineProperty(this, 'length', {\n get() {\n return this.trackElements_.length;\n }\n });\n for (let i = 0, length = trackElements.length; i < length; i++) {\n this.addTrackElement_(trackElements[i]);\n }\n }\n\n /**\n * Add an {@link HtmlTrackElement} to the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to add to the list.\n *\n * @private\n */\n addTrackElement_(trackElement) {\n const index = this.trackElements_.length;\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get() {\n return this.trackElements_[index];\n }\n });\n }\n\n // Do not add duplicate elements\n if (this.trackElements_.indexOf(trackElement) === -1) {\n this.trackElements_.push(trackElement);\n }\n }\n\n /**\n * Get an {@link HtmlTrackElement} from the `HtmlTrackElementList` given an\n * {@link TextTrack}.\n *\n * @param {TextTrack} track\n * The track associated with a track element.\n *\n * @return {HtmlTrackElement|undefined}\n * The track element that was found or undefined.\n *\n * @private\n */\n getTrackElementByTrack_(track) {\n let trackElement_;\n for (let i = 0, length = this.trackElements_.length; i < length; i++) {\n if (track === this.trackElements_[i].track) {\n trackElement_ = this.trackElements_[i];\n break;\n }\n }\n return trackElement_;\n }\n\n /**\n * Remove a {@link HtmlTrackElement} from the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to remove from the list.\n *\n * @private\n */\n removeTrackElement_(trackElement) {\n for (let i = 0, length = this.trackElements_.length; i < length; i++) {\n if (trackElement === this.trackElements_[i]) {\n if (this.trackElements_[i].track && typeof this.trackElements_[i].track.off === 'function') {\n this.trackElements_[i].track.off();\n }\n if (typeof this.trackElements_[i].off === 'function') {\n this.trackElements_[i].off();\n }\n this.trackElements_.splice(i, 1);\n break;\n }\n }\n }\n }\n\n /**\n * @file text-track-cue-list.js\n */\n\n /**\n * @typedef {Object} TextTrackCueList~TextTrackCue\n *\n * @property {string} id\n * The unique id for this text track cue\n *\n * @property {number} startTime\n * The start time for this text track cue\n *\n * @property {number} endTime\n * The end time for this text track cue\n *\n * @property {boolean} pauseOnExit\n * Pause when the end time is reached if true.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcue}\n */\n\n /**\n * A List of TextTrackCues.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcuelist}\n */\n class TextTrackCueList {\n /**\n * Create an instance of this class..\n *\n * @param {Array} cues\n * A list of cues to be initialized with\n */\n constructor(cues) {\n TextTrackCueList.prototype.setCues_.call(this, cues);\n\n /**\n * @memberof TextTrackCueList\n * @member {number} length\n * The current number of `TextTrackCue`s in the TextTrackCueList.\n * @instance\n */\n Object.defineProperty(this, 'length', {\n get() {\n return this.length_;\n }\n });\n }\n\n /**\n * A setter for cues in this list. Creates getters\n * an an index for the cues.\n *\n * @param {Array} cues\n * An array of cues to set\n *\n * @private\n */\n setCues_(cues) {\n const oldLength = this.length || 0;\n let i = 0;\n const l = cues.length;\n this.cues_ = cues;\n this.length_ = cues.length;\n const defineProp = function (index) {\n if (!('' + index in this)) {\n Object.defineProperty(this, '' + index, {\n get() {\n return this.cues_[index];\n }\n });\n }\n };\n if (oldLength < l) {\n i = oldLength;\n for (; i < l; i++) {\n defineProp.call(this, i);\n }\n }\n }\n\n /**\n * Get a `TextTrackCue` that is currently in the `TextTrackCueList` by id.\n *\n * @param {string} id\n * The id of the cue that should be searched for.\n *\n * @return {TextTrackCueList~TextTrackCue|null}\n * A single cue or null if none was found.\n */\n getCueById(id) {\n let result = null;\n for (let i = 0, l = this.length; i < l; i++) {\n const cue = this[i];\n if (cue.id === id) {\n result = cue;\n break;\n }\n }\n return result;\n }\n }\n\n /**\n * @file track-kinds.js\n */\n\n /**\n * All possible `VideoTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-videotrack-kind\n * @typedef VideoTrack~Kind\n * @enum\n */\n const VideoTrackKind = {\n alternative: 'alternative',\n captions: 'captions',\n main: 'main',\n sign: 'sign',\n subtitles: 'subtitles',\n commentary: 'commentary'\n };\n\n /**\n * All possible `AudioTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-audiotrack-kind\n * @typedef AudioTrack~Kind\n * @enum\n */\n const AudioTrackKind = {\n 'alternative': 'alternative',\n 'descriptions': 'descriptions',\n 'main': 'main',\n 'main-desc': 'main-desc',\n 'translation': 'translation',\n 'commentary': 'commentary'\n };\n\n /**\n * All possible `TextTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-texttrack-kind\n * @typedef TextTrack~Kind\n * @enum\n */\n const TextTrackKind = {\n subtitles: 'subtitles',\n captions: 'captions',\n descriptions: 'descriptions',\n chapters: 'chapters',\n metadata: 'metadata'\n };\n\n /**\n * All possible `TextTrackMode`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackmode\n * @typedef TextTrack~Mode\n * @enum\n */\n const TextTrackMode = {\n disabled: 'disabled',\n hidden: 'hidden',\n showing: 'showing'\n };\n\n /**\n * @file track.js\n */\n\n /**\n * A Track class that contains all of the common functionality for {@link AudioTrack},\n * {@link VideoTrack}, and {@link TextTrack}.\n *\n * > Note: This class should not be used directly\n *\n * @see {@link https://html.spec.whatwg.org/multipage/embedded-content.html}\n * @extends EventTarget\n * @abstract\n */\n class Track extends EventTarget$2 {\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid kind for the track type you are creating.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @abstract\n */\n constructor(options = {}) {\n super();\n const trackProps = {\n id: options.id || 'vjs_track_' + newGUID(),\n kind: options.kind || '',\n language: options.language || ''\n };\n let label = options.label || '';\n\n /**\n * @memberof Track\n * @member {string} id\n * The id of this track. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} kind\n * The kind of track that this is. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} language\n * The two letter language code for this track. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n\n for (const key in trackProps) {\n Object.defineProperty(this, key, {\n get() {\n return trackProps[key];\n },\n set() {}\n });\n }\n\n /**\n * @memberof Track\n * @member {string} label\n * The label of this track. Cannot be changed after creation.\n * @instance\n *\n * @fires Track#labelchange\n */\n Object.defineProperty(this, 'label', {\n get() {\n return label;\n },\n set(newLabel) {\n if (newLabel !== label) {\n label = newLabel;\n\n /**\n * An event that fires when label changes on this track.\n *\n * > Note: This is not part of the spec!\n *\n * @event Track#labelchange\n * @type {Event}\n */\n this.trigger('labelchange');\n }\n }\n });\n }\n }\n\n /**\n * @file url.js\n * @module url\n */\n\n /**\n * @typedef {Object} url:URLObject\n *\n * @property {string} protocol\n * The protocol of the url that was parsed.\n *\n * @property {string} hostname\n * The hostname of the url that was parsed.\n *\n * @property {string} port\n * The port of the url that was parsed.\n *\n * @property {string} pathname\n * The pathname of the url that was parsed.\n *\n * @property {string} search\n * The search query of the url that was parsed.\n *\n * @property {string} hash\n * The hash of the url that was parsed.\n *\n * @property {string} host\n * The host of the url that was parsed.\n */\n\n /**\n * Resolve and parse the elements of a URL.\n *\n * @function\n * @param {String} url\n * The url to parse\n *\n * @return {url:URLObject}\n * An object of url details\n */\n const parseUrl = function (url) {\n // This entire method can be replace with URL once we are able to drop IE11\n\n const props = ['protocol', 'hostname', 'port', 'pathname', 'search', 'hash', 'host'];\n\n // add the url to an anchor and let the browser parse the URL\n const a = document.createElement('a');\n a.href = url;\n\n // Copy the specific URL properties to a new object\n // This is also needed for IE because the anchor loses its\n // properties when it's removed from the dom\n const details = {};\n for (let i = 0; i < props.length; i++) {\n details[props[i]] = a[props[i]];\n }\n\n // IE adds the port to the host property unlike everyone else. If\n // a port identifier is added for standard ports, strip it.\n if (details.protocol === 'http:') {\n details.host = details.host.replace(/:80$/, '');\n }\n if (details.protocol === 'https:') {\n details.host = details.host.replace(/:443$/, '');\n }\n if (!details.protocol) {\n details.protocol = window.location.protocol;\n }\n\n /* istanbul ignore if */\n if (!details.host) {\n details.host = window.location.host;\n }\n return details;\n };\n\n /**\n * Get absolute version of relative URL.\n *\n * @function\n * @param {string} url\n * URL to make absolute\n *\n * @return {string}\n * Absolute URL\n *\n * @see http://stackoverflow.com/questions/470832/getting-an-absolute-url-from-a-relative-one-ie6-issue\n */\n const getAbsoluteURL = function (url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n // Add the url to an anchor and let the browser parse it to convert to an absolute url\n const a = document.createElement('a');\n a.href = url;\n url = a.href;\n }\n return url;\n };\n\n /**\n * Returns the extension of the passed file name. It will return an empty string\n * if passed an invalid path.\n *\n * @function\n * @param {string} path\n * The fileName path like '/path/to/file.mp4'\n *\n * @return {string}\n * The extension in lower case or an empty string if no\n * extension could be found.\n */\n const getFileExtension = function (path) {\n if (typeof path === 'string') {\n const splitPathRe = /^(\\/?)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?)(\\.([^\\.\\/\\?]+)))(?:[\\/]*|[\\?].*)$/;\n const pathParts = splitPathRe.exec(path);\n if (pathParts) {\n return pathParts.pop().toLowerCase();\n }\n }\n return '';\n };\n\n /**\n * Returns whether the url passed is a cross domain request or not.\n *\n * @function\n * @param {string} url\n * The url to check.\n *\n * @param {Object} [winLoc]\n * the domain to check the url against, defaults to window.location\n *\n * @param {string} [winLoc.protocol]\n * The window location protocol defaults to window.location.protocol\n *\n * @param {string} [winLoc.host]\n * The window location host defaults to window.location.host\n *\n * @return {boolean}\n * Whether it is a cross domain request or not.\n */\n const isCrossOrigin = function (url, winLoc = window.location) {\n const urlInfo = parseUrl(url);\n\n // IE8 protocol relative urls will return ':' for protocol\n const srcProtocol = urlInfo.protocol === ':' ? winLoc.protocol : urlInfo.protocol;\n\n // Check if url is for another domain/origin\n // IE8 doesn't know location.origin, so we won't rely on it here\n const crossOrigin = srcProtocol + urlInfo.host !== winLoc.protocol + winLoc.host;\n return crossOrigin;\n };\n\n var Url = /*#__PURE__*/Object.freeze({\n __proto__: null,\n parseUrl: parseUrl,\n getAbsoluteURL: getAbsoluteURL,\n getFileExtension: getFileExtension,\n isCrossOrigin: isCrossOrigin\n });\n\n var win;\n if (typeof window !== \"undefined\") {\n win = window;\n } else if (typeof commonjsGlobal !== \"undefined\") {\n win = commonjsGlobal;\n } else if (typeof self !== \"undefined\") {\n win = self;\n } else {\n win = {};\n }\n var window_1 = win;\n\n var _extends_1 = createCommonjsModule(function (module) {\n function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n }\n module.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n });\n var _extends$1 = unwrapExports(_extends_1);\n\n var isFunction_1 = isFunction;\n var toString = Object.prototype.toString;\n function isFunction(fn) {\n if (!fn) {\n return false;\n }\n var string = toString.call(fn);\n return string === '[object Function]' || typeof fn === 'function' && string !== '[object RegExp]' || typeof window !== 'undefined' && (\n // IE8 and below\n fn === window.setTimeout || fn === window.alert || fn === window.confirm || fn === window.prompt);\n }\n\n var httpResponseHandler = function httpResponseHandler(callback, decodeResponseBody) {\n if (decodeResponseBody === void 0) {\n decodeResponseBody = false;\n }\n return function (err, response, responseBody) {\n // if the XHR failed, return that error\n if (err) {\n callback(err);\n return;\n } // if the HTTP status code is 4xx or 5xx, the request also failed\n\n if (response.statusCode >= 400 && response.statusCode <= 599) {\n var cause = responseBody;\n if (decodeResponseBody) {\n if (window_1.TextDecoder) {\n var charset = getCharset(response.headers && response.headers['content-type']);\n try {\n cause = new TextDecoder(charset).decode(responseBody);\n } catch (e) {}\n } else {\n cause = String.fromCharCode.apply(null, new Uint8Array(responseBody));\n }\n }\n callback({\n cause: cause\n });\n return;\n } // otherwise, request succeeded\n\n callback(null, responseBody);\n };\n };\n function getCharset(contentTypeHeader) {\n if (contentTypeHeader === void 0) {\n contentTypeHeader = '';\n }\n return contentTypeHeader.toLowerCase().split(';').reduce(function (charset, contentType) {\n var _contentType$split = contentType.split('='),\n type = _contentType$split[0],\n value = _contentType$split[1];\n if (type.trim() === 'charset') {\n return value.trim();\n }\n return charset;\n }, 'utf-8');\n }\n var httpHandler = httpResponseHandler;\n\n createXHR.httpHandler = httpHandler;\n /**\n * @license\n * slighly modified parse-headers 2.0.2 \n * Copyright (c) 2014 David Björklund\n * Available under the MIT license\n * \n */\n\n var parseHeaders = function parseHeaders(headers) {\n var result = {};\n if (!headers) {\n return result;\n }\n headers.trim().split('\\n').forEach(function (row) {\n var index = row.indexOf(':');\n var key = row.slice(0, index).trim().toLowerCase();\n var value = row.slice(index + 1).trim();\n if (typeof result[key] === 'undefined') {\n result[key] = value;\n } else if (Array.isArray(result[key])) {\n result[key].push(value);\n } else {\n result[key] = [result[key], value];\n }\n });\n return result;\n };\n var lib = createXHR; // Allow use of default import syntax in TypeScript\n\n var default_1 = createXHR;\n createXHR.XMLHttpRequest = window_1.XMLHttpRequest || noop$1;\n createXHR.XDomainRequest = \"withCredentials\" in new createXHR.XMLHttpRequest() ? createXHR.XMLHttpRequest : window_1.XDomainRequest;\n forEachArray([\"get\", \"put\", \"post\", \"patch\", \"head\", \"delete\"], function (method) {\n createXHR[method === \"delete\" ? \"del\" : method] = function (uri, options, callback) {\n options = initParams(uri, options, callback);\n options.method = method.toUpperCase();\n return _createXHR(options);\n };\n });\n function forEachArray(array, iterator) {\n for (var i = 0; i < array.length; i++) {\n iterator(array[i]);\n }\n }\n function isEmpty(obj) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) return false;\n }\n return true;\n }\n function initParams(uri, options, callback) {\n var params = uri;\n if (isFunction_1(options)) {\n callback = options;\n if (typeof uri === \"string\") {\n params = {\n uri: uri\n };\n }\n } else {\n params = _extends_1({}, options, {\n uri: uri\n });\n }\n params.callback = callback;\n return params;\n }\n function createXHR(uri, options, callback) {\n options = initParams(uri, options, callback);\n return _createXHR(options);\n }\n function _createXHR(options) {\n if (typeof options.callback === \"undefined\") {\n throw new Error(\"callback argument missing\");\n }\n var called = false;\n var callback = function cbOnce(err, response, body) {\n if (!called) {\n called = true;\n options.callback(err, response, body);\n }\n };\n function readystatechange() {\n if (xhr.readyState === 4) {\n setTimeout(loadFunc, 0);\n }\n }\n function getBody() {\n // Chrome with requestType=blob throws errors arround when even testing access to responseText\n var body = undefined;\n if (xhr.response) {\n body = xhr.response;\n } else {\n body = xhr.responseText || getXml(xhr);\n }\n if (isJson) {\n try {\n body = JSON.parse(body);\n } catch (e) {}\n }\n return body;\n }\n function errorFunc(evt) {\n clearTimeout(timeoutTimer);\n if (!(evt instanceof Error)) {\n evt = new Error(\"\" + (evt || \"Unknown XMLHttpRequest Error\"));\n }\n evt.statusCode = 0;\n return callback(evt, failureResponse);\n } // will load the data & process the response in a special response object\n\n function loadFunc() {\n if (aborted) return;\n var status;\n clearTimeout(timeoutTimer);\n if (options.useXDR && xhr.status === undefined) {\n //IE8 CORS GET successful response doesn't have a status field, but body is fine\n status = 200;\n } else {\n status = xhr.status === 1223 ? 204 : xhr.status;\n }\n var response = failureResponse;\n var err = null;\n if (status !== 0) {\n response = {\n body: getBody(),\n statusCode: status,\n method: method,\n headers: {},\n url: uri,\n rawRequest: xhr\n };\n if (xhr.getAllResponseHeaders) {\n //remember xhr can in fact be XDR for CORS in IE\n response.headers = parseHeaders(xhr.getAllResponseHeaders());\n }\n } else {\n err = new Error(\"Internal XMLHttpRequest Error\");\n }\n return callback(err, response, response.body);\n }\n var xhr = options.xhr || null;\n if (!xhr) {\n if (options.cors || options.useXDR) {\n xhr = new createXHR.XDomainRequest();\n } else {\n xhr = new createXHR.XMLHttpRequest();\n }\n }\n var key;\n var aborted;\n var uri = xhr.url = options.uri || options.url;\n var method = xhr.method = options.method || \"GET\";\n var body = options.body || options.data;\n var headers = xhr.headers = options.headers || {};\n var sync = !!options.sync;\n var isJson = false;\n var timeoutTimer;\n var failureResponse = {\n body: undefined,\n headers: {},\n statusCode: 0,\n method: method,\n url: uri,\n rawRequest: xhr\n };\n if (\"json\" in options && options.json !== false) {\n isJson = true;\n headers[\"accept\"] || headers[\"Accept\"] || (headers[\"Accept\"] = \"application/json\"); //Don't override existing accept header declared by user\n\n if (method !== \"GET\" && method !== \"HEAD\") {\n headers[\"content-type\"] || headers[\"Content-Type\"] || (headers[\"Content-Type\"] = \"application/json\"); //Don't override existing accept header declared by user\n\n body = JSON.stringify(options.json === true ? body : options.json);\n }\n }\n xhr.onreadystatechange = readystatechange;\n xhr.onload = loadFunc;\n xhr.onerror = errorFunc; // IE9 must have onprogress be set to a unique function.\n\n xhr.onprogress = function () {// IE must die\n };\n xhr.onabort = function () {\n aborted = true;\n };\n xhr.ontimeout = errorFunc;\n xhr.open(method, uri, !sync, options.username, options.password); //has to be after open\n\n if (!sync) {\n xhr.withCredentials = !!options.withCredentials;\n } // Cannot set timeout with sync request\n // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly\n // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent\n\n if (!sync && options.timeout > 0) {\n timeoutTimer = setTimeout(function () {\n if (aborted) return;\n aborted = true; //IE9 may still call readystatechange\n\n xhr.abort(\"timeout\");\n var e = new Error(\"XMLHttpRequest timeout\");\n e.code = \"ETIMEDOUT\";\n errorFunc(e);\n }, options.timeout);\n }\n if (xhr.setRequestHeader) {\n for (key in headers) {\n if (headers.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, headers[key]);\n }\n }\n } else if (options.headers && !isEmpty(options.headers)) {\n throw new Error(\"Headers cannot be set on an XDomainRequest object\");\n }\n if (\"responseType\" in options) {\n xhr.responseType = options.responseType;\n }\n if (\"beforeSend\" in options && typeof options.beforeSend === \"function\") {\n options.beforeSend(xhr);\n } // Microsoft Edge browser sends \"undefined\" when send is called with undefined value.\n // XMLHttpRequest spec says to pass null as body to indicate no body\n // See https://github.com/naugtur/xhr/issues/100.\n\n xhr.send(body || null);\n return xhr;\n }\n function getXml(xhr) {\n // xhr.responseXML will throw Exception \"InvalidStateError\" or \"DOMException\"\n // See https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseXML.\n try {\n if (xhr.responseType === \"document\") {\n return xhr.responseXML;\n }\n var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === \"parsererror\";\n if (xhr.responseType === \"\" && !firefoxBugTakenEffect) {\n return xhr.responseXML;\n }\n } catch (e) {}\n return null;\n }\n function noop$1() {}\n lib.default = default_1;\n\n /**\n * @file text-track.js\n */\n\n /**\n * Takes a webvtt file contents and parses it into cues\n *\n * @param {string} srcContent\n * webVTT file contents\n *\n * @param {TextTrack} track\n * TextTrack to add cues to. Cues come from the srcContent.\n *\n * @private\n */\n const parseCues = function (srcContent, track) {\n const parser = new window.WebVTT.Parser(window, window.vttjs, window.WebVTT.StringDecoder());\n const errors = [];\n parser.oncue = function (cue) {\n track.addCue(cue);\n };\n parser.onparsingerror = function (error) {\n errors.push(error);\n };\n parser.onflush = function () {\n track.trigger({\n type: 'loadeddata',\n target: track\n });\n };\n parser.parse(srcContent);\n if (errors.length > 0) {\n if (window.console && window.console.groupCollapsed) {\n window.console.groupCollapsed(`Text Track parsing errors for ${track.src}`);\n }\n errors.forEach(error => log$1.error(error));\n if (window.console && window.console.groupEnd) {\n window.console.groupEnd();\n }\n }\n parser.flush();\n };\n\n /**\n * Load a `TextTrack` from a specified url.\n *\n * @param {string} src\n * Url to load track from.\n *\n * @param {TextTrack} track\n * Track to add cues to. Comes from the content at the end of `url`.\n *\n * @private\n */\n const loadTrack = function (src, track) {\n const opts = {\n uri: src\n };\n const crossOrigin = isCrossOrigin(src);\n if (crossOrigin) {\n opts.cors = crossOrigin;\n }\n const withCredentials = track.tech_.crossOrigin() === 'use-credentials';\n if (withCredentials) {\n opts.withCredentials = withCredentials;\n }\n lib(opts, bind_(this, function (err, response, responseBody) {\n if (err) {\n return log$1.error(err, response);\n }\n track.loaded_ = true;\n\n // Make sure that vttjs has loaded, otherwise, wait till it finished loading\n // NOTE: this is only used for the alt/video.novtt.js build\n if (typeof window.WebVTT !== 'function') {\n if (track.tech_) {\n // to prevent use before define eslint error, we define loadHandler\n // as a let here\n track.tech_.any(['vttjsloaded', 'vttjserror'], event => {\n if (event.type === 'vttjserror') {\n log$1.error(`vttjs failed to load, stopping trying to process ${track.src}`);\n return;\n }\n return parseCues(responseBody, track);\n });\n }\n } else {\n parseCues(responseBody, track);\n }\n }));\n };\n\n /**\n * A representation of a single `TextTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrack}\n * @extends Track\n */\n class TextTrack extends Track {\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param { import('../tech/tech').default } options.tech\n * A reference to the tech that owns this TextTrack.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * version of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n constructor(options = {}) {\n if (!options.tech) {\n throw new Error('A tech was not provided.');\n }\n const settings = merge$2(options, {\n kind: TextTrackKind[options.kind] || 'subtitles',\n language: options.language || options.srclang || ''\n });\n let mode = TextTrackMode[settings.mode] || 'disabled';\n const default_ = settings.default;\n if (settings.kind === 'metadata' || settings.kind === 'chapters') {\n mode = 'hidden';\n }\n super(settings);\n this.tech_ = settings.tech;\n this.cues_ = [];\n this.activeCues_ = [];\n this.preload_ = this.tech_.preloadTextTracks !== false;\n const cues = new TextTrackCueList(this.cues_);\n const activeCues = new TextTrackCueList(this.activeCues_);\n let changed = false;\n this.timeupdateHandler = bind_(this, function (event = {}) {\n if (this.tech_.isDisposed()) {\n return;\n }\n if (!this.tech_.isReady_) {\n if (event.type !== 'timeupdate') {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n }\n return;\n }\n\n // Accessing this.activeCues for the side-effects of updating itself\n // due to its nature as a getter function. Do not remove or cues will\n // stop updating!\n // Use the setter to prevent deletion from uglify (pure_getters rule)\n this.activeCues = this.activeCues;\n if (changed) {\n this.trigger('cuechange');\n changed = false;\n }\n if (event.type !== 'timeupdate') {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n }\n });\n const disposeHandler = () => {\n this.stopTracking();\n };\n this.tech_.one('dispose', disposeHandler);\n if (mode !== 'disabled') {\n this.startTracking();\n }\n Object.defineProperties(this, {\n /**\n * @memberof TextTrack\n * @member {boolean} default\n * If this track was set to be on or off by default. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n default: {\n get() {\n return default_;\n },\n set() {}\n },\n /**\n * @memberof TextTrack\n * @member {string} mode\n * Set the mode of this TextTrack to a valid {@link TextTrack~Mode}. Will\n * not be set if setting to an invalid mode.\n * @instance\n *\n * @fires TextTrack#modechange\n */\n mode: {\n get() {\n return mode;\n },\n set(newMode) {\n if (!TextTrackMode[newMode]) {\n return;\n }\n if (mode === newMode) {\n return;\n }\n mode = newMode;\n if (!this.preload_ && mode !== 'disabled' && this.cues.length === 0) {\n // On-demand load.\n loadTrack(this.src, this);\n }\n this.stopTracking();\n if (mode !== 'disabled') {\n this.startTracking();\n }\n /**\n * An event that fires when mode changes on this track. This allows\n * the TextTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec!\n *\n * @event TextTrack#modechange\n * @type {Event}\n */\n this.trigger('modechange');\n }\n },\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} cues\n * The text track cue list for this TextTrack.\n * @instance\n */\n cues: {\n get() {\n if (!this.loaded_) {\n return null;\n }\n return cues;\n },\n set() {}\n },\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} activeCues\n * The list text track cues that are currently active for this TextTrack.\n * @instance\n */\n activeCues: {\n get() {\n if (!this.loaded_) {\n return null;\n }\n\n // nothing to do\n if (this.cues.length === 0) {\n return activeCues;\n }\n const ct = this.tech_.currentTime();\n const active = [];\n for (let i = 0, l = this.cues.length; i < l; i++) {\n const cue = this.cues[i];\n if (cue.startTime <= ct && cue.endTime >= ct) {\n active.push(cue);\n }\n }\n changed = false;\n if (active.length !== this.activeCues_.length) {\n changed = true;\n } else {\n for (let i = 0; i < active.length; i++) {\n if (this.activeCues_.indexOf(active[i]) === -1) {\n changed = true;\n }\n }\n }\n this.activeCues_ = active;\n activeCues.setCues_(this.activeCues_);\n return activeCues;\n },\n // /!\\ Keep this setter empty (see the timeupdate handler above)\n set() {}\n }\n });\n if (settings.src) {\n this.src = settings.src;\n if (!this.preload_) {\n // Tracks will load on-demand.\n // Act like we're loaded for other purposes.\n this.loaded_ = true;\n }\n if (this.preload_ || settings.kind !== 'subtitles' && settings.kind !== 'captions') {\n loadTrack(this.src, this);\n }\n } else {\n this.loaded_ = true;\n }\n }\n startTracking() {\n // More precise cues based on requestVideoFrameCallback with a requestAnimationFram fallback\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n // Also listen to timeupdate in case rVFC/rAF stops (window in background, audio in video el)\n this.tech_.on('timeupdate', this.timeupdateHandler);\n }\n stopTracking() {\n if (this.rvf_) {\n this.tech_.cancelVideoFrameCallback(this.rvf_);\n this.rvf_ = undefined;\n }\n this.tech_.off('timeupdate', this.timeupdateHandler);\n }\n\n /**\n * Add a cue to the internal list of cues.\n *\n * @param {TextTrack~Cue} cue\n * The cue to add to our internal list\n */\n addCue(originalCue) {\n let cue = originalCue;\n if (window.vttjs && !(originalCue instanceof window.vttjs.VTTCue)) {\n cue = new window.vttjs.VTTCue(originalCue.startTime, originalCue.endTime, originalCue.text);\n for (const prop in originalCue) {\n if (!(prop in cue)) {\n cue[prop] = originalCue[prop];\n }\n }\n\n // make sure that `id` is copied over\n cue.id = originalCue.id;\n cue.originalCue_ = originalCue;\n }\n const tracks = this.tech_.textTracks();\n for (let i = 0; i < tracks.length; i++) {\n if (tracks[i] !== this) {\n tracks[i].removeCue(cue);\n }\n }\n this.cues_.push(cue);\n this.cues.setCues_(this.cues_);\n }\n\n /**\n * Remove a cue from our internal list\n *\n * @param {TextTrack~Cue} removeCue\n * The cue to remove from our internal list\n */\n removeCue(removeCue) {\n let i = this.cues_.length;\n while (i--) {\n const cue = this.cues_[i];\n if (cue === removeCue || cue.originalCue_ && cue.originalCue_ === removeCue) {\n this.cues_.splice(i, 1);\n this.cues.setCues_(this.cues_);\n break;\n }\n }\n }\n }\n\n /**\n * cuechange - One or more cues in the track have become active or stopped being active.\n */\n TextTrack.prototype.allowedEvents_ = {\n cuechange: 'cuechange'\n };\n\n /**\n * A representation of a single `AudioTrack`. If it is part of an {@link AudioTrackList}\n * only one `AudioTrack` in the list will be enabled at a time.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotrack}\n * @extends Track\n */\n class AudioTrack extends Track {\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {AudioTrack~Kind} [options.kind='']\n * A valid audio track kind\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.enabled]\n * If this track is the one that is currently playing. If this track is part of\n * an {@link AudioTrackList}, only one {@link AudioTrack} will be enabled.\n */\n constructor(options = {}) {\n const settings = merge$2(options, {\n kind: AudioTrackKind[options.kind] || ''\n });\n super(settings);\n let enabled = false;\n\n /**\n * @memberof AudioTrack\n * @member {boolean} enabled\n * If this `AudioTrack` is enabled or not. When setting this will\n * fire {@link AudioTrack#enabledchange} if the state of enabled is changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n Object.defineProperty(this, 'enabled', {\n get() {\n return enabled;\n },\n set(newEnabled) {\n // an invalid or unchanged value\n if (typeof newEnabled !== 'boolean' || newEnabled === enabled) {\n return;\n }\n enabled = newEnabled;\n\n /**\n * An event that fires when enabled changes on this track. This allows\n * the AudioTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event AudioTrack#enabledchange\n * @type {Event}\n */\n this.trigger('enabledchange');\n }\n });\n\n // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n if (settings.enabled) {\n this.enabled = settings.enabled;\n }\n this.loaded_ = true;\n }\n }\n\n /**\n * A representation of a single `VideoTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotrack}\n * @extends Track\n */\n class VideoTrack extends Track {\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid {@link VideoTrack~Kind}\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.selected]\n * If this track is the one that is currently playing.\n */\n constructor(options = {}) {\n const settings = merge$2(options, {\n kind: VideoTrackKind[options.kind] || ''\n });\n super(settings);\n let selected = false;\n\n /**\n * @memberof VideoTrack\n * @member {boolean} selected\n * If this `VideoTrack` is selected or not. When setting this will\n * fire {@link VideoTrack#selectedchange} if the state of selected changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n Object.defineProperty(this, 'selected', {\n get() {\n return selected;\n },\n set(newSelected) {\n // an invalid or unchanged value\n if (typeof newSelected !== 'boolean' || newSelected === selected) {\n return;\n }\n selected = newSelected;\n\n /**\n * An event that fires when selected changes on this track. This allows\n * the VideoTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event VideoTrack#selectedchange\n * @type {Event}\n */\n this.trigger('selectedchange');\n }\n });\n\n // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n if (settings.selected) {\n this.selected = settings.selected;\n }\n }\n }\n\n /**\n * @file html-track-element.js\n */\n\n /**\n * A single track represented in the DOM.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#htmltrackelement}\n * @extends EventTarget\n */\n class HTMLTrackElement extends EventTarget$2 {\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param { import('../tech/tech').default } options.tech\n * A reference to the tech that owns this HTMLTrackElement.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * version of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n constructor(options = {}) {\n super();\n let readyState;\n const track = new TextTrack(options);\n this.kind = track.kind;\n this.src = track.src;\n this.srclang = track.language;\n this.label = track.label;\n this.default = track.default;\n Object.defineProperties(this, {\n /**\n * @memberof HTMLTrackElement\n * @member {HTMLTrackElement~ReadyState} readyState\n * The current ready state of the track element.\n * @instance\n */\n readyState: {\n get() {\n return readyState;\n }\n },\n /**\n * @memberof HTMLTrackElement\n * @member {TextTrack} track\n * The underlying TextTrack object.\n * @instance\n *\n */\n track: {\n get() {\n return track;\n }\n }\n });\n readyState = HTMLTrackElement.NONE;\n\n /**\n * @listens TextTrack#loadeddata\n * @fires HTMLTrackElement#load\n */\n track.addEventListener('loadeddata', () => {\n readyState = HTMLTrackElement.LOADED;\n this.trigger({\n type: 'load',\n target: this\n });\n });\n }\n }\n HTMLTrackElement.prototype.allowedEvents_ = {\n load: 'load'\n };\n\n /**\n * The text track not loaded state.\n *\n * @type {number}\n * @static\n */\n HTMLTrackElement.NONE = 0;\n\n /**\n * The text track loading state.\n *\n * @type {number}\n * @static\n */\n HTMLTrackElement.LOADING = 1;\n\n /**\n * The text track loaded state.\n *\n * @type {number}\n * @static\n */\n HTMLTrackElement.LOADED = 2;\n\n /**\n * The text track failed to load state.\n *\n * @type {number}\n * @static\n */\n HTMLTrackElement.ERROR = 3;\n\n /*\n * This file contains all track properties that are used in\n * player.js, tech.js, html5.js and possibly other techs in the future.\n */\n\n const NORMAL = {\n audio: {\n ListClass: AudioTrackList,\n TrackClass: AudioTrack,\n capitalName: 'Audio'\n },\n video: {\n ListClass: VideoTrackList,\n TrackClass: VideoTrack,\n capitalName: 'Video'\n },\n text: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'Text'\n }\n };\n Object.keys(NORMAL).forEach(function (type) {\n NORMAL[type].getterName = `${type}Tracks`;\n NORMAL[type].privateName = `${type}Tracks_`;\n });\n const REMOTE = {\n remoteText: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'RemoteText',\n getterName: 'remoteTextTracks',\n privateName: 'remoteTextTracks_'\n },\n remoteTextEl: {\n ListClass: HtmlTrackElementList,\n TrackClass: HTMLTrackElement,\n capitalName: 'RemoteTextTrackEls',\n getterName: 'remoteTextTrackEls',\n privateName: 'remoteTextTrackEls_'\n }\n };\n const ALL = Object.assign({}, NORMAL, REMOTE);\n REMOTE.names = Object.keys(REMOTE);\n NORMAL.names = Object.keys(NORMAL);\n ALL.names = [].concat(REMOTE.names).concat(NORMAL.names);\n\n var minDoc = {};\n\n var topLevel = typeof commonjsGlobal !== 'undefined' ? commonjsGlobal : typeof window !== 'undefined' ? window : {};\n var doccy;\n if (typeof document !== 'undefined') {\n doccy = document;\n } else {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n if (!doccy) {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n }\n }\n var document_1 = doccy;\n\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n /* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */\n\n var _objCreate = Object.create || function () {\n function F() {}\n return function (o) {\n if (arguments.length !== 1) {\n throw new Error('Object.create shim only accepts one parameter.');\n }\n F.prototype = o;\n return new F();\n };\n }();\n\n // Creates a new ParserError object from an errorData object. The errorData\n // object should have default code and message properties. The default message\n // property can be overriden by passing in a message parameter.\n // See ParsingError.Errors below for acceptable errors.\n function ParsingError(errorData, message) {\n this.name = \"ParsingError\";\n this.code = errorData.code;\n this.message = message || errorData.message;\n }\n ParsingError.prototype = _objCreate(Error.prototype);\n ParsingError.prototype.constructor = ParsingError;\n\n // ParsingError metadata for acceptable ParsingErrors.\n ParsingError.Errors = {\n BadSignature: {\n code: 0,\n message: \"Malformed WebVTT signature.\"\n },\n BadTimeStamp: {\n code: 1,\n message: \"Malformed time stamp.\"\n }\n };\n\n // Try to parse input as a time stamp.\n function parseTimeStamp(input) {\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + (f | 0) / 1000;\n }\n var m = input.match(/^(\\d+):(\\d{1,2})(:\\d{1,2})?\\.(\\d{3})/);\n if (!m) {\n return null;\n }\n if (m[3]) {\n // Timestamp takes the form of [hours]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3].replace(\":\", \"\"), m[4]);\n } else if (m[1] > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[1], m[2], 0, m[4]);\n } else {\n // Timestamp takes the form of [minutes]:[seconds].[milliseconds]\n return computeSeconds(0, m[1], m[2], m[4]);\n }\n }\n\n // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n function Settings() {\n this.values = _objCreate(null);\n }\n Settings.prototype = {\n // Only accept the first assignment to any key.\n set: function (k, v) {\n if (!this.get(k) && v !== \"\") {\n this.values[k] = v;\n }\n },\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n get: function (k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n },\n // Check whether we have a value for a key.\n has: function (k) {\n return k in this.values;\n },\n // Accept a setting if its one of the given alternatives.\n alt: function (k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n },\n // Accept a setting if its a valid (signed) integer.\n integer: function (k, v) {\n if (/^-?\\d+$/.test(v)) {\n // integer\n this.set(k, parseInt(v, 10));\n }\n },\n // Accept a setting if its a valid percentage.\n percent: function (k, v) {\n if (v.match(/^([\\d]{1,3})(\\.[\\d]*)?%$/)) {\n v = parseFloat(v);\n if (v >= 0 && v <= 100) {\n this.set(k, v);\n return true;\n }\n }\n return false;\n }\n };\n\n // Helper function to parse input into groups separated by 'groupDelim', and\n // interprete each group as a key/value pair separated by 'keyValueDelim'.\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== \"string\") {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var k = kv[0].trim();\n var v = kv[1].trim();\n callback(k, v);\n }\n }\n function parseCue(input, cue, regionList) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n throw new ParsingError(ParsingError.Errors.BadTimeStamp, \"Malformed timestamp: \" + oInput);\n }\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, \"\");\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"region\":\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case \"vertical\":\n settings.alt(k, v, [\"rl\", \"lr\"]);\n break;\n case \"line\":\n var vals = v.split(\",\"),\n vals0 = vals[0];\n settings.integer(k, vals0);\n settings.percent(k, vals0) ? settings.set(\"snapToLines\", false) : null;\n settings.alt(k, vals0, [\"auto\"]);\n if (vals.length === 2) {\n settings.alt(\"lineAlign\", vals[1], [\"start\", \"center\", \"end\"]);\n }\n break;\n case \"position\":\n vals = v.split(\",\");\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt(\"positionAlign\", vals[1], [\"start\", \"center\", \"end\"]);\n }\n break;\n case \"size\":\n settings.percent(k, v);\n break;\n case \"align\":\n settings.alt(k, v, [\"start\", \"center\", \"end\", \"left\", \"right\"]);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get(\"region\", null);\n cue.vertical = settings.get(\"vertical\", \"\");\n try {\n cue.line = settings.get(\"line\", \"auto\");\n } catch (e) {}\n cue.lineAlign = settings.get(\"lineAlign\", \"start\");\n cue.snapToLines = settings.get(\"snapToLines\", true);\n cue.size = settings.get(\"size\", 100);\n // Safari still uses the old middle value and won't accept center\n try {\n cue.align = settings.get(\"align\", \"center\");\n } catch (e) {\n cue.align = settings.get(\"align\", \"middle\");\n }\n try {\n cue.position = settings.get(\"position\", \"auto\");\n } catch (e) {\n cue.position = settings.get(\"position\", {\n start: 0,\n left: 0,\n center: 50,\n middle: 50,\n end: 100,\n right: 100\n }, cue.align);\n }\n cue.positionAlign = settings.get(\"positionAlign\", {\n start: \"start\",\n left: \"start\",\n center: \"center\",\n middle: \"center\",\n end: \"end\",\n right: \"end\"\n }, cue.align);\n }\n function skipWhitespace() {\n input = input.replace(/^\\s+/, \"\");\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n cue.startTime = consumeTimeStamp(); // (1) collect cue start time\n skipWhitespace();\n if (input.substr(0, 3) !== \"-->\") {\n // (3) next characters must match \"-->\"\n throw new ParsingError(ParsingError.Errors.BadTimeStamp, \"Malformed time stamp (time stamps must be separated by '-->'): \" + oInput);\n }\n input = input.substr(3);\n skipWhitespace();\n cue.endTime = consumeTimeStamp(); // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n\n // When evaluating this file as part of a Webpack bundle for server\n // side rendering, `document` is an empty object.\n var TEXTAREA_ELEMENT = document_1.createElement && document_1.createElement(\"textarea\");\n var TAG_NAME = {\n c: \"span\",\n i: \"i\",\n b: \"b\",\n u: \"u\",\n ruby: \"ruby\",\n rt: \"rt\",\n v: \"span\",\n lang: \"span\"\n };\n\n // 5.1 default text color\n // 5.2 default text background color is equivalent to text color with bg_ prefix\n var DEFAULT_COLOR_CLASS = {\n white: 'rgba(255,255,255,1)',\n lime: 'rgba(0,255,0,1)',\n cyan: 'rgba(0,255,255,1)',\n red: 'rgba(255,0,0,1)',\n yellow: 'rgba(255,255,0,1)',\n magenta: 'rgba(255,0,255,1)',\n blue: 'rgba(0,0,255,1)',\n black: 'rgba(0,0,0,1)'\n };\n var TAG_ANNOTATION = {\n v: \"title\",\n lang: \"lang\"\n };\n var NEEDS_PARENT = {\n rt: \"ruby\"\n };\n\n // Parse content into a document fragment.\n function parseContent(window, input) {\n function nextToken() {\n // Check for end-of-string.\n if (!input) {\n return null;\n }\n\n // Consume 'n' characters from the input.\n function consume(result) {\n input = input.substr(result.length);\n return result;\n }\n var m = input.match(/^([^<]*)(<[^>]*>?)?/);\n // If there is some text before the next tag, return it, otherwise return\n // the tag.\n return consume(m[1] ? m[1] : m[2]);\n }\n function unescape(s) {\n TEXTAREA_ELEMENT.innerHTML = s;\n s = TEXTAREA_ELEMENT.textContent;\n TEXTAREA_ELEMENT.textContent = \"\";\n return s;\n }\n function shouldAdd(current, element) {\n return !NEEDS_PARENT[element.localName] || NEEDS_PARENT[element.localName] === current.localName;\n }\n\n // Create an element for this tag.\n function createElement(type, annotation) {\n var tagName = TAG_NAME[type];\n if (!tagName) {\n return null;\n }\n var element = window.document.createElement(tagName);\n var name = TAG_ANNOTATION[type];\n if (name && annotation) {\n element[name] = annotation.trim();\n }\n return element;\n }\n var rootDiv = window.document.createElement(\"div\"),\n current = rootDiv,\n t,\n tagStack = [];\n while ((t = nextToken()) !== null) {\n if (t[0] === '<') {\n if (t[1] === \"/\") {\n // If the closing tag matches, move back up to the parent node.\n if (tagStack.length && tagStack[tagStack.length - 1] === t.substr(2).replace(\">\", \"\")) {\n tagStack.pop();\n current = current.parentNode;\n }\n // Otherwise just ignore the end tag.\n continue;\n }\n var ts = parseTimeStamp(t.substr(1, t.length - 2));\n var node;\n if (ts) {\n // Timestamps are lead nodes as well.\n node = window.document.createProcessingInstruction(\"timestamp\", ts);\n current.appendChild(node);\n continue;\n }\n var m = t.match(/^<([^.\\s/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/);\n // If we can't parse the tag, skip to the next tag.\n if (!m) {\n continue;\n }\n // Try to construct an element, and ignore the tag if we couldn't.\n node = createElement(m[1], m[3]);\n if (!node) {\n continue;\n }\n // Determine if the tag should be added based on the context of where it\n // is placed in the cuetext.\n if (!shouldAdd(current, node)) {\n continue;\n }\n // Set the class list (as a list of classes, separated by space).\n if (m[2]) {\n var classes = m[2].split('.');\n classes.forEach(function (cl) {\n var bgColor = /^bg_/.test(cl);\n // slice out `bg_` if it's a background color\n var colorName = bgColor ? cl.slice(3) : cl;\n if (DEFAULT_COLOR_CLASS.hasOwnProperty(colorName)) {\n var propName = bgColor ? 'background-color' : 'color';\n var propValue = DEFAULT_COLOR_CLASS[colorName];\n node.style[propName] = propValue;\n }\n });\n node.className = classes.join(' ');\n }\n // Append the node to the current node, and enter the scope of the new\n // node.\n tagStack.push(m[1]);\n current.appendChild(node);\n current = node;\n continue;\n }\n\n // Text nodes are leaf nodes.\n current.appendChild(window.document.createTextNode(unescape(t)));\n }\n return rootDiv;\n }\n\n // This is a list of all the Unicode characters that have a strong\n // right-to-left category. What this means is that these characters are\n // written right-to-left for sure. It was generated by pulling all the strong\n // right-to-left characters out of the Unicode data table. That table can\n // found at: http://www.unicode.org/Public/UNIDATA/UnicodeData.txt\n var strongRTLRanges = [[0x5be, 0x5be], [0x5c0, 0x5c0], [0x5c3, 0x5c3], [0x5c6, 0x5c6], [0x5d0, 0x5ea], [0x5f0, 0x5f4], [0x608, 0x608], [0x60b, 0x60b], [0x60d, 0x60d], [0x61b, 0x61b], [0x61e, 0x64a], [0x66d, 0x66f], [0x671, 0x6d5], [0x6e5, 0x6e6], [0x6ee, 0x6ef], [0x6fa, 0x70d], [0x70f, 0x710], [0x712, 0x72f], [0x74d, 0x7a5], [0x7b1, 0x7b1], [0x7c0, 0x7ea], [0x7f4, 0x7f5], [0x7fa, 0x7fa], [0x800, 0x815], [0x81a, 0x81a], [0x824, 0x824], [0x828, 0x828], [0x830, 0x83e], [0x840, 0x858], [0x85e, 0x85e], [0x8a0, 0x8a0], [0x8a2, 0x8ac], [0x200f, 0x200f], [0xfb1d, 0xfb1d], [0xfb1f, 0xfb28], [0xfb2a, 0xfb36], [0xfb38, 0xfb3c], [0xfb3e, 0xfb3e], [0xfb40, 0xfb41], [0xfb43, 0xfb44], [0xfb46, 0xfbc1], [0xfbd3, 0xfd3d], [0xfd50, 0xfd8f], [0xfd92, 0xfdc7], [0xfdf0, 0xfdfc], [0xfe70, 0xfe74], [0xfe76, 0xfefc], [0x10800, 0x10805], [0x10808, 0x10808], [0x1080a, 0x10835], [0x10837, 0x10838], [0x1083c, 0x1083c], [0x1083f, 0x10855], [0x10857, 0x1085f], [0x10900, 0x1091b], [0x10920, 0x10939], [0x1093f, 0x1093f], [0x10980, 0x109b7], [0x109be, 0x109bf], [0x10a00, 0x10a00], [0x10a10, 0x10a13], [0x10a15, 0x10a17], [0x10a19, 0x10a33], [0x10a40, 0x10a47], [0x10a50, 0x10a58], [0x10a60, 0x10a7f], [0x10b00, 0x10b35], [0x10b40, 0x10b55], [0x10b58, 0x10b72], [0x10b78, 0x10b7f], [0x10c00, 0x10c48], [0x1ee00, 0x1ee03], [0x1ee05, 0x1ee1f], [0x1ee21, 0x1ee22], [0x1ee24, 0x1ee24], [0x1ee27, 0x1ee27], [0x1ee29, 0x1ee32], [0x1ee34, 0x1ee37], [0x1ee39, 0x1ee39], [0x1ee3b, 0x1ee3b], [0x1ee42, 0x1ee42], [0x1ee47, 0x1ee47], [0x1ee49, 0x1ee49], [0x1ee4b, 0x1ee4b], [0x1ee4d, 0x1ee4f], [0x1ee51, 0x1ee52], [0x1ee54, 0x1ee54], [0x1ee57, 0x1ee57], [0x1ee59, 0x1ee59], [0x1ee5b, 0x1ee5b], [0x1ee5d, 0x1ee5d], [0x1ee5f, 0x1ee5f], [0x1ee61, 0x1ee62], [0x1ee64, 0x1ee64], [0x1ee67, 0x1ee6a], [0x1ee6c, 0x1ee72], [0x1ee74, 0x1ee77], [0x1ee79, 0x1ee7c], [0x1ee7e, 0x1ee7e], [0x1ee80, 0x1ee89], [0x1ee8b, 0x1ee9b], [0x1eea1, 0x1eea3], [0x1eea5, 0x1eea9], [0x1eeab, 0x1eebb], [0x10fffd, 0x10fffd]];\n function isStrongRTLChar(charCode) {\n for (var i = 0; i < strongRTLRanges.length; i++) {\n var currentRange = strongRTLRanges[i];\n if (charCode >= currentRange[0] && charCode <= currentRange[1]) {\n return true;\n }\n }\n return false;\n }\n function determineBidi(cueDiv) {\n var nodeStack = [],\n text = \"\",\n charCode;\n if (!cueDiv || !cueDiv.childNodes) {\n return \"ltr\";\n }\n function pushNodes(nodeStack, node) {\n for (var i = node.childNodes.length - 1; i >= 0; i--) {\n nodeStack.push(node.childNodes[i]);\n }\n }\n function nextTextNode(nodeStack) {\n if (!nodeStack || !nodeStack.length) {\n return null;\n }\n var node = nodeStack.pop(),\n text = node.textContent || node.innerText;\n if (text) {\n // TODO: This should match all unicode type B characters (paragraph\n // separator characters). See issue #115.\n var m = text.match(/^.*(\\n|\\r)/);\n if (m) {\n nodeStack.length = 0;\n return m[0];\n }\n return text;\n }\n if (node.tagName === \"ruby\") {\n return nextTextNode(nodeStack);\n }\n if (node.childNodes) {\n pushNodes(nodeStack, node);\n return nextTextNode(nodeStack);\n }\n }\n pushNodes(nodeStack, cueDiv);\n while (text = nextTextNode(nodeStack)) {\n for (var i = 0; i < text.length; i++) {\n charCode = text.charCodeAt(i);\n if (isStrongRTLChar(charCode)) {\n return \"rtl\";\n }\n }\n }\n return \"ltr\";\n }\n function computeLinePos(cue) {\n if (typeof cue.line === \"number\" && (cue.snapToLines || cue.line >= 0 && cue.line <= 100)) {\n return cue.line;\n }\n if (!cue.track || !cue.track.textTrackList || !cue.track.textTrackList.mediaElement) {\n return -1;\n }\n var track = cue.track,\n trackList = track.textTrackList,\n count = 0;\n for (var i = 0; i < trackList.length && trackList[i] !== track; i++) {\n if (trackList[i].mode === \"showing\") {\n count++;\n }\n }\n return ++count * -1;\n }\n function StyleBox() {}\n\n // Apply styles to a div. If there is no div passed then it defaults to the\n // div on 'this'.\n StyleBox.prototype.applyStyles = function (styles, div) {\n div = div || this.div;\n for (var prop in styles) {\n if (styles.hasOwnProperty(prop)) {\n div.style[prop] = styles[prop];\n }\n }\n };\n StyleBox.prototype.formatStyle = function (val, unit) {\n return val === 0 ? 0 : val + unit;\n };\n\n // Constructs the computed display state of the cue (a div). Places the div\n // into the overlay which should be a block level element (usually a div).\n function CueStyleBox(window, cue, styleOptions) {\n StyleBox.call(this);\n this.cue = cue;\n\n // Parse our cue's text into a DOM tree rooted at 'cueDiv'. This div will\n // have inline positioning and will function as the cue background box.\n this.cueDiv = parseContent(window, cue.text);\n var styles = {\n color: \"rgba(255, 255, 255, 1)\",\n backgroundColor: \"rgba(0, 0, 0, 0.8)\",\n position: \"relative\",\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n display: \"inline\",\n writingMode: cue.vertical === \"\" ? \"horizontal-tb\" : cue.vertical === \"lr\" ? \"vertical-lr\" : \"vertical-rl\",\n unicodeBidi: \"plaintext\"\n };\n this.applyStyles(styles, this.cueDiv);\n\n // Create an absolutely positioned div that will be used to position the cue\n // div. Note, all WebVTT cue-setting alignments are equivalent to the CSS\n // mirrors of them except middle instead of center on Safari.\n this.div = window.document.createElement(\"div\");\n styles = {\n direction: determineBidi(this.cueDiv),\n writingMode: cue.vertical === \"\" ? \"horizontal-tb\" : cue.vertical === \"lr\" ? \"vertical-lr\" : \"vertical-rl\",\n unicodeBidi: \"plaintext\",\n textAlign: cue.align === \"middle\" ? \"center\" : cue.align,\n font: styleOptions.font,\n whiteSpace: \"pre-line\",\n position: \"absolute\"\n };\n this.applyStyles(styles);\n this.div.appendChild(this.cueDiv);\n\n // Calculate the distance from the reference edge of the viewport to the text\n // position of the cue box. The reference edge will be resolved later when\n // the box orientation styles are applied.\n var textPos = 0;\n switch (cue.positionAlign) {\n case \"start\":\n textPos = cue.position;\n break;\n case \"center\":\n textPos = cue.position - cue.size / 2;\n break;\n case \"end\":\n textPos = cue.position - cue.size;\n break;\n }\n\n // Horizontal box orientation; textPos is the distance from the left edge of the\n // area to the left edge of the box and cue.size is the distance extending to\n // the right from there.\n if (cue.vertical === \"\") {\n this.applyStyles({\n left: this.formatStyle(textPos, \"%\"),\n width: this.formatStyle(cue.size, \"%\")\n });\n // Vertical box orientation; textPos is the distance from the top edge of the\n // area to the top edge of the box and cue.size is the height extending\n // downwards from there.\n } else {\n this.applyStyles({\n top: this.formatStyle(textPos, \"%\"),\n height: this.formatStyle(cue.size, \"%\")\n });\n }\n this.move = function (box) {\n this.applyStyles({\n top: this.formatStyle(box.top, \"px\"),\n bottom: this.formatStyle(box.bottom, \"px\"),\n left: this.formatStyle(box.left, \"px\"),\n right: this.formatStyle(box.right, \"px\"),\n height: this.formatStyle(box.height, \"px\"),\n width: this.formatStyle(box.width, \"px\")\n });\n };\n }\n CueStyleBox.prototype = _objCreate(StyleBox.prototype);\n CueStyleBox.prototype.constructor = CueStyleBox;\n\n // Represents the co-ordinates of an Element in a way that we can easily\n // compute things with such as if it overlaps or intersects with another Element.\n // Can initialize it with either a StyleBox or another BoxPosition.\n function BoxPosition(obj) {\n // Either a BoxPosition was passed in and we need to copy it, or a StyleBox\n // was passed in and we need to copy the results of 'getBoundingClientRect'\n // as the object returned is readonly. All co-ordinate values are in reference\n // to the viewport origin (top left).\n var lh, height, width, top;\n if (obj.div) {\n height = obj.div.offsetHeight;\n width = obj.div.offsetWidth;\n top = obj.div.offsetTop;\n var rects = (rects = obj.div.childNodes) && (rects = rects[0]) && rects.getClientRects && rects.getClientRects();\n obj = obj.div.getBoundingClientRect();\n // In certain cases the outter div will be slightly larger then the sum of\n // the inner div's lines. This could be due to bold text, etc, on some platforms.\n // In this case we should get the average line height and use that. This will\n // result in the desired behaviour.\n lh = rects ? Math.max(rects[0] && rects[0].height || 0, obj.height / rects.length) : 0;\n }\n this.left = obj.left;\n this.right = obj.right;\n this.top = obj.top || top;\n this.height = obj.height || height;\n this.bottom = obj.bottom || top + (obj.height || height);\n this.width = obj.width || width;\n this.lineHeight = lh !== undefined ? lh : obj.lineHeight;\n }\n\n // Move the box along a particular axis. Optionally pass in an amount to move\n // the box. If no amount is passed then the default is the line height of the\n // box.\n BoxPosition.prototype.move = function (axis, toMove) {\n toMove = toMove !== undefined ? toMove : this.lineHeight;\n switch (axis) {\n case \"+x\":\n this.left += toMove;\n this.right += toMove;\n break;\n case \"-x\":\n this.left -= toMove;\n this.right -= toMove;\n break;\n case \"+y\":\n this.top += toMove;\n this.bottom += toMove;\n break;\n case \"-y\":\n this.top -= toMove;\n this.bottom -= toMove;\n break;\n }\n };\n\n // Check if this box overlaps another box, b2.\n BoxPosition.prototype.overlaps = function (b2) {\n return this.left < b2.right && this.right > b2.left && this.top < b2.bottom && this.bottom > b2.top;\n };\n\n // Check if this box overlaps any other boxes in boxes.\n BoxPosition.prototype.overlapsAny = function (boxes) {\n for (var i = 0; i < boxes.length; i++) {\n if (this.overlaps(boxes[i])) {\n return true;\n }\n }\n return false;\n };\n\n // Check if this box is within another box.\n BoxPosition.prototype.within = function (container) {\n return this.top >= container.top && this.bottom <= container.bottom && this.left >= container.left && this.right <= container.right;\n };\n\n // Check if this box is entirely within the container or it is overlapping\n // on the edge opposite of the axis direction passed. For example, if \"+x\" is\n // passed and the box is overlapping on the left edge of the container, then\n // return true.\n BoxPosition.prototype.overlapsOppositeAxis = function (container, axis) {\n switch (axis) {\n case \"+x\":\n return this.left < container.left;\n case \"-x\":\n return this.right > container.right;\n case \"+y\":\n return this.top < container.top;\n case \"-y\":\n return this.bottom > container.bottom;\n }\n };\n\n // Find the percentage of the area that this box is overlapping with another\n // box.\n BoxPosition.prototype.intersectPercentage = function (b2) {\n var x = Math.max(0, Math.min(this.right, b2.right) - Math.max(this.left, b2.left)),\n y = Math.max(0, Math.min(this.bottom, b2.bottom) - Math.max(this.top, b2.top)),\n intersectArea = x * y;\n return intersectArea / (this.height * this.width);\n };\n\n // Convert the positions from this box to CSS compatible positions using\n // the reference container's positions. This has to be done because this\n // box's positions are in reference to the viewport origin, whereas, CSS\n // values are in referecne to their respective edges.\n BoxPosition.prototype.toCSSCompatValues = function (reference) {\n return {\n top: this.top - reference.top,\n bottom: reference.bottom - this.bottom,\n left: this.left - reference.left,\n right: reference.right - this.right,\n height: this.height,\n width: this.width\n };\n };\n\n // Get an object that represents the box's position without anything extra.\n // Can pass a StyleBox, HTMLElement, or another BoxPositon.\n BoxPosition.getSimpleBoxPosition = function (obj) {\n var height = obj.div ? obj.div.offsetHeight : obj.tagName ? obj.offsetHeight : 0;\n var width = obj.div ? obj.div.offsetWidth : obj.tagName ? obj.offsetWidth : 0;\n var top = obj.div ? obj.div.offsetTop : obj.tagName ? obj.offsetTop : 0;\n obj = obj.div ? obj.div.getBoundingClientRect() : obj.tagName ? obj.getBoundingClientRect() : obj;\n var ret = {\n left: obj.left,\n right: obj.right,\n top: obj.top || top,\n height: obj.height || height,\n bottom: obj.bottom || top + (obj.height || height),\n width: obj.width || width\n };\n return ret;\n };\n\n // Move a StyleBox to its specified, or next best, position. The containerBox\n // is the box that contains the StyleBox, such as a div. boxPositions are\n // a list of other boxes that the styleBox can't overlap with.\n function moveBoxToLinePosition(window, styleBox, containerBox, boxPositions) {\n // Find the best position for a cue box, b, on the video. The axis parameter\n // is a list of axis, the order of which, it will move the box along. For example:\n // Passing [\"+x\", \"-x\"] will move the box first along the x axis in the positive\n // direction. If it doesn't find a good position for it there it will then move\n // it along the x axis in the negative direction.\n function findBestPosition(b, axis) {\n var bestPosition,\n specifiedPosition = new BoxPosition(b),\n percentage = 1; // Highest possible so the first thing we get is better.\n\n for (var i = 0; i < axis.length; i++) {\n while (b.overlapsOppositeAxis(containerBox, axis[i]) || b.within(containerBox) && b.overlapsAny(boxPositions)) {\n b.move(axis[i]);\n }\n // We found a spot where we aren't overlapping anything. This is our\n // best position.\n if (b.within(containerBox)) {\n return b;\n }\n var p = b.intersectPercentage(containerBox);\n // If we're outside the container box less then we were on our last try\n // then remember this position as the best position.\n if (percentage > p) {\n bestPosition = new BoxPosition(b);\n percentage = p;\n }\n // Reset the box position to the specified position.\n b = new BoxPosition(specifiedPosition);\n }\n return bestPosition || specifiedPosition;\n }\n var boxPosition = new BoxPosition(styleBox),\n cue = styleBox.cue,\n linePos = computeLinePos(cue),\n axis = [];\n\n // If we have a line number to align the cue to.\n if (cue.snapToLines) {\n var size;\n switch (cue.vertical) {\n case \"\":\n axis = [\"+y\", \"-y\"];\n size = \"height\";\n break;\n case \"rl\":\n axis = [\"+x\", \"-x\"];\n size = \"width\";\n break;\n case \"lr\":\n axis = [\"-x\", \"+x\"];\n size = \"width\";\n break;\n }\n var step = boxPosition.lineHeight,\n position = step * Math.round(linePos),\n maxPosition = containerBox[size] + step,\n initialAxis = axis[0];\n\n // If the specified intial position is greater then the max position then\n // clamp the box to the amount of steps it would take for the box to\n // reach the max position.\n if (Math.abs(position) > maxPosition) {\n position = position < 0 ? -1 : 1;\n position *= Math.ceil(maxPosition / step) * step;\n }\n\n // If computed line position returns negative then line numbers are\n // relative to the bottom of the video instead of the top. Therefore, we\n // need to increase our initial position by the length or width of the\n // video, depending on the writing direction, and reverse our axis directions.\n if (linePos < 0) {\n position += cue.vertical === \"\" ? containerBox.height : containerBox.width;\n axis = axis.reverse();\n }\n\n // Move the box to the specified position. This may not be its best\n // position.\n boxPosition.move(initialAxis, position);\n } else {\n // If we have a percentage line value for the cue.\n var calculatedPercentage = boxPosition.lineHeight / containerBox.height * 100;\n switch (cue.lineAlign) {\n case \"center\":\n linePos -= calculatedPercentage / 2;\n break;\n case \"end\":\n linePos -= calculatedPercentage;\n break;\n }\n\n // Apply initial line position to the cue box.\n switch (cue.vertical) {\n case \"\":\n styleBox.applyStyles({\n top: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"rl\":\n styleBox.applyStyles({\n left: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"lr\":\n styleBox.applyStyles({\n right: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n }\n axis = [\"+y\", \"-x\", \"+x\", \"-y\"];\n\n // Get the box position again after we've applied the specified positioning\n // to it.\n boxPosition = new BoxPosition(styleBox);\n }\n var bestPosition = findBestPosition(boxPosition, axis);\n styleBox.move(bestPosition.toCSSCompatValues(containerBox));\n }\n function WebVTT$1() {\n // Nothing\n }\n\n // Helper to allow strings to be decoded instead of the default binary utf8 data.\n WebVTT$1.StringDecoder = function () {\n return {\n decode: function (data) {\n if (!data) {\n return \"\";\n }\n if (typeof data !== \"string\") {\n throw new Error(\"Error - expected string data.\");\n }\n return decodeURIComponent(encodeURIComponent(data));\n }\n };\n };\n WebVTT$1.convertCueToDOMTree = function (window, cuetext) {\n if (!window || !cuetext) {\n return null;\n }\n return parseContent(window, cuetext);\n };\n var FONT_SIZE_PERCENT = 0.05;\n var FONT_STYLE = \"sans-serif\";\n var CUE_BACKGROUND_PADDING = \"1.5%\";\n\n // Runs the processing model over the cues and regions passed to it.\n // @param overlay A block level element (usually a div) that the computed cues\n // and regions will be placed into.\n WebVTT$1.processCues = function (window, cues, overlay) {\n if (!window || !cues || !overlay) {\n return null;\n }\n\n // Remove all previous children.\n while (overlay.firstChild) {\n overlay.removeChild(overlay.firstChild);\n }\n var paddedOverlay = window.document.createElement(\"div\");\n paddedOverlay.style.position = \"absolute\";\n paddedOverlay.style.left = \"0\";\n paddedOverlay.style.right = \"0\";\n paddedOverlay.style.top = \"0\";\n paddedOverlay.style.bottom = \"0\";\n paddedOverlay.style.margin = CUE_BACKGROUND_PADDING;\n overlay.appendChild(paddedOverlay);\n\n // Determine if we need to compute the display states of the cues. This could\n // be the case if a cue's state has been changed since the last computation or\n // if it has not been computed yet.\n function shouldCompute(cues) {\n for (var i = 0; i < cues.length; i++) {\n if (cues[i].hasBeenReset || !cues[i].displayState) {\n return true;\n }\n }\n return false;\n }\n\n // We don't need to recompute the cues' display states. Just reuse them.\n if (!shouldCompute(cues)) {\n for (var i = 0; i < cues.length; i++) {\n paddedOverlay.appendChild(cues[i].displayState);\n }\n return;\n }\n var boxPositions = [],\n containerBox = BoxPosition.getSimpleBoxPosition(paddedOverlay),\n fontSize = Math.round(containerBox.height * FONT_SIZE_PERCENT * 100) / 100;\n var styleOptions = {\n font: fontSize + \"px \" + FONT_STYLE\n };\n (function () {\n var styleBox, cue;\n for (var i = 0; i < cues.length; i++) {\n cue = cues[i];\n\n // Compute the intial position and styles of the cue div.\n styleBox = new CueStyleBox(window, cue, styleOptions);\n paddedOverlay.appendChild(styleBox.div);\n\n // Move the cue div to it's correct line position.\n moveBoxToLinePosition(window, styleBox, containerBox, boxPositions);\n\n // Remember the computed div so that we don't have to recompute it later\n // if we don't have too.\n cue.displayState = styleBox.div;\n boxPositions.push(BoxPosition.getSimpleBoxPosition(styleBox));\n }\n })();\n };\n WebVTT$1.Parser = function (window, vttjs, decoder) {\n if (!decoder) {\n decoder = vttjs;\n vttjs = {};\n }\n if (!vttjs) {\n vttjs = {};\n }\n this.window = window;\n this.vttjs = vttjs;\n this.state = \"INITIAL\";\n this.buffer = \"\";\n this.decoder = decoder || new TextDecoder(\"utf8\");\n this.regionList = [];\n };\n WebVTT$1.Parser.prototype = {\n // If the error is a ParsingError then report it to the consumer if\n // possible. If it's not a ParsingError then throw it like normal.\n reportOrThrowError: function (e) {\n if (e instanceof ParsingError) {\n this.onparsingerror && this.onparsingerror(e);\n } else {\n throw e;\n }\n },\n parse: function (data) {\n var self = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n self.buffer += self.decoder.decode(data, {\n stream: true\n });\n }\n function collectNextLine() {\n var buffer = self.buffer;\n var pos = 0;\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.substr(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n self.buffer = buffer.substr(pos);\n return line;\n }\n\n // 3.4 WebVTT region and WebVTT region settings syntax\n function parseRegion(input) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"id\":\n settings.set(k, v);\n break;\n case \"width\":\n settings.percent(k, v);\n break;\n case \"lines\":\n settings.integer(k, v);\n break;\n case \"regionanchor\":\n case \"viewportanchor\":\n var xy = v.split(',');\n if (xy.length !== 2) {\n break;\n }\n // We have to make sure both x and y parse, so use a temporary\n // settings object here.\n var anchor = new Settings();\n anchor.percent(\"x\", xy[0]);\n anchor.percent(\"y\", xy[1]);\n if (!anchor.has(\"x\") || !anchor.has(\"y\")) {\n break;\n }\n settings.set(k + \"X\", anchor.get(\"x\"));\n settings.set(k + \"Y\", anchor.get(\"y\"));\n break;\n case \"scroll\":\n settings.alt(k, v, [\"up\"]);\n break;\n }\n }, /=/, /\\s/);\n\n // Create the region, using default values for any values that were not\n // specified.\n if (settings.has(\"id\")) {\n var region = new (self.vttjs.VTTRegion || self.window.VTTRegion)();\n region.width = settings.get(\"width\", 100);\n region.lines = settings.get(\"lines\", 3);\n region.regionAnchorX = settings.get(\"regionanchorX\", 0);\n region.regionAnchorY = settings.get(\"regionanchorY\", 100);\n region.viewportAnchorX = settings.get(\"viewportanchorX\", 0);\n region.viewportAnchorY = settings.get(\"viewportanchorY\", 100);\n region.scroll = settings.get(\"scroll\", \"\");\n // Register the region.\n self.onregion && self.onregion(region);\n // Remember the VTTRegion for later in case we parse any VTTCues that\n // reference it.\n self.regionList.push({\n id: settings.get(\"id\"),\n region: region\n });\n }\n }\n\n // draft-pantos-http-live-streaming-20\n // https://tools.ietf.org/html/draft-pantos-http-live-streaming-20#section-3.5\n // 3.5 WebVTT\n function parseTimestampMap(input) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"MPEGT\":\n settings.integer(k + 'S', v);\n break;\n case \"LOCA\":\n settings.set(k + 'L', parseTimeStamp(v));\n break;\n }\n }, /[^\\d]:/, /,/);\n self.ontimestampmap && self.ontimestampmap({\n \"MPEGTS\": settings.get(\"MPEGTS\"),\n \"LOCAL\": settings.get(\"LOCAL\")\n });\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n if (input.match(/X-TIMESTAMP-MAP/)) {\n // This line contains HLS X-TIMESTAMP-MAP metadata\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"X-TIMESTAMP-MAP\":\n parseTimestampMap(v);\n break;\n }\n }, /=/);\n } else {\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"Region\":\n // 3.3 WebVTT region metadata header syntax\n parseRegion(v);\n break;\n }\n }, /:/);\n }\n }\n\n // 5.1 WebVTT file parsing.\n try {\n var line;\n if (self.state === \"INITIAL\") {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n line = collectNextLine();\n var m = line.match(/^WEBVTT([ \\t].*)?$/);\n if (!m || !m[0]) {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n self.state = \"HEADER\";\n }\n var alreadyCollectedLine = false;\n while (self.buffer) {\n // We can't parse a line until we have the full line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n switch (self.state) {\n case \"HEADER\":\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n self.state = \"ID\";\n }\n continue;\n case \"NOTE\":\n // Ignore NOTE blocks.\n if (!line) {\n self.state = \"ID\";\n }\n continue;\n case \"ID\":\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n self.state = \"NOTE\";\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n continue;\n }\n self.cue = new (self.vttjs.VTTCue || self.window.VTTCue)(0, 0, \"\");\n // Safari still uses the old middle value and won't accept center\n try {\n self.cue.align = \"center\";\n } catch (e) {\n self.cue.align = \"middle\";\n }\n self.state = \"CUE\";\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf(\"-->\") === -1) {\n self.cue.id = line;\n continue;\n }\n // Process line as start of a cue.\n /*falls through*/\n case \"CUE\":\n // 40 - Collect cue timings and settings.\n try {\n parseCue(line, self.cue, self.regionList);\n } catch (e) {\n self.reportOrThrowError(e);\n // In case of an error ignore rest of the cue.\n self.cue = null;\n self.state = \"BADCUE\";\n continue;\n }\n self.state = \"CUETEXT\";\n continue;\n case \"CUETEXT\":\n var hasSubstring = line.indexOf(\"-->\") !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n self.oncue && self.oncue(self.cue);\n self.cue = null;\n self.state = \"ID\";\n continue;\n }\n if (self.cue.text) {\n self.cue.text += \"\\n\";\n }\n self.cue.text += line.replace(/\\u2028/g, '\\n').replace(/u2029/g, '\\n');\n continue;\n case \"BADCUE\":\n // BADCUE\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n self.state = \"ID\";\n }\n continue;\n }\n }\n } catch (e) {\n self.reportOrThrowError(e);\n\n // If we are currently parsing a cue, report what we have.\n if (self.state === \"CUETEXT\" && self.cue && self.oncue) {\n self.oncue(self.cue);\n }\n self.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n self.state = self.state === \"INITIAL\" ? \"BADWEBVTT\" : \"BADCUE\";\n }\n return this;\n },\n flush: function () {\n var self = this;\n try {\n // Finish decoding the stream.\n self.buffer += self.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (self.cue || self.state === \"HEADER\") {\n self.buffer += \"\\n\\n\";\n self.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (self.state === \"INITIAL\") {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n } catch (e) {\n self.reportOrThrowError(e);\n }\n self.onflush && self.onflush();\n return this;\n }\n };\n var vtt = WebVTT$1;\n\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var autoKeyword = \"auto\";\n var directionSetting = {\n \"\": 1,\n \"lr\": 1,\n \"rl\": 1\n };\n var alignSetting = {\n \"start\": 1,\n \"center\": 1,\n \"end\": 1,\n \"left\": 1,\n \"right\": 1,\n \"auto\": 1,\n \"line-left\": 1,\n \"line-right\": 1\n };\n function findDirectionSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var dir = directionSetting[value.toLowerCase()];\n return dir ? value.toLowerCase() : false;\n }\n function findAlignSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var align = alignSetting[value.toLowerCase()];\n return align ? value.toLowerCase() : false;\n }\n function VTTCue(startTime, endTime, text) {\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n this.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = \"\";\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = \"\";\n var _snapToLines = true;\n var _line = \"auto\";\n var _lineAlign = \"start\";\n var _position = \"auto\";\n var _positionAlign = \"auto\";\n var _size = 100;\n var _align = \"center\";\n Object.defineProperties(this, {\n \"id\": {\n enumerable: true,\n get: function () {\n return _id;\n },\n set: function (value) {\n _id = \"\" + value;\n }\n },\n \"pauseOnExit\": {\n enumerable: true,\n get: function () {\n return _pauseOnExit;\n },\n set: function (value) {\n _pauseOnExit = !!value;\n }\n },\n \"startTime\": {\n enumerable: true,\n get: function () {\n return _startTime;\n },\n set: function (value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Start time must be set to a number.\");\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n },\n \"endTime\": {\n enumerable: true,\n get: function () {\n return _endTime;\n },\n set: function (value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"End time must be set to a number.\");\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n },\n \"text\": {\n enumerable: true,\n get: function () {\n return _text;\n },\n set: function (value) {\n _text = \"\" + value;\n this.hasBeenReset = true;\n }\n },\n \"region\": {\n enumerable: true,\n get: function () {\n return _region;\n },\n set: function (value) {\n _region = value;\n this.hasBeenReset = true;\n }\n },\n \"vertical\": {\n enumerable: true,\n get: function () {\n return _vertical;\n },\n set: function (value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError(\"Vertical: an invalid or illegal direction string was specified.\");\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n },\n \"snapToLines\": {\n enumerable: true,\n get: function () {\n return _snapToLines;\n },\n set: function (value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n },\n \"line\": {\n enumerable: true,\n get: function () {\n return _line;\n },\n set: function (value) {\n if (typeof value !== \"number\" && value !== autoKeyword) {\n throw new SyntaxError(\"Line: an invalid number or illegal string was specified.\");\n }\n _line = value;\n this.hasBeenReset = true;\n }\n },\n \"lineAlign\": {\n enumerable: true,\n get: function () {\n return _lineAlign;\n },\n set: function (value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n console.warn(\"lineAlign: an invalid or illegal string was specified.\");\n } else {\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }\n },\n \"position\": {\n enumerable: true,\n get: function () {\n return _position;\n },\n set: function (value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Position must be between 0 and 100.\");\n }\n _position = value;\n this.hasBeenReset = true;\n }\n },\n \"positionAlign\": {\n enumerable: true,\n get: function () {\n return _positionAlign;\n },\n set: function (value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n console.warn(\"positionAlign: an invalid or illegal string was specified.\");\n } else {\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }\n },\n \"size\": {\n enumerable: true,\n get: function () {\n return _size;\n },\n set: function (value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Size must be between 0 and 100.\");\n }\n _size = value;\n this.hasBeenReset = true;\n }\n },\n \"align\": {\n enumerable: true,\n get: function () {\n return _align;\n },\n set: function (value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"align: an invalid or illegal alignment string was specified.\");\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }\n });\n\n /**\n * Other spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n this.displayState = undefined;\n }\n\n /**\n * VTTCue methods\n */\n\n VTTCue.prototype.getCueAsHTML = function () {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n return WebVTT.convertCueToDOMTree(window, this.text);\n };\n var vttcue = VTTCue;\n\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var scrollSetting = {\n \"\": true,\n \"up\": true\n };\n function findScrollSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var scroll = scrollSetting[value.toLowerCase()];\n return scroll ? value.toLowerCase() : false;\n }\n function isValidPercentValue(value) {\n return typeof value === \"number\" && value >= 0 && value <= 100;\n }\n\n // VTTRegion shim http://dev.w3.org/html5/webvtt/#vttregion-interface\n function VTTRegion() {\n var _width = 100;\n var _lines = 3;\n var _regionAnchorX = 0;\n var _regionAnchorY = 100;\n var _viewportAnchorX = 0;\n var _viewportAnchorY = 100;\n var _scroll = \"\";\n Object.defineProperties(this, {\n \"width\": {\n enumerable: true,\n get: function () {\n return _width;\n },\n set: function (value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"Width must be between 0 and 100.\");\n }\n _width = value;\n }\n },\n \"lines\": {\n enumerable: true,\n get: function () {\n return _lines;\n },\n set: function (value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Lines must be set to a number.\");\n }\n _lines = value;\n }\n },\n \"regionAnchorY\": {\n enumerable: true,\n get: function () {\n return _regionAnchorY;\n },\n set: function (value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorX must be between 0 and 100.\");\n }\n _regionAnchorY = value;\n }\n },\n \"regionAnchorX\": {\n enumerable: true,\n get: function () {\n return _regionAnchorX;\n },\n set: function (value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorY must be between 0 and 100.\");\n }\n _regionAnchorX = value;\n }\n },\n \"viewportAnchorY\": {\n enumerable: true,\n get: function () {\n return _viewportAnchorY;\n },\n set: function (value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorY must be between 0 and 100.\");\n }\n _viewportAnchorY = value;\n }\n },\n \"viewportAnchorX\": {\n enumerable: true,\n get: function () {\n return _viewportAnchorX;\n },\n set: function (value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorX must be between 0 and 100.\");\n }\n _viewportAnchorX = value;\n }\n },\n \"scroll\": {\n enumerable: true,\n get: function () {\n return _scroll;\n },\n set: function (value) {\n var setting = findScrollSetting(value);\n // Have to check for false as an empty string is a legal value.\n if (setting === false) {\n console.warn(\"Scroll: an invalid or illegal string was specified.\");\n } else {\n _scroll = setting;\n }\n }\n }\n });\n }\n var vttregion = VTTRegion;\n\n var browserIndex = createCommonjsModule(function (module) {\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n // Default exports for Node. Export the extended versions of VTTCue and\n // VTTRegion in Node since we likely want the capability to convert back and\n // forth between JSON. If we don't then it's not that big of a deal since we're\n // off browser.\n\n var vttjs = module.exports = {\n WebVTT: vtt,\n VTTCue: vttcue,\n VTTRegion: vttregion\n };\n window_1.vttjs = vttjs;\n window_1.WebVTT = vttjs.WebVTT;\n var cueShim = vttjs.VTTCue;\n var regionShim = vttjs.VTTRegion;\n var nativeVTTCue = window_1.VTTCue;\n var nativeVTTRegion = window_1.VTTRegion;\n vttjs.shim = function () {\n window_1.VTTCue = cueShim;\n window_1.VTTRegion = regionShim;\n };\n vttjs.restore = function () {\n window_1.VTTCue = nativeVTTCue;\n window_1.VTTRegion = nativeVTTRegion;\n };\n if (!window_1.VTTCue) {\n vttjs.shim();\n }\n });\n browserIndex.WebVTT;\n browserIndex.VTTCue;\n browserIndex.VTTRegion;\n\n /**\n * @file tech.js\n */\n\n /**\n * An Object containing a structure like: `{src: 'url', type: 'mimetype'}` or string\n * that just contains the src url alone.\n * * `var SourceObject = {src: 'http://ex.com/video.mp4', type: 'video/mp4'};`\n * `var SourceString = 'http://example.com/some-video.mp4';`\n *\n * @typedef {Object|string} Tech~SourceObject\n *\n * @property {string} src\n * The url to the source\n *\n * @property {string} type\n * The mime type of the source\n */\n\n /**\n * A function used by {@link Tech} to create a new {@link TextTrack}.\n *\n * @private\n *\n * @param {Tech} self\n * An instance of the Tech class.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @param {Object} [options={}]\n * An object with additional text track options\n *\n * @return {TextTrack}\n * The text track that was created.\n */\n function createTrackHelper(self, kind, label, language, options = {}) {\n const tracks = self.textTracks();\n options.kind = kind;\n if (label) {\n options.label = label;\n }\n if (language) {\n options.language = language;\n }\n options.tech = self;\n const track = new ALL.text.TrackClass(options);\n tracks.addTrack(track);\n return track;\n }\n\n /**\n * This is the base class for media playback technology controllers, such as\n * {@link HTML5}\n *\n * @extends Component\n */\n class Tech extends Component$1 {\n /**\n * Create an instance of this Tech.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Function} [ready]\n * Callback function to call when the `HTML5` Tech is ready.\n */\n constructor(options = {}, ready = function () {}) {\n // we don't want the tech to report user activity automatically.\n // This is done manually in addControlsListeners\n options.reportTouchActivity = false;\n super(null, options, ready);\n this.onDurationChange_ = e => this.onDurationChange(e);\n this.trackProgress_ = e => this.trackProgress(e);\n this.trackCurrentTime_ = e => this.trackCurrentTime(e);\n this.stopTrackingCurrentTime_ = e => this.stopTrackingCurrentTime(e);\n this.disposeSourceHandler_ = e => this.disposeSourceHandler(e);\n this.queuedHanders_ = new Set();\n\n // keep track of whether the current source has played at all to\n // implement a very limited played()\n this.hasStarted_ = false;\n this.on('playing', function () {\n this.hasStarted_ = true;\n });\n this.on('loadstart', function () {\n this.hasStarted_ = false;\n });\n ALL.names.forEach(name => {\n const props = ALL[name];\n if (options && options[props.getterName]) {\n this[props.privateName] = options[props.getterName];\n }\n });\n\n // Manually track progress in cases where the browser/tech doesn't report it.\n if (!this.featuresProgressEvents) {\n this.manualProgressOn();\n }\n\n // Manually track timeupdates in cases where the browser/tech doesn't report it.\n if (!this.featuresTimeupdateEvents) {\n this.manualTimeUpdatesOn();\n }\n ['Text', 'Audio', 'Video'].forEach(track => {\n if (options[`native${track}Tracks`] === false) {\n this[`featuresNative${track}Tracks`] = false;\n }\n });\n if (options.nativeCaptions === false || options.nativeTextTracks === false) {\n this.featuresNativeTextTracks = false;\n } else if (options.nativeCaptions === true || options.nativeTextTracks === true) {\n this.featuresNativeTextTracks = true;\n }\n if (!this.featuresNativeTextTracks) {\n this.emulateTextTracks();\n }\n this.preloadTextTracks = options.preloadTextTracks !== false;\n this.autoRemoteTextTracks_ = new ALL.text.ListClass();\n this.initTrackListeners();\n\n // Turn on component tap events only if not using native controls\n if (!options.nativeControlsForTouch) {\n this.emitTapEvents();\n }\n if (this.constructor) {\n this.name_ = this.constructor.name || 'Unknown Tech';\n }\n }\n\n /**\n * A special function to trigger source set in a way that will allow player\n * to re-trigger if the player or tech are not ready yet.\n *\n * @fires Tech#sourceset\n * @param {string} src The source string at the time of the source changing.\n */\n triggerSourceset(src) {\n if (!this.isReady_) {\n // on initial ready we have to trigger source set\n // 1ms after ready so that player can watch for it.\n this.one('ready', () => this.setTimeout(() => this.triggerSourceset(src), 1));\n }\n\n /**\n * Fired when the source is set on the tech causing the media element\n * to reload.\n *\n * @see {@link Player#event:sourceset}\n * @event Tech#sourceset\n * @type {Event}\n */\n this.trigger({\n src,\n type: 'sourceset'\n });\n }\n\n /* Fallbacks for unsupported event types\n ================================================================================ */\n\n /**\n * Polyfill the `progress` event for browsers that don't support it natively.\n *\n * @see {@link Tech#trackProgress}\n */\n manualProgressOn() {\n this.on('durationchange', this.onDurationChange_);\n this.manualProgress = true;\n\n // Trigger progress watching when a source begins loading\n this.one('ready', this.trackProgress_);\n }\n\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n */\n manualProgressOff() {\n this.manualProgress = false;\n this.stopTrackingProgress();\n this.off('durationchange', this.onDurationChange_);\n }\n\n /**\n * This is used to trigger a `progress` event when the buffered percent changes. It\n * sets an interval function that will be called every 500 milliseconds to check if the\n * buffer end percent has changed.\n *\n * > This function is called by {@link Tech#manualProgressOn}\n *\n * @param {Event} event\n * The `ready` event that caused this to run.\n *\n * @listens Tech#ready\n * @fires Tech#progress\n */\n trackProgress(event) {\n this.stopTrackingProgress();\n this.progressInterval = this.setInterval(bind_(this, function () {\n // Don't trigger unless buffered amount is greater than last time\n\n const numBufferedPercent = this.bufferedPercent();\n if (this.bufferedPercent_ !== numBufferedPercent) {\n /**\n * See {@link Player#progress}\n *\n * @event Tech#progress\n * @type {Event}\n */\n this.trigger('progress');\n }\n this.bufferedPercent_ = numBufferedPercent;\n if (numBufferedPercent === 1) {\n this.stopTrackingProgress();\n }\n }), 500);\n }\n\n /**\n * Update our internal duration on a `durationchange` event by calling\n * {@link Tech#duration}.\n *\n * @param {Event} event\n * The `durationchange` event that caused this to run.\n *\n * @listens Tech#durationchange\n */\n onDurationChange(event) {\n this.duration_ = this.duration();\n }\n\n /**\n * Get and create a `TimeRange` object for buffering.\n *\n * @return { import('../utils/time').TimeRange }\n * The time range object that was created.\n */\n buffered() {\n return createTimeRanges$1(0, 0);\n }\n\n /**\n * Get the percentage of the current video that is currently buffered.\n *\n * @return {number}\n * A number from 0 to 1 that represents the decimal percentage of the\n * video that is buffered.\n *\n */\n bufferedPercent() {\n return bufferedPercent(this.buffered(), this.duration_);\n }\n\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n * Stop manually tracking progress events by clearing the interval that was set in\n * {@link Tech#trackProgress}.\n */\n stopTrackingProgress() {\n this.clearInterval(this.progressInterval);\n }\n\n /**\n * Polyfill the `timeupdate` event for browsers that don't support it.\n *\n * @see {@link Tech#trackCurrentTime}\n */\n manualTimeUpdatesOn() {\n this.manualTimeUpdates = true;\n this.on('play', this.trackCurrentTime_);\n this.on('pause', this.stopTrackingCurrentTime_);\n }\n\n /**\n * Turn off the polyfill for `timeupdate` events that was created in\n * {@link Tech#manualTimeUpdatesOn}\n */\n manualTimeUpdatesOff() {\n this.manualTimeUpdates = false;\n this.stopTrackingCurrentTime();\n this.off('play', this.trackCurrentTime_);\n this.off('pause', this.stopTrackingCurrentTime_);\n }\n\n /**\n * Sets up an interval function to track current time and trigger `timeupdate` every\n * 250 milliseconds.\n *\n * @listens Tech#play\n * @triggers Tech#timeupdate\n */\n trackCurrentTime() {\n if (this.currentTimeInterval) {\n this.stopTrackingCurrentTime();\n }\n this.currentTimeInterval = this.setInterval(function () {\n /**\n * Triggered at an interval of 250ms to indicated that time is passing in the video.\n *\n * @event Tech#timeupdate\n * @type {Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n\n // 42 = 24 fps // 250 is what Webkit uses // FF uses 15\n }, 250);\n }\n\n /**\n * Stop the interval function created in {@link Tech#trackCurrentTime} so that the\n * `timeupdate` event is no longer triggered.\n *\n * @listens {Tech#pause}\n */\n stopTrackingCurrentTime() {\n this.clearInterval(this.currentTimeInterval);\n\n // #1002 - if the video ends right before the next timeupdate would happen,\n // the progress bar won't make it all the way to the end\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n }\n\n /**\n * Turn off all event polyfills, clear the `Tech`s {@link AudioTrackList},\n * {@link VideoTrackList}, and {@link TextTrackList}, and dispose of this Tech.\n *\n * @fires Component#dispose\n */\n dispose() {\n // clear out all tracks because we can't reuse them between techs\n this.clearTracks(NORMAL.names);\n\n // Turn off any manual progress or timeupdate tracking\n if (this.manualProgress) {\n this.manualProgressOff();\n }\n if (this.manualTimeUpdates) {\n this.manualTimeUpdatesOff();\n }\n super.dispose();\n }\n\n /**\n * Clear out a single `TrackList` or an array of `TrackLists` given their names.\n *\n * > Note: Techs without source handlers should call this between sources for `video`\n * & `audio` tracks. You don't want to use them between tracks!\n *\n * @param {string[]|string} types\n * TrackList names to clear, valid names are `video`, `audio`, and\n * `text`.\n */\n clearTracks(types) {\n types = [].concat(types);\n // clear out all tracks because we can't reuse them between techs\n types.forEach(type => {\n const list = this[`${type}Tracks`]() || [];\n let i = list.length;\n while (i--) {\n const track = list[i];\n if (type === 'text') {\n this.removeRemoteTextTrack(track);\n }\n list.removeTrack(track);\n }\n });\n }\n\n /**\n * Remove any TextTracks added via addRemoteTextTrack that are\n * flagged for automatic garbage collection\n */\n cleanupAutoTextTracks() {\n const list = this.autoRemoteTextTracks_ || [];\n let i = list.length;\n while (i--) {\n const track = list[i];\n this.removeRemoteTextTrack(track);\n }\n }\n\n /**\n * Reset the tech, which will removes all sources and reset the internal readyState.\n *\n * @abstract\n */\n reset() {}\n\n /**\n * Get the value of `crossOrigin` from the tech.\n *\n * @abstract\n *\n * @see {Html5#crossOrigin}\n */\n crossOrigin() {}\n\n /**\n * Set the value of `crossOrigin` on the tech.\n *\n * @abstract\n *\n * @param {string} crossOrigin the crossOrigin value\n * @see {Html5#setCrossOrigin}\n */\n setCrossOrigin() {}\n\n /**\n * Get or set an error on the Tech.\n *\n * @param {MediaError} [err]\n * Error to set on the Tech\n *\n * @return {MediaError|null}\n * The current error object on the tech, or null if there isn't one.\n */\n error(err) {\n if (err !== undefined) {\n this.error_ = new MediaError(err);\n this.trigger('error');\n }\n return this.error_;\n }\n\n /**\n * Returns the `TimeRange`s that have been played through for the current source.\n *\n * > NOTE: This implementation is incomplete. It does not track the played `TimeRange`.\n * It only checks whether the source has played at all or not.\n *\n * @return {TimeRange}\n * - A single time range if this video has played\n * - An empty set of ranges if not.\n */\n played() {\n if (this.hasStarted_) {\n return createTimeRanges$1(0, 0);\n }\n return createTimeRanges$1();\n }\n\n /**\n * Start playback\n *\n * @abstract\n *\n * @see {Html5#play}\n */\n play() {}\n\n /**\n * Set whether we are scrubbing or not\n *\n * @abstract\n * @param {boolean} _isScrubbing\n * - true for we are currently scrubbing\n * - false for we are no longer scrubbing\n *\n * @see {Html5#setScrubbing}\n */\n setScrubbing(_isScrubbing) {}\n\n /**\n * Get whether we are scrubbing or not\n *\n * @abstract\n *\n * @see {Html5#scrubbing}\n */\n scrubbing() {}\n\n /**\n * Causes a manual time update to occur if {@link Tech#manualTimeUpdatesOn} was\n * previously called.\n *\n * @param {number} _seconds\n * Set the current time of the media to this.\n * @fires Tech#timeupdate\n */\n setCurrentTime(_seconds) {\n // improve the accuracy of manual timeupdates\n if (this.manualTimeUpdates) {\n /**\n * A manual `timeupdate` event.\n *\n * @event Tech#timeupdate\n * @type {Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n }\n }\n\n /**\n * Turn on listeners for {@link VideoTrackList}, {@link {AudioTrackList}, and\n * {@link TextTrackList} events.\n *\n * This adds {@link EventTarget~EventListeners} for `addtrack`, and `removetrack`.\n *\n * @fires Tech#audiotrackchange\n * @fires Tech#videotrackchange\n * @fires Tech#texttrackchange\n */\n initTrackListeners() {\n /**\n * Triggered when tracks are added or removed on the Tech {@link AudioTrackList}\n *\n * @event Tech#audiotrackchange\n * @type {Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link VideoTrackList}\n *\n * @event Tech#videotrackchange\n * @type {Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link TextTrackList}\n *\n * @event Tech#texttrackchange\n * @type {Event}\n */\n NORMAL.names.forEach(name => {\n const props = NORMAL[name];\n const trackListChanges = () => {\n this.trigger(`${name}trackchange`);\n };\n const tracks = this[props.getterName]();\n tracks.addEventListener('removetrack', trackListChanges);\n tracks.addEventListener('addtrack', trackListChanges);\n this.on('dispose', () => {\n tracks.removeEventListener('removetrack', trackListChanges);\n tracks.removeEventListener('addtrack', trackListChanges);\n });\n });\n }\n\n /**\n * Emulate TextTracks using vtt.js if necessary\n *\n * @fires Tech#vttjsloaded\n * @fires Tech#vttjserror\n */\n addWebVttScript_() {\n if (window.WebVTT) {\n return;\n }\n\n // Initially, Tech.el_ is a child of a dummy-div wait until the Component system\n // signals that the Tech is ready at which point Tech.el_ is part of the DOM\n // before inserting the WebVTT script\n if (document.body.contains(this.el())) {\n // load via require if available and vtt.js script location was not passed in\n // as an option. novtt builds will turn the above require call into an empty object\n // which will cause this if check to always fail.\n if (!this.options_['vtt.js'] && isPlain(browserIndex) && Object.keys(browserIndex).length > 0) {\n this.trigger('vttjsloaded');\n return;\n }\n\n // load vtt.js via the script location option or the cdn of no location was\n // passed in\n const script = document.createElement('script');\n script.src = this.options_['vtt.js'] || 'https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js';\n script.onload = () => {\n /**\n * Fired when vtt.js is loaded.\n *\n * @event Tech#vttjsloaded\n * @type {Event}\n */\n this.trigger('vttjsloaded');\n };\n script.onerror = () => {\n /**\n * Fired when vtt.js was not loaded due to an error\n *\n * @event Tech#vttjsloaded\n * @type {Event}\n */\n this.trigger('vttjserror');\n };\n this.on('dispose', () => {\n script.onload = null;\n script.onerror = null;\n });\n // but have not loaded yet and we set it to true before the inject so that\n // we don't overwrite the injected window.WebVTT if it loads right away\n window.WebVTT = true;\n this.el().parentNode.appendChild(script);\n } else {\n this.ready(this.addWebVttScript_);\n }\n }\n\n /**\n * Emulate texttracks\n *\n */\n emulateTextTracks() {\n const tracks = this.textTracks();\n const remoteTracks = this.remoteTextTracks();\n const handleAddTrack = e => tracks.addTrack(e.track);\n const handleRemoveTrack = e => tracks.removeTrack(e.track);\n remoteTracks.on('addtrack', handleAddTrack);\n remoteTracks.on('removetrack', handleRemoveTrack);\n this.addWebVttScript_();\n const updateDisplay = () => this.trigger('texttrackchange');\n const textTracksChanges = () => {\n updateDisplay();\n for (let i = 0; i < tracks.length; i++) {\n const track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\n if (track.mode === 'showing') {\n track.addEventListener('cuechange', updateDisplay);\n }\n }\n };\n textTracksChanges();\n tracks.addEventListener('change', textTracksChanges);\n tracks.addEventListener('addtrack', textTracksChanges);\n tracks.addEventListener('removetrack', textTracksChanges);\n this.on('dispose', function () {\n remoteTracks.off('addtrack', handleAddTrack);\n remoteTracks.off('removetrack', handleRemoveTrack);\n tracks.removeEventListener('change', textTracksChanges);\n tracks.removeEventListener('addtrack', textTracksChanges);\n tracks.removeEventListener('removetrack', textTracksChanges);\n for (let i = 0; i < tracks.length; i++) {\n const track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\n }\n });\n }\n\n /**\n * Create and returns a remote {@link TextTrack} object.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @return {TextTrack}\n * The TextTrack that gets created.\n */\n addTextTrack(kind, label, language) {\n if (!kind) {\n throw new Error('TextTrack kind is required but was not provided');\n }\n return createTrackHelper(this, kind, label, language);\n }\n\n /**\n * Create an emulated TextTrack for use by addRemoteTextTrack\n *\n * This is intended to be overridden by classes that inherit from\n * Tech in order to create native or custom TextTracks.\n *\n * @param {Object} options\n * The object should contain the options to initialize the TextTrack with.\n *\n * @param {string} [options.kind]\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata).\n *\n * @param {string} [options.label].\n * Label to identify the text track\n *\n * @param {string} [options.language]\n * Two letter language abbreviation.\n *\n * @return {HTMLTrackElement}\n * The track element that gets created.\n */\n createRemoteTextTrack(options) {\n const track = merge$2(options, {\n tech: this\n });\n return new REMOTE.remoteTextEl.TrackClass(track);\n }\n\n /**\n * Creates a remote text track object and returns an html track element.\n *\n * > Note: This can be an emulated {@link HTMLTrackElement} or a native one.\n *\n * @param {Object} options\n * See {@link Tech#createRemoteTextTrack} for more detailed properties.\n *\n * @param {boolean} [manualCleanup=false]\n * - When false: the TextTrack will be automatically removed from the video\n * element whenever the source changes\n * - When True: The TextTrack will have to be cleaned up manually\n *\n * @return {HTMLTrackElement}\n * An Html Track Element.\n *\n */\n addRemoteTextTrack(options = {}, manualCleanup) {\n const htmlTrackElement = this.createRemoteTextTrack(options);\n if (typeof manualCleanup !== 'boolean') {\n manualCleanup = false;\n }\n\n // store HTMLTrackElement and TextTrack to remote list\n this.remoteTextTrackEls().addTrackElement_(htmlTrackElement);\n this.remoteTextTracks().addTrack(htmlTrackElement.track);\n if (manualCleanup === false) {\n // create the TextTrackList if it doesn't exist\n this.ready(() => this.autoRemoteTextTracks_.addTrack(htmlTrackElement.track));\n }\n return htmlTrackElement;\n }\n\n /**\n * Remove a remote text track from the remote `TextTrackList`.\n *\n * @param {TextTrack} track\n * `TextTrack` to remove from the `TextTrackList`\n */\n removeRemoteTextTrack(track) {\n const trackElement = this.remoteTextTrackEls().getTrackElementByTrack_(track);\n\n // remove HTMLTrackElement and TextTrack from remote list\n this.remoteTextTrackEls().removeTrackElement_(trackElement);\n this.remoteTextTracks().removeTrack(track);\n this.autoRemoteTextTracks_.removeTrack(track);\n }\n\n /**\n * Gets available media playback quality metrics as specified by the W3C's Media\n * Playback Quality API.\n *\n * @see [Spec]{@link https://wicg.github.io/media-playback-quality}\n *\n * @return {Object}\n * An object with supported media playback quality metrics\n *\n * @abstract\n */\n getVideoPlaybackQuality() {\n return {};\n }\n\n /**\n * Attempt to create a floating video window always on top of other windows\n * so that users may continue consuming media while they interact with other\n * content sites, or applications on their device.\n *\n * @see [Spec]{@link https://wicg.github.io/picture-in-picture}\n *\n * @return {Promise|undefined}\n * A promise with a Picture-in-Picture window if the browser supports\n * Promises (or one was passed in as an option). It returns undefined\n * otherwise.\n *\n * @abstract\n */\n requestPictureInPicture() {\n return Promise.reject();\n }\n\n /**\n * A method to check for the value of the 'disablePictureInPicture'