{"version":3,"file":"js/chunk-vendors-08b76105.ae839182.js","mappings":"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","sources":["webpack://microsoft-academy/./node_modules/video.js/dist/video.es.js"],"sourcesContent":["/**\n * @license\n * Video.js 7.17.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\nimport window from 'global/window';\nimport document from 'global/document';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport safeParseTuple from 'safe-json-parse/tuple';\nimport keycode from 'keycode';\nimport XHR from '@videojs/xhr';\nimport vtt from 'videojs-vtt.js';\nimport _construct from '@babel/runtime/helpers/construct';\nimport _inherits from '@babel/runtime/helpers/inherits';\nimport _resolveUrl from '@videojs/vhs-utils/es/resolve-url.js';\nimport { Parser } from 'm3u8-parser';\nimport { browserSupportsCodec, DEFAULT_VIDEO_CODEC, DEFAULT_AUDIO_CODEC, muxerSupportsCodec, parseCodecs, translateLegacyCodec, codecsFromDefault, getMimeForCodec, isAudioCodec } from '@videojs/vhs-utils/es/codecs.js';\nimport { simpleTypeFromSourceType } from '@videojs/vhs-utils/es/media-types.js';\nimport { generateSidxKey, parseUTCTiming, parse, addSidxSegmentsToPlaylist } from 'mpd-parser';\nimport parseSidx from 'mux.js/lib/tools/parse-sidx';\nimport { getId3Offset } from '@videojs/vhs-utils/es/id3-helpers';\nimport { detectContainerForBytes, isLikelyFmp4MediaSegment } from '@videojs/vhs-utils/es/containers';\nimport { concatTypedArrays, stringToBytes, toUint8 } from '@videojs/vhs-utils/es/byte-helpers';\nimport { ONE_SECOND_IN_TS } from 'mux.js/lib/utils/clock';\n\nvar version$5 = \"7.17.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 */\nvar hooks_ = {};\n/**\n * Get a list of hooks for a specific lifecycle\n *\n * @param {string} type\n * the lifecyle 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\nvar hooks = function hooks(type, fn) {\n hooks_[type] = hooks_[type] || [];\n\n if (fn) {\n hooks_[type] = hooks_[type].concat(fn);\n }\n\n return hooks_[type];\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\n\nvar hook = function hook(type, fn) {\n hooks(type, fn);\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\n\nvar removeHook = function removeHook(type, fn) {\n var index = hooks(type).indexOf(fn);\n\n if (index <= -1) {\n return false;\n }\n\n hooks_[type] = hooks_[type].slice();\n hooks_[type].splice(index, 1);\n return true;\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\n\nvar hookOnce = function hookOnce(type, fn) {\n hooks(type, [].concat(fn).map(function (original) {\n var wrapper = function wrapper() {\n removeHook(type, wrapper);\n return original.apply(void 0, arguments);\n };\n\n return wrapper;\n }));\n};\n\n/**\n * @file fullscreen-api.js\n * @module fullscreen-api\n * @private\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\nvar FullscreenApi = {\n prefixed: true\n}; // browser API methods\n\nvar apiMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror', 'fullscreen'], // WebKit\n['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror', '-webkit-full-screen'], // Mozilla\n['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror', '-moz-full-screen'], // Microsoft\n['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError', '-ms-fullscreen']];\nvar specApi = apiMap[0];\nvar browserApi; // determine the supported set of functions\n\nfor (var 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} // map the browser API names to the spec API names\n\n\nif (browserApi) {\n for (var _i = 0; _i < browserApi.length; _i++) {\n FullscreenApi[specApi[_i]] = browserApi[_i];\n }\n\n FullscreenApi.prefixed = browserApi[0] !== specApi[0];\n}\n\n/**\n * @file create-logger.js\n * @module create-logger\n */\n\nvar history = [];\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\nvar LogByTypeFactory = function LogByTypeFactory(name, log) {\n return function (type, level, args) {\n var lvl = log.levels[level];\n var lvlRegExp = new RegExp(\"^(\" + lvl + \")$\");\n\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 } // Add console prefix after adding to history.\n\n\n args.unshift(name + ':'); // Add a clone of the args at this point to history.\n\n if (history) {\n history.push([].concat(args)); // only store 1000 history entries\n\n var splice = history.length - 1000;\n history.splice(0, splice > 0 ? splice : 0);\n } // If there's no console then don't try to output messages, but they will\n // still be stored in history.\n\n\n if (!window.console) {\n return;\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\n\n var fn = window.console[type];\n\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 } // Bail out if there's no console or if this type is not allowed by the\n // current logging level.\n\n\n if (!fn || !lvl || !lvlRegExp.test(type)) {\n return;\n }\n\n fn[Array.isArray(args) ? 'apply' : 'call'](window.console, args);\n };\n};\n\nfunction createLogger$1(name) {\n // This is the private tracking variable for logging level.\n var level = 'info'; // the curried logByType bound to the specific log and history\n\n var logByType;\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 * Mixed[]\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 {Mixed[]} args\n * One or more messages or objects that should be logged.\n */\n\n var log = function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n logByType('log', level, args);\n }; // This is the logByType helper that the logging methods below use\n\n\n logByType = LogByTypeFactory(name, log);\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\n log.createLogger = function (subname) {\n return 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\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 * 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\n log.level = function (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\n level = lvl;\n }\n\n return level;\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\n\n log.history = function () {\n return 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\n\n log.history.filter = function (fname) {\n return (history || []).filter(function (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 * Clears the internal history tracking, but does not prevent further history\n * tracking.\n */\n\n\n log.history.clear = function () {\n if (history) {\n history.length = 0;\n }\n };\n /**\n * Disable history tracking if it is currently enabled.\n */\n\n\n log.history.disable = function () {\n if (history !== null) {\n history.length = 0;\n history = null;\n }\n };\n /**\n * Enable history tracking if it is currently disabled.\n */\n\n\n log.history.enable = function () {\n if (history === null) {\n history = [];\n }\n };\n /**\n * Logs error messages. Similar to `console.error`.\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as an error\n */\n\n\n log.error = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return logByType('error', level, args);\n };\n /**\n * Logs warning messages. Similar to `console.warn`.\n *\n * @param {Mixed[]} args\n * One or more messages or objects that should be logged as a warning.\n */\n\n\n log.warn = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return 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 {Mixed[]} args\n * One or more messages or objects that should be logged as debug.\n */\n\n\n log.debug = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return logByType('debug', level, args);\n };\n\n return log;\n}\n\n/**\n * @file log.js\n * @module log\n */\nvar log$1 = createLogger$1('VIDEOJS');\nvar createLogger = log$1.createLogger;\n\n/**\n * @file obj.js\n * @module obj\n */\n\n/**\n * @callback obj:EachCallback\n *\n * @param {Mixed} 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 {Mixed} accum\n * The value that is accumulating over the reduce loop.\n *\n * @param {Mixed} 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 {Mixed}\n * The new accumulated value.\n */\nvar toString = Object.prototype.toString;\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\nvar keys = function keys(object) {\n return isObject(object) ? Object.keys(object) : [];\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\n\nfunction each(object, fn) {\n keys(object).forEach(function (key) {\n return 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 {Mixed} [initial = 0]\n * Starting value\n *\n * @return {Mixed}\n * The final accumulated value.\n */\n\nfunction reduce(object, fn, initial) {\n if (initial === void 0) {\n initial = 0;\n }\n\n return keys(object).reduce(function (accum, key) {\n return fn(accum, object[key], key);\n }, initial);\n}\n/**\n * Object.assign-style object shallow merge/extend.\n *\n * @param {Object} target\n * @param {Object} ...sources\n * @return {Object}\n */\n\nfunction assign(target) {\n for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n if (Object.assign) {\n return _extends.apply(void 0, [target].concat(sources));\n }\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n each(source, function (value, key) {\n target[key] = value;\n });\n });\n return target;\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\nfunction isObject(value) {\n return !!value && typeof value === 'object';\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\nfunction isPlain(value) {\n return isObject(value) && toString.call(value) === '[object Object]' && value.constructor === Object;\n}\n\n/**\n * @file computed-style.js\n * @module computed-style\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 * @function\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\nfunction computedStyle(el, prop) {\n if (!el || !prop) {\n return '';\n }\n\n if (typeof window.getComputedStyle === 'function') {\n var computedStyleValue;\n\n try {\n computedStyleValue = window.getComputedStyle(el);\n } catch (e) {\n return '';\n }\n\n return computedStyleValue ? computedStyleValue.getPropertyValue(prop) || computedStyleValue[prop] : '';\n }\n\n return '';\n}\n\n/**\n * @file browser.js\n * @module browser\n */\nvar USER_AGENT = window.navigator && window.navigator.userAgent || '';\nvar webkitVersionMap = /AppleWebKit\\/([\\d.]+)/i.exec(USER_AGENT);\nvar appleWebkitVersion = webkitVersionMap ? parseFloat(webkitVersionMap.pop()) : null;\n/**\n * Whether or not this device is an iPod.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_IPOD = /iPod/i.test(USER_AGENT);\n/**\n * The detected iOS version - or `null`.\n *\n * @static\n * @const\n * @type {string|null}\n */\n\nvar IOS_VERSION = function () {\n var match = USER_AGENT.match(/OS (\\d+)_/i);\n\n if (match && match[1]) {\n return match[1];\n }\n\n return null;\n}();\n/**\n * Whether or not this is an Android device.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_ANDROID = /Android/i.test(USER_AGENT);\n/**\n * The detected Android version - or `null`.\n *\n * @static\n * @const\n * @type {number|string|null}\n */\n\nvar 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 var match = USER_AGENT.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);\n\n if (!match) {\n return null;\n }\n\n var major = match[1] && parseFloat(match[1]);\n var minor = match[2] && parseFloat(match[2]);\n\n if (major && minor) {\n return parseFloat(match[1] + '.' + match[2]);\n } else if (major) {\n return major;\n }\n\n return null;\n}();\n/**\n * Whether or not this is a native Android browser.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_NATIVE_ANDROID = IS_ANDROID && ANDROID_VERSION < 5 && appleWebkitVersion < 537;\n/**\n * Whether or not this is Mozilla Firefox.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_FIREFOX = /Firefox/i.test(USER_AGENT);\n/**\n * Whether or not this is Microsoft Edge.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_EDGE = /Edg/i.test(USER_AGENT);\n/**\n * Whether or not this is Google Chrome.\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 * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_CHROME = !IS_EDGE && (/Chrome/i.test(USER_AGENT) || /CriOS/i.test(USER_AGENT));\n/**\n * The detected Google Chrome version - or `null`.\n *\n * @static\n * @const\n * @type {number|null}\n */\n\nvar CHROME_VERSION = function () {\n var match = USER_AGENT.match(/(Chrome|CriOS)\\/(\\d+)/);\n\n if (match && match[2]) {\n return parseFloat(match[2]);\n }\n\n return null;\n}();\n/**\n * The detected Internet Explorer version - or `null`.\n *\n * @static\n * @const\n * @type {number|null}\n */\n\nvar IE_VERSION = function () {\n var result = /MSIE\\s(\\d+)\\.\\d/.exec(USER_AGENT);\n var version = result && parseFloat(result[1]);\n\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\n return version;\n}();\n/**\n * Whether or not this is desktop Safari.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_SAFARI = /Safari/i.test(USER_AGENT) && !IS_CHROME && !IS_ANDROID && !IS_EDGE;\n/**\n * Whether or not this is a Windows machine.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_WINDOWS = /Windows/i.test(USER_AGENT);\n/**\n * Whether or not this device is touch-enabled.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar TOUCH_ENABLED = Boolean(isReal() && ('ontouchstart' in window || window.navigator.maxTouchPoints || window.DocumentTouch && window.document instanceof window.DocumentTouch));\n/**\n * Whether or not this device is an iPad.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_IPAD = /iPad/i.test(USER_AGENT) || IS_SAFARI && TOUCH_ENABLED && !/iPhone/i.test(USER_AGENT);\n/**\n * Whether or not this device is an iPhone.\n *\n * @static\n * @const\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\nvar IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;\n/**\n * Whether or not this is an iOS device.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;\n/**\n * Whether or not this is any flavor of Safari - including iOS.\n *\n * @static\n * @const\n * @type {Boolean}\n */\n\nvar IS_ANY_SAFARI = (IS_SAFARI || IS_IOS) && !IS_CHROME;\n\nvar browser = /*#__PURE__*/Object.freeze({\n __proto__: null,\n IS_IPOD: IS_IPOD,\n IOS_VERSION: IOS_VERSION,\n IS_ANDROID: IS_ANDROID,\n ANDROID_VERSION: ANDROID_VERSION,\n IS_NATIVE_ANDROID: IS_NATIVE_ANDROID,\n IS_FIREFOX: IS_FIREFOX,\n IS_EDGE: IS_EDGE,\n IS_CHROME: IS_CHROME,\n CHROME_VERSION: CHROME_VERSION,\n IE_VERSION: IE_VERSION,\n IS_SAFARI: IS_SAFARI,\n IS_WINDOWS: IS_WINDOWS,\n TOUCH_ENABLED: TOUCH_ENABLED,\n IS_IPAD: IS_IPAD,\n IS_IPHONE: IS_IPHONE,\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 * 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\nfunction 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 * 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\n\nfunction 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 * Produce a regular expression for matching a className within an elements className.\n *\n * @private\n * @param {string} className\n * The className to generate the RegExp for.\n *\n * @return {RegExp}\n * The RegExp that will check for a specific `className` in an elements\n * className.\n */\n\n\nfunction classRegExp(className) {\n return new RegExp('(^|\\\\s)' + className + '($|\\\\s)');\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\n\nfunction isReal() {\n // Both document and window will never be undefined thanks to `global`.\n return document === window.document;\n}\n/**\n * Determines, via duck typing, whether or not a value is a DOM element.\n *\n * @param {Mixed} 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\nfunction isEl(value) {\n return isObject(value) && value.nodeType === 1;\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\nfunction 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 * 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\nfunction createQuerier(method) {\n return function (selector, context) {\n if (!isNonBlankString(selector)) {\n return document[method](null);\n }\n\n if (isNonBlankString(context)) {\n context = document.querySelector(context);\n }\n\n var ctx = isEl(context) ? context : document;\n return ctx[method] && ctx[method](selector);\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 {module:dom~ContentDescriptor} content\n * A content descriptor object.\n *\n * @return {Element}\n * The element that was created.\n */\n\n\nfunction createEl(tagName, properties, attributes, content) {\n if (tagName === void 0) {\n tagName = 'div';\n }\n\n if (properties === void 0) {\n properties = {};\n }\n\n if (attributes === void 0) {\n attributes = {};\n }\n\n var el = document.createElement(tagName);\n Object.getOwnPropertyNames(properties).forEach(function (propName) {\n var val = properties[propName]; // See #2176\n // We originally were accepting both properties and attributes in the\n // same object, but that doesn't work so well.\n\n if (propName.indexOf('aria-') !== -1 || propName === 'role' || propName === 'type') {\n log$1.warn('Setting attributes in the second argument of createEl()\\n' + 'has been deprecated. Use the third argument instead.\\n' + (\"createEl(type, properties, attributes). Attempting to set \" + propName + \" to \" + val + \".\"));\n el.setAttribute(propName, val); // Handle textContent since it's not supported everywhere and we have a\n // method for it.\n } else 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\n if (content) {\n appendContent(el, content);\n }\n\n return el;\n}\n/**\n * Injects text into an element, replacing any existing contents entirely.\n *\n * @param {Element} 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\nfunction textContent(el, text) {\n if (typeof el.textContent === 'undefined') {\n el.innerText = text;\n } else {\n el.textContent = text;\n }\n\n return el;\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\nfunction prependTo(child, parent) {\n if (parent.firstChild) {\n parent.insertBefore(child, parent.firstChild);\n } else {\n parent.appendChild(child);\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\nfunction hasClass(element, classToCheck) {\n throwIfWhitespace(classToCheck);\n\n if (element.classList) {\n return element.classList.contains(classToCheck);\n }\n\n return classRegExp(classToCheck).test(element.className);\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} classToAdd\n * Class name to add.\n *\n * @return {Element}\n * The DOM element with the added class name.\n */\n\nfunction addClass(element, classToAdd) {\n if (element.classList) {\n element.classList.add(classToAdd); // Don't need to `throwIfWhitespace` here because `hasElClass` will do it\n // in the case of classList not being supported.\n } else if (!hasClass(element, classToAdd)) {\n element.className = (element.className + ' ' + classToAdd).trim();\n }\n\n return element;\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} classToRemove\n * Class name to remove\n *\n * @return {Element}\n * The DOM element with class name removed.\n */\n\nfunction removeClass(element, classToRemove) {\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\n if (element.classList) {\n element.classList.remove(classToRemove);\n } else {\n throwIfWhitespace(classToRemove);\n element.className = element.className.split(/\\s+/).filter(function (c) {\n return c !== classToRemove;\n }).join(' ');\n }\n\n return element;\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\nfunction toggleClass(element, classToToggle, predicate) {\n // This CANNOT use `classList` internally because IE11 does not support the\n // second parameter to the `classList.toggle()` method! Which is fine because\n // `classList` will be used by the add/remove functions.\n var has = hasClass(element, classToToggle);\n\n if (typeof predicate === 'function') {\n predicate = predicate(element, classToToggle);\n }\n\n if (typeof predicate !== 'boolean') {\n predicate = !has;\n } // If the necessary class operation matches the current state of the\n // element, no action is required.\n\n\n if (predicate === has) {\n return;\n }\n\n if (predicate) {\n addClass(element, classToToggle);\n } else {\n removeClass(element, classToToggle);\n }\n\n return element;\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\nfunction setAttributes(el, attributes) {\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n var attrValue = attributes[attrName];\n\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 * 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\nfunction getAttributes(tag) {\n var obj = {}; // 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\n var knownBooleans = ',' + 'autoplay,controls,playsinline,loop,muted,default,defaultMuted' + ',';\n\n if (tag && tag.attributes && tag.attributes.length > 0) {\n var attrs = tag.attributes;\n\n for (var i = attrs.length - 1; i >= 0; i--) {\n var attrName = attrs[i].name;\n var attrVal = attrs[i].value; // check for known booleans\n // the matching element property will return a value for typeof\n\n if (typeof tag[attrName] === 'boolean' || knownBooleans.indexOf(',' + attrName + ',') !== -1) {\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\n obj[attrName] = attrVal;\n }\n }\n\n return obj;\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\nfunction getAttribute(el, attribute) {\n return el.getAttribute(attribute);\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\nfunction setAttribute(el, attribute, value) {\n el.setAttribute(attribute, value);\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\nfunction removeAttribute(el, attribute) {\n el.removeAttribute(attribute);\n}\n/**\n * Attempt to block the ability to select text.\n */\n\nfunction blockTextSelection() {\n document.body.focus();\n\n document.onselectstart = function () {\n return false;\n };\n}\n/**\n * Turn off text selection blocking.\n */\n\nfunction unblockTextSelection() {\n document.onselectstart = function () {\n return true;\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\nfunction getBoundingClientRect(el) {\n if (el && el.getBoundingClientRect && el.parentNode) {\n var rect = el.getBoundingClientRect();\n var result = {};\n ['bottom', 'height', 'left', 'right', 'top', 'width'].forEach(function (k) {\n if (rect[k] !== undefined) {\n result[k] = rect[k];\n }\n });\n\n if (!result.height) {\n result.height = parseFloat(computedStyle(el, 'height'));\n }\n\n if (!result.width) {\n result.width = parseFloat(computedStyle(el, 'width'));\n }\n\n return result;\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\nfunction 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\n var width = el.offsetWidth;\n var height = el.offsetHeight;\n var left = 0;\n var top = 0;\n\n while (el.offsetParent && el !== document[FullscreenApi.fullscreenElement]) {\n left += el.offsetLeft;\n top += el.offsetTop;\n el = el.offsetParent;\n }\n\n return {\n left: left,\n top: top,\n width: width,\n height: height\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 {EventTarget~Event} event\n * Event object.\n *\n * @return {module:dom~Coordinates}\n * A coordinates object corresponding to the mouse position.\n *\n */\n\nfunction getPointerPosition(el, event) {\n var translated = {\n x: 0,\n y: 0\n };\n\n if (IS_IOS) {\n var item = el;\n\n while (item && item.nodeName.toLowerCase() !== 'html') {\n var transform = computedStyle(item, 'transform');\n\n if (/^matrix/.test(transform)) {\n var 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 var _values = transform.slice(9, -1).split(/,\\s/).map(Number);\n\n translated.x += _values[12];\n translated.y += _values[13];\n }\n\n item = item.parentNode;\n }\n }\n\n var position = {};\n var boxTarget = findPosition(event.target);\n var box = findPosition(el);\n var boxW = box.width;\n var boxH = box.height;\n var offsetY = event.offsetY - (box.top - boxTarget.top);\n var offsetX = event.offsetX - (box.left - boxTarget.left);\n\n if (event.changedTouches) {\n offsetX = event.changedTouches[0].pageX - box.left;\n offsetY = event.changedTouches[0].pageY + box.top;\n\n if (IS_IOS) {\n offsetX -= translated.x;\n offsetY -= translated.y;\n }\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 * Determines, via duck typing, whether or not a value is a text node.\n *\n * @param {Mixed} 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\nfunction isTextNode(value) {\n return isObject(value) && value.nodeType === 3;\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\nfunction emptyEl(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n\n return el;\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 * `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|TextNode|Array|Function} module:dom~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 {module:dom~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\nfunction 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 } // Next up, normalize to an array, so one or many items can be normalized,\n // filtered, and returned.\n\n\n return (Array.isArray(content) ? content : [content]).map(function (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\n if (isEl(value) || isTextNode(value)) {\n return value;\n }\n\n if (typeof value === 'string' && /\\S/.test(value)) {\n return document.createTextNode(value);\n }\n }).filter(function (value) {\n return 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 {module:dom~ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with appended normalized content.\n */\n\nfunction appendContent(el, content) {\n normalizeContent(content).forEach(function (node) {\n return el.appendChild(node);\n });\n return el;\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 {module:dom~ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with inserted normalized content.\n */\n\nfunction insertContent(el, content) {\n return appendContent(emptyEl(el), content);\n}\n/**\n * Check if an event was a single left click.\n *\n * @param {EventTarget~Event} event\n * Event object.\n *\n * @return {boolean}\n * Will be `true` if a single left click, `false` otherwise.\n */\n\nfunction 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 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 // Alright, then what this block does ?\n // this is for chrome `simulate mobile devices`\n // I want to support this as well\n return true;\n }\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 return true;\n } // `mouseup` event on a single left click has\n // `button` and `buttons` equal to 0\n\n\n if (event.type === 'mouseup' && event.button === 0 && event.buttons === 0) {\n return true;\n }\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 return false;\n }\n\n return true;\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\nvar $ = createQuerier('querySelector');\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\nvar $$ = createQuerier('querySelectorAll');\n\nvar 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,\n emptyEl: emptyEl,\n normalizeContent: normalizeContent,\n appendContent: appendContent,\n insertContent: insertContent,\n isSingleLeftClick: isSingleLeftClick,\n $: $,\n $$: $$\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 */\nvar _windowLoaded = false;\nvar videojs$1;\n/**\n * Set up any tags that have a data-setup `attribute` when the player is started.\n */\n\nvar autoSetup = function autoSetup() {\n if (videojs$1.options.autoSetup === false) {\n return;\n }\n\n var vids = Array.prototype.slice.call(document.getElementsByTagName('video'));\n var audios = Array.prototype.slice.call(document.getElementsByTagName('audio'));\n var divs = Array.prototype.slice.call(document.getElementsByTagName('video-js'));\n var mediaEls = vids.concat(audios, divs); // Check if any media elements exist\n\n if (mediaEls && mediaEls.length > 0) {\n for (var i = 0, e = mediaEls.length; i < e; i++) {\n var mediaEl = mediaEls[i]; // Check if element exists, has getAttribute func.\n\n if (mediaEl && mediaEl.getAttribute) {\n // Make sure this player hasn't already been set up.\n if (mediaEl.player === undefined) {\n var options = mediaEl.getAttribute('data-setup'); // Check if data-setup attr exists.\n // We only auto-setup if they've added the data-setup attr.\n\n if (options !== null) {\n // Create new video.js instance.\n videojs$1(mediaEl);\n }\n } // If getAttribute isn't defined, we need to wait for the DOM.\n\n } else {\n autoSetupTimeout(1);\n break;\n }\n } // No videos were found, so keep looping unless page is finished loading.\n\n } else if (!_windowLoaded) {\n autoSetupTimeout(1);\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\n\nfunction autoSetupTimeout(wait, vjs) {\n // Protect against breakage in non-browser environments\n if (!isReal()) {\n return;\n }\n\n if (vjs) {\n videojs$1 = vjs;\n }\n\n window.setTimeout(autoSetup, wait);\n}\n/**\n * Used to set the internal tracking of window loaded state to true.\n *\n * @private\n */\n\n\nfunction setWindowLoaded() {\n _windowLoaded = true;\n window.removeEventListener('load', setWindowLoaded);\n}\n\nif (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 * Create a DOM syle 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\nvar createStyleElement = function createStyleElement(className) {\n var style = document.createElement('style');\n style.className = className;\n return style;\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\nvar setTextContent = function setTextContent(el, content) {\n if (el.styleSheet) {\n el.styleSheet.cssText = content;\n } else {\n el.textContent = content;\n }\n};\n\n/**\n * @file guid.js\n * @module guid\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\nvar _initialGuid = 3;\n/**\n * Unique ID for an element or function\n *\n * @type {Number}\n */\n\nvar _guid = _initialGuid;\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\nfunction newGUID() {\n return _guid++;\n}\n\n/**\n * @file dom-data.js\n * @module dom-data\n */\nvar FakeWeakMap;\n\nif (!window.WeakMap) {\n FakeWeakMap = /*#__PURE__*/function () {\n function FakeWeakMap() {\n this.vdata = 'vdata' + Math.floor(window.performance && window.performance.now() || Date.now());\n this.data = {};\n }\n\n var _proto = FakeWeakMap.prototype;\n\n _proto.set = function set(key, value) {\n var access = key[this.vdata] || newGUID();\n\n if (!key[this.vdata]) {\n key[this.vdata] = access;\n }\n\n this.data[access] = value;\n return this;\n };\n\n _proto.get = function get(key) {\n var access = key[this.vdata]; // we have data, return it\n\n if (access) {\n return this.data[access];\n } // we don't have data, return nothing.\n // return undefined explicitly as that's the contract for this method\n\n\n log$1('We have no data for this element', key);\n return undefined;\n };\n\n _proto.has = function has(key) {\n var access = key[this.vdata];\n return access in this.data;\n };\n\n _proto[\"delete\"] = function _delete(key) {\n var access = key[this.vdata];\n\n if (access) {\n delete this.data[access];\n delete key[this.vdata];\n }\n };\n\n return FakeWeakMap;\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\n\nvar DomData = window.WeakMap ? new WeakMap() : new FakeWeakMap();\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 * 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\nfunction _cleanUpEvents(elem, type) {\n if (!DomData.has(elem)) {\n return;\n }\n\n var data = DomData.get(elem); // Remove the events of a particular type if there are none left\n\n if (data.handlers[type].length === 0) {\n delete data.handlers[type]; // data.handlers[type] = null;\n // Setting to null was causing an error with data.handlers\n // Remove the meta-handler from the element\n\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 } // Remove the events object if there are no types left\n\n\n if (Object.getOwnPropertyNames(data.handlers).length <= 0) {\n delete data.handlers;\n delete data.dispatcher;\n delete data.disabled;\n } // Finally remove the element data if there is no data left\n\n\n if (Object.getOwnPropertyNames(data).length === 0) {\n DomData[\"delete\"](elem);\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 {EventTarget~EventListener} callback\n * Event listener.\n */\n\n\nfunction _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 * 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\n\nfunction fixEvent(event) {\n if (event.fixed_) {\n return event;\n }\n\n function returnTrue() {\n return true;\n }\n\n function returnFalse() {\n return false;\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\n\n if (!event || !event.isPropagationStopped || !event.isImmediatePropagationStopped) {\n var old = event || window.event;\n event = {}; // 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\n for (var 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 if (key !== 'layerX' && key !== 'layerY' && key !== 'keyLocation' && key !== 'webkitMovementX' && key !== 'webkitMovementY') {\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 } // The event occurred on this element\n\n\n if (!event.target) {\n event.target = event.srcElement || document;\n } // Handle which other element the event is related to\n\n\n if (!event.relatedTarget) {\n event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;\n } // Stop the default browser action\n\n\n event.preventDefault = function () {\n if (old.preventDefault) {\n old.preventDefault();\n }\n\n event.returnValue = false;\n old.returnValue = false;\n event.defaultPrevented = true;\n };\n\n event.defaultPrevented = false; // Stop the event from bubbling\n\n event.stopPropagation = function () {\n if (old.stopPropagation) {\n old.stopPropagation();\n }\n\n event.cancelBubble = true;\n old.cancelBubble = true;\n event.isPropagationStopped = returnTrue;\n };\n\n event.isPropagationStopped = returnFalse; // Stop the event from bubbling and executing other handlers\n\n event.stopImmediatePropagation = function () {\n if (old.stopImmediatePropagation) {\n old.stopImmediatePropagation();\n }\n\n event.isImmediatePropagationStopped = returnTrue;\n event.stopPropagation();\n };\n\n event.isImmediatePropagationStopped = returnFalse; // Handle mouse position\n\n if (event.clientX !== null && event.clientX !== undefined) {\n var doc = document.documentElement;\n var 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 } // Handle key presses\n\n\n event.which = event.charCode || event.keyCode; // Fix button for mouse clicks:\n // 0 == left; 1 == middle; 2 == right\n\n if (event.button !== null && event.button !== undefined) {\n // The following is disabled because it does not pass videojs-standard\n // and... yikes.\n\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; // Returns fixed-up instance\n\n return event;\n}\n/**\n * Whether passive event listeners are supported\n */\n\nvar _supportsPassive;\n\nvar supportsPassive = function supportsPassive() {\n if (typeof _supportsPassive !== 'boolean') {\n _supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n _supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n window.removeEventListener('test', null, opts);\n } catch (e) {// disregard\n }\n }\n\n return _supportsPassive;\n};\n/**\n * Touch events Chrome expects to be passive\n */\n\n\nvar passiveEvents = ['touchstart', 'touchmove'];\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 {EventTarget~EventListener} fn\n * Event listener.\n */\n\nfunction on(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(on, elem, type, fn);\n }\n\n if (!DomData.has(elem)) {\n DomData.set(elem, {});\n }\n\n var data = DomData.get(elem); // We need a place to store all our handler data\n\n if (!data.handlers) {\n data.handlers = {};\n }\n\n if (!data.handlers[type]) {\n data.handlers[type] = [];\n }\n\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n\n data.handlers[type].push(fn);\n\n if (!data.dispatcher) {\n data.disabled = false;\n\n data.dispatcher = function (event, hash) {\n if (data.disabled) {\n return;\n }\n\n event = fixEvent(event);\n var handlers = data.handlers[event.type];\n\n if (handlers) {\n // Copy handlers so if handlers are added/removed during the process it doesn't throw everything off.\n var handlersCopy = handlers.slice(0);\n\n for (var 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\n if (data.handlers[type].length === 1) {\n if (elem.addEventListener) {\n var options = false;\n\n if (supportsPassive() && passiveEvents.indexOf(type) > -1) {\n options = {\n passive: true\n };\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 * 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 {EventTarget~EventListener} [fn]\n * Specific listener to remove. Don't include to remove listeners for an event\n * type.\n */\n\nfunction 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\n var data = DomData.get(elem); // If no events exist, nothing to unbind\n\n if (!data.handlers) {\n return;\n }\n\n if (Array.isArray(type)) {\n return _handleMultipleEvents(off, elem, type, fn);\n } // Utility function\n\n\n var removeType = function removeType(el, t) {\n data.handlers[t] = [];\n\n _cleanUpEvents(el, t);\n }; // Are we removing all bound events?\n\n\n if (type === undefined) {\n for (var t in data.handlers) {\n if (Object.prototype.hasOwnProperty.call(data.handlers || {}, t)) {\n removeType(elem, t);\n }\n }\n\n return;\n }\n\n var handlers = data.handlers[type]; // If no handlers exist, nothing to unbind\n\n if (!handlers) {\n return;\n } // If no listener was provided, remove all listeners for type\n\n\n if (!fn) {\n removeType(elem, type);\n return;\n } // We're only removing a single handler\n\n\n if (fn.guid) {\n for (var n = 0; n < handlers.length; n++) {\n if (handlers[n].guid === fn.guid) {\n handlers.splice(n--, 1);\n }\n }\n }\n\n _cleanUpEvents(elem, type);\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\nfunction 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 var elemData = DomData.has(elem) ? DomData.get(elem) : {};\n var parent = elem.parentNode || elem.ownerDocument; // type = event.type || event,\n // handler;\n // If an event name was passed as a string, creates an event out of it\n\n if (typeof event === 'string') {\n event = {\n type: event,\n target: elem\n };\n } else if (!event.target) {\n event.target = elem;\n } // Normalizes the event properties.\n\n\n event = fixEvent(event); // If the passed element has a dispatcher, executes the established handlers.\n\n if (elemData.dispatcher) {\n elemData.dispatcher.call(elem, event, hash);\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\n\n if (parent && !event.isPropagationStopped() && event.bubbles === true) {\n trigger.call(null, parent, event, hash); // 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\n var targetData = DomData.get(event.target); // Checks if the target has a default action for this event.\n\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; // Executes the default action.\n\n if (typeof event.target[event.type] === 'function') {\n event.target[event.type]();\n } // Re-enables event dispatching.\n\n\n targetData.disabled = false;\n }\n } // Inform the triggerer if the default was prevented by returning false\n\n\n return !event.defaultPrevented;\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\nfunction one(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(one, elem, type, fn);\n }\n\n var func = function func() {\n off(elem, type, func);\n fn.apply(this, arguments);\n }; // copy the guid to the new function so it can removed using the original function's ID\n\n\n func.guid = fn.guid = fn.guid || newGUID();\n on(elem, type, func);\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\nfunction any(elem, type, fn) {\n var func = function func() {\n off(elem, type, func);\n fn.apply(this, arguments);\n }; // copy the guid to the new function so it can removed using the original function's ID\n\n\n func.guid = fn.guid = fn.guid || newGUID(); // multiple ons, but one off for everything\n\n on(elem, type, func);\n}\n\nvar 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 */\nvar UPDATE_REFRESH_INTERVAL = 30;\n/**\n * Bind (a.k.a proxy or context). A simple method for changing the context of\n * a function.\n *\n * It also stores a unique id on the function so it can be easily removed from\n * events.\n *\n * @function\n * @param {Mixed} 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\nvar bind = function bind(context, fn, uid) {\n // Make sure the function has a unique ID\n if (!fn.guid) {\n fn.guid = newGUID();\n } // Create the new function that changes the context\n\n\n var bound = fn.bind(context); // 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\n bound.guid = uid ? uid + '_' + fn.guid : fn.guid;\n return bound;\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\nvar throttle = function throttle(fn, wait) {\n var last = window.performance.now();\n\n var throttled = function throttled() {\n var now = window.performance.now();\n\n if (now - last >= wait) {\n fn.apply(void 0, arguments);\n last = now;\n }\n };\n\n return throttled;\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\nvar debounce = function debounce(func, wait, immediate, context) {\n if (context === void 0) {\n context = window;\n }\n\n var timeout;\n\n var cancel = function cancel() {\n context.clearTimeout(timeout);\n timeout = null;\n };\n /* eslint-disable consistent-this */\n\n\n var debounced = function debounced() {\n var self = this;\n var args = arguments;\n\n var _later = function later() {\n timeout = null;\n _later = null;\n\n if (!immediate) {\n func.apply(self, args);\n }\n };\n\n if (!timeout && immediate) {\n func.apply(self, args);\n }\n\n context.clearTimeout(timeout);\n timeout = context.setTimeout(_later, wait);\n };\n /* eslint-enable consistent-this */\n\n\n debounced.cancel = cancel;\n return debounced;\n};\n\n/**\n * @file src/js/event-target.js\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\nvar EventTarget$2 = function EventTarget() {};\n/**\n * A Custom DOM event.\n *\n * @typedef {Object} EventTarget~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 {EventTarget~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\n\nEventTarget$2.prototype.allowedEvents_ = {};\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 {EventTarget~EventListener} fn\n * The function to call with `EventTarget`s\n */\n\nEventTarget$2.prototype.on = function (type, fn) {\n // Remove the addEventListener alias before calling Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n\n on(this, type, fn);\n this.addEventListener = ael;\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\n\nEventTarget$2.prototype.addEventListener = EventTarget$2.prototype.on;\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 {EventTarget~EventListener} fn\n * The function to remove.\n */\n\nEventTarget$2.prototype.off = function (type, fn) {\n off(this, type, fn);\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\n\nEventTarget$2.prototype.removeEventListener = EventTarget$2.prototype.off;\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 {EventTarget~EventListener} fn\n * The function to be called once for each event name.\n */\n\nEventTarget$2.prototype.one = function (type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n\n one(this, type, fn);\n this.addEventListener = ael;\n};\n\nEventTarget$2.prototype.any = function (type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n\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\n\nEventTarget$2.prototype.trigger = function (event) {\n var type = event.type || event; // 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\n if (typeof event === 'string') {\n event = {\n type: type\n };\n }\n\n event = fixEvent(event);\n\n if (this.allowedEvents_[type] && this['on' + type]) {\n this['on' + type](event);\n }\n\n trigger(this, event);\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\n\nEventTarget$2.prototype.dispatchEvent = EventTarget$2.prototype.trigger;\nvar EVENT_MAP;\n\nEventTarget$2.prototype.queueTrigger = function (event) {\n var _this = this;\n\n // only set up EVENT_MAP if it'll be used\n if (!EVENT_MAP) {\n EVENT_MAP = new Map();\n }\n\n var type = event.type || event;\n var map = EVENT_MAP.get(this);\n\n if (!map) {\n map = new Map();\n EVENT_MAP.set(this, map);\n }\n\n var oldTimeout = map.get(type);\n map[\"delete\"](type);\n window.clearTimeout(oldTimeout);\n var timeout = window.setTimeout(function () {\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\n _this.trigger(event);\n }, 0);\n map.set(type, timeout);\n};\n\n/**\n * @file mixins/evented.js\n * @module evented\n */\n\nvar objName = function objName(obj) {\n if (typeof obj.name === 'function') {\n return obj.name();\n }\n\n if (typeof obj.name === 'string') {\n return obj.name;\n }\n\n if (obj.name_) {\n return obj.name_;\n }\n\n if (obj.constructor && obj.constructor.name) {\n return obj.constructor.name;\n }\n\n return typeof obj;\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\n\nvar isEvented = function isEvented(object) {\n return object instanceof EventTarget$2 || !!object.eventBusEl_ && ['on', 'one', 'off', 'trigger'].every(function (k) {\n return typeof object[k] === 'function';\n });\n};\n/**\n * Adds a callback to run after the evented mixin applied.\n *\n * @param {Object} object\n * An object to Add\n * @param {Function} callback\n * The callback to run.\n */\n\n\nvar addEventedCallback = function addEventedCallback(target, callback) {\n if (isEvented(target)) {\n callback();\n } else {\n if (!target.eventedCallbacks) {\n target.eventedCallbacks = [];\n }\n\n target.eventedCallbacks.push(callback);\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\n\nvar isValidEventType = function isValidEventType(type) {\n return (// 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/**\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\n\nvar validateTarget = function 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 * 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\n\nvar validateEventType = function 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 * 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\n\nvar validateListener = function 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 * 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\n\nvar normalizeListenArgs = function normalizeListenArgs(self, args, fnName) {\n // If the number of arguments is less than 3, the target is always the\n // evented object itself.\n var isTargetingSelf = args.length < 3 || args[0] === self || args[0] === self.eventBusEl_;\n var target;\n var type;\n var listener;\n\n if (isTargetingSelf) {\n target = self.eventBusEl_; // Deal with cases where we got 3 arguments, but we are still listening to\n // the evented object itself.\n\n if (args.length >= 3) {\n args.shift();\n }\n\n type = args[0];\n listener = args[1];\n } else {\n target = args[0];\n type = args[1];\n listener = args[2];\n }\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: isTargetingSelf,\n target: target,\n type: type,\n listener: listener\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\n\nvar listen = function listen(target, method, type, listener) {\n validateTarget(target, target, method);\n\n if (target.nodeName) {\n Events[method](target, type, listener);\n } else {\n target[method](type, listener);\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\n\nvar 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: function on() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _normalizeListenArgs = normalizeListenArgs(this, args, 'on'),\n isTargetingSelf = _normalizeListenArgs.isTargetingSelf,\n target = _normalizeListenArgs.target,\n type = _normalizeListenArgs.type,\n listener = _normalizeListenArgs.listener;\n\n listen(target, 'on', type, listener); // If this object is listening to another evented object.\n\n if (!isTargetingSelf) {\n // If this object is disposed, remove the listener.\n var removeListenerOnDispose = function removeListenerOnDispose() {\n return _this.off(target, type, listener);\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\n\n removeListenerOnDispose.guid = listener.guid; // 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\n var removeRemoverOnTargetDispose = function removeRemoverOnTargetDispose() {\n return _this.off('dispose', removeListenerOnDispose);\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\n\n removeRemoverOnTargetDispose.guid = listener.guid;\n listen(this, 'on', 'dispose', removeListenerOnDispose);\n listen(target, 'on', 'dispose', removeRemoverOnTargetDispose);\n }\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: function one() {\n var _this2 = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var _normalizeListenArgs2 = normalizeListenArgs(this, args, 'one'),\n isTargetingSelf = _normalizeListenArgs2.isTargetingSelf,\n target = _normalizeListenArgs2.target,\n type = _normalizeListenArgs2.type,\n listener = _normalizeListenArgs2.listener; // Targeting this evented object.\n\n\n if (isTargetingSelf) {\n listen(target, 'one', type, listener); // 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 listners are removed on the first trigger!\n // see https://github.com/videojs/video.js/issues/5962\n var wrapper = function wrapper() {\n _this2.off(target, type, wrapper);\n\n for (var _len3 = arguments.length, largs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n largs[_key3] = arguments[_key3];\n }\n\n listener.apply(null, largs);\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\n\n wrapper.guid = listener.guid;\n listen(target, 'one', type, wrapper);\n }\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: function any() {\n var _this3 = this;\n\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var _normalizeListenArgs3 = normalizeListenArgs(this, args, 'any'),\n isTargetingSelf = _normalizeListenArgs3.isTargetingSelf,\n target = _normalizeListenArgs3.target,\n type = _normalizeListenArgs3.type,\n listener = _normalizeListenArgs3.listener; // Targeting this evented object.\n\n\n if (isTargetingSelf) {\n listen(target, 'any', type, listener); // Targeting another evented object.\n } else {\n var wrapper = function wrapper() {\n _this3.off(target, type, wrapper);\n\n for (var _len5 = arguments.length, largs = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n largs[_key5] = arguments[_key5];\n }\n\n listener.apply(null, largs);\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\n\n wrapper.guid = listener.guid;\n listen(target, 'any', type, wrapper);\n }\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: function off$1(targetOrType, typeOrListener, listener) {\n // Targeting this evented object.\n if (!targetOrType || isValidEventType(targetOrType)) {\n off(this.eventBusEl_, targetOrType, typeOrListener); // Targeting another evented object.\n } else {\n var target = targetOrType;\n var type = typeOrListener; // Fail fast and in a meaningful way!\n\n validateTarget(target, this, 'off');\n validateEventType(type, this, 'off');\n validateListener(listener, this, 'off'); // Ensure there's at least a guid, even if the function hasn't been used\n\n listener = bind(this, listener); // Remove the dispose listener on this evented object, which was given\n // the same guid as the event listener in on().\n\n this.off('dispose', listener);\n\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 /**\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: function trigger$1(event, hash) {\n validateTarget(this.eventBusEl_, this, 'trigger');\n var type = event && typeof event !== 'string' ? event.type : event;\n\n if (!isValidEventType(type)) {\n var 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 if (event) {\n (this.log || log$1).error(error);\n } else {\n throw new Error(error);\n }\n }\n\n return trigger(this.eventBusEl_, event, hash);\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\nfunction evented(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n eventBusKey = _options.eventBusKey; // Set or create the eventBusEl_.\n\n if (eventBusKey) {\n if (!target[eventBusKey].nodeName) {\n throw new Error(\"The eventBusKey \\\"\" + eventBusKey + \"\\\" does not refer to an element.\");\n }\n\n target.eventBusEl_ = target[eventBusKey];\n } else {\n target.eventBusEl_ = createEl('span', {\n className: 'vjs-event-bus'\n });\n }\n\n assign(target, EventedMixin);\n\n if (target.eventedCallbacks) {\n target.eventedCallbacks.forEach(function (callback) {\n callback();\n });\n } // When any evented object is disposed, it removes all its listeners.\n\n\n target.on('dispose', function () {\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(function () {\n target.eventBusEl_ = null;\n }, 0);\n });\n return target;\n}\n\n/**\n * @file mixins/stateful.js\n * @module stateful\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\nvar 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 /**\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: function setState(stateUpdates) {\n var _this = this;\n\n // Support providing the `stateUpdates` state as a function.\n if (typeof stateUpdates === 'function') {\n stateUpdates = stateUpdates();\n }\n\n var changes;\n each(stateUpdates, function (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\n _this.state[key] = value;\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\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: changes,\n type: 'statechanged'\n });\n }\n\n return changes;\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\nfunction stateful(target, defaultState) {\n assign(target, StatefulMixin); // This happens after the mixing-in because we need to replace the `state`\n // added in that step.\n\n target.state = assign({}, target.state, defaultState); // Auto-bind the `handleStateChanged` method of the target object if it exists.\n\n if (typeof target.handleStateChanged === 'function' && isEvented(target)) {\n target.on('statechanged', target.handleStateChanged);\n }\n\n return target;\n}\n\n/**\n * @file string-cases.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 */\nvar toLowerCase = function toLowerCase(string) {\n if (typeof string !== 'string') {\n return string;\n }\n\n return string.replace(/./, function (w) {\n return 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\nvar toTitleCase$1 = function toTitleCase(string) {\n if (typeof string !== 'string') {\n return string;\n }\n\n return string.replace(/./, function (w) {\n return 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\nvar titleCaseEquals = function titleCaseEquals(str1, str2) {\n return toTitleCase$1(str1) === toTitleCase$1(str2);\n};\n\n/**\n * @file merge-options.js\n * @module merge-options\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 * @static\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\nfunction mergeOptions$3() {\n var result = {};\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n sources.forEach(function (source) {\n if (!source) {\n return;\n }\n\n each(source, function (value, key) {\n if (!isPlain(value)) {\n result[key] = value;\n return;\n }\n\n if (!isPlain(result[key])) {\n result[key] = {};\n }\n\n result[key] = mergeOptions$3(result[key], value);\n });\n });\n return result;\n}\n\nvar MapSham = /*#__PURE__*/function () {\n function MapSham() {\n this.map_ = {};\n }\n\n var _proto = MapSham.prototype;\n\n _proto.has = function has(key) {\n return key in this.map_;\n };\n\n _proto[\"delete\"] = function _delete(key) {\n var has = this.has(key);\n delete this.map_[key];\n return has;\n };\n\n _proto.set = function set(key, value) {\n this.map_[key] = value;\n return this;\n };\n\n _proto.forEach = function forEach(callback, thisArg) {\n for (var key in this.map_) {\n callback.call(thisArg, this.map_[key], key, this);\n }\n };\n\n return MapSham;\n}();\n\nvar Map$1 = window.Map ? window.Map : MapSham;\n\nvar SetSham = /*#__PURE__*/function () {\n function SetSham() {\n this.set_ = {};\n }\n\n var _proto = SetSham.prototype;\n\n _proto.has = function has(key) {\n return key in this.set_;\n };\n\n _proto[\"delete\"] = function _delete(key) {\n var has = this.has(key);\n delete this.set_[key];\n return has;\n };\n\n _proto.add = function add(key) {\n this.set_[key] = 1;\n return this;\n };\n\n _proto.forEach = function forEach(callback, thisArg) {\n for (var key in this.set_) {\n callback.call(thisArg, key, key, this);\n }\n };\n\n return SetSham;\n}();\n\nvar Set = window.Set ? window.Set : SetSham;\n\n/**\n * Player Component - Base class for all UI objects\n *\n * @file component.js\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\nvar Component$1 = /*#__PURE__*/function () {\n /**\n * A callback that is called when a component is ready. Does not have any\n * paramters and any callback value will be ignored.\n *\n * @callback Component~ReadyCallback\n * @this Component\n */\n\n /**\n * Creates an instance of this class.\n *\n * @param {Player} 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 {Object[]} [options.children]\n * An array of children objects to intialize 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 {Component~ReadyCallback} [ready]\n * Function that gets called when the `Component` is ready.\n */\n function Component(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\n this.isDisposed_ = false; // Hold the reference to the parent component via `addChild` method\n\n this.parentComponent_ = null; // Make a copy of prototype.options_ to protect against overriding defaults\n\n this.options_ = mergeOptions$3({}, this.options_); // Updated options with supplied options\n\n options = this.options_ = mergeOptions$3(this.options_, options); // Get ID from options or options element if one is supplied\n\n this.id_ = options.id || options.el && options.el.id; // If there was no ID from the options, generate one\n\n if (!this.id_) {\n // Don't require the player ID function in the case of mock players\n var id = player && player.id && player.id() || 'no_player';\n this.id_ = id + \"_component_\" + newGUID();\n }\n\n this.name_ = options.name || null; // Create element if one wasn't provided in options\n\n if (options.el) {\n this.el_ = options.el;\n } else if (options.createEl !== false) {\n this.el_ = this.createEl();\n } // if evented is anything except false, we want to mixin in evented\n\n\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\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$1();\n this.clearingTimersOnDispose_ = false; // Add any child components in options\n\n if (options.initChildren !== false) {\n this.initChildren();\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\n\n this.ready(ready);\n\n if (options.reportTouchActivity !== false) {\n this.enableTouchActivity();\n }\n }\n /**\n * Dispose of the `Component` and all child components.\n *\n * @fires Component#dispose\n */\n\n\n var _proto = Component.prototype;\n\n _proto.dispose = function dispose() {\n // Bail out if the component has already been disposed.\n if (this.isDisposed_) {\n return;\n }\n\n if (this.readyQueue_) {\n this.readyQueue_.length = 0;\n }\n /**\n * Triggered when a `Component` is disposed.\n *\n * @event Component#dispose\n * @type {EventTarget~Event}\n *\n * @property {boolean} [bubbles=false]\n * set to false so that the dispose event does not\n * bubble up\n */\n\n\n this.trigger({\n type: 'dispose',\n bubbles: false\n });\n this.isDisposed_ = true; // Dispose all children.\n\n if (this.children_) {\n for (var i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i].dispose) {\n this.children_[i].dispose();\n }\n }\n } // Delete child references\n\n\n this.children_ = null;\n this.childIndex_ = null;\n this.childNameIndex_ = null;\n this.parentComponent_ = null;\n\n if (this.el_) {\n // Remove element from DOM\n if (this.el_.parentNode) {\n this.el_.parentNode.removeChild(this.el_);\n }\n\n this.el_ = null;\n } // remove reference to the player after disposing of the element\n\n\n this.player_ = null;\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 ;\n\n _proto.isDisposed = function isDisposed() {\n return Boolean(this.isDisposed_);\n }\n /**\n * Return the {@link Player} that the `Component` has attached to.\n *\n * @return {Player}\n * The player that this `Component` has attached to.\n */\n ;\n\n _proto.player = function player() {\n return this.player_;\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:mergeOptions}\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 ;\n\n _proto.options = function options(obj) {\n if (!obj) {\n return this.options_;\n }\n\n this.options_ = mergeOptions$3(this.options_, obj);\n return this.options_;\n }\n /**\n * Get the `Component`s DOM element\n *\n * @return {Element}\n * The DOM element for this `Component`.\n */\n ;\n\n _proto.el = function el() {\n return this.el_;\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 ;\n\n _proto.createEl = function createEl$1(tagName, properties, attributes) {\n return createEl(tagName, properties, attributes);\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 ;\n\n _proto.localize = function localize(string, tokens, defaultValue) {\n if (defaultValue === void 0) {\n defaultValue = string;\n }\n\n var code = this.player_.language && this.player_.language();\n var languages = this.player_.languages && this.player_.languages();\n var language = languages && languages[code];\n var primaryCode = code && code.split('-')[0];\n var primaryLang = languages && languages[primaryCode];\n var localizedString = defaultValue;\n\n if (language && language[string]) {\n localizedString = language[string];\n } else if (primaryLang && primaryLang[string]) {\n localizedString = primaryLang[string];\n }\n\n if (tokens) {\n localizedString = localizedString.replace(/\\{(\\d+)\\}/g, function (match, index) {\n var value = tokens[index - 1];\n var ret = value;\n\n if (typeof value === 'undefined') {\n ret = match;\n }\n\n return ret;\n });\n }\n\n return localizedString;\n }\n /**\n * Handles language change for the player in components. Should be overriden by sub-components.\n *\n * @abstract\n */\n ;\n\n _proto.handleLanguagechange = function handleLanguagechange() {}\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 ;\n\n _proto.contentEl = function contentEl() {\n return this.contentEl_ || this.el_;\n }\n /**\n * Get this `Component`s ID\n *\n * @return {string}\n * The id of this `Component`\n */\n ;\n\n _proto.id = function id() {\n return this.id_;\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 ;\n\n _proto.name = function name() {\n return this.name_;\n }\n /**\n * Get an array of all child components\n *\n * @return {Array}\n * The children\n */\n ;\n\n _proto.children = function children() {\n return this.children_;\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 ;\n\n _proto.getChildById = function getChildById(id) {\n return this.childIndex_[id];\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 ;\n\n _proto.getChild = function getChild(name) {\n if (!name) {\n return;\n }\n\n return this.childNameIndex_[name];\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 ;\n\n _proto.getDescendant = function getDescendant() {\n for (var _len = arguments.length, names = new Array(_len), _key = 0; _key < _len; _key++) {\n names[_key] = arguments[_key];\n }\n\n // flatten array argument into the main array\n names = names.reduce(function (acc, n) {\n return acc.concat(n);\n }, []);\n var currentChild = this;\n\n for (var i = 0; i < names.length; i++) {\n currentChild = currentChild.getChild(names[i]);\n\n if (!currentChild || !currentChild.getChild) {\n return;\n }\n }\n\n return currentChild;\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 ;\n\n _proto.addChild = function addChild(child, options, index) {\n if (options === void 0) {\n options = {};\n }\n\n if (index === void 0) {\n index = this.children_.length;\n }\n\n var component;\n var componentName; // If child is a string, create component with options\n\n if (typeof child === 'string') {\n componentName = toTitleCase$1(child);\n var componentClassName = options.componentClass || componentName; // Set name through options\n\n options.name = componentName; // Create a new object & element for this controls set\n // If there's no .player_, this is a player\n\n var ComponentClass = Component.getComponent(componentClassName);\n\n if (!ComponentClass) {\n throw new Error(\"Component \" + componentClassName + \" does not exist\");\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\n\n if (typeof ComponentClass !== 'function') {\n return null;\n }\n\n component = new ComponentClass(this.player_ || this, options); // child is a component instance\n } else {\n component = child;\n }\n\n if (component.parentComponent_) {\n component.parentComponent_.removeChild(component);\n }\n\n this.children_.splice(index, 0, component);\n component.parentComponent_ = this;\n\n if (typeof component.id === 'function') {\n this.childIndex_[component.id()] = component;\n } // If a name wasn't used to create the component, check if we can use the\n // name function of the component\n\n\n componentName = componentName || component.name && toTitleCase$1(component.name());\n\n if (componentName) {\n this.childNameIndex_[componentName] = component;\n this.childNameIndex_[toLowerCase(componentName)] = component;\n } // Add the UI object's element to the container div (box)\n // Having an element is not required\n\n\n if (typeof component.el === 'function' && component.el()) {\n // If inserting before a component, insert before that component's element\n var refNode = null;\n\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\n this.contentEl().insertBefore(component.el(), refNode);\n } // Return so it can stored on parent object if desired.\n\n\n return component;\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 ;\n\n _proto.removeChild = function removeChild(component) {\n if (typeof component === 'string') {\n component = this.getChild(component);\n }\n\n if (!component || !this.children_) {\n return;\n }\n\n var childFound = false;\n\n for (var 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\n if (!childFound) {\n return;\n }\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 var compEl = component.el();\n\n if (compEl && compEl.parentNode === this.contentEl()) {\n this.contentEl().removeChild(component.el());\n }\n }\n /**\n * Add and initialize default child `Component`s based upon options.\n */\n ;\n\n _proto.initChildren = function initChildren() {\n var _this = this;\n\n var children = this.options_.children;\n\n if (children) {\n // `this` is `parent`\n var parentOptions = this.options_;\n\n var handleAdd = function handleAdd(child) {\n var name = child.name;\n var opts = child.opts; // 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\n if (parentOptions[name] !== undefined) {\n opts = parentOptions[name];\n } // Allow for disabling default components\n // e.g. options['children']['posterImage'] = false\n\n\n if (opts === false) {\n return;\n } // Allow options to be passed as a simple boolean if no configuration\n // is necessary.\n\n\n if (opts === true) {\n opts = {};\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\n\n opts.playerOptions = _this.options_.playerOptions; // 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\n var newChild = _this.addChild(name, opts);\n\n if (newChild) {\n _this[name] = newChild;\n }\n }; // Allow for an array of children details to passed in the options\n\n\n var workingChildren;\n var Tech = Component.getComponent('Tech');\n\n if (Array.isArray(children)) {\n workingChildren = children;\n } else {\n workingChildren = Object.keys(children);\n }\n\n workingChildren // 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\n return child === wchild.name;\n });\n })).map(function (child) {\n var name;\n var opts;\n\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\n return {\n name: name,\n opts: opts\n };\n }).filter(function (child) {\n // we have to make sure that child.name isn't in the techOrder since\n // techs are registerd as Components but can't aren't compatible\n // See https://github.com/videojs/video.js/issues/2772\n var c = Component.getComponent(child.opts.componentClass || toTitleCase$1(child.name));\n return c && !Tech.isTech(c);\n }).forEach(handleAdd);\n }\n }\n /**\n * Builds the default DOM class name. Should be overriden by sub-components.\n *\n * @return {string}\n * The DOM class name for this object.\n *\n * @abstract\n */\n ;\n\n _proto.buildCSSClass = function buildCSSClass() {\n // Child classes can include a function that does:\n // return 'CLASS NAME' + this._super();\n return '';\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 * @return {Component}\n * Returns itself; method can be chained.\n */\n ;\n\n _proto.ready = function ready(fn, sync) {\n if (sync === void 0) {\n sync = false;\n }\n\n if (!fn) {\n return;\n }\n\n if (!this.isReady_) {\n this.readyQueue_ = this.readyQueue_ || [];\n this.readyQueue_.push(fn);\n return;\n }\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 * Trigger all the ready listeners for this `Component`.\n *\n * @fires Component#ready\n */\n ;\n\n _proto.triggerReady = function triggerReady() {\n this.isReady_ = true; // Ensure ready is triggered asynchronously\n\n this.setTimeout(function () {\n var readyQueue = this.readyQueue_; // Reset Ready Queue\n\n this.readyQueue_ = [];\n\n if (readyQueue && readyQueue.length > 0) {\n readyQueue.forEach(function (fn) {\n fn.call(this);\n }, this);\n } // Allow for using event listeners also\n\n /**\n * Triggered when a `Component` is ready.\n *\n * @event Component#ready\n * @type {EventTarget~Event}\n */\n\n\n this.trigger('ready');\n }, 1);\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 ;\n\n _proto.$ = function $$1(selector, context) {\n return $(selector, context || this.contentEl());\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 ;\n\n _proto.$$ = function $$$1(selector, context) {\n return $$(selector, context || this.contentEl());\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 ;\n\n _proto.hasClass = function hasClass$1(classToCheck) {\n return hasClass(this.el_, classToCheck);\n }\n /**\n * Add a CSS class name to the `Component`s element.\n *\n * @param {string} classToAdd\n * CSS class name to add\n */\n ;\n\n _proto.addClass = function addClass$1(classToAdd) {\n addClass(this.el_, classToAdd);\n }\n /**\n * Remove a CSS class name from the `Component`s element.\n *\n * @param {string} classToRemove\n * CSS class name to remove\n */\n ;\n\n _proto.removeClass = function removeClass$1(classToRemove) {\n removeClass(this.el_, classToRemove);\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 ;\n\n _proto.toggleClass = function toggleClass$1(classToToggle, predicate) {\n toggleClass(this.el_, classToToggle, predicate);\n }\n /**\n * Show the `Component`s element if it is hidden by removing the\n * 'vjs-hidden' class name from it.\n */\n ;\n\n _proto.show = function show() {\n this.removeClass('vjs-hidden');\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 ;\n\n _proto.hide = function hide() {\n this.addClass('vjs-hidden');\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 ;\n\n _proto.lockShowing = function lockShowing() {\n this.addClass('vjs-lock-showing');\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 ;\n\n _proto.unlockShowing = function unlockShowing() {\n this.removeClass('vjs-lock-showing');\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 attibute 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 ;\n\n _proto.getAttribute = function getAttribute$1(attribute) {\n return getAttribute(this.el_, attribute);\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 ;\n\n _proto.setAttribute = function setAttribute$1(attribute, value) {\n setAttribute(this.el_, attribute, value);\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 ;\n\n _proto.removeAttribute = function removeAttribute$1(attribute) {\n removeAttribute(this.el_, attribute);\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 ;\n\n _proto.width = function width(num, skipListeners) {\n return this.dimension('width', num, skipListeners);\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 ;\n\n _proto.height = function height(num, skipListeners) {\n return this.dimension('height', num, skipListeners);\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 ;\n\n _proto.dimensions = function dimensions(width, height) {\n // Skip componentresize listeners on width for optimization\n this.width(width, true);\n this.height(height);\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 ;\n\n _proto.dimension = function 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 } // Check if using css width/height (% or px) and adjust\n\n\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 } // skipListeners allows us to avoid triggering the resize event when setting both width and height\n\n\n if (!skipListeners) {\n /**\n * Triggered when a component is resized.\n *\n * @event Component#componentresize\n * @type {EventTarget~Event}\n */\n this.trigger('componentresize');\n }\n\n return;\n } // Not setting a value, so getting it\n // Make sure element exists\n\n\n if (!this.el_) {\n return 0;\n } // Get dimension value from style\n\n\n var val = this.el_.style[widthOrHeight];\n var pxIndex = val.indexOf('px');\n\n if (pxIndex !== -1) {\n // Return the pixel value with no 'px'\n return parseInt(val.slice(0, pxIndex), 10);\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\n\n return parseInt(this.el_['offset' + toTitleCase$1(widthOrHeight)], 10);\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 ;\n\n _proto.currentDimension = function currentDimension(widthOrHeight) {\n var computedWidthOrHeight = 0;\n\n if (widthOrHeight !== 'width' && widthOrHeight !== 'height') {\n throw new Error('currentDimension only accepts width or height value');\n }\n\n computedWidthOrHeight = computedStyle(this.el_, widthOrHeight); // remove 'px' from variable and parse as integer\n\n computedWidthOrHeight = parseFloat(computedWidthOrHeight); // 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\n if (computedWidthOrHeight === 0 || isNaN(computedWidthOrHeight)) {\n var rule = \"offset\" + toTitleCase$1(widthOrHeight);\n computedWidthOrHeight = this.el_[rule];\n }\n\n return computedWidthOrHeight;\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 ;\n\n _proto.currentDimensions = function currentDimensions() {\n return {\n width: this.currentDimension('width'),\n height: this.currentDimension('height')\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 ;\n\n _proto.currentWidth = function currentWidth() {\n return this.currentDimension('width');\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 ;\n\n _proto.currentHeight = function currentHeight() {\n return this.currentDimension('height');\n }\n /**\n * Set the focus to this component\n */\n ;\n\n _proto.focus = function focus() {\n this.el_.focus();\n }\n /**\n * Remove the focus from this component\n */\n ;\n\n _proto.blur = function blur() {\n this.el_.blur();\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 {EventTarget~Event} event\n * The `keydown` event that caused this function to be called.\n */\n ;\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n if (this.player_) {\n // We only stop propagation here because we want unhandled events to fall\n // back to the browser.\n event.stopPropagation();\n this.player_.handleKeyDown(event);\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 {EventTarget~Event} event\n * The event that caused this function to be called.\n */\n ;\n\n _proto.handleKeyPress = function handleKeyPress(event) {\n this.handleKeyDown(event);\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 ;\n\n _proto.emitTapEvents = function emitTapEvents() {\n // Track the start time so we can determine how long the touch lasted\n var touchStart = 0;\n var firstTouch = null; // 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\n var tapMovementThreshold = 10; // The maximum length a touch can be while still being considered a tap\n\n var touchTimeThreshold = 200;\n var 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 }; // Record start time so we can detect a tap vs. \"touch and hold\"\n\n touchStart = window.performance.now(); // Reset couldBeTap tracking\n\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 var xdiff = event.touches[0].pageX - firstTouch.pageX;\n var ydiff = event.touches[0].pageY - firstTouch.pageY;\n var touchDistance = Math.sqrt(xdiff * xdiff + ydiff * ydiff);\n\n if (touchDistance > tapMovementThreshold) {\n couldBeTap = false;\n }\n }\n });\n\n var noTap = function noTap() {\n couldBeTap = false;\n }; // TODO: Listen to the original target. http://youtu.be/DujfpXOKUp8?t=13m8s\n\n\n this.on('touchleave', noTap);\n this.on('touchcancel', noTap); // When the touch ends, measure how long it took and trigger the appropriate\n // event\n\n this.on('touchend', function (event) {\n firstTouch = null; // Proceed only if the touchmove/leave/cancel event didn't happen\n\n if (couldBeTap === true) {\n // Measure how long the touch lasted\n var touchTime = window.performance.now() - touchStart; // Make sure the touch was less than the threshold to be considered a tap\n\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 {EventTarget~Event}\n */\n\n this.trigger('tap'); // 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 * 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 ;\n\n _proto.enableTouchActivity = function 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 } // listener for reporting that the user is active\n\n\n var report = bind(this.player(), this.player().reportUserActivity);\n var touchHolding;\n this.on('touchstart', function () {\n report(); // 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\n this.clearInterval(touchHolding); // report at the same interval as activityCheck\n\n touchHolding = this.setInterval(report, 250);\n });\n\n var touchEnd = function touchEnd(event) {\n report(); // stop the interval that maintains activity if the touch is holding\n\n this.clearInterval(touchHolding);\n };\n\n this.on('touchmove', report);\n this.on('touchend', touchEnd);\n this.on('touchcancel', touchEnd);\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 ;\n\n _proto.setTimeout = function setTimeout(fn, timeout) {\n var _this2 = this;\n\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(function () {\n if (_this2.setTimeoutIds_.has(timeoutId)) {\n _this2.setTimeoutIds_[\"delete\"](timeoutId);\n }\n\n fn();\n }, timeout);\n this.setTimeoutIds_.add(timeoutId);\n return timeoutId;\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 ;\n\n _proto.clearTimeout = function clearTimeout(timeoutId) {\n if (this.setTimeoutIds_.has(timeoutId)) {\n this.setTimeoutIds_[\"delete\"](timeoutId);\n window.clearTimeout(timeoutId);\n }\n\n return timeoutId;\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 ;\n\n _proto.setInterval = function setInterval(fn, interval) {\n fn = bind(this, fn);\n this.clearTimersOnDispose_();\n var intervalId = window.setInterval(fn, interval);\n this.setIntervalIds_.add(intervalId);\n return intervalId;\n }\n /**\n * Clears an interval that gets created via `window.setInterval` or\n * {@link Component#setInterval}. If you set an inteval 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 ;\n\n _proto.clearInterval = function clearInterval(intervalId) {\n if (this.setIntervalIds_.has(intervalId)) {\n this.setIntervalIds_[\"delete\"](intervalId);\n window.clearInterval(intervalId);\n }\n\n return intervalId;\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 ;\n\n _proto.requestAnimationFrame = function requestAnimationFrame(fn) {\n var _this3 = this;\n\n // Fall back to using a timer.\n if (!this.supportsRaf_) {\n return this.setTimeout(fn, 1000 / 60);\n }\n\n this.clearTimersOnDispose_(); // declare as variables so they are properly available in rAF function\n // eslint-disable-next-line\n\n var id;\n fn = bind(this, fn);\n id = window.requestAnimationFrame(function () {\n if (_this3.rafIds_.has(id)) {\n _this3.rafIds_[\"delete\"](id);\n }\n\n fn();\n });\n this.rafIds_.add(id);\n return id;\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 ;\n\n _proto.requestNamedAnimationFrame = function requestNamedAnimationFrame(name, fn) {\n var _this4 = this;\n\n if (this.namedRafs_.has(name)) {\n return;\n }\n\n this.clearTimersOnDispose_();\n fn = bind(this, fn);\n var id = this.requestAnimationFrame(function () {\n fn();\n\n if (_this4.namedRafs_.has(name)) {\n _this4.namedRafs_[\"delete\"](name);\n }\n });\n this.namedRafs_.set(name, id);\n return name;\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 ;\n\n _proto.cancelNamedAnimationFrame = function cancelNamedAnimationFrame(name) {\n if (!this.namedRafs_.has(name)) {\n return;\n }\n\n this.cancelAnimationFrame(this.namedRafs_.get(name));\n this.namedRafs_[\"delete\"](name);\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 ;\n\n _proto.cancelAnimationFrame = function cancelAnimationFrame(id) {\n // Fall back to using a timer.\n if (!this.supportsRaf_) {\n return this.clearTimeout(id);\n }\n\n if (this.rafIds_.has(id)) {\n this.rafIds_[\"delete\"](id);\n window.cancelAnimationFrame(id);\n }\n\n return id;\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 ;\n\n _proto.clearTimersOnDispose_ = function clearTimersOnDispose_() {\n var _this5 = this;\n\n if (this.clearingTimersOnDispose_) {\n return;\n }\n\n this.clearingTimersOnDispose_ = true;\n this.one('dispose', function () {\n [['namedRafs_', 'cancelNamedAnimationFrame'], ['rafIds_', 'cancelAnimationFrame'], ['setTimeoutIds_', 'clearTimeout'], ['setIntervalIds_', 'clearInterval']].forEach(function (_ref) {\n var idName = _ref[0],\n cancelName = _ref[1];\n\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 _this5[idName].forEach(function (val, key) {\n return _this5[cancelName](key);\n });\n });\n _this5.clearingTimersOnDispose_ = false;\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 ;\n\n Component.registerComponent = function 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\n var Tech = Component.getComponent('Tech'); // We need to make sure this check is only done if Tech has been registered.\n\n var isTech = Tech && Tech.isTech(ComponentToRegister);\n var isComp = Component === ComponentToRegister || Component.prototype.isPrototypeOf(ComponentToRegister.prototype);\n\n if (isTech || !isComp) {\n var reason;\n\n if (isTech) {\n reason = 'techs must be registered using Tech.registerTech()';\n } else {\n reason = 'must be a Component subclass';\n }\n\n throw new Error(\"Illegal component, \\\"\" + name + \"\\\"; \" + reason + \".\");\n }\n\n name = toTitleCase$1(name);\n\n if (!Component.components_) {\n Component.components_ = {};\n }\n\n var Player = Component.getComponent('Player');\n\n if (name === 'Player' && Player && Player.players) {\n var players = Player.players;\n var playerNames = Object.keys(players); // 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\n if (players && playerNames.length > 0 && playerNames.map(function (pname) {\n return players[pname];\n }).every(Boolean)) {\n throw new Error('Can not register Player component after player has been created.');\n }\n }\n\n Component.components_[name] = ComponentToRegister;\n Component.components_[toLowerCase(name)] = ComponentToRegister;\n return ComponentToRegister;\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 ;\n\n Component.getComponent = function getComponent(name) {\n if (!name || !Component.components_) {\n return;\n }\n\n return Component.components_[name];\n };\n\n return Component;\n}();\n/**\n * Whether or not this component supports `requestAnimationFrame`.\n *\n * This is exposed primarily for testing purposes.\n *\n * @private\n * @type {Boolean}\n */\n\n\nComponent$1.prototype.supportsRaf_ = typeof window.requestAnimationFrame === 'function' && typeof window.cancelAnimationFrame === 'function';\nComponent$1.registerComponent('Component', Component$1);\n\n/**\n * @file time-ranges.js\n * @module time-ranges\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.\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-ranges~TimeRangeIndex} start\n * Returns the time offset at which a specified time range begins.\n *\n * @property {module:time-ranges~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\nfunction 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 * 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\n\nfunction getRange(fnName, valueIndex, ranges, rangeIndex) {\n rangeCheck(fnName, rangeIndex, ranges.length - 1);\n return ranges[rangeIndex][valueIndex];\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\n\nfunction createTimeRangesObj(ranges) {\n var timeRangesObj;\n\n if (ranges === undefined || ranges.length === 0) {\n timeRangesObj = {\n length: 0,\n start: function start() {\n throw new Error('This TimeRanges object is empty');\n },\n end: function 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\n if (window.Symbol && window.Symbol.iterator) {\n timeRangesObj[window.Symbol.iterator] = function () {\n return (ranges || []).values();\n };\n }\n\n return timeRangesObj;\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\n\nfunction createTimeRanges(start, end) {\n if (Array.isArray(start)) {\n return createTimeRangesObj(start);\n } else if (start === undefined || end === undefined) {\n return createTimeRangesObj();\n }\n\n return createTimeRangesObj([[start, end]]);\n}\n\n/**\n * @file buffer.js\n * @module buffer\n */\n/**\n * Compute the percentage of the media that has been buffered.\n *\n * @param {TimeRange} buffered\n * The current `TimeRange` 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\nfunction bufferedPercent(buffered, duration) {\n var bufferedDuration = 0;\n var start;\n var end;\n\n if (!duration) {\n return 0;\n }\n\n if (!buffered || !buffered.length) {\n buffered = createTimeRanges(0, 0);\n }\n\n for (var i = 0; i < buffered.length; i++) {\n start = buffered.start(i);\n end = buffered.end(i); // buffered end can be bigger than duration by a very small fraction\n\n if (end > duration) {\n end = duration;\n }\n\n bufferedDuration += end - start;\n }\n\n return bufferedDuration / duration;\n}\n\n/**\n * @file media-error.js\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\nfunction 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\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(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\n assign(this, value);\n }\n\n if (!this.message) {\n this.message = MediaError.defaultMessages[this.code] || '';\n }\n}\n/**\n * The error code that refers two one of the defined `MediaError` types\n *\n * @type {Number}\n */\n\n\nMediaError.prototype.code = 0;\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\nMediaError.prototype.message = '';\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\nMediaError.prototype.status = null;\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\nMediaError.errorTypes = ['MEDIA_ERR_CUSTOM', 'MEDIA_ERR_ABORTED', 'MEDIA_ERR_NETWORK', 'MEDIA_ERR_DECODE', 'MEDIA_ERR_SRC_NOT_SUPPORTED', 'MEDIA_ERR_ENCRYPTED'];\n/**\n * The default `MediaError` messages based on the {@link MediaError.errorTypes}.\n *\n * @type {Array}\n * @constant\n */\n\nMediaError.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}; // Add types as properties on MediaError\n// e.g. MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\nfor (var errNum = 0; errNum < MediaError.errorTypes.length; errNum++) {\n MediaError[MediaError.errorTypes[errNum]] = errNum; // values should be accessible on both the class and instance\n\n MediaError.prototype[MediaError.errorTypes[errNum]] = errNum;\n} // jsdocs for instance/static members added above\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 */\nfunction isPromise(value) {\n return value !== undefined && value !== null && typeof value.then === 'function';\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\nfunction silencePromise(value) {\n if (isPromise(value)) {\n value.then(null, function (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 */\nvar trackToJson_ = function trackToJson_(track) {\n var ret = ['kind', 'label', 'language', 'id', 'inBandMetadataTrackDispatchType', 'mode', 'src'].reduce(function (acc, prop, i) {\n if (track[prop]) {\n acc[prop] = track[prop];\n }\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 * 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 {Tech} 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\n\nvar textTracksToJson = function textTracksToJson(tech) {\n var trackEls = tech.$$('track');\n var trackObjs = Array.prototype.map.call(trackEls, function (t) {\n return t.track;\n });\n var tracks = Array.prototype.map.call(trackEls, function (trackEl) {\n var json = trackToJson_(trackEl.track);\n\n if (trackEl.src) {\n json.src = trackEl.src;\n }\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 * 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\n\nvar jsonToTextTracks = function jsonToTextTracks(json, tech) {\n json.forEach(function (track) {\n var addedTrack = tech.addRemoteTextTrack(track).track;\n\n if (!track.src && track.cues) {\n track.cues.forEach(function (cue) {\n return addedTrack.addCue(cue);\n });\n }\n });\n return tech.textTracks();\n};\n\nvar textTrackConverter = {\n textTracksToJson: textTracksToJson,\n jsonToTextTracks: jsonToTextTracks,\n trackToJson_: trackToJson_\n};\n\nvar MODAL_CLASS_NAME = 'vjs-modal-dialog';\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\nvar ModalDialog = /*#__PURE__*/function (_Component) {\n _inheritsLoose(ModalDialog, _Component);\n\n /**\n * Create an instance of this class.\n *\n * @param {Player} 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 {Mixed} [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 function ModalDialog(player, options) {\n var _this;\n\n _this = _Component.call(this, player, options) || this;\n\n _this.handleKeyDown_ = function (e) {\n return _this.handleKeyDown(e);\n };\n\n _this.close_ = function (e) {\n return _this.close(e);\n };\n\n _this.opened_ = _this.hasBeenOpened_ = _this.hasBeenFilled_ = false;\n\n _this.closeable(!_this.options_.uncloseable);\n\n _this.content(_this.options_.content); // 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\n\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\n _this.el_.appendChild(_this.descEl_);\n\n _this.el_.appendChild(_this.contentEl_);\n\n return _this;\n }\n /**\n * Create the `ModalDialog`'s DOM element\n *\n * @return {Element}\n * The DOM element that gets created.\n */\n\n\n var _proto = ModalDialog.prototype;\n\n _proto.createEl = function createEl() {\n return _Component.prototype.createEl.call(this, '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\n _proto.dispose = function dispose() {\n this.contentEl_ = null;\n this.descEl_ = null;\n this.previouslyActiveEl_ = null;\n\n _Component.prototype.dispose.call(this);\n }\n /**\n * Builds the default DOM `className`.\n *\n * @return {string}\n * The DOM `className` for this object.\n */\n ;\n\n _proto.buildCSSClass = function buildCSSClass() {\n return MODAL_CLASS_NAME + \" vjs-hidden \" + _Component.prototype.buildCSSClass.call(this);\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 ;\n\n _proto.label = function label() {\n return this.localize(this.options_.label || 'Modal Window');\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 ;\n\n _proto.description = function description() {\n var desc = this.options_.description || this.localize('This is a modal window.'); // Append a universal closeability message if the modal is closeable.\n\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\n return desc;\n }\n /**\n * Opens the modal.\n *\n * @fires ModalDialog#beforemodalopen\n * @fires ModalDialog#modalopen\n */\n ;\n\n _proto.open = function open() {\n if (!this.opened_) {\n var player = this.player();\n /**\n * Fired just before a `ModalDialog` is opened.\n *\n * @event ModalDialog#beforemodalopen\n * @type {EventTarget~Event}\n */\n\n this.trigger('beforemodalopen');\n this.opened_ = true; // Fill content if the modal has never opened before and\n // never been filled.\n\n if (this.options_.fillAlways || !this.hasBeenOpened_ && !this.hasBeenFilled_) {\n this.fill();\n } // If the player was playing, pause it and take note of its previously\n // playing state.\n\n\n this.wasPlaying_ = !player.paused();\n\n if (this.options_.pauseOnOpen && this.wasPlaying_) {\n player.pause();\n }\n\n this.on('keydown', this.handleKeyDown_); // Hide controls and note if they were enabled.\n\n this.hadControls_ = player.controls();\n player.controls(false);\n this.show();\n this.conditionalFocus_();\n this.el().setAttribute('aria-hidden', 'false');\n /**\n * Fired just after a `ModalDialog` is opened.\n *\n * @event ModalDialog#modalopen\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalopen');\n this.hasBeenOpened_ = true;\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 ;\n\n _proto.opened = function opened(value) {\n if (typeof value === 'boolean') {\n this[value ? 'open' : 'close']();\n }\n\n return this.opened_;\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 ;\n\n _proto.close = function close() {\n if (!this.opened_) {\n return;\n }\n\n var player = this.player();\n /**\n * Fired just before a `ModalDialog` is closed.\n *\n * @event ModalDialog#beforemodalclose\n * @type {EventTarget~Event}\n */\n\n this.trigger('beforemodalclose');\n this.opened_ = false;\n\n if (this.wasPlaying_ && this.options_.pauseOnOpen) {\n player.play();\n }\n\n this.off('keydown', this.handleKeyDown_);\n\n if (this.hadControls_) {\n player.controls(true);\n }\n\n this.hide();\n this.el().setAttribute('aria-hidden', 'true');\n /**\n * Fired just after a `ModalDialog` is closed.\n *\n * @event ModalDialog#modalclose\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalclose');\n this.conditionalBlur_();\n\n if (this.options_.temporary) {\n this.dispose();\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 ;\n\n _proto.closeable = function closeable(value) {\n if (typeof value === 'boolean') {\n var closeable = this.closeable_ = !!value;\n var close = this.getChild('closeButton'); // If this is being made closeable and has no close button, add one.\n\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 var 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 } // If this is being made uncloseable and has a close button, remove it.\n\n\n if (!closeable && close) {\n this.off(close, 'close', this.close_);\n this.removeChild(close);\n close.dispose();\n }\n }\n\n return this.closeable_;\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 ;\n\n _proto.fill = function fill() {\n this.fillWith(this.content());\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 {Mixed} [content]\n * The same rules apply to this as apply to the `content` option.\n */\n ;\n\n _proto.fillWith = function fillWith(content) {\n var contentEl = this.contentEl();\n var parentEl = contentEl.parentNode;\n var nextSiblingEl = contentEl.nextSibling;\n /**\n * Fired just before a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#beforemodalfill\n * @type {EventTarget~Event}\n */\n\n this.trigger('beforemodalfill');\n this.hasBeenFilled_ = true; // Detach the content element from the DOM before performing\n // manipulation to avoid modifying the live DOM multiple times.\n\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 {EventTarget~Event}\n */\n\n this.trigger('modalfill'); // Re-inject the re-filled content element.\n\n if (nextSiblingEl) {\n parentEl.insertBefore(contentEl, nextSiblingEl);\n } else {\n parentEl.appendChild(contentEl);\n } // make sure that the close button is last in the dialog DOM\n\n\n var closeButton = this.getChild('closeButton');\n\n if (closeButton) {\n parentEl.appendChild(closeButton.el_);\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 ;\n\n _proto.empty = function empty() {\n /**\n * Fired just before a `ModalDialog` is emptied.\n *\n * @event ModalDialog#beforemodalempty\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalempty');\n emptyEl(this.contentEl());\n /**\n * Fired just after a `ModalDialog` is emptied.\n *\n * @event ModalDialog#modalempty\n * @type {EventTarget~Event}\n */\n\n this.trigger('modalempty');\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 {Mixed} [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 {Mixed}\n * The current content of the modal dialog\n */\n ;\n\n _proto.content = function content(value) {\n if (typeof value !== 'undefined') {\n this.content_ = value;\n }\n\n return this.content_;\n }\n /**\n * conditionally focus the modal dialog if focus was previously on the player.\n *\n * @private\n */\n ;\n\n _proto.conditionalFocus_ = function conditionalFocus_() {\n var activeEl = document.activeElement;\n var playerEl = this.player_.el_;\n this.previouslyActiveEl_ = null;\n\n if (playerEl.contains(activeEl) || playerEl === activeEl) {\n this.previouslyActiveEl_ = activeEl;\n this.focus();\n }\n }\n /**\n * conditionally blur the element and refocus the last focused element\n *\n * @private\n */\n ;\n\n _proto.conditionalBlur_ = function conditionalBlur_() {\n if (this.previouslyActiveEl_) {\n this.previouslyActiveEl_.focus();\n this.previouslyActiveEl_ = null;\n }\n }\n /**\n * Keydown handler. Attached when modal is focused.\n *\n * @listens keydown\n */\n ;\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n // Do not allow keydowns to reach out of the modal dialog.\n event.stopPropagation();\n\n if (keycode.isEventKey(event, 'Escape') && this.closeable()) {\n event.preventDefault();\n this.close();\n return;\n } // exit early if it isn't a tab key\n\n\n if (!keycode.isEventKey(event, 'Tab')) {\n return;\n }\n\n var focusableEls = this.focusableEls_();\n var activeEl = this.el_.querySelector(':focus');\n var focusIndex;\n\n for (var i = 0; i < focusableEls.length; i++) {\n if (activeEl === focusableEls[i]) {\n focusIndex = i;\n break;\n }\n }\n\n if (document.activeElement === this.el_) {\n focusIndex = 0;\n }\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 * get all focusable elements\n *\n * @private\n */\n ;\n\n _proto.focusableEls_ = function focusableEls_() {\n var allChildren = this.el_.querySelectorAll('*');\n return Array.prototype.filter.call(allChildren, function (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 return ModalDialog;\n}(Component$1);\n/**\n * Default options for `ModalDialog` default options.\n *\n * @type {Object}\n * @private\n */\n\n\nModalDialog.prototype.options_ = {\n pauseOnOpen: true,\n temporary: true\n};\nComponent$1.registerComponent('ModalDialog', ModalDialog);\n\n/**\n * Common functionaliy between {@link TextTrackList}, {@link AudioTrackList}, and\n * {@link VideoTrackList}\n *\n * @extends EventTarget\n */\n\nvar TrackList = /*#__PURE__*/function (_EventTarget) {\n _inheritsLoose(TrackList, _EventTarget);\n\n /**\n * Create an instance of this class\n *\n * @param {Track[]} tracks\n * A list of tracks to initialize the list with.\n *\n * @abstract\n */\n function TrackList(tracks) {\n var _this;\n\n if (tracks === void 0) {\n tracks = [];\n }\n\n _this = _EventTarget.call(this) || this;\n _this.tracks_ = [];\n /**\n * @memberof TrackList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'length', {\n get: function get() {\n return this.tracks_.length;\n }\n });\n\n for (var i = 0; i < tracks.length; i++) {\n _this.addTrack(tracks[i]);\n }\n\n return _this;\n }\n /**\n * Add a {@link Track} to the `TrackList`\n *\n * @param {Track} track\n * The audio, video, or text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n\n\n var _proto = TrackList.prototype;\n\n _proto.addTrack = function addTrack(track) {\n var _this2 = this;\n\n var index = this.tracks_.length;\n\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get: function get() {\n return this.tracks_[index];\n }\n });\n } // Do not add duplicate tracks\n\n\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 {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n\n this.trigger({\n track: track,\n type: 'addtrack',\n target: this\n });\n }\n /**\n * Triggered when a track label is changed.\n *\n * @event TrackList#addtrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n\n\n track.labelchange_ = function () {\n _this2.trigger({\n track: track,\n type: 'labelchange',\n target: _this2\n });\n };\n\n if (isEvented(track)) {\n track.addEventListener('labelchange', track.labelchange_);\n }\n }\n /**\n * Remove a {@link Track} from the `TrackList`\n *\n * @param {Track} rtrack\n * The audio, video, or text track to remove from the list.\n *\n * @fires TrackList#removetrack\n */\n ;\n\n _proto.removeTrack = function removeTrack(rtrack) {\n var track;\n\n for (var i = 0, l = this.length; i < l; i++) {\n if (this[i] === rtrack) {\n track = this[i];\n\n if (track.off) {\n track.off();\n }\n\n this.tracks_.splice(i, 1);\n break;\n }\n }\n\n if (!track) {\n return;\n }\n /**\n * Triggered when a track is removed from track list.\n *\n * @event TrackList#removetrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was removed.\n */\n\n\n this.trigger({\n track: track,\n type: 'removetrack',\n target: this\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 {Track}\n * @private\n */\n ;\n\n _proto.getTrackById = function getTrackById(id) {\n var result = null;\n\n for (var i = 0, l = this.length; i < l; i++) {\n var track = this[i];\n\n if (track.id === id) {\n result = track;\n break;\n }\n }\n\n return result;\n };\n\n return TrackList;\n}(EventTarget$2);\n/**\n * Triggered when a different track is selected/enabled.\n *\n * @event TrackList#change\n * @type {EventTarget~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\n\nTrackList.prototype.allowedEvents_ = {\n change: 'change',\n addtrack: 'addtrack',\n removetrack: 'removetrack',\n labelchange: 'labelchange'\n}; // emulate attribute EventHandler support to allow for feature detection\n\nfor (var event in TrackList.prototype.allowedEvents_) {\n TrackList.prototype['on' + event] = null;\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 {AudioTrack} track\n * The track to skip\n *\n * @private\n */\n\nvar disableOthers$1 = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n } // another audio track is enabled, disable it\n\n\n list[i].enabled = false;\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\n\nvar AudioTrackList = /*#__PURE__*/function (_TrackList) {\n _inheritsLoose(AudioTrackList, _TrackList);\n\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 function AudioTrackList(tracks) {\n var _this;\n\n if (tracks === void 0) {\n tracks = [];\n }\n\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (var i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].enabled) {\n disableOthers$1(tracks, tracks[i]);\n break;\n }\n }\n\n _this = _TrackList.call(this, tracks) || this;\n _this.changing_ = false;\n return _this;\n }\n /**\n * Add an {@link AudioTrack} to the `AudioTrackList`.\n *\n * @param {AudioTrack} track\n * The AudioTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n\n\n var _proto = AudioTrackList.prototype;\n\n _proto.addTrack = function addTrack(track) {\n var _this2 = this;\n\n if (track.enabled) {\n disableOthers$1(this, track);\n }\n\n _TrackList.prototype.addTrack.call(this, track); // native tracks don't have this\n\n\n if (!track.addEventListener) {\n return;\n }\n\n track.enabledChange_ = function () {\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 (_this2.changing_) {\n return;\n }\n\n _this2.changing_ = true;\n disableOthers$1(_this2, track);\n _this2.changing_ = false;\n\n _this2.trigger('change');\n };\n /**\n * @listens AudioTrack#enabledchange\n * @fires TrackList#change\n */\n\n\n track.addEventListener('enabledchange', track.enabledChange_);\n };\n\n _proto.removeTrack = function removeTrack(rtrack) {\n _TrackList.prototype.removeTrack.call(this, rtrack);\n\n if (rtrack.removeEventListener && rtrack.enabledChange_) {\n rtrack.removeEventListener('enabledchange', rtrack.enabledChange_);\n rtrack.enabledChange_ = null;\n }\n };\n\n return AudioTrackList;\n}(TrackList);\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 {VideoTrack} track\n * The track to skip\n *\n * @private\n */\n\nvar disableOthers = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n } // another video track is enabled, disable it\n\n\n list[i].selected = false;\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\n\nvar VideoTrackList = /*#__PURE__*/function (_TrackList) {\n _inheritsLoose(VideoTrackList, _TrackList);\n\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 function VideoTrackList(tracks) {\n var _this;\n\n if (tracks === void 0) {\n tracks = [];\n }\n\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (var i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].selected) {\n disableOthers(tracks, tracks[i]);\n break;\n }\n }\n\n _this = _TrackList.call(this, tracks) || this;\n _this.changing_ = false;\n /**\n * @member {number} VideoTrackList#selectedIndex\n * The current index of the selected {@link VideoTrack`}.\n */\n\n Object.defineProperty(_assertThisInitialized(_this), 'selectedIndex', {\n get: function get() {\n for (var _i = 0; _i < this.length; _i++) {\n if (this[_i].selected) {\n return _i;\n }\n }\n\n return -1;\n },\n set: function set() {}\n });\n return _this;\n }\n /**\n * Add a {@link VideoTrack} to the `VideoTrackList`.\n *\n * @param {VideoTrack} track\n * The VideoTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n\n\n var _proto = VideoTrackList.prototype;\n\n _proto.addTrack = function addTrack(track) {\n var _this2 = this;\n\n if (track.selected) {\n disableOthers(this, track);\n }\n\n _TrackList.prototype.addTrack.call(this, track); // native tracks don't have this\n\n\n if (!track.addEventListener) {\n return;\n }\n\n track.selectedChange_ = function () {\n if (_this2.changing_) {\n return;\n }\n\n _this2.changing_ = true;\n disableOthers(_this2, track);\n _this2.changing_ = false;\n\n _this2.trigger('change');\n };\n /**\n * @listens VideoTrack#selectedchange\n * @fires TrackList#change\n */\n\n\n track.addEventListener('selectedchange', track.selectedChange_);\n };\n\n _proto.removeTrack = function removeTrack(rtrack) {\n _TrackList.prototype.removeTrack.call(this, rtrack);\n\n if (rtrack.removeEventListener && rtrack.selectedChange_) {\n rtrack.removeEventListener('selectedchange', rtrack.selectedChange_);\n rtrack.selectedChange_ = null;\n }\n };\n\n return VideoTrackList;\n}(TrackList);\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\nvar TextTrackList = /*#__PURE__*/function (_TrackList) {\n _inheritsLoose(TextTrackList, _TrackList);\n\n function TextTrackList() {\n return _TrackList.apply(this, arguments) || this;\n }\n\n var _proto = TextTrackList.prototype;\n\n /**\n * Add a {@link TextTrack} to the `TextTrackList`\n *\n * @param {TextTrack} track\n * The text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n _proto.addTrack = function addTrack(track) {\n var _this = this;\n\n _TrackList.prototype.addTrack.call(this, track);\n\n if (!this.queueChange_) {\n this.queueChange_ = function () {\n return _this.queueTrigger('change');\n };\n }\n\n if (!this.triggerSelectedlanguagechange) {\n this.triggerSelectedlanguagechange_ = function () {\n return _this.trigger('selectedlanguagechange');\n };\n }\n /**\n * @listens TextTrack#modechange\n * @fires TrackList#change\n */\n\n\n track.addEventListener('modechange', this.queueChange_);\n var nonLanguageTextTrackKind = ['metadata', 'chapters'];\n\n if (nonLanguageTextTrackKind.indexOf(track.kind) === -1) {\n track.addEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n };\n\n _proto.removeTrack = function removeTrack(rtrack) {\n _TrackList.prototype.removeTrack.call(this, rtrack); // manually remove the event handlers we added\n\n\n if (rtrack.removeEventListener) {\n if (this.queueChange_) {\n rtrack.removeEventListener('modechange', this.queueChange_);\n }\n\n if (this.selectedlanguagechange_) {\n rtrack.removeEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n }\n };\n\n return TextTrackList;\n}(TrackList);\n\n/**\n * @file html-track-element-list.js\n */\n\n/**\n * The current list of {@link HtmlTrackElement}s.\n */\nvar HtmlTrackElementList = /*#__PURE__*/function () {\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 function HtmlTrackElementList(trackElements) {\n if (trackElements === void 0) {\n trackElements = [];\n }\n\n this.trackElements_ = [];\n /**\n * @memberof HtmlTrackElementList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n\n Object.defineProperty(this, 'length', {\n get: function get() {\n return this.trackElements_.length;\n }\n });\n\n for (var i = 0, length = trackElements.length; i < length; i++) {\n this.addTrackElement_(trackElements[i]);\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\n\n var _proto = HtmlTrackElementList.prototype;\n\n _proto.addTrackElement_ = function addTrackElement_(trackElement) {\n var index = this.trackElements_.length;\n\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get: function get() {\n return this.trackElements_[index];\n }\n });\n } // Do not add duplicate elements\n\n\n if (this.trackElements_.indexOf(trackElement) === -1) {\n this.trackElements_.push(trackElement);\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 ;\n\n _proto.getTrackElementByTrack_ = function getTrackElementByTrack_(track) {\n var trackElement_;\n\n for (var 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\n return trackElement_;\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 ;\n\n _proto.removeTrackElement_ = function removeTrackElement_(trackElement) {\n for (var 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\n if (typeof this.trackElements_[i].off === 'function') {\n this.trackElements_[i].off();\n }\n\n this.trackElements_.splice(i, 1);\n break;\n }\n }\n };\n\n return HtmlTrackElementList;\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 */\nvar TextTrackCueList = /*#__PURE__*/function () {\n /**\n * Create an instance of this class..\n *\n * @param {Array} cues\n * A list of cues to be initialized with\n */\n function TextTrackCueList(cues) {\n TextTrackCueList.prototype.setCues_.call(this, cues);\n /**\n * @memberof TextTrackCueList\n * @member {number} length\n * The current number of `TextTrackCue`s in the TextTrackCueList.\n * @instance\n */\n\n Object.defineProperty(this, 'length', {\n get: function get() {\n return this.length_;\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\n\n var _proto = TextTrackCueList.prototype;\n\n _proto.setCues_ = function setCues_(cues) {\n var oldLength = this.length || 0;\n var i = 0;\n var l = cues.length;\n this.cues_ = cues;\n this.length_ = cues.length;\n\n var defineProp = function defineProp(index) {\n if (!('' + index in this)) {\n Object.defineProperty(this, '' + index, {\n get: function get() {\n return this.cues_[index];\n }\n });\n }\n };\n\n if (oldLength < l) {\n i = oldLength;\n\n for (; i < l; i++) {\n defineProp.call(this, i);\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 ;\n\n _proto.getCueById = function getCueById(id) {\n var result = null;\n\n for (var i = 0, l = this.length; i < l; i++) {\n var cue = this[i];\n\n if (cue.id === id) {\n result = cue;\n break;\n }\n }\n\n return result;\n };\n\n return TextTrackCueList;\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 */\nvar VideoTrackKind = {\n alternative: 'alternative',\n captions: 'captions',\n main: 'main',\n sign: 'sign',\n subtitles: 'subtitles',\n commentary: 'commentary'\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\nvar AudioTrackKind = {\n 'alternative': 'alternative',\n 'descriptions': 'descriptions',\n 'main': 'main',\n 'main-desc': 'main-desc',\n 'translation': 'translation',\n 'commentary': 'commentary'\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\nvar TextTrackKind = {\n subtitles: 'subtitles',\n captions: 'captions',\n descriptions: 'descriptions',\n chapters: 'chapters',\n metadata: 'metadata'\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\nvar TextTrackMode = {\n disabled: 'disabled',\n hidden: 'hidden',\n showing: 'showing'\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\nvar Track = /*#__PURE__*/function (_EventTarget) {\n _inheritsLoose(Track, _EventTarget);\n\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 function Track(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n _this = _EventTarget.call(this) || this;\n var trackProps = {\n id: options.id || 'vjs_track_' + newGUID(),\n kind: options.kind || '',\n language: options.language || ''\n };\n var label = options.label || '';\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 var _loop = function _loop(key) {\n Object.defineProperty(_assertThisInitialized(_this), key, {\n get: function get() {\n return trackProps[key];\n },\n set: function set() {}\n });\n };\n\n for (var key in trackProps) {\n _loop(key);\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\n\n Object.defineProperty(_assertThisInitialized(_this), 'label', {\n get: function get() {\n return label;\n },\n set: function set(newLabel) {\n if (newLabel !== label) {\n label = newLabel;\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 {EventTarget~Event}\n */\n\n this.trigger('labelchange');\n }\n }\n });\n return _this;\n }\n\n return Track;\n}(EventTarget$2);\n\n/**\n * @file url.js\n * @module url\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\nvar parseUrl = function parseUrl(url) {\n // This entire method can be replace with URL once we are able to drop IE11\n var props = ['protocol', 'hostname', 'port', 'pathname', 'search', 'hash', 'host']; // add the url to an anchor and let the browser parse the URL\n\n var a = document.createElement('a');\n a.href = url; // 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\n var details = {};\n\n for (var i = 0; i < props.length; i++) {\n details[props[i]] = a[props[i]];\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\n\n if (details.protocol === 'http:') {\n details.host = details.host.replace(/:80$/, '');\n }\n\n if (details.protocol === 'https:') {\n details.host = details.host.replace(/:443$/, '');\n }\n\n if (!details.protocol) {\n details.protocol = window.location.protocol;\n }\n /* istanbul ignore if */\n\n\n if (!details.host) {\n details.host = window.location.host;\n }\n\n return details;\n};\n/**\n * Get absolute version of relative URL. Used to tell Flash the correct 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\nvar getAbsoluteURL = function getAbsoluteURL(url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n // Convert to absolute URL. Flash hosted off-site needs an absolute URL.\n // add the url to an anchor and let the browser parse the URL\n var a = document.createElement('a');\n a.href = url;\n url = a.href;\n }\n\n return url;\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\nvar getFileExtension = function getFileExtension(path) {\n if (typeof path === 'string') {\n var splitPathRe = /^(\\/?)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?)(\\.([^\\.\\/\\?]+)))(?:[\\/]*|[\\?].*)$/;\n var pathParts = splitPathRe.exec(path);\n\n if (pathParts) {\n return pathParts.pop().toLowerCase();\n }\n }\n\n return '';\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\nvar isCrossOrigin = function isCrossOrigin(url, winLoc) {\n if (winLoc === void 0) {\n winLoc = window.location;\n }\n\n var urlInfo = parseUrl(url); // IE8 protocol relative urls will return ':' for protocol\n\n var srcProtocol = urlInfo.protocol === ':' ? winLoc.protocol : urlInfo.protocol; // Check if url is for another domain/origin\n // IE8 doesn't know location.origin, so we won't rely on it here\n\n var crossOrigin = srcProtocol + urlInfo.host !== winLoc.protocol + winLoc.host;\n return crossOrigin;\n};\n\nvar Url = /*#__PURE__*/Object.freeze({\n __proto__: null,\n parseUrl: parseUrl,\n getAbsoluteURL: getAbsoluteURL,\n getFileExtension: getFileExtension,\n isCrossOrigin: isCrossOrigin\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\nvar parseCues = function parseCues(srcContent, track) {\n var parser = new window.WebVTT.Parser(window, window.vttjs, window.WebVTT.StringDecoder());\n var errors = [];\n\n parser.oncue = function (cue) {\n track.addCue(cue);\n };\n\n parser.onparsingerror = function (error) {\n errors.push(error);\n };\n\n parser.onflush = function () {\n track.trigger({\n type: 'loadeddata',\n target: track\n });\n };\n\n parser.parse(srcContent);\n\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\n errors.forEach(function (error) {\n return log$1.error(error);\n });\n\n if (window.console && window.console.groupEnd) {\n window.console.groupEnd();\n }\n }\n\n parser.flush();\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\n\nvar loadTrack = function loadTrack(src, track) {\n var opts = {\n uri: src\n };\n var crossOrigin = isCrossOrigin(src);\n\n if (crossOrigin) {\n opts.cors = crossOrigin;\n }\n\n var withCredentials = track.tech_.crossOrigin() === 'use-credentials';\n\n if (withCredentials) {\n opts.withCredentials = withCredentials;\n }\n\n XHR(opts, bind(this, function (err, response, responseBody) {\n if (err) {\n return log$1.error(err, response);\n }\n\n track.loaded_ = true; // 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\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'], function (event) {\n if (event.type === 'vttjserror') {\n log$1.error(\"vttjs failed to load, stopping trying to process \" + track.src);\n return;\n }\n\n return parseCues(responseBody, track);\n });\n }\n } else {\n parseCues(responseBody, track);\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\n\nvar TextTrack = /*#__PURE__*/function (_Track) {\n _inheritsLoose(TextTrack, _Track);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} 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 function TextTrack(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n if (!options.tech) {\n throw new Error('A tech was not provided.');\n }\n\n var settings = mergeOptions$3(options, {\n kind: TextTrackKind[options.kind] || 'subtitles',\n language: options.language || options.srclang || ''\n });\n var mode = TextTrackMode[settings.mode] || 'disabled';\n var default_ = settings[\"default\"];\n\n if (settings.kind === 'metadata' || settings.kind === 'chapters') {\n mode = 'hidden';\n }\n\n _this = _Track.call(this, settings) || this;\n _this.tech_ = settings.tech;\n _this.cues_ = [];\n _this.activeCues_ = [];\n _this.preload_ = _this.tech_.preloadTextTracks !== false;\n var cues = new TextTrackCueList(_this.cues_);\n var activeCues = new TextTrackCueList(_this.activeCues_);\n var changed = false;\n var timeupdateHandler = bind(_assertThisInitialized(_this), function () {\n if (!this.tech_.isReady_ || this.tech_.isDisposed()) {\n return;\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\n\n this.activeCues = this.activeCues;\n\n if (changed) {\n this.trigger('cuechange');\n changed = false;\n }\n });\n\n var disposeHandler = function disposeHandler() {\n _this.tech_.off('timeupdate', timeupdateHandler);\n };\n\n _this.tech_.one('dispose', disposeHandler);\n\n if (mode !== 'disabled') {\n _this.tech_.on('timeupdate', timeupdateHandler);\n }\n\n Object.defineProperties(_assertThisInitialized(_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: function get() {\n return default_;\n },\n set: function set() {}\n },\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: function get() {\n return mode;\n },\n set: function set(newMode) {\n if (!TextTrackMode[newMode]) {\n return;\n }\n\n if (mode === newMode) {\n return;\n }\n\n mode = newMode;\n\n if (!this.preload_ && mode !== 'disabled' && this.cues.length === 0) {\n // On-demand load.\n loadTrack(this.src, this);\n }\n\n this.tech_.off('timeupdate', timeupdateHandler);\n\n if (mode !== 'disabled') {\n this.tech_.on('timeupdate', timeupdateHandler);\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 {EventTarget~Event}\n */\n\n\n this.trigger('modechange');\n }\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: function get() {\n if (!this.loaded_) {\n return null;\n }\n\n return cues;\n },\n set: function set() {}\n },\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: function get() {\n if (!this.loaded_) {\n return null;\n } // nothing to do\n\n\n if (this.cues.length === 0) {\n return activeCues;\n }\n\n var ct = this.tech_.currentTime();\n var active = [];\n\n for (var i = 0, l = this.cues.length; i < l; i++) {\n var cue = this.cues[i];\n\n if (cue.startTime <= ct && cue.endTime >= ct) {\n active.push(cue);\n } else if (cue.startTime === cue.endTime && cue.startTime <= ct && cue.startTime + 0.5 >= ct) {\n active.push(cue);\n }\n }\n\n changed = false;\n\n if (active.length !== this.activeCues_.length) {\n changed = true;\n } else {\n for (var _i = 0; _i < active.length; _i++) {\n if (this.activeCues_.indexOf(active[_i]) === -1) {\n changed = true;\n }\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: function set() {}\n }\n });\n\n if (settings.src) {\n _this.src = settings.src;\n\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\n if (_this.preload_ || settings.kind !== 'subtitles' && settings.kind !== 'captions') {\n loadTrack(_this.src, _assertThisInitialized(_this));\n }\n } else {\n _this.loaded_ = true;\n }\n\n return _this;\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\n\n var _proto = TextTrack.prototype;\n\n _proto.addCue = function addCue(originalCue) {\n var cue = originalCue;\n\n if (window.vttjs && !(originalCue instanceof window.vttjs.VTTCue)) {\n cue = new window.vttjs.VTTCue(originalCue.startTime, originalCue.endTime, originalCue.text);\n\n for (var prop in originalCue) {\n if (!(prop in cue)) {\n cue[prop] = originalCue[prop];\n }\n } // make sure that `id` is copied over\n\n\n cue.id = originalCue.id;\n cue.originalCue_ = originalCue;\n }\n\n var tracks = this.tech_.textTracks();\n\n for (var i = 0; i < tracks.length; i++) {\n if (tracks[i] !== this) {\n tracks[i].removeCue(cue);\n }\n }\n\n this.cues_.push(cue);\n this.cues.setCues_(this.cues_);\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 ;\n\n _proto.removeCue = function removeCue(_removeCue) {\n var i = this.cues_.length;\n\n while (i--) {\n var cue = this.cues_[i];\n\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 return TextTrack;\n}(Track);\n/**\n * cuechange - One or more cues in the track have become active or stopped being active.\n */\n\n\nTextTrack.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\nvar AudioTrack = /*#__PURE__*/function (_Track) {\n _inheritsLoose(AudioTrack, _Track);\n\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 function AudioTrack(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n var settings = mergeOptions$3(options, {\n kind: AudioTrackKind[options.kind] || ''\n });\n _this = _Track.call(this, settings) || this;\n var enabled = false;\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\n Object.defineProperty(_assertThisInitialized(_this), 'enabled', {\n get: function get() {\n return enabled;\n },\n set: function set(newEnabled) {\n // an invalid or unchanged value\n if (typeof newEnabled !== 'boolean' || newEnabled === enabled) {\n return;\n }\n\n enabled = newEnabled;\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 {EventTarget~Event}\n */\n\n this.trigger('enabledchange');\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\n if (settings.enabled) {\n _this.enabled = settings.enabled;\n }\n\n _this.loaded_ = true;\n return _this;\n }\n\n return AudioTrack;\n}(Track);\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\nvar VideoTrack = /*#__PURE__*/function (_Track) {\n _inheritsLoose(VideoTrack, _Track);\n\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 function VideoTrack(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n var settings = mergeOptions$3(options, {\n kind: VideoTrackKind[options.kind] || ''\n });\n _this = _Track.call(this, settings) || this;\n var selected = false;\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\n Object.defineProperty(_assertThisInitialized(_this), 'selected', {\n get: function get() {\n return selected;\n },\n set: function set(newSelected) {\n // an invalid or unchanged value\n if (typeof newSelected !== 'boolean' || newSelected === selected) {\n return;\n }\n\n selected = newSelected;\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 {EventTarget~Event}\n */\n\n this.trigger('selectedchange');\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\n if (settings.selected) {\n _this.selected = settings.selected;\n }\n\n return _this;\n }\n\n return VideoTrack;\n}(Track);\n\n/**\n * @memberof HTMLTrackElement\n * @typedef {HTMLTrackElement~ReadyState}\n * @enum {number}\n */\n\nvar NONE = 0;\nvar LOADING = 1;\nvar LOADED = 2;\nvar ERROR = 3;\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\nvar HTMLTrackElement = /*#__PURE__*/function (_EventTarget) {\n _inheritsLoose(HTMLTrackElement, _EventTarget);\n\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} 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 function HTMLTrackElement(options) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n _this = _EventTarget.call(this) || this;\n var readyState;\n var 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(_assertThisInitialized(_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: function get() {\n return readyState;\n }\n },\n\n /**\n * @memberof HTMLTrackElement\n * @member {TextTrack} track\n * The underlying TextTrack object.\n * @instance\n *\n */\n track: {\n get: function get() {\n return track;\n }\n }\n });\n readyState = NONE;\n /**\n * @listens TextTrack#loadeddata\n * @fires HTMLTrackElement#load\n */\n\n track.addEventListener('loadeddata', function () {\n readyState = LOADED;\n\n _this.trigger({\n type: 'load',\n target: _assertThisInitialized(_this)\n });\n });\n return _this;\n }\n\n return HTMLTrackElement;\n}(EventTarget$2);\n\nHTMLTrackElement.prototype.allowedEvents_ = {\n load: 'load'\n};\nHTMLTrackElement.NONE = NONE;\nHTMLTrackElement.LOADING = LOADING;\nHTMLTrackElement.LOADED = LOADED;\nHTMLTrackElement.ERROR = ERROR;\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\nvar 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};\nObject.keys(NORMAL).forEach(function (type) {\n NORMAL[type].getterName = type + \"Tracks\";\n NORMAL[type].privateName = type + \"Tracks_\";\n});\nvar 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\nvar ALL = _extends({}, NORMAL, REMOTE);\n\nREMOTE.names = Object.keys(REMOTE);\nNORMAL.names = Object.keys(NORMAL);\nALL.names = [].concat(REMOTE.names).concat(NORMAL.names);\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\nfunction createTrackHelper(self, kind, label, language, options) {\n if (options === void 0) {\n options = {};\n }\n\n var tracks = self.textTracks();\n options.kind = kind;\n\n if (label) {\n options.label = label;\n }\n\n if (language) {\n options.language = language;\n }\n\n options.tech = self;\n var track = new ALL.text.TrackClass(options);\n tracks.addTrack(track);\n return track;\n}\n/**\n * This is the base class for media playback technology controllers, such as\n * {@link HTML5}\n *\n * @extends Component\n */\n\n\nvar Tech = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Tech, _Component);\n\n /**\n * Create an instance of this Tech.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Component~ReadyCallback} ready\n * Callback function to call when the `HTML5` Tech is ready.\n */\n function Tech(options, ready) {\n var _this;\n\n if (options === void 0) {\n options = {};\n }\n\n if (ready === void 0) {\n ready = function ready() {};\n }\n\n // we don't want the tech to report user activity automatically.\n // This is done manually in addControlsListeners\n options.reportTouchActivity = false;\n _this = _Component.call(this, null, options, ready) || this;\n\n _this.onDurationChange_ = function (e) {\n return _this.onDurationChange(e);\n };\n\n _this.trackProgress_ = function (e) {\n return _this.trackProgress(e);\n };\n\n _this.trackCurrentTime_ = function (e) {\n return _this.trackCurrentTime(e);\n };\n\n _this.stopTrackingCurrentTime_ = function (e) {\n return _this.stopTrackingCurrentTime(e);\n };\n\n _this.disposeSourceHandler_ = function (e) {\n return _this.disposeSourceHandler(e);\n }; // keep track of whether the current source has played at all to\n // implement a very limited played()\n\n\n _this.hasStarted_ = false;\n\n _this.on('playing', function () {\n this.hasStarted_ = true;\n });\n\n _this.on('loadstart', function () {\n this.hasStarted_ = false;\n });\n\n ALL.names.forEach(function (name) {\n var props = ALL[name];\n\n if (options && options[props.getterName]) {\n _this[props.privateName] = options[props.getterName];\n }\n }); // Manually track progress in cases where the browser/tech doesn't report it.\n\n if (!_this.featuresProgressEvents) {\n _this.manualProgressOn();\n } // Manually track timeupdates in cases where the browser/tech doesn't report it.\n\n\n if (!_this.featuresTimeupdateEvents) {\n _this.manualTimeUpdatesOn();\n }\n\n ['Text', 'Audio', 'Video'].forEach(function (track) {\n if (options[\"native\" + track + \"Tracks\"] === false) {\n _this[\"featuresNative\" + track + \"Tracks\"] = false;\n }\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\n if (!_this.featuresNativeTextTracks) {\n _this.emulateTextTracks();\n }\n\n _this.preloadTextTracks = options.preloadTextTracks !== false;\n _this.autoRemoteTextTracks_ = new ALL.text.ListClass();\n\n _this.initTrackListeners(); // Turn on component tap events only if not using native controls\n\n\n if (!options.nativeControlsForTouch) {\n _this.emitTapEvents();\n }\n\n if (_this.constructor) {\n _this.name_ = _this.constructor.name || 'Unknown Tech';\n }\n\n return _this;\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\n\n var _proto = Tech.prototype;\n\n _proto.triggerSourceset = function triggerSourceset(src) {\n var _this2 = this;\n\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', function () {\n return _this2.setTimeout(function () {\n return _this2.triggerSourceset(src);\n }, 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 {EventTarget~Event}\n */\n\n\n this.trigger({\n src: src,\n type: 'sourceset'\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 ;\n\n _proto.manualProgressOn = function manualProgressOn() {\n this.on('durationchange', this.onDurationChange_);\n this.manualProgress = true; // Trigger progress watching when a source begins loading\n\n this.one('ready', this.trackProgress_);\n }\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n */\n ;\n\n _proto.manualProgressOff = function manualProgressOff() {\n this.manualProgress = false;\n this.stopTrackingProgress();\n this.off('durationchange', this.onDurationChange_);\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 {EventTarget~Event} event\n * The `ready` event that caused this to run.\n *\n * @listens Tech#ready\n * @fires Tech#progress\n */\n ;\n\n _proto.trackProgress = function 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 var numBufferedPercent = this.bufferedPercent();\n\n if (this.bufferedPercent_ !== numBufferedPercent) {\n /**\n * See {@link Player#progress}\n *\n * @event Tech#progress\n * @type {EventTarget~Event}\n */\n this.trigger('progress');\n }\n\n this.bufferedPercent_ = numBufferedPercent;\n\n if (numBufferedPercent === 1) {\n this.stopTrackingProgress();\n }\n }), 500);\n }\n /**\n * Update our internal duration on a `durationchange` event by calling\n * {@link Tech#duration}.\n *\n * @param {EventTarget~Event} event\n * The `durationchange` event that caused this to run.\n *\n * @listens Tech#durationchange\n */\n ;\n\n _proto.onDurationChange = function onDurationChange(event) {\n this.duration_ = this.duration();\n }\n /**\n * Get and create a `TimeRange` object for buffering.\n *\n * @return {TimeRange}\n * The time range object that was created.\n */\n ;\n\n _proto.buffered = function buffered() {\n return createTimeRanges(0, 0);\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 ;\n\n _proto.bufferedPercent = function bufferedPercent$1() {\n return bufferedPercent(this.buffered(), this.duration_);\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 ;\n\n _proto.stopTrackingProgress = function stopTrackingProgress() {\n this.clearInterval(this.progressInterval);\n }\n /**\n * Polyfill the `timeupdate` event for browsers that don't support it.\n *\n * @see {@link Tech#trackCurrentTime}\n */\n ;\n\n _proto.manualTimeUpdatesOn = function manualTimeUpdatesOn() {\n this.manualTimeUpdates = true;\n this.on('play', this.trackCurrentTime_);\n this.on('pause', this.stopTrackingCurrentTime_);\n }\n /**\n * Turn off the polyfill for `timeupdate` events that was created in\n * {@link Tech#manualTimeUpdatesOn}\n */\n ;\n\n _proto.manualTimeUpdatesOff = function manualTimeUpdatesOff() {\n this.manualTimeUpdates = false;\n this.stopTrackingCurrentTime();\n this.off('play', this.trackCurrentTime_);\n this.off('pause', this.stopTrackingCurrentTime_);\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 ;\n\n _proto.trackCurrentTime = function trackCurrentTime() {\n if (this.currentTimeInterval) {\n this.stopTrackingCurrentTime();\n }\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 {EventTarget~Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n }); // 42 = 24 fps // 250 is what Webkit uses // FF uses 15\n }, 250);\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 ;\n\n _proto.stopTrackingCurrentTime = function stopTrackingCurrentTime() {\n this.clearInterval(this.currentTimeInterval); // #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\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\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 ;\n\n _proto.dispose = function dispose() {\n // clear out all tracks because we can't reuse them between techs\n this.clearTracks(NORMAL.names); // Turn off any manual progress or timeupdate tracking\n\n if (this.manualProgress) {\n this.manualProgressOff();\n }\n\n if (this.manualTimeUpdates) {\n this.manualTimeUpdatesOff();\n }\n\n _Component.prototype.dispose.call(this);\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 ;\n\n _proto.clearTracks = function clearTracks(types) {\n var _this3 = this;\n\n types = [].concat(types); // clear out all tracks because we can't reuse them between techs\n\n types.forEach(function (type) {\n var list = _this3[type + \"Tracks\"]() || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n\n if (type === 'text') {\n _this3.removeRemoteTextTrack(track);\n }\n\n list.removeTrack(track);\n }\n });\n }\n /**\n * Remove any TextTracks added via addRemoteTextTrack that are\n * flagged for automatic garbage collection\n */\n ;\n\n _proto.cleanupAutoTextTracks = function cleanupAutoTextTracks() {\n var list = this.autoRemoteTextTracks_ || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n this.removeRemoteTextTrack(track);\n }\n }\n /**\n * Reset the tech, which will removes all sources and reset the internal readyState.\n *\n * @abstract\n */\n ;\n\n _proto.reset = function reset() {}\n /**\n * Get the value of `crossOrigin` from the tech.\n *\n * @abstract\n *\n * @see {Html5#crossOrigin}\n */\n ;\n\n _proto.crossOrigin = function crossOrigin() {}\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 ;\n\n _proto.setCrossOrigin = function setCrossOrigin() {}\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 ;\n\n _proto.error = function error(err) {\n if (err !== undefined) {\n this.error_ = new MediaError(err);\n this.trigger('error');\n }\n\n return this.error_;\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 ;\n\n _proto.played = function played() {\n if (this.hasStarted_) {\n return createTimeRanges(0, 0);\n }\n\n return createTimeRanges();\n }\n /**\n * Start playback\n *\n * @abstract\n *\n * @see {Html5#play}\n */\n ;\n\n _proto.play = function play() {}\n /**\n * Set whether we are scrubbing or not\n *\n * @abstract\n *\n * @see {Html5#setScrubbing}\n */\n ;\n\n _proto.setScrubbing = function setScrubbing() {}\n /**\n * Get whether we are scrubbing or not\n *\n * @abstract\n *\n * @see {Html5#scrubbing}\n */\n ;\n\n _proto.scrubbing = function scrubbing() {}\n /**\n * Causes a manual time update to occur if {@link Tech#manualTimeUpdatesOn} was\n * previously called.\n *\n * @fires Tech#timeupdate\n */\n ;\n\n _proto.setCurrentTime = function setCurrentTime() {\n // improve the accuracy of manual timeupdates\n if (this.manualTimeUpdates) {\n /**\n * A manual `timeupdate` event.\n *\n * @event Tech#timeupdate\n * @type {EventTarget~Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\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 ;\n\n _proto.initTrackListeners = function initTrackListeners() {\n var _this4 = this;\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link AudioTrackList}\n *\n * @event Tech#audiotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link VideoTrackList}\n *\n * @event Tech#videotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link TextTrackList}\n *\n * @event Tech#texttrackchange\n * @type {EventTarget~Event}\n */\n NORMAL.names.forEach(function (name) {\n var props = NORMAL[name];\n\n var trackListChanges = function trackListChanges() {\n _this4.trigger(name + \"trackchange\");\n };\n\n var tracks = _this4[props.getterName]();\n\n tracks.addEventListener('removetrack', trackListChanges);\n tracks.addEventListener('addtrack', trackListChanges);\n\n _this4.on('dispose', function () {\n tracks.removeEventListener('removetrack', trackListChanges);\n tracks.removeEventListener('addtrack', trackListChanges);\n });\n });\n }\n /**\n * Emulate TextTracks using vtt.js if necessary\n *\n * @fires Tech#vttjsloaded\n * @fires Tech#vttjserror\n */\n ;\n\n _proto.addWebVttScript_ = function addWebVttScript_() {\n var _this5 = this;\n\n if (window.WebVTT) {\n return;\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\n\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(vtt) && Object.keys(vtt).length > 0) {\n this.trigger('vttjsloaded');\n return;\n } // load vtt.js via the script location option or the cdn of no location was\n // passed in\n\n\n var script = document.createElement('script');\n script.src = this.options_['vtt.js'] || 'https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js';\n\n script.onload = function () {\n /**\n * Fired when vtt.js is loaded.\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjsloaded');\n };\n\n script.onerror = function () {\n /**\n * Fired when vtt.js was not loaded due to an error\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjserror');\n };\n\n this.on('dispose', function () {\n script.onload = null;\n script.onerror = null;\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\n window.WebVTT = true;\n this.el().parentNode.appendChild(script);\n } else {\n this.ready(this.addWebVttScript_);\n }\n }\n /**\n * Emulate texttracks\n *\n */\n ;\n\n _proto.emulateTextTracks = function emulateTextTracks() {\n var _this6 = this;\n\n var tracks = this.textTracks();\n var remoteTracks = this.remoteTextTracks();\n\n var handleAddTrack = function handleAddTrack(e) {\n return tracks.addTrack(e.track);\n };\n\n var handleRemoveTrack = function handleRemoveTrack(e) {\n return tracks.removeTrack(e.track);\n };\n\n remoteTracks.on('addtrack', handleAddTrack);\n remoteTracks.on('removetrack', handleRemoveTrack);\n this.addWebVttScript_();\n\n var updateDisplay = function updateDisplay() {\n return _this6.trigger('texttrackchange');\n };\n\n var textTracksChanges = function textTracksChanges() {\n updateDisplay();\n\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\n\n if (track.mode === 'showing') {\n track.addEventListener('cuechange', updateDisplay);\n }\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\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\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 ;\n\n _proto.addTextTrack = function addTextTrack(kind, label, language) {\n if (!kind) {\n throw new Error('TextTrack kind is required but was not provided');\n }\n\n return createTrackHelper(this, kind, label, language);\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 ;\n\n _proto.createRemoteTextTrack = function createRemoteTextTrack(options) {\n var track = mergeOptions$3(options, {\n tech: this\n });\n return new REMOTE.remoteTextEl.TrackClass(track);\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=true]\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 * @deprecated The default functionality for this function will be equivalent\n * to \"manualCleanup=false\" in the future. The manualCleanup parameter will\n * also be removed.\n */\n ;\n\n _proto.addRemoteTextTrack = function addRemoteTextTrack(options, manualCleanup) {\n var _this7 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var htmlTrackElement = this.createRemoteTextTrack(options);\n\n if (manualCleanup !== true && manualCleanup !== false) {\n // deprecation warning\n log$1.warn('Calling addRemoteTextTrack without explicitly setting the \"manualCleanup\" parameter to `true` is deprecated and default to `false` in future version of video.js');\n manualCleanup = true;\n } // store HTMLTrackElement and TextTrack to remote list\n\n\n this.remoteTextTrackEls().addTrackElement_(htmlTrackElement);\n this.remoteTextTracks().addTrack(htmlTrackElement.track);\n\n if (manualCleanup !== true) {\n // create the TextTrackList if it doesn't exist\n this.ready(function () {\n return _this7.autoRemoteTextTracks_.addTrack(htmlTrackElement.track);\n });\n }\n\n return htmlTrackElement;\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 ;\n\n _proto.removeRemoteTextTrack = function removeRemoteTextTrack(track) {\n var trackElement = this.remoteTextTrackEls().getTrackElementByTrack_(track); // remove HTMLTrackElement and TextTrack from remote list\n\n this.remoteTextTrackEls().removeTrackElement_(trackElement);\n this.remoteTextTracks().removeTrack(track);\n this.autoRemoteTextTracks_.removeTrack(track);\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 ;\n\n _proto.getVideoPlaybackQuality = function getVideoPlaybackQuality() {\n return {};\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 ;\n\n _proto.requestPictureInPicture = function requestPictureInPicture() {\n var PromiseClass = this.options_.Promise || window.Promise;\n\n if (PromiseClass) {\n return PromiseClass.reject();\n }\n }\n /**\n * A method to check for the value of the 'disablePictureInPicture'