{"version":3,"sources":["webpack:///../src/node_modules/video.js/dist/video-js.css?28e4","webpack:///../src/node_modules/video.js/dist/video.es.js","webpack:///../src/node_modules/video.js/node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///../src/node_modules/video.js/node_modules/@babel/runtime/helpers/construct.js","webpack:///../src/node_modules/video.js/node_modules/@babel/runtime/helpers/extends.js","webpack:///../src/node_modules/video.js/node_modules/@babel/runtime/helpers/inherits.js","webpack:///../src/node_modules/video.js/node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///../src/node_modules/video.js/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack:///../src/node_modules/video.js/node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///../src/node_modules/video.js/dist/video-js.css"],"names":["content","module","i","options","transform","undefined","locals","exports","browserApi","version$5","hooks_","hooks","type","fn","concat","removeHook","index","indexOf","slice","splice","FullscreenApi","prefixed","apiMap","specApi","length","_i","history","log$1","createLogger$1","name","logByType","level","log","_len","arguments","args","Array","_key","lvl","levels","lvlRegExp","RegExp","unshift","toUpperCase","push","console","info","test","isArray","LogByTypeFactory","createLogger","subname","all","off","debug","warn","error","DEFAULT","hasOwnProperty","Error","filter","fname","historyItem","clear","disable","enable","_len2","_key2","_len3","_key3","_len4","_key4","toString","Object","prototype","keys","object","isObject","each","forEach","key","assign","target","sources","apply","source","value","isPlain","call","constructor","computedStyle","el","prop","getComputedStyle","computedStyleValue","e","getPropertyValue","match","USER_AGENT","navigator","userAgent","webkitVersionMap","exec","appleWebkitVersion","parseFloat","pop","IS_IPOD","IOS_VERSION","IS_ANDROID","ANDROID_VERSION","major","minor","IS_NATIVE_ANDROID","IS_FIREFOX","IS_EDGE","IS_CHROME","CHROME_VERSION","IE_VERSION","result","version","IS_SAFARI","IS_WINDOWS","TOUCH_ENABLED","Boolean","isReal","maxTouchPoints","DocumentTouch","document","IS_IPAD","IS_IPHONE","IS_IOS","IS_ANY_SAFARI","browser","freeze","__proto__","isNonBlankString","str","trim","throwIfWhitespace","isEl","nodeType","isInFrame","parent","self","x","createQuerier","method","selector","context","querySelector","ctx","createEl","tagName","properties","attributes","createElement","getOwnPropertyNames","propName","val","setAttribute","textContent","attrName","appendContent","text","innerText","prependTo","child","firstChild","insertBefore","appendChild","hasClass","element","classToCheck","classList","contains","className","addClass","classToAdd","add","removeClass","classToRemove","remove","split","c","join","toggleClass","classToToggle","predicate","has","setAttributes","attrValue","removeAttribute","getAttributes","tag","obj","knownBooleans","attrs","attrVal","getAttribute","attribute","blockTextSelection","body","focus","onselectstart","unblockTextSelection","getBoundingClientRect","parentNode","rect","k","height","width","findPosition","offsetParent","left","top","offsetWidth","offsetHeight","fullscreenElement","offsetLeft","offsetTop","getPointerPosition","event","translated","y","item","nodeName","toLowerCase","values","map","Number","_values","position","boxTarget","box","boxW","boxH","offsetY","offsetX","changedTouches","pageX","pageY","Math","max","min","isTextNode","emptyEl","removeChild","normalizeContent","createTextNode","node","insertContent","isSingleLeftClick","button","buttons","videojs$1","$","$$","Dom","_windowLoaded","autoSetup","vids","getElementsByTagName","audios","divs","mediaEls","mediaEl","autoSetupTimeout","player","wait","vjs","setTimeout","setWindowLoaded","removeEventListener","readyState","addEventListener","FakeWeakMap","createStyleElement","style","setTextContent","styleSheet","cssText","_guid","newGUID","WeakMap","this","vdata","floor","performance","now","Date","data","_proto","set","access","get","_supportsPassive","DomData","_cleanUpEvents","elem","handlers","dispatcher","detachEvent","disabled","_handleMultipleEvents","types","callback","fixEvent","fixed_","returnTrue","returnFalse","isPropagationStopped","isImmediatePropagationStopped","old","preventDefault","srcElement","relatedTarget","fromElement","toElement","returnValue","defaultPrevented","stopPropagation","cancelBubble","stopImmediatePropagation","clientX","doc","documentElement","scrollLeft","clientLeft","clientY","scrollTop","clientTop","which","charCode","keyCode","passiveEvents","on","guid","hash","handlersCopy","m","n","opts","defineProperty","supportsPassive","passive","attachEvent","removeType","t","trigger","elemData","ownerDocument","bubbles","targetData","one","func","any","EVENT_MAP","Events","UPDATE_REFRESH_INTERVAL","bind","uid","bound","throttle","last","EventTarget$2","allowedEvents_","ael","dispatchEvent","queueTrigger","_this","Map","oldTimeout","clearTimeout","timeout","size","objName","name_","isEvented","eventBusEl_","every","isValidEventType","validateTarget","fnName","validateEventType","validateListener","listener","normalizeListenArgs","isTargetingSelf","shift","listen","EventedMixin","_normalizeListenArgs","removeListenerOnDispose","removeRemoverOnTargetDispose","_this2","_normalizeListenArgs2","wrapper","largs","_this3","_normalizeListenArgs3","_len5","_key5","targetOrType","typeOrListener","evented","eventBusKey","eventedCallbacks","el_","StatefulMixin","state","setState","stateUpdates","changes","from","to","stateful","defaultState","handleStateChanged","string","replace","w","toTitleCase$1","mergeOptions$3","MapSham","map_","thisArg","Map$1","SetSham","set_","Set$1","Set","Component$1","Component","ready","play","player_","isDisposed_","parentComponent_","options_","id_","id","handleLanguagechange","children_","childIndex_","childNameIndex_","setTimeoutIds_","setIntervalIds_","rafIds_","namedRafs_","clearingTimersOnDispose_","initChildren","reportTouchActivity","enableTouchActivity","dispose","readyQueue_","restoreEl","replaceChild","isDisposed","localize","tokens","defaultValue","code","language","languages","primaryCode","primaryLang","localizedString","ret","contentEl","contentEl_","children","getChildById","getChild","getDescendant","names","reduce","acc","currentChild","addChild","component","componentName","componentClassName","componentClass","ComponentClass","getComponent","refNode","childFound","compEl","workingChildren","parentOptions","Tech","some","wchild","isTech","playerOptions","newChild","buildCSSClass","sync","isReady_","triggerReady","readyQueue","show","hide","lockShowing","unlockShowing","num","skipListeners","dimension","dimensions","widthOrHeight","pxIndex","parseInt","currentDimension","computedWidthOrHeight","isNaN","rule","currentDimensions","currentWidth","currentHeight","blur","handleKeyDown","isEventKey","handleKeyPress","emitTapEvents","couldBeTap","touchStart","firstTouch","touches","xdiff","ydiff","sqrt","noTap","reportUserActivity","touchHolding","report","clearInterval","setInterval","touchEnd","timeoutId","clearTimersOnDispose_","interval","intervalId","requestAnimationFrame","_this4","supportsRaf_","requestNamedAnimationFrame","_this5","cancelNamedAnimationFrame","cancelAnimationFrame","_this6","_ref","idName","cancelName","registerComponent","ComponentToRegister","reason","isComp","isPrototypeOf","components_","Player","players","playerNames","pname","getRange","valueIndex","ranges","rangeIndex","maxIndex","rangeCheck","createTimeRangesObj","timeRangesObj","start","end","Symbol","iterator","createTimeRanges","bufferedPercent","buffered","duration","bufferedDuration","MediaError","message","defaultMessages","status","errorTypes","1","2","3","4","5","errNum","isPromise","then","silencePromise","trackToJson_","track","cues","cue","startTime","endTime","textTrackConverter","tech","trackEls","trackObjs","trackEl","json","src","textTracks","addedTrack","addRemoteTextTrack","addCue","ModalDialog","_Component","handleKeyDown_","close_","close","opened_","hasBeenOpened_","hasBeenFilled_","closeable","uncloseable","MODAL_CLASS_NAME","role","descEl_","description","tabIndex","label","previouslyActiveEl_","desc","open","fillAlways","fill","wasPlaying_","paused","pauseOnOpen","pause","hadControls_","controls","conditionalFocus_","opened","conditionalBlur_","temporary","closeable_","temp","controlText","fillWith","parentEl","nextSiblingEl","nextSibling","empty","closeButton","content_","activeEl","activeElement","playerEl","focusIndex","focusableEls","focusableEls_","shiftKey","allChildren","querySelectorAll","HTMLAnchorElement","HTMLAreaElement","hasAttribute","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","HTMLButtonElement","HTMLIFrameElement","HTMLObjectElement","HTMLEmbedElement","TrackList","_EventTarget","tracks","tracks_","addTrack","labelchange_","removeTrack","rtrack","l","getTrackById","change","addtrack","removetrack","labelchange","disableOthers$1","list","enabled","AudioTrackList","_TrackList","changing_","enabledChange_","disableOthers","selected","VideoTrackList","selectedChange_","TextTrackList","queueChange_","triggerSelectedlanguagechange","triggerSelectedlanguagechange_","kind","selectedlanguagechange_","HtmlTrackElementList","trackElements","trackElements_","addTrackElement_","trackElement","getTrackElementByTrack_","trackElement_","removeTrackElement_","TextTrackCueList","setCues_","length_","oldLength","cues_","defineProp","getCueById","VideoTrackKind","alternative","captions","main","sign","subtitles","commentary","AudioTrackKind","TextTrackKind","descriptions","chapters","metadata","TextTrackMode","hidden","showing","Track","trackProps","_loop","newLabel","parseUrl","url","props","a","href","details","protocol","host","location","getAbsoluteURL","getFileExtension","path","pathParts","isCrossOrigin","winLoc","urlInfo","Url","parseCues","srcContent","parser","WebVTT","Parser","vttjs","StringDecoder","errors","oncue","onparsingerror","onflush","parse","groupCollapsed","groupEnd","flush","loadTrack","uri","crossOrigin","cors","withCredentials","tech_","err","response","responseBody","loaded_","TextTrack","_Track","settings","srclang","mode","default_","activeCues_","preload_","preloadTextTracks","activeCues","changed","timeupdateHandler","rvf_","requestVideoFrameCallback","stopTracking","startTracking","defineProperties","newMode","ct","currentTime","active","cancelVideoFrameCallback","originalCue","VTTCue","originalCue_","removeCue","_removeCue","cuechange","AudioTrack","newEnabled","VideoTrack","newSelected","HTMLTrackElement","load","NONE","LOADING","LOADED","ERROR","NORMAL","audio","ListClass","TrackClass","capitalName","video","getterName","privateName","REMOTE","remoteText","remoteTextEl","ALL","onDurationChange_","onDurationChange","trackProgress_","trackProgress","trackCurrentTime_","trackCurrentTime","stopTrackingCurrentTime_","stopTrackingCurrentTime","disposeSourceHandler_","disposeSourceHandler","queuedHanders_","hasStarted_","featuresProgressEvents","manualProgressOn","featuresTimeupdateEvents","manualTimeUpdatesOn","nativeCaptions","nativeTextTracks","featuresNativeTextTracks","emulateTextTracks","autoRemoteTextTracks_","initTrackListeners","nativeControlsForTouch","triggerSourceset","manualProgress","manualProgressOff","stopTrackingProgress","progressInterval","numBufferedPercent","bufferedPercent_","duration_","manualTimeUpdates","manualTimeUpdatesOff","currentTimeInterval","manuallyTriggered","clearTracks","removeRemoteTextTrack","cleanupAutoTextTracks","reset","setCrossOrigin","error_","played","setScrubbing","scrubbing","setCurrentTime","trackListChanges","addWebVttScript_","script","onload","onerror","remoteTracks","remoteTextTracks","handleAddTrack","handleRemoveTrack","updateDisplay","textTracksChanges","addTextTrack","createTrackHelper","createRemoteTextTrack","manualCleanup","_this7","htmlTrackElement","remoteTextTrackEls","getVideoPlaybackQuality","requestPictureInPicture","PromiseClass","Promise","reject","disablePictureInPicture","setDisablePictureInPicture","cb","_this8","setPoster","playsinline","setPlaysinline","overrideNativeAudioTracks","overrideNativeVideoTracks","canPlayType","canPlaySource","srcObj","registerTech","techs_","defaultTechOrder_","getTech","videojs","featuresVolumeControl","featuresMuteControl","featuresFullscreenResize","featuresPlaybackRate","featuresSourceset","featuresVideoFrameCallback","withSourceHandlers","_Tech","registerSourceHandler","handler","sourceHandlers","can","selectSourceHandler","canHandleSource","sh","originalFn","sourceHandler_","setSource","nativeSourceHandler","currentSource_","handleSource","middlewares","middlewareInstances","TERMINATOR","next","setSourceHelper","mediate","middleware","arg","callMethod","middlewareValue","middlewareIterator","terminated","mws","mw","executeRight","allowedGetters","muted","seekable","volume","ended","allowedSetters","setMuted","setVolume","allowedMediators","lastRun","_middleware","mwFactory","mwrest","_mws$i","mwf","mwi","getOrCreateFactory","_src","MimetypesKind","opus","ogv","mp4","mov","m4v","mkv","m4a","mp3","aac","caf","flac","oga","wav","m3u8","mpd","jpg","jpeg","gif","png","svg","webp","getMimetype","ext","filterSource","newsrc","srcobj","fixSource","mimetype","MediaLoader","j","techOrder","techName","isSupported","loadTech_","ClickableComponent","handleMouseOver_","handleMouseOver","handleMouseOut_","handleMouseOut","handleClick_","handleClick","tabIndex_","createControlTextEl","controlTextEl_","controlText_","localizedText","nonIconControl","noUITitleAttributes","enabled_","clickHandler","PosterImage","_ClickableComponent","update","update_","poster","setSrc","backgroundImage","sourceIsEncrypted","usingPlugin","eme","sessions","fontMap","monospace","sansSerif","serif","monospaceSansSerif","monospaceSerif","proportionalSansSerif","proportionalSerif","casual","smallcaps","constructColor","color","opacity","hex","tryUpdateStyle","TextTrackDisplay","updateDisplayHandler","toggleDisplay","preselectTrack","firstDesc","firstCaptions","preferredTrack","modes","trackList","userPref","cache_","selectedLanguage","clearDisplay","processCues","allowMultipleShowingTracks","showingTracks","updateForTrack","descriptionsTrack","captionsSubtitlesTrack","_track","updateDisplayState","overrides","textTrackSettings","getValues","cueDiv","displayState","textOpacity","backgroundColor","backgroundOpacity","windowColor","windowOpacity","edgeStyle","textShadow","fontPercent","fontSize","fontFamily","fontVariant","_i2","_track2","_j","cueEl","LoadingSpinner","isAudio","playerType","dir","Button","BigPlayButton","_Button","mouseused_","handleMouseDown","playPromise","playToggle","playFocus","CloseButton","PlayToggle","replay","handlePlay","handlePause","handleEnded","handleSeeked","defaultImplementation","seconds","guide","s","h","gm","gh","Infinity","implementation","formatTime","TimeDisplay","updateContent","updateTextNode_","span","labelText_","textNode_","time","formattedTime_","oldNode","CurrentTimeDisplay","_TimeDisplay","getCache","DurationDisplay","TimeDivider","div","RemainingTimeDisplay","displayNegative","remainingTimeDisplay","remainingTime","LiveDisplay","updateShowing","SeekToLive","updateLiveEdgeStatus","liveTracker","updateLiveEdgeStatusHandler_","textEl_","atLiveEdge","seekToLiveEdge","clamp","number","Slider","handleMouseDown_","handleMouseUp_","handleMouseUp","handleMouseMove_","handleMouseMove","bar","barName","vertical","playerEvent","progress","getProgress","progress_","sizeKey","toFixed","getPercent","calculateDistance","stepBack","stepForward","bool","vertical_","percentify","LoadProgressBar","partEls_","loadedText","separator","percentageEl_","isLive","seekableEnd","bufferedEnd","percent","percent_","part","dataset","TimeTooltip","seekBarRect","seekBarPoint","tooltipRect","playerRect","seekBarPointPx","spaceLeftOfPoint","spaceRightOfPoint","right","pullTooltipBy","round","write","updateTime","liveWindow","secondsBehind","PlayProgressBar","timeTooltip","MouseTimeDisplay","SeekBar","_Slider","setEventHandlers_","updateInterval","enableIntervalHandler_","enableInterval_","disableIntervalHandler_","disableInterval_","toggleVisibility_","visibilityState","getCurrentTime_","liveCurrentTime","currentTime_","userSeek_","nextSeekedFromUser","seekableStart","videoWasPlaying","mouseDown","newTime","distance","mouseTimeDisplay","handleAction","gotoFraction","codes","STEP_SECONDS","ProgressControl","throttledHandleMouseSeek","handleMouseSeek","handleMouseUpHandler_","handleMouseDownHandler_","seekBar","playProgressBar","seekBarEl","removeListenersAddedOnMousedownAndTouchstart","PictureInPictureToggle","handlePictureInPictureChange","handlePictureInPictureEnabledChange","currentType","substring","audioPosterMode","audioOnlyMode","isInPictureInPicture","exitPictureInPicture","pictureInPictureEnabled","FullscreenToggle","handleFullscreenChange","fsApi_","fullscreenEnabled","isFullscreen","exitFullscreen","requestFullscreen","VolumeLevel","VolumeLevelTooltip","rangeBarRect","rangeBarPoint","volumeBarPointPx","updateVolume","MouseVolumeLevelDisplay","bottom","VolumeBar","updateLastVolume_","updateARIAAttributes","mouseVolumeLevelDisplay","volumeBarEl","volumeBarRect","volumeBarPoint","checkMuted","ariaValue","volumeAsPercentage_","volumeBeforeDrag","lastVolume_","VolumeControl","volumeBar","checkVolumeSupport","throttledHandleMouseMove","orientationClass","MuteToggle","checkMuteSupport","vol","lastVolume","volumeToSet","updateIcon_","updateControlText_","VolumePanel","inline","volumeControl","handleKeyPressHandler_","volumePanelState_","muteToggle","handleVolumeControlKeyUp","sliderActive_","sliderInactive_","Menu","menuButton_","menuButton","focusedChild_","boundHandleBlur_","handleBlur","boundHandleTapClick_","handleTapClick","addEventListenerForItem","removeEventListenerForItem","addItem","childComponent","contentElType","append","btn","buttonPressed_","unpressButton","childComponents","foundComponent","stepChild","MenuButton","buttonClass","handleMenuKeyUp_","handleMenuKeyUp","menu","handleMouseLeave","handleSubmenuKeyDown","createMenu","items","hideThreshold_","title","titleEl","titleComponent","createItems","buildWrapperCSSClass","menuButtonClass","pressButton","handleSubmenuKeyPress","TrackButton","_MenuButton","updateHandler","MenuKeys","MenuItem","selectable","isSelected_","multiSelectable","_selected","TextTrackMenuItem","_MenuItem","kinds","changeHandler","handleTracksChange","selectedLanguageChangeHandler","handleSelectedLanguageChange","onchange","Event","createEvent","initEvent","referenceTrack","shouldBeSelected","OffTextTrackMenuItem","_TextTrackMenuItem","allHidden","TextTrackButton","_TrackButton","TrackMenuItem","label_","kinds_","kind_","ChaptersTrackMenuItem","ChaptersButton","_TextTrackButton","selectCurrentItem_","track_","findChaptersTrack","setTrack","updateHandler_","remoteTextTrackEl","_remoteTextTrackEl","getMenuCaption","mi","DescriptionsButton","SubtitlesButton","CaptionSettingsMenuItem","CaptionsButton","SubsCapsMenuItem","parentSpan","SubsCapsButton","language_","AudioTrackMenuItem","audioTracks","featuresNativeAudioTracks","AudioTrackButton","PlaybackRateMenuItem","rate","playbackRate","PlaybackRateMenuButton","labelElId_","updateVisibility","updateLabel","handlePlaybackRateschange","labelEl_","rates","playbackRates","currentRate","newIndex","playbackRateSupported","Spacer","CustomControlSpacer","_Spacer","ControlBar","ErrorDisplay","_ModalDialog","LOCAL_STORAGE_KEY$1","COLOR_BLACK","COLOR_BLUE","COLOR_CYAN","COLOR_GREEN","COLOR_MAGENTA","COLOR_RED","COLOR_WHITE","COLOR_YELLOW","OPACITY_OPAQUE","OPACITY_SEMI","OPACITY_TRANS","selectConfigs","v","parseOptionValue","TextTrackSettings","endDialog","setDefaults","persistTextTrackSettings","saveSettings","config","restoreSettings","createElSelect_","legendId","selectLabelledbyIds","o","optionId","createElFgColor_","createElBgColor_","createElWinColor_","createElColors_","innerHTML","createElFont_","createElControls_","defaultsDescription","initial","accum","selectedIndex","setValues","setSelectedOption","JSON","localStorage","getItem","setItem","stringify","removeItem","ttDisplay","controlBar","subsCapsBtn","subsCapsButton","ccBtn","captionsButton","ResizeManager","RESIZE_OBSERVER_AVAILABLE","ResizeObserver","loadListener_","resizeObserver_","debouncedHandler_","immediate","debounced","_later","cancel","debounce","resizeHandler","observe","contentWindow","unloadListener_","unobserve","disconnect","resizeObserver","defaults","trackingThreshold","liveTolerance","LiveTracker","handleVisibilityChange_","handleVisibilityChange","trackLiveHandler_","trackLive_","handlePlay_","handleFirstTimeupdate_","handleFirstTimeupdate","handleSeeked_","seekToLiveEdge_","reset_","handleDurationchange","toggleTracking","deltaTime","lastTime_","pastSeekEnd_","pastSeekEnd","isBehind","seekedBehindLive_","abs","timeupdateSeen_","behindLiveEdge_","liveui","isTracking","hasStarted","trackingInterval_","timeDiff","nextSeekedFromUser_","lastSeekEnd_","seekableEnds","sort","seekableStarts","behindLiveEdge","sourcesetLoad","srcUrls","innerHTMLDescriptorPolyfill","cloneNode","dummy","docFrag","createDocumentFragment","childNodes","Element","getDescriptor","priority","descriptor","getOwnPropertyDescriptor","enumerable","configurable","firstSourceWatch","resetSourceWatch_","innerDescriptor","HTMLMediaElement","getInnerHTMLDescriptor","appendWrapper","appendFn","retval","srcDescriptorPolyfill","setupSourceset","resetSourceset_","srcDescriptor","getSrcDescriptor","oldSetAttribute","oldLoad","currentSrc","defineLazyProperty","getValue","setter","writable","Html5","crossoriginTracks","initNetworkState_","handleLateInit_","enableSourceset","setupSourcesetHandling_","isScrubbing_","hasChildNodes","nodes","nodesLength","removeNodes","proxyNativeTracks_","restoreMetadataTracksInIOSNativePlayer_","setControls","proxyWebkitFullscreen_","disposeMediaElement","metadataTracksPreFullscreenState","takeMetadataTrackSnapshot","storedMode","restoreTrackMode","storedTrack","overrideNative_","override","lowerCaseType","eventName","proxyNativeTracksForType_","elTracks","techTracks","listeners","currentTarget","removeOldTracks","removeTracks","found","playerElIngest","movingMediaElementInDOM","clone","techId","playerId","preload","settingsAttrs","attr","networkState","loadstartFired","setLoadstartFired","triggerLoadstart","eventsToTrigger","isScrubbing","fastSeek","checkProgress","NaN","endFn","beginFn","webkitPresentationMode","nativeIOSFullscreen","supportsFullScreen","webkitEnterFullScreen","enterFullScreen","HAVE_METADATA","exitFullScreen","webkitDisplayingFullscreen","webkitExitFullScreen","webkitKeys","resetMediaElement","videoPlaybackQuality","webkitDroppedFrameCount","webkitDecodedFrameCount","droppedVideoFrames","totalVideoFrames","creationTime","timing","navigationStart","TEST_VID","canControlVolume","canControl","canMuteVolume","canControlPlaybackRate","canOverrideAttributes","noop","supportsNativeTextTracks","supportsNativeVideoTracks","videoTracks","supportsNativeAudioTracks","patchCanPlayType","unpatchCanPlayType","r","TECH_EVENTS_RETRIGGER","TECH_EVENTS_QUEUE","canplay","canplaythrough","playing","seeked","BREAKPOINT_ORDER","BREAKPOINT_CLASSES","charAt","DEFAULT_BREAKPOINTS","tiny","xsmall","small","medium","large","xlarge","huge","getTagSettings","closest","boundDocumentFullscreenChange_","documentFullscreenChange_","boundFullWindowOnEscKey_","fullWindowOnEscKey","boundUpdateStyleEl_","updateStyleEl_","boundApplyInitTime_","applyInitTime_","boundUpdateCurrentBreakpoint_","updateCurrentBreakpoint_","boundHandleTechClick_","handleTechClick_","boundHandleTechDoubleClick_","handleTechDoubleClick_","boundHandleTechTouchStart_","handleTechTouchStart_","boundHandleTechTouchMove_","handleTechTouchMove_","boundHandleTechTouchEnd_","handleTechTouchEnd_","boundHandleTechTap_","handleTechTap_","isFullscreen_","isPosterFromTech_","queuedCallbacks_","userActive_","debugEnabled_","audioOnlyMode_","audioPosterMode_","audioOnlyCache_","playerHeight","hiddenChildren","tagAttributes","languagesToLower","languages_","resetCache_","poster_","controls_","changingSrc_","playCallbacks_","playTerminatedQueue_","autoplay","plugins","scrubbing_","fullscreenchange","fluid_","playerOptionsCopy","middleware_","flexNotSupported_","majorVersion","userActive","listenForUserActivity_","handleStageClick_","breakpoints","responsive","styleEl_","playerElIngest_","divEmbed","tabindex","VIDEOJS_NO_DYNAMIC_STYLE","defaultsStyleEl","head","fill_","fluid","aspectRatio","crossorigin","links","linkEl","techGet_","techCall_","_dimension","privDimension","parsedVal","ratio","aspectRatio_","idClass","ratioParts","videoWidth","videoHeight","ratioMultiplier","width_","height_","_width","_height","techEl","unloadTech_","titleTechName","camelTechName","techName_","normalizeAutoplay","techOptions","loop","techCanOverridePoster","TechClass","handleTechReady_","textTracksJson_","eventObj","seeking","handleTechLoadStart_","handleTechSourceset_","handleTechWaiting_","handleTechEnded_","handleTechSeeking_","handleTechPlay_","handleTechFirstPlay_","handleTechPause_","handleTechDurationChange_","handleTechFullscreenChange_","handleTechFullscreenError_","handleTechEnterPictureInPicture_","handleTechLeavePictureInPicture_","handleTechError_","handleTechPosterChange_","handleTechTextData_","handleTechRateChange_","usingNativeControls","addTechControlsListeners_","safety","removeTechControlsListeners_","manualAutoplay_","promise","resolveMuted","previouslyMuted","restoreMuted","mutedPromise","updateSourceCaches_","matchingSources","findMimetype","sourceElSources","sourceEls","matchingSourceEls","sourceObj","updateSourceCaches","playerSrc","currentSource","eventSrc","lastSource_","techSrc","techGet","request","lastPlaybackRate","queued","timeWhenWaiting","timeUpdateListener","handleTechCanPlay_","handleTechCanPlayThrough_","handleTechPlaying_","handleTechSeeked_","starttime","userActions","click","doubleClick","userWasActive","cancelable","toggleFullscreenClass_","targetPlayer","isFs","matches","fullscreen","msMatchesSelector","_this9","togglePictureInPictureClass_","initTime","inactivityTimeout","defaultPlaybackRate","media","reduceRight","_this10","resolve","play_","_this11","isSrcReady","waitToPlay_","runPlayTerminatedQueue_","runPlayCallbacks_","queue","q","callbacks","percentAsDecimal","_muted","defaultMuted","_defaultMuted","isFS","oldValue","fullscreenOptions","offHandler","errorHandler","requestFullscreenHelper_","fsOptions","_this12","preferFullWindow","enterFullWindow","exitFullscreenHelper_","_this13","exitFullWindow","isFullWindow","docOrigOverflow","overflow","isPiP","isInPictureInPicture_","hotkeys","isContentEditable","excludeElement","handleHotkeys","_hotkeys$fullscreenKe","fullscreenKey","keydownEvent","_hotkeys$muteKey","muteKey","_hotkeys$playPauseKey","playPauseKey","FSToggle","selectSource","_this14","techs","findFirstPassingTechSourcePair","outerArray","innerArray","tester","outerChoice","innerChoice","finder","_ref2","sourceOrder","b","handleSrc_","isRetry","_this15","resetRetryOnError_","middlewareSource","src_","notSupportedMessage","setTech","retryOnError","retry","stopListeningForErrors","str1","str2","_this16","sourceTech","_this17","doReset_","resetControlBarUI_","resetProgressBar_","resetPlaybackRate_","resetVolumeBar_","_ref3","durationDisplay","currentSources","techAutoplay","newPoster","usingNativeControls_","_this18","hookFunction","newErr","suppressNotSupportedError","triggerSuppressedError","errorDisplay","userActivity_","mouseInProgress","lastMoveX","lastMoveY","handleActivity","handleMouseUpAndMouseLeave","screenX","screenY","isAudio_","enableAudioOnlyUI_","_this19","playerChildren","controlBarHeight","disableAudioOnlyUI_","_this20","exitPromises","enablePosterModeUI_","disablePosterModeUI_","_this21","String","toJSON","createModal","_this22","modal","currentBreakpoint","candidateBreakpoint","breakpoints_","breakpoint_","removeCurrentBreakpoint_","currentBreakpointClass","_breakpoints","responsive_","loadMedia","_this23","_this$cache_$media","artwork","tt","getMedia","baseOptions","tagOptions","dataSetup","_safeParseTuple","childName","previousLogLevel_","newRates","html5","userLanguage","navigationUI","BASE_PLUGIN_NAME","pluginStorage","pluginExists","getPlugin","markPluginAsActive","triggerSetupEvent","before","createPluginFactory","PluginSubClass","plugin","instance","getEventHash","Plugin","VERSION","isBasic","p","registerPlugin","basicPluginWrapper","createBasicPlugin","deregisterPlugin","getPlugins","getPluginVersion","hasPlugin","normalizeId","getPlayer","TypeError","defaultView","PlayerComponent","hook","hookOnce","original","getPlayers","nId","_tag","_player","getAllPlayers","comp","use","writeable","extend","superClass","subClassMethods","subClass","methods","super_","mergeOptions","addLanguage","_mergeOptions","createTimeRange","setFormatTime","customImplementation","resetFormatTime","EventTarget","xhr","dom","resolveUrl","resolveManifestRedirect","handleManifestRedirect","req","responseURL","logger","TIME_FUDGE_FACTOR","SAFE_TIME_DELTA","filterRanges","timeRanges","results","findRange","findNextRange","printableRange","range","strArr","timeRangesToArray","timeRangesList","lastBufferedEnd","timeAheadOf","segmentDurationWithParts","playlist","segment","parts","preloadHints","partTargetDuration","getPartsAndSegments","segments","si","pi","segmentIndex","partIndex","getLastParts","lastSegment","getKnownPartCount","preloadSegment","partCount","count","hint","liveEdgeDelay","master","endList","suggestedPresentationDelay","hasParts","serverControl","partHoldBack","holdBack","targetDuration","intervalDuration","endSequence","expired","mediaSequence","backward","precise","backwardDuration","forward","forwardDuration","totalDuration","sumDurations","defaultDuration","durationList","startIndex","endIndex","durations","playlistEnd","useSafeLiveEnd","liveEdgePadding","lastSegmentEndTime","isBlacklisted","excludeUntil","isIncompatible","isEnabled","blacklisted","isLowestEnabledRendition","playlists","currentBandwidth","BANDWIDTH","MAX_VALUE","playlistMatch","resolvedUri","someAudioVariant","AUDIO","mediaGroups","groupName","isAudioOnly","variant","CODECS","_ret","Playlist","getMediaInfoForTime","_ref4","startingSegmentIndex","startingPartIndex","experimentalExactManifestTimings","partsAndSegments","partAndSegment","_partAndSegment","_i3","_i4","_partAndSegment2","isDisabled","isAes","estimateSegmentRequestTime","segmentDuration","bandwidth","bytesReceived","createPlaylistID","forEachMediaGroup","mediaType","groupKey","labelKey","mediaProperties","setupMediaPlaylist","playlistErrors_","addPropertiesToMaster","phonyUri","audioOnlyMaster","groupId","setupMediaPlaylists","resolveMediaGroupUris","mergeOptions$2","EventTarget$1","updateSegment","skipped","resolveSegmentUris","baseUri","getAllSegments","isPlaylistUnchanged","updateMaster$1","newMedia","unchangedCheck","oldMedia","mergedPlaylist","skip","skippedSegments","offset","oldSegments","newSegments","currentMap","oldSegment","newSegment","updateSegments","refreshDelay","lastPart","lastDuration","PlaylistLoader","vhs","logger_","_options","_options$withCredenti","_options$handleManife","handleManifestRedirects","vhs_","vhsOptions","customTagParsers","customTagMappers","experimentalLLHLS","handleMediaupdatetimeout_","parameters","canBlockReload","nextMSN","nextPart","_HLS_part","_HLS_msn","canSkipUntil","_HLS_skip","canSkipDateranges","parsedUri","URL","searchParams","addLLHLSQueryDirectives","playlistRequestError","haveMetadata","playlistString","responseText","startingState","parseManifest_","onwarn","oninfo","manifestString","_ref$customTagParsers","_ref$customTagMappers","customParser","addParser","mapper","addTagMapper","manifest","parseManifest","playlistObject","lastRequest","pendingMedia_","media_","updateMediaUpdateTimeout_","stopRequest","mediaUpdateTimeout","finalRenditionTimeout","oldRequest","onreadystatechange","abort","shouldDelay","delay","mediaChange","masterPlaylistRef","started","setupInitialPlaylist","srcUri","masterForMedia","videojsXHR","mergeOptions$1","callbackWrapper","reqResponse","responseType","responseTime","roundTripTime","requestTime","byteLength","headers","responseHeaders","timedout","aborted","statusCode","xhrFactory","XhrFunction","beforeRequest","Vhs","newOptions","originalAbort","segmentXhrHeaders","byterange","Range","BigInt","textRange","formatHexString","formatAsciiString","fromCharCode","createTransferableMessage","transferable","bytes","buffer","byteOffset","initSegmentId","initSegment","segmentKeyId","hexDump","step","utils","tagDump","textRanges","getProgramTime","_ref$time","matchedSegment","segmentEnd","videoTimingInfo","transmuxedPresentationEnd","estimatedStart","transmuxedPresentationStart","findSegmentForPlayerTime","seekTime","programTimeObject","mediaSeconds","programTime","playerTime","dateTimeObject","transmuxerPrependedSeconds","offsetFromSegmentStart","getTime","playerTimeToProgramTime","programDateTime","toISOString","seekToProgramTime","_ref2$retryCount","retryCount","seekTo","_ref2$pauseAfterSeek","pauseAfterSeek","verifyProgramDateTimeTags","lastSegmentStart","lastSegmentDuration","findSegmentForProgramTime","mediaOffset","comparisonTimeStamp","segmentDateTime","segmentTimeEpoch","getOffsetFromTimestamp","seekToTime","callbackOnCompleted","dashPlaylistUnchanged","sidx","aSegment","bSegment","aByterange","bByterange","compareSidxEntry","oldSidxMapping","newSidxMapping","currentSidxInfo","savedSidxInfo","sidxInfo","DashPlaylistLoader","srcUrlOrPlaylist","masterPlaylistLoader","masterPlaylistLoader_","isMaster_","refreshXml_","refreshMedia_","loadedPlaylists_","srcUrl","sidxMapping_","childPlaylist_","requestErrored_","addSidxSegments_","sidxKey","fin","sidxMapping","subarray","id3Offset","finished","endRequestAndCallback","_bytes","progressListener","newPart","beforeSend","overrideMimeType","total","loaded","containerRequest","container","internal","blacklistDuration","_playlist$sidx$bytera","mediaRequest_","minimumUpdatePeriodTimeout_","createMupOnMedia_","hasPendingRequest","sidxChanged","isFinalRendition","updateMinimumUpdatePeriodTimeout_","requestMaster_","masterChanged","haveMaster_","masterXml_","date","masterLoaded_","handleMaster_","syncClientServerClock_","done","utcTiming","clientOffset_","serverTime","masterXml","clientOffset","previousManifest","oldMaster","newMaster","manifestUri","noChanges","minimumUpdatePeriod","timelineStarts","playlistUpdate","group","_playlistUpdate","updateMaster","locations","mpl","mup","createMUPTimeout_","mediaGroupSidx","mediaID","mediaChanged","createMediaUpdateTimeout","Config","GOAL_BUFFER_LENGTH","MAX_GOAL_BUFFER_LENGTH","BACK_BUFFER_LENGTH","GOAL_BUFFER_LENGTH_RATE","INITIAL_BANDWIDTH","BANDWIDTH_VARIANCE","BUFFER_LOW_WATER_LINE","MAX_BUFFER_LOW_WATER_LINE","EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE","BUFFER_LOW_WATER_LINE_RATE","BUFFER_HIGH_WATER_LINE","browserWorkerPolyFill","workerObj","factory","objectUrl","createObjectURL","Blob","blob","BlobBuilder","getBlob","worker","Worker","objURL","terminate","revokeObjectURL","getWorkerString","TransmuxWorker","Stream","init","pipe","destination","flushSource","partialFlush","endTimeline","dinf","esds","ftyp","mfhd","minf","moof","moov","mvex","mvhd","trak","tkhd","mdia","mdhd","hdlr","sdtp","stbl","stsd","traf","trex","trun$1","MAJOR_BRAND","MINOR_VERSION","AVC1_BRAND","VIDEO_HDLR","AUDIO_HDLR","HDLR_TYPES","VMHD","SMHD","DREF","STCO","STSC","STSZ","STTS","videoSample","audioSample","audioTrun","videoTrun","trunHeader","stream","MAX_UINT32$1","pow","numbers","getUint64","uint8","dv","DataView","getBigUint64","MAX_SAFE_INTEGER","getUint32","MAX_UINT32","avc1","avcC","btrt","dref","mdat","mp4a","pasp","smhd","stco","stsc","stsz","stts","styp","tfdt","tfhd","trun","vmhd","Uint8Array","charCodeAt","payload","setUint32","audioobjecttype","samplingfrequencyindex","channelcount","samplerate","sequenceNumber","trackFragments","boxes","flags","samples","dependsOn","isDependedOn","hasRedundancy","avc1Box","sps","pps","sequenceParameterSets","pictureParameterSets","profileIdc","profileCompatibility","levelIdc","sarRatio","hSpacing","vSpacing","samplesize","trackFragmentHeader","trackFragmentDecodeTime","trackFragmentRun","sampleDependencyTable","upperWordBaseMediaDecodeTime","lowerWordBaseMediaDecodeTime","baseMediaDecodeTime","durationPresent","sizePresent","flagsPresent","compositionTimeOffset","bytesOffest","header","sample","isLeading","paddingValue","isNonSyncSample","degradationPriority","silence","secondsToVideoTs","secondsToAudioTs","videoTsToSeconds","audioTsToSeconds","audioTsToVideoTs","videoTsToAudioTs","metadataTsToSeconds","mp4Generator","fileType","movie","sampleForFrame","frame","dataOffset","pts","dts","keyFrame","frameUtils","nalUnits","currentNal","currentFrame","frames","nalCount","nalUnitType","currentGop","gops","baseDataOffset","nalsByteLength","numberOfNals","view","highPrefix","lowPrefix","zeroFill","silence_1","coneOfSilence","96000","88200","64000","48000","44100","32000","24000","16000","12000","11025","8000","metaTable","arr","ONE_SECOND_IN_TS$4","timestamp","sampleRate","timelineStartPts","keepOriginalTimestamps","clock","audioFrameUtils","audioAppendStartTs","videoBaseMediaDecodeTime","baseMediaDecodeTimeTs","frameDuration","silentFrame","firstFrame","audioGapDuration","audioFillFrameCount","audioFillDuration","ceil","adtsFrames","earliestAllowedDts","minSegmentDts","minSegmentPts","array","sum","sumFrameByteLengths","ONE_SECOND_IN_TS$3","trackDecodeInfo","maxSegmentDts","maxSegmentPts","timelineStartInfo","captionPacketParser","payloadType","payloadSize","sei","userData","ccData","newLength","newData","emulationPreventionBytesPositions","sourceIndex","CaptionStream$1","CaptionStream","parse708captions_","parse708captions","captionPackets_","ccStreams_","Cea608Stream","cc708Stream_","Cea708Stream","captionServices","cc","newCaptionPackets","escapedRBSP","latestDts_","ignoreNextEqualDts_","numSameDts_","flushCCStreams","flushType","flushStream","idx","presortIndex","packet","dispatchCea608Packet","dispatchCea708Packet","activeCea608Channel_","ccStream","setsTextOrXDSActive","setsChannel1Active","setsChannel2Active","CHARACTER_TRANSLATION_708","within708TextBlock","Cea708Window","windowNum","clearText","pendingNewLine","winAttr","penAttr","penLoc","penColor","visible","rowLock","columnLock","relativePositioning","anchorVertical","anchorHorizontal","anchorPoint","rowCount","virtualRowCount","columnCount","windowStyle","penStyle","getText","rows","rowIdx","newLine","beforeRowOverflow","isEmpty","addText","backspace","row","substr","Cea708Service","serviceNum","encoding","currentWindow","windows","createTextDecoder","startPts","win","setCurrentWindow","TextDecoder","textDecoder_","serviceProps","captionServiceEncodings","serviceName","serviceEncodings","current708Packet","services","new708Packet","add708Bytes","push708Packet","ptsVals","byte0","byte1","packet708","packetData","blockSize","seq","sizeCode","pushServiceBlock","service","initService","handleText","multiByteCharacter","extendedCommands","defineWindow","clearWindows","deleteWindows","displayWindows","hideWindows","toggleWindows","setWindowAttributes","setPenAttributes","setPenColor","setPenLocation","isExtended","getPts","byteIndex","flushDisplayed","_char","charCodeArray","newCode","isMultiByte","extended","currentByte","nextByte","decode","firstByte","secondByte","fillOpacity","fillRed","fillGreen","fillBlue","borderType","borderRed","borderGreen","borderBlue","wordWrap","printDirection","scrollDirection","justify","effectSpeed","effectDirection","displayEffect","displayedText","winId","endPts","pushCaption","textTag","penSize","italics","underline","edgeType","fontStyle","fgOpacity","fgRed","fgGreen","fgBlue","bgOpacity","bgRed","bgGreen","bgBlue","edgeRed","edgeGreen","edgeBlue","column","CHARACTER_TRANSLATION","getCharFromCode","ROWS","createDisplayBuffer","BOTTOM_ROW","field","dataChannel","field_","dataChannel_","setConstants","swap","char0","char1","lastControlCode_","PADDING_","RESUME_CAPTION_LOADING_","mode_","END_OF_CAPTION_","clearFormatting","displayed_","nonDisplayed_","startPts_","ROLL_UP_2_ROWS_","rollUpRows_","setRollUp","ROLL_UP_3_ROWS_","ROLL_UP_4_ROWS_","CARRIAGE_RETURN_","shiftRowsUp_","BACKSPACE_","row_","ERASE_DISPLAYED_MEMORY_","ERASE_NON_DISPLAYED_MEMORY_","RESUME_DIRECT_CAPTIONING_","isSpecialCharacter","column_","isExtCharacter","isMidRowCode","addFormatting","isOffsetControlCode","isPAC","formatting_","isColorPAC","isNormalChar","topRow_","BASE_","EXT_","CONTROL_","OFFSET_","_char2","newBaseRow","format","reverse","popOn","baseRow","rollUp","paintOn","captionStream","streamTypes","H264_STREAM_TYPE","ADTS_STREAM_TYPE","METADATA_STREAM_TYPE","TYPE_SHARED","handleRollover$1","reference","direction","TimestampRolloverStream$1","TimestampRolloverStream","lastDTS","referenceDTS","type_","discontinuity","_MetadataStream","timestampRolloverStream","percentEncode$1","parseUtf8","decodeURIComponent","parseSyncSafeInteger$1","tagParsers","TXXX","WXXX","PRIV","owner","unescape","privateData","tagSize","bufferSize","dispatchType","chunk","frameStart","frameSize","dataAlignmentIndicator","d","timeStamp","_TransportPacketStream","_TransportParseStream","_ElementaryStream","metadataStream","MP2T_PACKET_LENGTH$1","bytesInBuffer","everything","parsePsi","parsePat","parsePmt","packetsWaitingForPmt","programMapTable","psi","payloadUnitStartIndicator","pat","section_number","last_section_number","pmtPid","pmt","tableEnd","streamType","pid","processPes_","STREAM_TYPES","h264","adts","segmentHadPmt","timedMetadata","forceFlush","packetFlushable","fragment","trackId","pes","ptsDtsFlags","startPrefix","packetLength","codec","flushStreams_","m2ts","PAT_PID","MP2T_PACKET_LENGTH","TransportPacketStream","TransportParseStream","ElementaryStream","MetadataStream","_AdtsStream","m2ts_1","ONE_SECOND_IN_TS$2","ADTS_SAMPLING_FREQUENCIES$1","handlePartialSegments","frameNum","skipWarn_","frameLength","protectionSkipBytes","oldBuffer","sampleCount","adtsFrameDuration","_H264Stream","_NalByteStream","PROFILES_WITH_OPTIONAL_SPS_DATA","expGolomb","workingData","workingBytesAvailable","workingWord","workingBitsAvailable","bitsAvailable","loadWord","workingBytes","availableBytes","skipBits","skipBytes","readBits","bits","valu","skipLeadingZeros","leadingZeroCount","skipUnsignedExpGolomb","skipExpGolomb","readUnsignedExpGolomb","clz","readExpGolomb","readBoolean","readUnsignedByte","syncPoint","swapBuffer","len","100","110","122","244","44","83","86","118","128","138","139","134","currentPts","currentDts","discardEmulationPreventionBytes","readSequenceParameterSet","skipScalingList","nalByteStream","nalUnitTypeCode","expGolombDecoder","lastScale","nextScale","chromaFormatIdc","picOrderCntType","numRefFramesInPicOrderCntCycle","picWidthInMbsMinus1","picHeightInMapUnitsMinus1","frameMbsOnlyFlag","scalingListCount","frameCropLeftOffset","frameCropRightOffset","frameCropTopOffset","frameCropBottomOffset","_AacStream","H264Stream","NalByteStream","ADTS_SAMPLING_FREQUENCIES","parseId3TagSize","returnSize","getId3Offset","parseSyncSafeInteger","isLikelyAacData","parseAdtsSize","lowThree","middle","parseType","parseSampleRate","parseAacTimestamp","percentEncode","setTimestamp","bytesLeft","tempLength","_VideoSegmentStream","_AudioSegmentStream","_Transmuxer","_CoalesceStream","audioProperties","videoProperties","ONE_SECOND_IN_TS$1","retriggerForStream","addPipelineLogRetriggers","transmuxer","pipeline","arrayEquals","generateSegmentTimingInfo","startDts","endDts","prependedContentDuration","firstSequenceNumber","setEarliestDts","earliestDts","setVideoBaseMediaDecodeTime","setAudioAppendStart","videoClockCyclesOfSilencePrefixed","gopsToAlignWith","minPTS","gopCache_","nalUnit","gopForFusion","firstGop","lastGop","resetStream_","getGopForFusion_","alignedGops","alignGopsAtEnd","alignGopsAtEnd_","alignGopsAtStart_","gop","dtsDistance","nearestGopObj","currentGopObj","nearestDistance","alignIndex","gopIndex","align","alignEndIndex","matchFound","trimIndex","alignGopsWith","newGopsToAlignWith","numberOfTracks","remux","remuxTracks","pendingTracks","videoTrack","pendingBoxes","pendingCaptions","pendingMetadata","pendingBytes","emittedTracks","output","audioTrack","caption","id3","captionStreams","cueTime","setRemux","hasFlushed","transmuxPipeline_","setupAacPipeline","aacStream","audioTimestampRolloverStream","timedMetadataTimestampRolloverStream","adtsStream","coalesceStream","headOfPipeline","audioSegmentStream","getLogTrigger_","hasAudio","hasVideo","setupTsPipeline","packetStream","parseStream","elementaryStream","h264Stream","videoSegmentStream","id3Frame","setBaseMediaDecodeTime","isAac","resetCaptions","getTracks","getTimescaleFromMediaHeader","Transmuxer","VideoSegmentStream","AudioSegmentStream","AUDIO_PROPERTIES","VIDEO_PROPERTIES","bin","parseType_1","toUnsigned$2","findBox_1","findBox","subresults","toUnsigned$1","getUint64$1","parseTfdt","parseSampleFlags_1","parseTrun","dataOffsetPresent","firstSampleFlagsPresent","sampleDurationPresent","sampleSizePresent","sampleFlagsPresent","sampleCompositionTimeOffsetPresent","getInt32","parseTfhd","baseDataOffsetPresent","sampleDescriptionIndexPresent","defaultSampleDurationPresent","defaultSampleSizePresent","defaultSampleFlagsPresent","durationIsEmpty","defaultBaseIsMoof","sampleDescriptionIndex","defaultSampleDuration","defaultSampleSize","defaultSampleFlags","baseDataOffsetIsMoof","commonjsGlobal","globalThis","window","global","window_1","mapToSample","approximateOffset","parseCaptionNals","videoTrackId","trafs","mdats","captionNals","mdatTrafPairs","matchingTraf","pair","headerInfo","truns","avcStream","seiNal","lastMatchedSample","avcView","logs","seiNals","matchingSample","findSeiNals","allSamples","parseSamples","captionParser","segmentCache","timescale","parsedCaptions","parsingPartial","isInitialized","isPartial","isNewInit","videoTrackIds","timescales","parsedData","cachedSegment","trackNals","parseEmbeddedCaptions","pushNals","nals","nal","clearParsedCaptions","resetCaptionStream","clearAllCaptions","toUnsigned","toHexString","lowestTime","baseTime","scale","isFinite","traks","tkhdVersion","getUint8","sampleDescriptions","codecConfig","codecBox","probe$2","parsePid","parsePayloadUnitStartIndicator","parseAdaptionField","parseNalUnitType","probe$1","pusi","payloadOffset","parsePesType","parsePesTime","videoPacketContainsKeyFrame","frameBuffer","frameI","frameSyncPoint","foundKeyFrame","handleRollover","probe","ts","ONE_SECOND_IN_TS","SYNC_BYTE","parseAudioPes_","pesType","parsed","endLoop","table","parseVideoPes_","firstKeyFrame","inspectTs_","parsePsi_","tsInspector","baseTimestamp","audioCount","audioTimescale","inspectAac_","segmentInfo","audioBaseTimestamp","dtsTime","ptsTime","videoBaseTimestamp","adjustTimestamp_","MessageHandlers","initArray","typedArray","postMessage","action","gopInfo","timingInfo","videoSegmentTimingInfo","presentation","audioSegmentTimingInfo","trackInfo","audioTimingInfo","wireTransmuxerEvents","pushMp4Captions","trackIds","probeMp4StartTime","probeMp4Tracks","probeTs","baseStartTime","tsStartTime","timeInfo","videoStart","audioStart","clearAllMp4Captions","clearParsedMp4Captions","setTimestampOffset","timestampOffset","appendStart","onmessage","messageHandlers","processTransmux","audioAppendStart","onData","onTrackInfo","onAudioTimingInfo","onVideoTimingInfo","onVideoSegmentTimingInfo","onAudioSegmentTimingInfo","onId3","onCaptions","onDone","onEndedTimeline","onTransmuxerLog","isEndOfTimeline","transmuxedData","waitForEndedTimelineEvent","currentTransmux","_event$data$segment","videoFrameDtsTime","videoFramePtsTime","handleData_","handleGopInfo_","handleDone_","dequeue","ArrayBuffer","transmuxQueue","processAction","enqueueAction","transmux","segmentTransmuxer","term","workerCallback","endAction","listenForEndEvent","isArrayBuffer","transfers","REQUEST_ERRORS","abortAll","activeXhrs","handleErrors","handleKeyResponse","objects","finishProcessingFn","errorObj","Uint32Array","parseInitSegment","_callback","handleSegmentResponse","newBytes","stringToArrayBuffer","lastReachedChar","stats","getRequestStats","encryptedBytes","transmuxAndNotify","trackInfoFn","timingInfoFn","videoSegmentTimingInfoFn","audioSegmentTimingInfoFn","id3Fn","captionsFn","endedTimelineFn","dataFn","doneFn","fmp4Tracks","isMuxed","audioStartFn","audioEndFn","videoStartFn","videoEndFn","probeResult","id3Frames","handleSegmentBytes","_ref5","bytesAsUint8Array","isFmp4","audioCodec","videoCodec","finishLoading","_ref6","decrypt","_ref7","keyBytes","decryptionWorker","decryptionHandler","decrypted","encrypted","iv","waitForCompletion","_ref9","didError","segmentFinish","_ref8","requestId","decryptedBytes","decryptSegment","endOfAllRequests","parseError","handleProgress","_ref11","progressFn","progressEvent","getProgressStats","firstBytesReceivedAt","mediaSegmentRequest","_ref12","xhrOptions","abortFn","keyXhr","mapKeyXhr","initSegmentXhr","handleInitSegmentResponse","segmentRequestOptions","segmentXhr","loadendState","activeXhr","_ref10","calledAbortFn","handleLoadEnd","logFn$1","isMaat","mediaAttributes","unwrapCodecList","codecList","codecs","codecCount","codecObj","codecsForPlaylist","codecInfo","getCodecs","audioGroup","defaultCodecs","logFn","representationToString","representation","safeGetComputedStyle","property","stableSort","sortFn","newArray","cmp","comparePlaylistBandwidth","leftBandwidth","rightBandwidth","simpleSelector","playerBandwidth","playerWidth","limitRenditionByPlayerDimensions","masterPlaylistController","getAudioTrackPlaylists_","audioOnly","sortedPlaylistReps","RESOLUTION","enabledPlaylistReps","rep","bandwidthPlaylistReps","highestRemainingBandwidthRep","bandwidthBestRep","_chosenRep","haveResolution","resolutionBestRepList","resolutionPlusOneList","resolutionPlusOneSmallest","resolutionPlusOneRep","leastPixelDiffRep","resolutionBestRep","experimentalLeastPixelDiffSelector","leastPixelDiffList","pixelDiff","chosenRep","_type","lastBandwidthSelector","pixelRatio","useDevicePixelRatio","devicePixelRatio","systemBandwidth","masterPlaylistController_","addMetadata","inbandTextTracks","metadataArray","videoDuration","Cue","WebKitDataCue","metadataTrack","metadataTrack_","deprecateOldCue","cuesArray","cuesGroupedByStartTime","timeSlot","sortedStartTimes","cueGroup","nextTime","removeCuesFromTrack","finite","MIN_SEGMENT_DURATION_TO_SAVE_STATS","segmentInfoString","startOfSegment","_segmentInfo$playlist","_segmentInfo$playlist2","mediaIndex","timeline","segmentLen","selection","isSyncRequest","independent","hasPartIndex","zeroBasedPartCount","timingInfoPropertyForMedia","shouldWaitForTimelineChange","timelineChangeController","currentTimeline","segmentTimeline","loaderType","audioDisabled","lastMainTimelineChange","lastTimelineChange","pendingAudioTimelineChange","pendingTimelineChange","segmentTooLong","maxDuration","getTroublesomeSegmentDurationMessage","sourceType","timingInfos","typeTimingInfo","isSegmentWayTooLong","isSegmentSlightlyTooLong","segmentTooLongMessage","severity","SegmentLoader","_videojs$EventTarget","mediaSource","throughput","roundTrip","resetStats_","hasPlayed_","hasPlayed","seekable_","seeking_","mediaSource_","loaderType_","currentMediaInfo_","startingMediaInfo_","segmentMetadataTrack_","segmentMetadataTrack","goalBufferLength_","goalBufferLength","sourceType_","sourceUpdater_","sourceUpdater","inbandTextTracks_","state_","timelineChangeController_","shouldSaveSegmentTimingInfo_","useDtsForTimestampOffset_","useDtsForTimestampOffset","captionServices_","checkBufferTimeout_","currentTimeline_","pendingSegment_","xhrOptions_","pendingSegments_","audioDisabled_","isPendingTimestampOffset_","gopBuffer_","timeMapping_","safeAppend_","appendInitSegment_","playlistOfLastInitSegment_","callQueue_","loadQueue_","metadataQueue_","waitingOnRemove_","quotaExceededErrorRetryTimeout_","activeInitSegmentId_","initSegments_","cacheEncryptionKeys_","cacheEncryptionKeys","keyCache_","decrypter_","decrypter","syncController_","syncController","syncPoint_","transmuxer_","createTransmuxer_","triggerSyncInfoUpdate_","isEndOfStream_","ended_","fetchAtBuffer_","newState","hasEnoughInfoToAppend_","processCallQueue_","hasEnoughInfoToLoad_","processLoadQueue_","mediaBytesTransferred","mediaRequests","mediaRequestsAborted","mediaRequestsTimedout","mediaRequestsErrored","mediaTransferDuration","mediaSecondsLoaded","mediaAppends","abort_","setAudio","removeAudio","monitorBuffer_","abortRequests","clearPendingTimelineChange","checkForAbort_","_error","endOfStream","buffered_","getMediaInfo_","videoBuffered","audioBuffered","initSegmentForMap","storedMap","segmentKey","storedKey","couldBeginLoading_","playlist_","init_","resetEverything","newPlaylist","oldPlaylist","syncInfo","setDateTimeMappingForStart","oldId","resyncLoader","resetLoader","mediaSequenceDiff","saveExpiredSegmentInfo","force","removesRemaining","removeFinished","mapping","updatedBuffer","removeGopBuffer","removeVideo","monitorBufferTick_","fillBuffer_","updating","chooseNextRequest_","loadSegment_","appendedLastSegment","appendedLastPart","bufferedTime","preloaded","haveEnoughBuffer","getSyncPoint","targetTime","timelineSegments","getSyncSegmentCandidate","_Playlist$getMediaInf","_partIndex","nextSegment","lastSegmentLastPart","generateSegmentInfo_","forceTimestampOffset","random","overrideCheck","timestampOffsetForSegment_","audioBufferedEnd","audioTimestampOffset","currentTimePts","gopsSafeToAlignWith","videoTimestampOffset","earlyAbortWhenNeeded_","measuredBandwidth","requestTimeRemaining","timeUntilRebuffer$1","timeUntilRebuffer","switchCandidate","compatiblePlaylists","enabledPlaylists","rebufferingEstimates","numRequests","rebufferingImpact","noRebufferingPlaylists","estimate","minRebufferMaxBandwidthSelector","timeSavedBySwitching","minimumTimeSaving","handleAbort_","handleProgress_","simpleSegment","handleTrackInfo_","checkForIllegalMediaSwitch","akeys","bkeys","shallowEqual","handleTimingInfo_","timeType","timingInfoProperty","handleCaptions_","captionData","hasAppendedData_","captionTracks","captionTrack","trackName","_captionTracks$trackN","instreamId","def","captionService","createCaptionsTrackIfNotExists","captionArray","addCaptionData","handleId3_","inBandMetadataTrackDispatchType","createMetadataTrackIfNotExists","processMetadataQueue_","callQueue","fun","loadQueue","getCurrentMediaInfo_","setTimeMapping_","updateMediaSecondsLoaded_","firstVideoFrameTimeForData","useVideoTimingInfo","trueSegmentStart_","currentStart","currentVideoTimestampOffset","updateAppendInitSegmentStatus","updateSourceBufferTimestampOffset_","updateTimingInfoEnd_","saveSegmentTimingInfo","shouldSaveTimelineMapping","appendData_","changedTimestampOffset","getInitSegmentAndUpdateState_","handleQuotaExceededError_","audioBufferStart","audioBufferEnd","videoBufferStart","videoBufferEnd","appendToSourceBuffer_","timeToRemoveUntil","MIN_BACK_BUFFER","handleAppendError_","segmentObj","tempBuffer","appendBuffer","handleSegmentTimingInfo_","segmentTimingInfo","transmuxedDecodeStart","transmuxedDecodeEnd","trimBackBuffer_","updateTransmuxerAndRequestSegment_","shouldUpdateTransmuxerTimestampOffset_","createSimplifiedSegmentObj_","isEndOfStream","isWalkingForward","isDiscontinuity","segmentRequestFinished_","removeToTime","trimTime","maxTrimTime","safeBackBufferTrimTime","previousSegment","saveTransferStats_","saveBandwidthRelatedStats_","handleTimeout_","updateGopBuffer","waitForAppendsToComplete_","timelineMapping","mappingForTimeline","waitForVideo","waitForAudio","waitingOnAppends","checkAppendsDone_","videoQueueCallback","audioQueueCallback","handleAppendsDone_","illegalMediaSwitchError","startingMedia","illegalMediaSwitch","didChange","getSegmentStartTimeForTimestampOffsetCalculation_","prioritizedTimingInfo","segmentDurationMessage","recordThroughput_","addSegmentMetadataCue_","badSegmentGuess","badPartGuess","segmentProcessingTime","segmentProcessingThroughput","custom","dateTimeString","resolution","Vhs$1","toTitleCase","bufferTypes","_updating","sourceBuffer","queuePending","shiftQueue","queueIndex","queueEntry","nextQueueIndexOfType","cleanupBuffer","titleType","inSourceBuffers","sourceBuffers","actions","onError","_duration","mime","addSourceBuffer","removeSourceBuffer","changeType","pushQueue","onUpdateend","SourceUpdater","sourceopenListener_","audioTimestampOffset_","videoTimestampOffset_","delayedAudioAppendQueue_","videoAppendQueued_","onVideoUpdateEnd_","onAudioUpdateEnd_","onVideoError_","videoError_","onAudioError_","audioError_","createdSourceBuffers_","initializedEme_","triggeredReady_","initializedEme","hasCreatedSourceBuffers","hasInitializedAnyEme","createSourceBuffers","addOrChangeSourceBuffers","canRemoveSourceBuffer","MediaSource","canChangeType","SourceBuffer","processedAppend_","videoBuffer","que","audioBuffer","bufferA","bufferB","arity","extents","bufferIntersection","setDuration","uint8ToUtf8","uintArray","escape","VTT_LINE_TERMINATORS","_char3","VTTSegmentLoader","_SegmentLoader","subtitlesTrack_","featuresNativeTextTracks_","combinedByteLength","combinedSegment","timestampOffsetForTimeline","skipEmptySegments_","stopForError","loadHandler","requested","parseVTTCues_","updateTimeMapping_","timelines","duplicates","occurrences","dupe","removeDuplicateCuesFromTrack","decoder","decodeBytesToString","timestampmap","MPEGTS","LOCAL","ontimestampmap","mapData","segmentData","mappingObj","diff","firstStart","lastStart","findAdCue","mediaTime","adStartTime","adEndTime","syncPointStrategies","run","timelineToDatetimeMappings","lastDistance","datetimeMapping","z","discontinuityStarts","discontinuitySequence","discontinuitySync","discontinuities","SyncController","syncPoints","runStrategies_","selectSyncPoint_","getExpiredTime","strategy","bestSyncPoint","bestDistance","bestStrategy","newDistance","lastRemovedSegment","firstSegment","playlistTimestamp","didCalculateSegmentTimeMapping","calculateSegmentTimeMapping_","saveDiscontinuitySyncInfo_","dateTime","accuracy","mediaIndexDiff","TimelineChangeController","pendingTimelineChanges_","lastTimelineChanges_","Decrypter","createCommonjsModule","basedir","require","base","commonjsRequire","createClass","_defineProperties","Constructor","protoProps","staticProps","__esModule","setPrototypeOf","_setPrototypeOf","inheritsLoose","create","_length","aesTables","AES","tmp","xInv","x2","x4","tEnc","tDec","tables","encTable","decTable","sbox","sboxInv","th","precompute","_tables","keyLen","rcon","encKey","decKey","encrypted0","encrypted1","encrypted2","encrypted3","out","a2","b2","c2","nInnerRounds","kIndex","table0","table1","table2","table3","AsyncStream","_Stream","jobs","timeout_","processJob_","job","ntoh","word","initVector","STEP","encrypted32","Int32Array","asyncStream_","decryptChunk_","padded","init0","init1","init2","init3","wordIx","decipher","decrypted32","isView","audioTrackKind_","characteristics","stopLoaders","segmentLoader","activePlaylistLoader","startLoaders","playlistLoader","segmentLoaders","mediaTypes","blacklistCurrentPlaylist","activeTrack","activeGroup","defaultTrack","onTrackChanged","SUBTITLES","setupListeners","requestOptions","initialize","_settings$mediaTypes$","groups","variantLabel","isMasterPlaylist","_settings$mediaTypes$2","forced","autoselect","_settings$mediaTypes$3","newProps","groupMatch","setupMediaGroups","_settings$segmentLoad3","audioSegmentLoader","mainSegmentLoader","variants","groupKeys","groupPropertyList","onGroupChanged","_settings$segmentLoad","getActiveGroup","previousActiveLoader","lastGroup","lastGroup_","lastTrack_","onGroupChanging","_settings$segmentLoad2","lastTrack","mpc","selectPlaylist","fastQualityChange_","activeTrack_","onAudioTrackChanged","loaderStats","sumLoaderStat","stat","audioSegmentLoader_","mainSegmentLoader_","MasterPlaylistController","externVhs","useCueTags","enableLowInitialPlaylist","experimentalBufferBasedABR","maxPlaylistRetries","useCueTags_","cueTagsTrack_","requestOptions_","pauseLoading","mediaTypes_","handleDurationChange_","handleSourceOpen_","handleSourceEnded_","segmentLoaderSettings","setupMasterPlaylistLoaderListeners_","subtitleSegmentLoader_","setupSegmentLoaderListeners_","startABRTimer_","stopABRTimer_","triggeredFmp4Usage","loadOnPlay_","timeToLoadedData__","mainAppendsToLoadedData__","audioAppendsToLoadedData__","timeToLoadedDataStart","mainAppendsToLoadedData_","audioAppendsToLoadedData_","appendsToLoadedData_","timeToLoadedData_","checkABR_","nextPlaylist","shouldSwitchToMedia_","switchMedia_","cause","newId","abrTimer_","defaultPlaylists","defaultGroup","requestTimeout","triggerPresenceUsage_","setupFirstPlay","updatedPlaylist","selectedMedia","excludeUnsupportedVariants_","selectInitialPlaylist","initialMedia_","handleUpdatedMediaPlaylist","lastExcludeReason_","stuckAtPlaylistEnd_","updateAdCues_","updateDuration","defaultDemuxed","audioGroupKeys","mediaGroup","currentPlaylist","bufferLowWaterLine","bufferHighWaterLine","sharedLogLine","isBuffered","forwardBuffer","maxBufferLowWaterLine","nextBandwidth","currBandwidth","logLine","_logLine","shouldSwitchToMedia","onSyncInfoUpdate_","onEndOfStream","delegateLoaders_","updateCodecs","tryToCreateSourceBuffers_","getCodecsOrExclude_","mediaSecondsLoaded_","smoothQualityChange_","mainMediaInfo","absolutePlaylistEnd","reincluded","errorMessage","delayDuration","fnNames","loaders","dontFilterPlaylist","loader","audioSeekable","mainSeekable","oldEnd","oldStart","updateDuration_","areMediaTypesKnown_","usingAudioLoader","hasMainMediaInfo","hasAudioMediaInfo","playlistCodecs","unsupportedAudio","unsupportedCodecs","supporter","switchMessages","newCodec","oldCodec","codecString","excludeIncompatibleVariants_","ids","unsupported","codecCount_","videoDetails","audioDetails","blacklistReasons","variantCodecs","variantCodecCount","variantVideoDetails","variantAudioDetails","cueOut","_segment$cueOutCont$s","cueOutCont","adOffset","adTotal","updateAdCues","newMax","Representation","vhsHandler","playlistID","changePlaylistFn","qualityChangeFunction","smoothQualityChange","incompatible","currentlyEnabled","timerCancelEvents","PlaybackWatcher","allowSeeksWithinUnsafeLiveWindow","liveRangeSafeTimeDelta","consecutiveUpdates","lastRecordedTime","timer_","checkCurrentTimeTimeout_","playHandler","monitorCurrentTime_","canPlayHandler","waitingHandler","techWaiting_","cancelTimerHandler","cancelTimer_","loaderTypes","loaderChecks","resetSegmentDownloads_","updateend","checkSegmentDownloads_","setSeekingHandlers","seekingAppendCheck_","fixesBadSeeks_","clearSeekingAppendCheck_","watchForBadSeeking_","checkCurrentTime_","isBufferedDifferent","isRangeDifferent","playlistId","waiting_","afterSeekableWindow_","beforeSeekableWindow_","minAppendedDuration","bufferedToCheck","nextRange","currentRange","livePoint","videoUnderflow_","difference","skipTheGap_","allowedEnd","gap","lastVideoRange","videoRange","audioRange","gapFromVideoUnderflow_","scheduledCurrentTime","gaps","findGaps","defaultOptions","errorInterval","getSource","IWillNotUseThisInPlugins","initPlugin","lastCalled","localOptions","loadedMetadataHandler","cleanupEvents","reloadSourceOnError","version$4","STANDARD_PLAYLIST_SELECTOR","INITIAL_PLAYLIST_SELECTOR","movingAverageBandwidthSelector","decay","average","lastSystemBandwidth","comparePlaylistResolution","leftWidth","rightWidth","LOCAL_STORAGE_KEY","handleVhsMediaChange","qualityLevels","selectedIndex_","waitForKeySessionCreation","sourceKeySystems","audioMedia","mainPlaylists","initializeMediaKeys","keySystemsOptionsArr","keySystems","keySystemsArr","contentProtection","keySystemsOptions","keySystemsObj","keySystem","keySystemOptions","pssh","getAllPsshKeySystemsOptions","initializationFinishedPromises","keySessionCreatedPromises","race","setupEmeOptions","sourceOptions","mainPlaylist","audioPlaylist","videoContentType","audioContentType","keySystemContentTypes","emeKeySystems","getVhsLocalStorage","storedObject","supportsNativeHls","canItPlay","supportsNativeDash","supportsTypeNatively","VhsHandler","hls","initialBandwidth","source_","ignoreNextSeekingEvent_","setOptions_","overrideNative","featuresNativeVideoTracks","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","useBandwidthFromLocalStorage","useNetworkInformationApi","option","dataUri","playbackWatcherOptions","playbackWatcher_","defaultSelector","playerBandwidthEst","networkInformation","connection","mozConnection","webkitConnection","tenMbpsAsBitsPerSecond","networkInfoBandwidthEstBitsPerSec","downlink","invThroughput","invBandwidth","mediaRequests_","mediaRequestsAborted_","mediaRequestsTimedout_","mediaRequestsErrored_","mediaTransferDuration_","mediaBytesTransferred_","mediaAppends_","mainAppendsToLoadedData","audioAppendsToLoadedData","appendsToLoadedData","timeToLoadedData","currentTech","playerDimensions","objectToStore","updateVhsLocalStorage","representations","setupEme_","setupQualityLevels_","mediaSourceUrl_","createKeySessions_","audioPlaylistLoader","handleWaitingForKey_","didSetupEmeOptions","masterPlaylist","_videojs$log","excludedHDPlaylists","qualityLevels_","addQualityLevel","dash","convertToProgramTime","VhsSourceHandler","_videojs$mergeOptions","_videojs$mergeOptions2","_videojs$mergeOptions3","_videojs$mergeOptions4","_videojs$mergeOptions5","legacyOverrideNative","supportedType","ReferenceError","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","Function","_extends","sham","Proxy","valueOf"],"mappings":"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","file":"npm.video.js.js","sourcesContent":["\nvar content = require(\"!!../../../../builder/node_modules/css-loader/dist/cjs.js!./video-js.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../builder/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../builder/node_modules/css-loader/dist/cjs.js!./video-js.css\", function() {\n\t\tvar newContent = require(\"!!../../../../builder/node_modules/css-loader/dist/cjs.js!./video-js.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","/**\n * @license\n * Video.js 7.20.3 \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$1 from 'global/window';\nimport document from 'global/document';\nimport _extends from '@babel/runtime/helpers/extends';\nimport keycode from 'keycode';\nimport _assertThisInitialized from '@babel/runtime/helpers/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport safeParseTuple from 'safe-json-parse/tuple';\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 { isArrayBufferView, concatTypedArrays, stringToBytes, toUint8 } from '@videojs/vhs-utils/es/byte-helpers';\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 { ONE_SECOND_IN_TS } from 'mux.js/lib/utils/clock';\n\nvar version$5 = \"7.20.3\";\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$1.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$1.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$1.console.info || window$1.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$1.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$1.getComputedStyle === 'function') {\n var computedStyleValue;\n\n try {\n computedStyleValue = window$1.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$1.navigator && window$1.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$1 || window$1.navigator.maxTouchPoints || window$1.DocumentTouch && window$1.document instanceof window$1.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$1.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$1.parent !== window$1.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$1.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$1.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$1.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$1.WeakMap) {\n FakeWeakMap = /*#__PURE__*/function () {\n function FakeWeakMap() {\n this.vdata = 'vdata' + Math.floor(window$1.performance && window$1.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$1.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$1.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 // Lighthouse complains if Event.path is copied\n if (key !== 'layerX' && key !== 'layerY' && key !== 'keyLocation' && key !== 'webkitMovementX' && key !== 'webkitMovementY' && key !== 'path') {\n // Chrome 32+ warns if you try to copy deprecated returnValue, but\n // we still want to if preventDefault isn't supported (IE8).\n if (!(key === 'returnValue' && old.preventDefault)) {\n event[key] = old[key];\n }\n }\n } // 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$1.addEventListener('test', null, opts);\n window$1.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$1.performance.now();\n\n var throttled = function throttled() {\n var now = window$1.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$1;\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$1.clearTimeout(oldTimeout);\n var timeout = window$1.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$1.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$1.Map ? window$1.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$1 = window$1.Set ? window$1.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 component 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 {string} [options.className]\n * A class or space separated list of classes to add the component\n *\n * @param {Component~ReadyCallback} [ready]\n * Function that gets called when the `Component` is ready.\n */\n function Component(player, options, ready) {\n var _this = this;\n\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 }\n\n if (options.className && this.el_) {\n options.className.split(' ').forEach(function (c) {\n return _this.addClass(c);\n });\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$1();\n this.setIntervalIds_ = new Set$1();\n this.rafIds_ = new Set$1();\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 * @param {Object} options\n * @param {Element} options.originalEl element with which to replace player element\n */\n\n\n var _proto = Component.prototype;\n\n _proto.dispose = function dispose(options) {\n if (options === void 0) {\n options = {};\n }\n\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 if (options.restoreEl) {\n this.el_.parentNode.replaceChild(options.restoreEl, this.el_);\n } else {\n this.el_.parentNode.removeChild(this.el_);\n }\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 _this2 = 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 = _this2.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 = _this2.addChild(name, opts);\n\n if (newChild) {\n _this2[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] || _this2.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. Exclude Tab for focus trapping.\n if (!keycode.isEventKey(event, 'Tab')) {\n event.stopPropagation();\n }\n\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$1.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$1.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 _this3 = 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$1.setTimeout(function () {\n if (_this3.setTimeoutIds_.has(timeoutId)) {\n _this3.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$1.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$1.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$1.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 _this4 = 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$1.requestAnimationFrame(function () {\n if (_this4.rafIds_.has(id)) {\n _this4.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 _this5 = 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 (_this5.namedRafs_.has(name)) {\n _this5.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$1.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 _this6 = 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 _this6[idName].forEach(function (val, key) {\n return _this6[cancelName](key);\n });\n });\n _this6.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$1.requestAnimationFrame === 'function' && typeof window$1.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$1.Symbol && window$1.Symbol.iterator) {\n timeRangesObj[window$1.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$1.HTMLAnchorElement || child instanceof window$1.HTMLAreaElement) && child.hasAttribute('href') || (child instanceof window$1.HTMLInputElement || child instanceof window$1.HTMLSelectElement || child instanceof window$1.HTMLTextAreaElement || child instanceof window$1.HTMLButtonElement) && !child.hasAttribute('disabled') || child instanceof window$1.HTMLIFrameElement || child instanceof window$1.HTMLObjectElement || child instanceof window$1.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$1.location.protocol;\n }\n /* istanbul ignore if */\n\n\n if (!details.host) {\n details.host = window$1.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$1.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$1.WebVTT.Parser(window$1, window$1.vttjs, window$1.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$1.console && window$1.console.groupCollapsed) {\n window$1.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$1.console && window$1.console.groupEnd) {\n window$1.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$1.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 _this.timeupdateHandler = bind(_assertThisInitialized(_this), function (event) {\n if (event === void 0) {\n event = {};\n }\n\n if (this.tech_.isDisposed()) {\n return;\n }\n\n if (!this.tech_.isReady_) {\n if (event.type !== 'timeupdate') {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n }\n\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 if (event.type !== 'timeupdate') {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n }\n });\n\n var disposeHandler = function disposeHandler() {\n _this.stopTracking();\n };\n\n _this.tech_.one('dispose', disposeHandler);\n\n if (mode !== 'disabled') {\n _this.startTracking();\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.stopTracking();\n\n if (mode !== 'disabled') {\n this.startTracking();\n }\n /**\n * An event that fires when mode changes on this track. This allows\n * the TextTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec!\n *\n * @event TextTrack#modechange\n * @type {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 var _proto = TextTrack.prototype;\n\n _proto.startTracking = function startTracking() {\n // More precise cues based on requestVideoFrameCallback with a requestAnimationFram fallback\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler); // Also listen to timeupdate in case rVFC/rAF stops (window in background, audio in video el)\n\n this.tech_.on('timeupdate', this.timeupdateHandler);\n };\n\n _proto.stopTracking = function stopTracking() {\n if (this.rvf_) {\n this.tech_.cancelVideoFrameCallback(this.rvf_);\n this.rvf_ = undefined;\n }\n\n this.tech_.off('timeupdate', this.timeupdateHandler);\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 _proto.addCue = function addCue(originalCue) {\n var cue = originalCue;\n\n if (window$1.vttjs && !(originalCue instanceof window$1.vttjs.VTTCue)) {\n cue = new window$1.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 };\n\n _this.queuedHanders_ = new Set(); // keep track of whether the current source has played at all to\n // implement a very limited played()\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$1.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$1.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$1.Promise;\n\n if (PromiseClass) {\n return PromiseClass.reject();\n }\n }\n /**\n * A method to check for the value of the 'disablePictureInPicture'