{"version":3,"sources":["video-js/video.js"],"names":["global","factory","exports","module","define","amd","self","videojs","this","version","commonjsGlobal","globalThis","window","unwrapExports","x","__esModule","Object","prototype","hasOwnProperty","call","createCommonjsModule","fn","doccy","window_1","minDoc","topLevel","document","browserApi","document_1","FullscreenApi","prefixed","apiMap","specApi","i","length","_i","history","LogByTypeFactory","name","log","type","level","args","lvl","levels","lvlRegExp","RegExp","unshift","toUpperCase","push","concat","splice","console","info","test","Array","isArray","createLogger","logByType","_len","arguments","_key","subname","all","off","debug","warn","error","DEFAULT","Error","filter","fname","historyItem","clear","disable","enable","_len2","_key2","_len3","_key3","_len4","_key4","createLogger$1","_extends_1","_extends","assign","target","source","key","apply","toString","keys","object","isObject","each","forEach","sources","value","isPlain","constructor","computedStyle","el","prop","getComputedStyle","computedStyleValue","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","IS_SAFARI","IS_WINDOWS","TOUCH_ENABLED","Boolean","isReal","maxTouchPoints","DocumentTouch","IS_IPAD","IS_IPHONE","IS_IOS","IS_ANY_SAFARI","browser","freeze","__proto__","isNonBlankString","str","trim","throwIfWhitespace","indexOf","isEl","nodeType","isInFrame","parent","createQuerier","method","selector","context","querySelector","ctx","createEl","tagName","properties","attributes","content","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","undefined","height","width","findPosition","offsetParent","left","top","offsetWidth","offsetHeight","fullscreenElement","offsetLeft","offsetTop","getPointerPosition","event","translated","y","item","nodeName","toLowerCase","transform","values","slice","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","$","$$","Dom","_windowLoaded","autoSetup","options","vids","getElementsByTagName","audios","divs","mediaEls","e","mediaEl","autoSetupTimeout","player","wait","vjs","setTimeout","setWindowLoaded","removeEventListener","readyState","addEventListener","FakeWeakMap","createStyleElement","style","setTextContent","styleSheet","cssText","_guid","newGUID","WeakMap","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","old","preventDefault","srcElement","relatedTarget","fromElement","toElement","returnValue","defaultPrevented","stopPropagation","cancelBubble","stopImmediatePropagation","isImmediatePropagationStopped","clientX","doc","documentElement","scrollLeft","clientLeft","clientY","scrollTop","clientTop","which","charCode","keyCode","supportsPassive","opts","defineProperty","passiveEvents","on","guid","hash","handlersCopy","m","n","passive","attachEvent","removeType","t","trigger","elemData","ownerDocument","bubbles","targetData","one","func","any","EVENT_MAP","Events","UPDATE_REFRESH_INTERVAL","bind","uid","bound","throttle","last","debounce","immediate","timeout","debounced","_later","clearTimeout","cancel","EventTarget","allowedEvents_","ael","dispatchEvent","queueTrigger","_this","Map","oldTimeout","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","StatefulMixin","state","setState","stateUpdates","changes","from","to","stateful","defaultState","handleStateChanged","string","replace","w","toTitleCase","mergeOptions","MapSham","map_","thisArg","Map$1","SetSham","set_","Set","Component","ready","play","player_","isDisposed_","parentComponent_","options_","id_","id","el_","handleLanguagechange","children_","childIndex_","childNameIndex_","setTimeoutIds_","setIntervalIds_","rafIds_","namedRafs_","clearingTimersOnDispose_","initChildren","reportTouchActivity","enableTouchActivity","dispose","readyQueue_","isDisposed","localize","tokens","defaultValue","code","language","languages","primaryCode","primaryLang","localizedString","index","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","handleKeyPress","emitTapEvents","couldBeTap","touchStart","firstTouch","touches","xdiff","ydiff","sqrt","noTap","reportUserActivity","touchHolding","report","clearInterval","setInterval","touchEnd","timeoutId","clearTimersOnDispose_","interval","intervalId","requestAnimationFrame","supportsRaf_","requestNamedAnimationFrame","_this4","cancelNamedAnimationFrame","cancelAnimationFrame","_this5","_ref","idName","cancelName","registerComponent","ComponentToRegister","reason","isComp","isPrototypeOf","components_","Player","players","playerNames","pname","assertThisInitialized","ReferenceError","_typeof","Symbol","iterator","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","inheritsLoose","subClass","superClass","create","getRange","valueIndex","ranges","rangeIndex","maxIndex","rangeCheck","createTimeRangesObj","start","end","createTimeRanges","bufferedPercent","buffered","duration","bufferedDuration","MediaError","message","defaultMessages","status","errorTypes","1","2","3","4","5","errNum","tuple","reviver","json","JSON","parse","err","isPromise","then","silencePromise","trackToJson_","track","cues","cue","startTime","endTime","textTrackConverter","tech","trackEls","trackObjs","trackEl","src","textTracks","addedTrack","addRemoteTextTrack","addCue","keycode","searchInput","hasKeyCode","foundNamedKey","search","String","codes","aliases","charCodeAt","isEventKey","nameOrCode","backspace","tab","enter","ctrl","alt","pause/break","caps lock","esc","space","page up","page down","home","up","right","down","insert","delete","command","left command","right command","numpad *","numpad +","numpad -","numpad .","numpad /","num lock","scroll lock","my computer","my calculator",";","=",",","-",".","/","`","[","\\","]","'","windows","⇧","⌥","⌃","⌘","ctl","control","option","pause","break","caps","return","escape","spc","spacebar","pgup","pgdn","ins","del","cmd","fromCharCode","title","alias","MODAL_CLASS_NAME","ModalDialog","_Component","opened_","hasBeenOpened_","hasBeenFilled_","closeable","uncloseable","role","descEl_","description","tabIndex","aria-describedby","aria-hidden","aria-label","label","previouslyActiveEl_","desc","open","fillAlways","fill","wasPlaying_","paused","pauseOnOpen","hadControls_","controls","conditionalFocus_","opened","close","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","list","enabled","AudioTrackList","_TrackList","changing_","enabledChange_","disableOthers$1","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","descriptions","main-desc","translation","TextTrackKind","chapters","metadata","TextTrackMode","hidden","showing","Track","trackProps","_loop","newLabel","parseUrl","url","props","a","href","div","addToBody","host","protocol","innerHTML","details","location","getAbsoluteURL","getFileExtension","path","pathParts","isCrossOrigin","winLoc","urlInfo","Url","window_1$1","isFunction_1","toString$1","alert","confirm","prompt","parseHeaders","headers","row","xhr","createXHR","default_1","initParams","uri","params","_createXHR","called","response","getBody","responseText","responseType","responseXML","firefoxBugTakenEffect","getXml","isJson","errorFunc","evt","timeoutTimer","statusCode","failureResponse","loadFunc","aborted","useXDR","rawRequest","getAllResponseHeaders","cors","XDomainRequest","XMLHttpRequest","stringify","onreadystatechange","onload","onerror","onprogress","onabort","ontimeout","username","password","withCredentials","abort","setRequestHeader","isEmpty","beforeSend","send","array","forEachArray","parseCues","srcContent","parser","WebVTT","Parser","vttjs","StringDecoder","errors","oncue","onparsingerror","onflush","groupCollapsed","groupEnd","flush","loadTrack","crossOrigin","tech_","responseBody","loaded_","TextTrack","_Track","settings","srclang","mode","default_","activeCues_","preload_","preloadTextTracks","activeCues","changed","timeupdateHandler","defineProperties","default","newMode","ct","currentTime","active","originalCue","VTTCue","originalCue_","removeCue","_removeCue","cuechange","AudioTrack","newEnabled","VideoTrack","newSelected","NONE","LOADED","HTMLTrackElement","load","LOADING","ERROR","NORMAL","audio","ListClass","TrackClass","capitalName","video","getterName","privateName","REMOTE","remoteText","remoteTextEl","ALL","_objCreate","F","ParsingError","errorData","parseTimeStamp","input","computeSeconds","h","s","f","Settings","parseOptions","keyValueDelim","groupDelim","groups","kv","parseCue","regionList","oInput","consumeTimeStamp","ts","Errors","BadTimeStamp","skipWhitespace","substr","v","region","vals","vals0","integer","percent","vertical","line","lineAlign","snapToLines","align","center","middle","positionAlign","consumeCueSettings","BadSignature","dflt","defaultKey","TEXTAREA_ELEMENT","TAG_NAME","b","u","ruby","rt","lang","DEFAULT_COLOR_CLASS","white","lime","cyan","red","yellow","magenta","blue","black","TAG_ANNOTATION","NEEDS_PARENT","parseContent","nextToken","shouldAdd","current","localName","annotation","rootDiv","tagStack","createProcessingInstruction","classes","cl","bgColor","colorName","propValue","strongRTLRanges","isStrongRTLChar","currentRange","determineBidi","cueDiv","nodeStack","childNodes","pushNodes","nextTextNode","StyleBox","CueStyleBox","styleOptions","styles","color","backgroundColor","bottom","display","writingMode","unicodeBidi","applyStyles","direction","textAlign","font","whiteSpace","textPos","formatStyle","move","BoxPosition","lh","rects","getClientRects","lineHeight","moveBoxToLinePosition","styleBox","containerBox","boxPositions","boxPosition","linePos","textTrackList","mediaElement","trackList","count","computeLinePos","axis","step","round","maxPosition","initialAxis","abs","ceil","reverse","calculatedPercentage","bestPosition","specifiedPosition","percentage","overlapsOppositeAxis","within","overlapsAny","p","intersectPercentage","findBestPosition","toCSSCompatValues","WebVTT$1","unit","toMove","overlaps","b2","boxes","container","reference","getSimpleBoxPosition","decode","decodeURIComponent","encodeURIComponent","convertCueToDOMTree","cuetext","processCues","overlay","paddedOverlay","margin","hasBeenReset","displayState","shouldCompute","decoder","buffer","TextDecoder","reportOrThrowError","collectNextLine","pos","parseHeader","ontimestampmap","MPEGTS","LOCAL","xy","anchor","VTTRegion","lines","regionAnchorX","regionAnchorY","viewportAnchorX","viewportAnchorY","scroll","onregion","parseRegion","stream","alreadyCollectedLine","hasSubstring","vtt","autoKeyword","directionSetting","","lr","rl","alignSetting","auto","line-left","line-right","findAlignSetting","_id","_pauseOnExit","_startTime","_endTime","_text","_region","_vertical","_snapToLines","_line","_lineAlign","_position","_positionAlign","_size","_align","enumerable","pauseOnExit","TypeError","setting","findDirectionSetting","SyntaxError","getCueAsHTML","vttcue","scrollSetting","isValidPercentValue","vttregion","_width","_lines","_regionAnchorX","_regionAnchorY","_viewportAnchorX","_viewportAnchorY","_scroll","findScrollSetting","browserIndex","cueShim","regionShim","nativeVTTCue","nativeVTTRegion","shim","restore","hasStarted_","featuresProgressEvents","manualProgressOn","featuresTimeupdateEvents","manualTimeUpdatesOn","nativeCaptions","nativeTextTracks","featuresNativeTextTracks","emulateTextTracks","autoRemoteTextTracks_","initTrackListeners","nativeControlsForTouch","triggerSourceset","onDurationChange","manualProgress","trackProgress","manualProgressOff","stopTrackingProgress","progressInterval","numBufferedPercent","bufferedPercent_","duration_","manualTimeUpdates","trackCurrentTime","stopTrackingCurrentTime","manualTimeUpdatesOff","currentTimeInterval","manuallyTriggered","clearTracks","removeRemoteTextTrack","cleanupAutoTextTracks","reset","setCrossOrigin","error_","played","setScrubbing","scrubbing","setCurrentTime","trackListChanges","addWebVttScript_","script","_this6","remoteTracks","remoteTextTracks","handleAddTrack","handleRemoveTrack","updateDisplay","textTracksChanges","addTextTrack","createTrackHelper","createRemoteTextTrack","manualCleanup","_this7","htmlTrackElement","remoteTextTrackEls","getVideoPlaybackQuality","requestPictureInPicture","PromiseClass","Promise","reject","disablePictureInPicture","setDisablePictureInPicture","setPoster","playsinline","setPlaysinline","overrideNativeAudioTracks","overrideNativeVideoTracks","canPlayType","canPlaySource","srcObj","registerTech","techs_","defaultTechOrder_","getTech","featuresVolumeControl","featuresMuteControl","featuresFullscreenResize","featuresPlaybackRate","featuresSourceset","withSourceHandlers","_Tech","registerSourceHandler","handler","sourceHandlers","can","selectSourceHandler","canHandleSource","sh","originalFn","sourceHandler_","setSource","nativeSourceHandler","disposeSourceHandler","currentSource_","handleSource","middlewares","middlewareInstances","TERMINATOR","next","setSourceHelper","middleware","lastRun","_middleware","mwFactory","mwrest","mw","mws","_mws$i","mwf","mwi","getOrCreateFactory","_src","mediate","arg","callMethod","middlewareValue","middlewareIterator","terminated","executeRight","allowedGetters","muted","seekable","volume","allowedSetters","setMuted","setVolume","allowedMediators","MimetypesKind","opus","ogv","mp4","mov","m4v","mkv","m4a","mp3","aac","caf","flac","oga","wav","m3u8","jpg","jpeg","gif","png","svg","webp","getMimetype","ext","fixSource","mimetype","MediaLoader","j","techOrder","techName","isSupported","loadTech_","ClickableComponent","tabIndex_","createControlTextEl","controlTextEl_","aria-live","controlText_","localizedText","nonIconControl","enabled_","handleClick","handleMouseOver","handleMouseOut","clickHandler","PosterImage","_ClickableComponent","update","poster","setSrc","backgroundImage","sourceIsEncrypted","usingPlugin","eme","sessions","fontMap","monospace","sansSerif","serif","monospaceSansSerif","monospaceSerif","proportionalSansSerif","proportionalSerif","casual","smallcaps","constructColor","opacity","hex","tryUpdateStyle","TextTrackDisplay","updateDisplayHandler","toggleDisplay","preselectTrack","firstDesc","firstCaptions","preferredTrack","modes","userPref","cache_","selectedLanguage","aria-atomic","clearDisplay","allowMultipleShowingTracks","showingTracks","updateForTrack","descriptionsTrack","captionsSubtitlesTrack","_track","updateDisplayState","overrides","textTrackSettings","getValues","textOpacity","backgroundOpacity","windowColor","windowOpacity","edgeStyle","textShadow","fontPercent","fontSize","fontFamily","fontVariant","_i2","_track2","_j","cueEl","LoadingSpinner","isAudio","playerType","dir","Button","BigPlayButton","_Button","mouseused_","handleMouseDown","playPromise","cb","playToggle","playFocus","CloseButton","PlayToggle","replay","handlePlay","handlePause","handleEnded","handleSeeked","defaultImplementation","seconds","guide","gm","gh","Infinity","implementation","formatTime","TimeDisplay","updateContent","updateTextNode_","labelText_","textNode_","time","formattedTime_","oldNode","replaceChild","CurrentTimeDisplay","_TimeDisplay","ended","getCache","DurationDisplay","TimeDivider","RemainingTimeDisplay","remainingTimeDisplay","remainingTime","LiveDisplay","updateShowing","SeekToLive","updateLiveEdgeStatus","liveTracker","textEl_","atLiveEdge","seekToLiveEdge","clamp","number","Slider","bar","barName","playerEvent","handleMouseMove","handleMouseUp","aria-valuenow","aria-valuemin","aria-valuemax","progress","getProgress","progress_","sizeKey","toFixed","getPercent","calculateDistance","stepBack","stepForward","bool","vertical_","percentify","LoadProgressBar","partEls_","loadedText","separator","percentageEl_","isLive","seekableEnd","bufferedEnd","percent_","part","dataset","TimeTooltip","seekBarRect","seekBarPoint","tooltipRect","playerRect","seekBarPointPx","spaceLeftOfPoint","spaceRightOfPoint","pullTooltipBy","write","updateTime","liveWindow","secondsBehind","PlayProgressBar","timeTooltip","MouseTimeDisplay","SeekBar","_Slider","setEventHandlers_","update_","updateInterval","enableInterval_","disableInterval_","toggleVisibility_","visibilityState","getCurrentTime_","liveCurrentTime","currentTime_","seekableStart","videoWasPlaying","newTime","distance","mouseTimeDisplay","handleAction","gotoFraction","STEP_SECONDS","ProgressControl","throttledHandleMouseSeek","handleMouseSeek","seekBar","playProgressBar","seekBarEl","removeListenersAddedOnMousedownAndTouchstart","PictureInPictureToggle","handlePictureInPictureChange","handlePictureInPictureEnabledChange","pictureInPictureEnabled","isInPictureInPicture","exitPictureInPicture","FullscreenToggle","handleFullscreenChange","fsApi_","fullscreenEnabled","isFullscreen","exitFullscreen","requestFullscreen","checkVolumeSupport","VolumeLevel","VolumeBar","updateLastVolume_","updateARIAAttributes","checkMuted","ariaValue","volumeAsPercentage_","volumeBeforeDrag","lastVolume_","VolumeControl","volumeBar","throttledHandleMouseMove","orientationClass","checkMuteSupport","MuteToggle","vol","lastVolume","volumeToSet","updateIcon_","updateControlText_","VolumePanel","inline","volumeControl","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","menu","handleMenuKeyUp","handleMouseLeave","handleSubmenuKeyDown","createMenu","items","hideThreshold_","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","track_","setTrack","findChaptersTrack","updateHandler_","remoteTextTrackEl","_remoteTextTrackEl","getMenuCaption","mi","DescriptionsButton","SubtitlesButton","CaptionSettingsMenuItem","CaptionsButton","SubsCapsMenuItem","SubsCapsButton","language_","AudioTrackMenuItem","audioTracks","AudioTrackButton","PlaybackRateMenuItem","rate","playbackRate","PlaybackRateMenuButton","updateVisibility","updateLabel","labelEl_","rates","playbackRates","currentRate","newRate","playbackRateSupported","Spacer","CustomControlSpacer","_Spacer","ControlBar","ErrorDisplay","_ModalDialog","COLOR_BLACK","COLOR_BLUE","COLOR_CYAN","COLOR_GREEN","COLOR_MAGENTA","COLOR_RED","COLOR_WHITE","COLOR_YELLOW","OPACITY_OPAQUE","OPACITY_SEMI","OPACITY_TRANS","selectConfigs","parseOptionValue","TextTrackSettings","endDialog","setDefaults","persistTextTrackSettings","saveSettings","config","restoreSettings","createElSelect_","legendId","selectLabelledbyIds","optionId","createElFgColor_","createElBgColor_","createElWinColor_","createElColors_","createElFont_","createElControls_","defaultsDescription","initial","accum","selectedIndex","setValues","setSelectedOption","localStorage","getItem","setItem","removeItem","ttDisplay","controlBar","subsCapsBtn","subsCapsButton","ccBtn","captionsButton","ResizeManager","RESIZE_OBSERVER_AVAILABLE","ResizeObserver","loadListener_","resizeObserver_","debouncedHandler_","resizeHandler","observe","contentWindow","unloadListener_","unobserve","disconnect","resizeObserver","defaults","trackingThreshold","liveTolerance","LiveTracker","reset_","handleDurationchange","toggleTracking","handleVisibilityChange","stopTracking","startTracking","trackLive_","deltaTime","lastTime_","pastSeekEnd_","pastSeekEnd","isBehind","seekedBehindLive_","timeupdateSeen_","behindLiveEdge_","liveui","isTracking","hasStarted","trackingInterval_","handleFirstTimeupdate","timeDiff","skipNextSeeked_","lastSeekEnd_","seekableEnds","sort","seekableStarts","behindLiveEdge","sourcesetLoad","srcUrls","innerHTMLDescriptorPolyfill","cloneNode","dummy","docFrag","createDocumentFragment","Element","getDescriptor","priority","descriptor","getOwnPropertyDescriptor","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","class","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","resetMediaElement","videoPlaybackQuality","webkitDroppedFrameCount","webkitDecodedFrameCount","droppedVideoFrames","totalVideoFrames","creationTime","timing","navigationStart","TEST_VID","canControlVolume","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","substring","DEFAULT_BREAKPOINTS","tiny","xsmall","small","medium","large","xlarge","huge","getTagSettings","closest","boundDocumentFullscreenChange_","documentFullscreenChange_","boundFullWindowOnEscKey_","fullWindowOnEscKey","isFullscreen_","isPosterFromTech_","queuedCallbacks_","userActive_","debugEnabled_","tagAttributes","languagesToLower","languages_","resetCache_","poster_","controls_","changingSrc_","playCallbacks_","playTerminatedQueue_","autoplay","plugins","scrubbing_","fullscreenchange","fluid_","updateStyleEl_","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_","_height","techEl","unloadTech_","titleTechName","camelTechName","techName_","techOptions","loop","vtt.js","canOverridePoster","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_","handleTechClick_","handleTechDoubleClick_","handleTechTouchStart_","handleTechTouchMove_","handleTechTouchEnd_","handleTechTap_","manualAutoplay_","promise","previouslyMuted","restoreMuted","mutedPromise","updateSourceCaches_","matchingSources","findMimetype","sourceElSources","sourceEls","matchingSourceEls","sourceObj","updateSourceCaches","playerSrc","currentSource","eventSrc","lastSource_","techSrc","techGet","request","lastPlaybackRate","queued","_this8","timeWhenWaiting","timeUpdateListener","handleTechCanPlay_","handleTechCanPlayThrough_","handleTechPlaying_","handleTechSeeked_","starttime","userActions","doubleClick","userWasActive","cancelable","toggleFullscreenClass_","targetPlayer","isFs","matches","fullscreen","msMatchesSelector","togglePictureInPictureClass_","initTime","inactivityTimeout","defaultPlaybackRate","media","reduceRight","_this9","resolve","play_","_this10","isSrcReady","waitToPlay_","runPlayTerminatedQueue_","runPlayCallbacks_","queue","q","callbacks","applyInitTime_","percentAsDecimal","_muted","defaultMuted","_defaultMuted","isFS","oldValue","fullscreenOptions","offHandler","errorHandler","requestFullscreenHelper_","fsOptions","_this11","enterFullWindow","exitFullscreenHelper_","_this12","exitFullWindow","isFullWindow","docOrigOverflow","overflow","isPiP","isInPictureInPicture_","hotkeys","isContentEditable","excludeElement","handleHotkeys","_hotkeys$fullscreenKe","fullscreenKey","keydownEvent","_hotkeys$muteKey","muteKey","_hotkeys$playPauseKey","playPauseKey","FSToggle","selectSource","_this13","techs","findFirstPassingTechSourcePair","outerArray","innerArray","tester","outerChoice","innerChoice","finder","_ref2","sourceOrder","_this14","filterSource","newsrc","srcobj","middlewareSource","src_","notSupportedMessage","setTech","str1","str2","_this15","sourceTech","_this16","doReset_","resetControlBarUI_","resetProgressBar_","resetPlaybackRate_","resetVolumeBar_","_this$controlBar","durationDisplay","currentSources","currentType","techAutoplay","newPoster","usingNativeControls_","suppressNotSupportedError","triggerSuppressedError","errorDisplay","userActivity_","mouseInProgress","lastMoveX","lastMoveY","handleActivity","handleMouseUpAndMouseLeave","screenX","screenY","isAudio_","toJSON","createModal","_this17","modal","updateCurrentBreakpoint_","currentBreakpoint","candidateBreakpoint","breakpoints_","breakpoint_","removeCurrentBreakpoint_","currentBreakpointClass","_breakpoints","responsive_","loadMedia","_this18","_this$cache_$media","artwork","tt","getMedia","baseOptions","tagOptions","dataSetup","_safeParseTuple","childName","previousLogLevel_","html5","userLanguage","navigationUI","_setPrototypeOf","isNativeReflectConstruct","Reflect","construct","sham","Proxy","_construct","Parent","Class","instance","Function","pluginStorage","pluginExists","getPlugin","markPluginAsActive","triggerSetupEvent","before","createPluginFactory","PluginSubClass","plugin","getEventHash","Plugin","VERSION","isBasic","registerPlugin","basicPluginWrapper","createBasicPlugin","deregisterPlugin","getPlugins","getPluginVersion","BASE_PLUGIN_NAME","hasPlugin","inherits","normalizeId","videojs$1","getPlayer","defaultView","hooks","hookFunction","PlayerComponent","hooks_","hook","hookOnce","original","removeHook","getPlayers","nId","_tag","_player","getAllPlayers","comp","use","writeable","extend","subClassMethods","methods","super_","addLanguage","_mergeOptions","createTimeRange","setFormatTime","customImplementation","resetFormatTime","dom","_assertThisInitialized$1","setPrototypeOf$1","doccy$1","_inheritsLoose$1","topLevel$1","document_1$1","window_1$2","urlToolkit","URL_REGEX","FIRST_SEGMENT_REGEX","SLASH_DOT_REGEX","SLASH_DOT_DOT_REGEX","URLToolkit","buildAbsoluteURL","baseURL","relativeURL","alwaysNormalize","basePartsForNormalise","parseURL","normalizePath","buildURLFromParts","relativeParts","scheme","baseParts","netLoc","builtParts","query","fragment","baseURLPath","newPath","lastIndexOf","parts","window_1$3","resolveUrl","baseUrl","relativeUrl","setPrototypeOf$2","_inheritsLoose$2","Stream","_length","pipe","destination","_assertThisInitialized$2","atob","Buffer","decodeB64ToUint8Array","b64Text","decodedString","Uint8Array","LineStream","_Stream","nextNewline","parseAttributes","ParseStream","customParsers","tagMappers","mapper","mappedLine","newLine","tagType","playlistType","offset","allowed","URI","BYTERANGE","_attributes$BYTERANGE","byterange","RESOLUTION","resolution","BANDWIDTH","dateTimeString","dateTimeObject","IV","Uint32Array","PRECISE","addParser","expression","customType","dataParser","segment","addTagMapper","lineStream","parseStream","currentMap","uris","currentUri","defaultMediaGroups","AUDIO","VIDEO","CLOSED-CAPTIONS","SUBTITLES","currentTimeline","manifest","allowCache","discontinuityStarts","segments","lastByterangeEnd","entry","mediaGroup","rendition","allow-cache","endlist","endList","inf","mediaSequence","discontinuitySequence","METHOD","KEYFORMAT","KEYID","contentProtection","com.widevine.alpha","schemeIdUri","keyId","pssh","iv","media-sequence","isFinite","discontinuity-sequence","playlist-type","playlist","stream-inf","playlists","mediaGroups","TYPE","NAME","mediaGroupType","autoselect","AUTOSELECT","LANGUAGE","instreamId","CHARACTERISTICS","characteristics","FORCED","forced","discontinuity","program-date-time","targetduration","targetDuration","totalduration","totalDuration","timeOffset","precise","cue-out","cueOut","cue-out-cont","cueOutCont","cue-in","cueIn","timeline","comment","custom","chunk","MPEGURL_REGEX","DASH_REGEX","simpleTypeFromSourceType","window_1$4","entities","entityMap","lt","gt","amp","quot","apos","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","times","divide","forall","exist","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","infin","ang","and","or","cap","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","alpha","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","OElig","oelig","Scaron","scaron","Yuml","fnof","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","bull","hellip","permil","prime","Prime","lsaquo","rsaquo","oline","euro","trade","larr","uarr","rarr","darr","harr","crarr","lceil","rceil","lfloor","rfloor","loz","spades","clubs","hearts","diams","nameStartChar","nameChar","tagNamePattern","S_TAG","S_ATTR","S_ATTR_SPACE","S_EQ","S_ATTR_NOQUOT_VALUE","S_ATTR_END","S_TAG_SPACE","S_TAG_CLOSE","XMLReader","copyLocator","lineNumber","columnNumber","parseElementStartPart","currentNSMap","entityReplacer","warning","setTagName","closed","appendElement","domBuilder","localNSMap","qName","nsp","prefix","nsPrefix","_copy","startPrefixMapping","ns","startElement","endElement","endPrefixMapping","parseHtmlSpecialContent","elStartEnd","elEndStart","characters","fixSelfClosed","closeMap","parseDCC","startCDATA","endCDATA","matchs","buf","lastIndex","len","pubid","sysid","lastMatch","startDTD","endDTD","parseInstruction","processingInstruction","ElementAttributes","defaultNSMap","startDocument","defaultNSMapCopy","surrogate1","surrogate2","fixedFromCharCode","appendText","xt","locator","lineEnd","linePattern","lineStart","parseStack","tagStart","currentElement","endMatch","endIgnoreCaseMach","fatalError","locator2","_parse","endDocument","getLocalName","getLocator","getQName","getURI","sax","dest","_extends$1","Super","pt","htmlns","NodeType","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","ExceptionCode","ExceptionMessage","HIERARCHY_REQUEST_ERR","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","NOT_FOUND_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","INUSE_ATTRIBUTE_ERR","NOT_SUPPORTED_ERR","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","DOMException","captureStackTrace","NodeList","LiveNodeList","refresh","_node","_refresh","_updateLiveList","inc","_inc","ls","__set__","NamedNodeMap","_findNodeIndex","_addNamedNode","newAttr","oldAttr","ownerElement","_onRemoveAttribute","namespaceURI","_nsMap","_onAddAttribute","_removeNamedNode","DOMImplementation","features","_features","feature","Node","_xmlEncoder","_visitNode","Document","_onUpdateChild","cs","_removeChild","previous","previousSibling","lastChild","_insertBefore","nextChild","cp","newFirst","newLast","pre","Attr","CharacterData","Text","Comment","CDATASection","DocumentType","Notation","Entity","EntityReference","DocumentFragment","ProcessingInstruction","XMLSerializer","nodeSerializeToString","isHtml","nodeFilter","lookupPrefix","visibleNamespaces","namespace","serializeToString","needNamespaceDefine","isHTML","publicId","systemId","internalSubset","getNamedItem","setNamedItem","_ownerElement","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","versions","createDocument","qualifiedName","doctype","root","createElementNS","createDocumentType","nodeValue","refChild","oldChild","deep","_cloneNode","node2","attrs2","setAttributeNode","normalize","appendData","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importNode","importedNode","_importNode","getElementById","rtv","getElementsByClassName","pattern","base","createComment","createCDATASection","createAttribute","specified","createEntityReference","pl","createAttributeNS","getAttributeNode","removeAttributeNode","_appendSingleChild","setAttributeNodeNS","removeAttributeNS","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","getElementsByTagNameNS","substringData","insertData","replaceData","deleteData","splitText","newText","newNode","$$length","getTextContent","domParser","DOMParser","DOMHandler","cdata","_locator","_toString","chars","java","hander","parseFromString","mimeType","xmlns","setDocumentLocator","errorImpl","isCallback","build","msg","buildErrorHandler","xml","documentURI","ignorableWhitespace","ch","charNode","skippedEntity","comm","impl","dt","_error","domParser_3","isObject$1","merge","objects","flatten","lists","urlTypeToSegment","_ref$baseUrl","_ref$source","_ref$range","range","_ref$indexRange","indexRange","resolvedUri","startRange","endRange","parseEndNumber","endNumber","segmentRange","static","_attributes$timescale","timescale","sourceDuration","dynamic","NOW","clientOffset","availabilityStartTime","_attributes$timescale2","_attributes$start","_attributes$minimumUp","minimumUpdatePeriod","_attributes$timeShift","timeShiftBufferDepth","periodStartWC","periodDuration","segmentCount","availableStart","availableEnd","parseByDuration","_attributes$type","_attributes$timescale4","_segmentRange$type","_attributes$timescale3","periodIndex","_attributes$startNumb","startNumber","toSegments","segmentsFromBase","_attributes$initializ","initialization","_attributes$indexRang","initSegment","sourceURL","segmentTimeInfo","addSegmentsToPlaylist","sidx","sidxByteRange","sidxEnd","mediaReferences","references","referenceType","startIndex","firstOffset","referencedSize","subsegmentDuration","mergeDiscontiguousPlaylists","_acc$name$segments","addSegmentInfoFromSidx","sidxMapping","sidxKey","sidxMatch","formatAudioPlaylist","_attributes","bandwidth","CODECS","codecs","formatVttPlaylist","_m3u8Attributes","m3u8Attributes","formatVideoPlaylist","_ref3","_attributes2","toM3u8","dashPlaylists","locations","_mediaGroups","_dashPlaylists$0$attr","_dashPlaylists$0$attr2","suggestedPresentationDelay","videoPlaylists","_ref4","contentType","audioPlaylists","_ref5","vttPlaylists","_ref6","master","mainPlaylist","formattedPlaylists","roleLabel","organizeAudioPlaylists","subs","organizeVttPlaylists","getLiveRValue","parseByTimeline","segmentTimeline","_attributes$minimumUp2","_attributes$media","sIndex","S","d","repeat","segmentTime","nextS","identifierPattern","constructTemplateUrl","identifier","format","identifierReplacement","segmentsFromTemplate","templateValues","RepresentationID","Bandwidth","mapSegment","parseTemplateInfo","Time","segmentsFromList","_attributes$segmentUr","segmentUrls","segmentUrlMap","segmentUrlObject","segmentUrl","mediaRange","SegmentURLToSegmentObject","generateSegments","segmentAttributes","segmentsFn","segmentInfo","template","segmentsInfo","_segmentAttributes","_segmentAttributes$ti","findChildren","getContent","parseDuration","_match$slice","year","month","day","hour","minute","second","parsers","mediaPresentationDuration","parsedValue","parseAttributes$1","parseFn","keySystemsMap","urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b","urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed","urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95","urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb","buildBaseUrls","referenceUrls","baseUrlElements","baseUrlElement","getSegmentInformation","adaptationSet","segmentTemplate","segmentList","segmentBase","segmentTimelineParentNode","segmentInitializationParentNode","segmentInitialization","toRepresentations","periodAttributes","periodBaseUrls","periodSegmentInfo","adaptationSetAttributes","adaptationSetBaseUrls","roleAttributes","keySystem","psshNode","psshBuffer","representations","adaptationSetSegmentInfo","representation","repBaseUrlElements","repBaseUrls","representationSegmentInfo","inheritBaseUrls","toAdaptationSets","mpdAttributes","mpdBaseUrls","period","periodAtt","parsedPeriodId","adaptationSets","stringToMpdXml","manifestString","mpd","parsedManifestInfo","_options","_options$manifestUri","manifestUri","_options$NOW","_options$clientOffset","periods","representationInfo","inheritAttributes","parseUTCTiming","UTCTimingNode","parseUTCTimingScheme","addSidxSegmentsToPlaylist","MAX_UINT32","pow","parseSidx_1","view","DataView","byteOffset","byteLength","flags","subarray","referenceId","getUint32","earliestPresentationTime","referenceCount","getUint16","startsWithSap","sapType","sapDeltaTime","toUint8","bytes","ArrayBuffer","isView","BigInt","BYTE_TABLE","bytesToNumber","_temp","_ref$signed","signed","_ref$le","total","_byte","exponent","numberToBytes","_temp2","_ref2$le","byteCount","countBits","byteIndex","stringToBytes","stringIsBytes","unescape","bytesMatch","_temp3","_ref3$offset","_ref3$mask","mask","bByte","ID3","getId3Offset","returnSize","getId3Size","findBox","paths","complete","normalizePaths","results","EBML_TAGS","EBML","DocType","Segment","SegmentInfo","Tracks","TrackNumber","DefaultDuration","TrackEntry","TrackType","FlagDefault","CodecID","CodecPrivate","Cluster","Timestamp","TimestampScale","BlockGroup","BlockDuration","Block","SimpleBlock","LENGTH_TABLE","getvint","removeLength","getLength","valueBytes","normalizePath$1","getInfinityDataSize","innerid","dataHeader","findEbml","normalizePaths$1","dataStart","dataEnd","NAL_TYPE_ONE","NAL_TYPE_TWO","EMULATION_PREVENTION","discardEmulationPreventionBytes","positions","newLength","newData","sourceIndex","findNal","dataType","nalLimit","nalStart","nalsFound","nalOffset","nalType","CONSTANTS","webm","matroska","ogg","ac3","riff","avi","3gp","fmp4","_isLikely","docType","h264","findH264Nal","h265","findH265Nal","isLikelyTypes","isLikelyFn","isLikely","detectContainerForBytes","isLikelyFmp4MediaSegment","streamTypes","Stream$1","init","flushSource","partialFlush","endTimeline","handleRollover","TimestampRolloverStream","lastDTS","referenceDTS","type_","dts","pts","secondsToVideoTs","secondsToAudioTs","videoTsToSeconds","audioTsToSeconds","parsePid","packet","pid","parsePayloadUnitStartIndicator","parseAdaptionField","parseNalUnitType","probe","parseType","pmtPid","parsePat","pusi","parsePmt","programMapTable","payloadOffset","tableEnd","parsePesType","parsePesTime","ptsDtsFlags","pes","videoPacketContainsKeyFrame","frameBuffer","frameI","frameSyncPoint","foundKeyFrame","ADTS_SAMPLING_FREQUENCIES","parseId3TagSize","header","parseSyncSafeInteger","utils","isLikelyAacData","getId3Offset$1","parseAdtsSize","lowThree","parseSampleRate","parseAacTimestamp","frameStart","frameSize","frame","percentEncode","clock","clock_1","sampleRate","timestamp","handleRollover$1","probe$1","getTracks","getTimescaleFromMediaHeader","ONE_SECOND_IN_TS$1","parseAudioPes_","pmt","pesType","parsed","endIndex","endLoop","table","parseVideoPes_","currentFrame","firstKeyFrame","inspectTs_","parsePsi_","tsInspector","baseTimestamp","audioCount","audioTimescale","inspectAac_","audioBaseTimestamp","dtsTime","ptsTime","videoBaseTimestamp","adjustTimestamp_","bin","parseType_1","toUnsigned$1","findBox_1","subresults","parseTfhd","trackId","baseDataOffsetPresent","sampleDescriptionIndexPresent","defaultSampleDurationPresent","defaultSampleSizePresent","defaultSampleFlagsPresent","durationIsEmpty","defaultBaseIsMoof","baseDataOffset","sampleDescriptionIndex","defaultSampleDuration","defaultSampleSize","defaultSampleFlags","baseDataOffsetIsMoof","parseSampleFlags_1","isLeading","dependsOn","isDependedOn","hasRedundancy","paddingValue","isNonSyncSample","degradationPriority","parseTrun","sample","samples","dataOffsetPresent","firstSampleFlagsPresent","sampleDurationPresent","sampleSizePresent","sampleFlagsPresent","sampleCompositionTimeOffsetPresent","sampleCount","dataOffset","getInt32","compositionTimeOffset","toUnsigned$2","parseTfdt","baseMediaDecodeTime","toUnsigned$3","toHexString$1","trafs","baseTimes","traf","tfhd","scale","baseTime","tfdt","traks","trak","tkhdVersion","tkhd","getUint8","hdlr","stsd","sampleDescriptions","codec","codecConfig","codecBox","mdhd","probe$2","regexs","muxerVideo","muxerAudio","muxerText","mediaTypes","upperMediaTypes","translateLegacyCodec","orig","profile","avcLevel","parseCodecs","codecString","codecType","mediaType","isAudioCodec","getMimeForCodec","browserSupportsCodec","MediaSource","isTypeSupported","muxerSupportsCodec","resolveUrl$1","resolveManifestRedirect","handleManifestRedirect","req","responseURL","logger","log$1","createPlaylistID","parseManifest","onwarn","oninfo","_ref$customTagParsers","customTagParsers","_ref$customTagMappers","customTagMappers","customParser","forEachMediaGroup","groupKey","labelKey","mediaProperties","setupMediaPlaylist","addPropertiesToMaster","phonyUri","setupMediaPlaylists","resolveMediaGroupUris","mergeOptions$1","EventTarget$1","resolveSegmentUris","baseUri","isPlaylistUnchanged","updateMaster","unchangedCheck","mergedPlaylist","updateSegments","refreshDelay","lastSegment","PlaylistLoader","vhs","logger_","_options$withCredenti","_options$handleManife","handleManifestRedirects","vhs_","vhsOptions","playlistRequestError","haveMetadata","playlistString","startingState","playlistObject","lastRequest","media_","mediaUpdateTimeout","stopRequest","finalRenditionTimeout","oldRequest","shouldDelay","delay","mediaChange","started","setupInitialPlaylist","srcUri","masterForMedia","filterRanges","timeRanges","findRange","TIME_FUDGE_FACTOR","findNextRange","printableRange","strArr","timeRangesToArray","timeRangesList","intervalDuration","endSequence","expired","backward","backwardDuration","forward","forwardDuration","sumDurations","durations","safeLiveIndex","liveEdgePadding","lastSegmentDuration","safeDistance","distanceFromEnd","playlistEnd","useSafeLiveEnd","isBlacklisted","excludeUntil","isIncompatible","isEnabled","blacklisted","isLowestEnabledRendition","currentBandwidth","MAX_VALUE","Playlist","getMediaInfoForTime","numSegments","mediaIndex","isDisabled","isAes","estimateSegmentRequestTime","segmentDuration","bytesReceived","videojsXHR","mergeOptions$1$1","callbackWrapper","reqResponse","responseTime","roundTripTime","requestTime","responseHeaders","timedout","xhrFactory","XhrFunction","beforeRequest","Vhs","newOptions","originalAbort","segmentXhrHeaders","byterangeEnd","Range","textRange","formatHexString","formatAsciiString","createTransferableMessage","transferable","initSegmentId","segmentKeyId","hexDump","utils$1","tagDump","textRanges","getProgramTime","_ref$time","matchedSegment","segmentEnd","videoTimingInfo","transmuxedPresentationEnd","estimatedStart","transmuxedPresentationStart","findSegmentForPlayerTime","seekTime","programTimeObject","mediaSeconds","programTime","playerTime","transmuxerPrependedSeconds","offsetFromSegmentStart","getTime","playerTimeToProgramTime","programDateTime","toISOString","seekToProgramTime","_ref2$retryCount","retryCount","seekTo","_ref2$pauseAfterSeek","pauseAfterSeek","verifyProgramDateTimeTags","lastSegmentStart","findSegmentForProgramTime","mediaOffset","comparisonTimeStamp","segmentDateTime","segmentTimeEpoch","getOffsetFromTimestamp","seekToTime","callbackOnCompleted","containerRequest","id3Offset","finished","endRequestAndCallback","_bytes","progressListener","newPart","buffers","totalLen","tempBuffer","concatTypedArrays","overrideMimeType","loaded","EventTarget$1$1","mergeOptions$2","dashPlaylistUnchanged","aSegment","bSegment","aByterange","bByterange","generateSidxKey","sidxInfo","sidxByteRangeEnd","compareSidxEntry","oldSidxMapping","newSidxMapping","currentSidxInfo","savedSidxInfo","DashPlaylistLoader","srcUrlOrPlaylist","masterPlaylistLoader","masterPlaylistLoader_","isMaster_","refreshXml_","refreshMedia_","loadedPlaylists_","srcUrl","sidxMapping_","childPlaylist_","requestErrored_","addSidxSegments_","fin","internal","blacklistDuration","_playlist$sidx$bytera","mediaRequest_","minimumUpdatePeriodTimeout_","createMupOnMedia_","hasPendingRequest","sidxChanged","isFinalRendition","requestMaster_","masterChanged","haveMaster_","masterXml_","date","masterLoaded_","handleMaster_","syncClientServerClock_","done","utcTiming","clientOffset_","serverTime","masterXml","newMaster","oldMaster","noChanges","playlistUpdate","group","_playlistUpdate","updateMaster$1","updateMinimumUpdatePeriodTimeout_","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","stringToArrayBuffer","browserWorkerPolyFill","workerObj","objectUrl","URL","createObjectURL","Blob","blob","BlobBuilder","getBlob","worker","Worker","objURL","terminate","revokeObjectURL","getWorkerString","TransmuxWorker","dinf","esds","ftyp","mfhd","minf","moof","moov","mvex","mvhd","mdia","sdtp","stbl","trex","trun","MAJOR_BRAND","MINOR_VERSION","AVC1_BRAND","VIDEO_HDLR","AUDIO_HDLR","HDLR_TYPES","VMHD","SMHD","DREF","STCO","STSC","STSZ","STTS","videoSample","audioSample","audioTrun","videoTrun","trunHeader","UINT32_MAX","avc1","avcC","btrt","dref","mdat","mp4a","pasp","smhd","stco","stsc","stsz","stts","styp","vmhd","payload","setUint32","audioobjecttype","samplingfrequencyindex","channelcount","samplerate","sequenceNumber","trackFragments","avc1Box","sps","pps","sequenceParameterSets","pictureParameterSets","profileIdc","profileCompatibility","levelIdc","sarRatio","hSpacing","vSpacing","samplesize","trackFragmentHeader","trackFragmentDecodeTime","trackFragmentRun","sampleDependencyTable","upperWordBaseMediaDecodeTime","lowerWordBaseMediaDecodeTime","durationPresent","sizePresent","flagsPresent","bytesOffest","silence","audioTsToVideoTs","videoTsToAudioTs","metadataTsToSeconds","mp4Generator","fileType","movie","sampleForFrame","keyFrame","frameUtils","nalUnits","currentNal","frames","nalCount","nalUnitType","currentGop","gops","nalsByteLength","numberOfNals","highPrefix","lowPrefix","zeroFill","silence_1","coneOfSilence","96000","88200","64000","48000","44100","32000","24000","16000","12000","11025","8000","metaTable","arr","timelineStartPts","keepOriginalTimestamps","audioFrameUtils","audioAppendStartTs","videoBaseMediaDecodeTime","baseMediaDecodeTimeTs","frameDuration","silentFrame","firstFrame","audioGapDuration","audioFillFrameCount","audioFillDuration","adtsFrames","earliestAllowedDts","minSegmentDts","minSegmentPts","sumFrameByteLengths","trackDecodeInfo","maxSegmentDts","maxSegmentPts","timelineStartInfo","captionPacketParser","payloadType","payloadSize","sei","userData","ccData","emulationPreventionBytesPositions","CaptionStream","parse708captions_","parse708captions","captionPackets_","ccStreams_","Cea608Stream","cc708Stream_","Cea708Stream","cc","newCaptionPackets","escapedRBSP","latestDts_","ignoreNextEqualDts_","numSameDts_","flushCCStreams","flushType","flushStream","idx","presortIndex","dispatchCea608Packet","dispatchCea708Packet","activeCea608Channel_","ccStream","setsTextOrXDSActive","setsChannel1Active","setsChannel2Active","CHARACTER_TRANSLATION_708","127","4128","4129","4133","4138","4140","4144","4145","4146","4147","4148","4149","4153","4154","4156","4157","4159","4214","4215","4216","4217","4218","4219","4220","4221","4222","4223","4256","within708TextBlock","Cea708Window","windowNum","clearText","pendingNewLine","winAttr","penAttr","penLoc","penColor","visible","rowLock","columnLock","relativePositioning","anchorVertical","anchorHorizontal","anchorPoint","rowCount","virtualRowCount","columnCount","windowStyle","penStyle","getText","rows","rowIdx","beforeRowOverflow","addText","Cea708Service","serviceNum","currentWindow","startPts","win","setCurrentWindow","current708Packet","services","new708Packet","add708Bytes","push708Packet","ptsVals","byte0","byte1","packet708","packetData","blockSize","seq","sizeCode","pushServiceBlock","service","initService","handleText","extendedCommands","defineWindow","clearWindows","deleteWindows","displayWindows","hideWindows","toggleWindows","setWindowAttributes","setPenAttributes","setPenColor","setPenLocation","getPts","flushDisplayed","isExtended","newCode","_char","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","42","92","94","95","96","123","124","125","126","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","544","545","546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572","573","574","575","800","801","802","803","804","805","806","807","808","809","810","811","812","813","814","815","816","817","818","819","820","821","822","823","824","825","826","827","828","829","830","831","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","popOn","baseRow","rollUp","paintOn","captionStream","H264_STREAM_TYPE","ADTS_STREAM_TYPE","METADATA_STREAM_TYPE","_MetadataStream","timestampRolloverStream","parseUtf8","tagParsers","TXXX","WXXX","PRIV","owner","privateData","tagSize","bufferSize","dispatchType","dataAlignmentIndicator","timeStamp","_TransportPacketStream","_TransportParseStream","_ElementaryStream","metadataStream","TimestampRolloverStream$1","bytesInBuffer","everything","parsePsi","packetsWaitingForPmt","payloadUnitStartIndicator","pat","section_number","last_section_number","timed-metadata","streamType","processPes_","STREAM_TYPES","adts","timedMetadata","forceFlush","packetFlushable","startPrefix","packetLength","flushStreams_","m2ts","PAT_PID","MP2T_PACKET_LENGTH","TransportPacketStream","TransportParseStream","ElementaryStream","MetadataStream","_AdtsStream","m2ts_1","ONE_SECOND_IN_TS$2","handlePartialSegments","frameNum","frameLength","protectionSkipBytes","frameEnd","oldBuffer","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","100","110","122","244","44","83","86","118","128","138","139","134","currentPts","currentDts","readSequenceParameterSet","skipScalingList","nalByteStream","expGolombDecoder","lastScale","nextScale","chromaFormatIdc","picOrderCntType","numRefFramesInPicOrderCntCycle","picWidthInMbsMinus1","picHeightInMapUnitsMinus1","frameMbsOnlyFlag","scalingListCount","frameCropLeftOffset","frameCropRightOffset","frameCropTopOffset","frameCropBottomOffset","sarScale","_AacStream","H264Stream","NalByteStream","setTimestamp","bytesLeft","tempLength","_VideoSegmentStream","_AudioSegmentStream","_Transmuxer","_CoalesceStream","audioProperties","videoProperties","isLikelyAacData$1","ONE_SECOND_IN_TS$3","arrayEquals","generateSegmentTimingInfo","startDts","endDts","prependedContentDuration","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","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","pipeline","aacStream","audioTimestampRolloverStream","timedMetadataTimestampRolloverStream","adtsStream","coalesceStream","headOfPipeline","audioSegmentStream","hasAudio","hasVideo","setupTsPipeline","packetStream","elementaryStream","h264Stream","videoSegmentStream","id3Frame","setBaseMediaDecodeTime","isAac","resetCaptions","transmuxer","Transmuxer","VideoSegmentStream","AudioSegmentStream","AUDIO_PROPERTIES","VIDEO_PROPERTIES","Adts","ONE_SECOND_IN_TS$4","segmentStartPts","segmentEndPts","processFrames_","timingInfo","resetTiming_","frameCache","ensureNextFrameIsKeyFrame","processNals_","cacheLastFrame","sequence","videoFrameDts","videoFramePts","resetTimingAndConfig_","isLikelyAacData$2","createPipeline","setupPipelineListeners","elementary","timestampRollover","tsPipeline","audioRollover","timedMetadataRollover","aacPipeline","audioAppendStart","transmuxer$1","discardEmulationPreventionBytes$1","CaptionStream$1","mapToSample","approximateOffset","parseCaptionNals","videoTrackId","mdats","captionNals","mdatTrafPairs","matchingTraf","pair","seiNals","headerInfo","truns","avcStream","seiNal","lastMatchedSample","avcView","matchingSample","findSeiNals","allSamples","parseSamples","captionParser","segmentCache","parsedCaptions","parsingPartial","isInitialized","isPartial","isNewInit","videoTrackIds","timescales","parsedData","cachedSegment","parseEmbeddedCaptions","pushNals","nals","nal","clearParsedCaptions","resetCaptionStream","clearAllCaptions","typeFromStreamString","streamString","MessageHandlers","handlePartialData","videoFrameDtsTime","videoFramePtsTime","postMessage","action","trackInfo","audioTimingInfo","timingInfoInSeconds","wirePartialTransmuxerEvents","initArray","typedArray","gopInfo","videoSegmentTimingInfo","presentation","audioSegmentTimingInfo","wireFullTransmuxerEvents","pushMp4Captions","trackIds","clearAllMp4Captions","clearParsedMp4Captions","setTimestampOffset","timestampOffset","appendStart","onmessage","messageHandlers","processTransmux","onData","onTrackInfo","onAudioTimingInfo","onVideoTimingInfo","onVideoSegmentTimingInfo","onAudioSegmentTimingInfo","onId3","onCaptions","onDone","onEndedTimeline","isEndOfTimeline","transmuxedData","waitForEndedTimelineEvent","currentTransmux","_event$data$segment","handleData_","handleGopInfo_","handleDone_","dequeue","transmuxQueue","processAction","enqueueAction","transmux","segmentTransmuxer","term","REQUEST_ERRORS","abortAll","activeXhrs","handleErrors","transmuxAndNotify","trackInfoFn","timingInfoFn","videoSegmentTimingInfoFn","audioSegmentTimingInfoFn","id3Fn","captionsFn","endedTimelineFn","dataFn","doneFn","fmp4Tracks","isMuxed","audioStartFn","audioEndFn","videoStartFn","videoEndFn","lastReachedChar","probeResult","baseStartTime","tsStartTime","timeInfo","videoStart","audioStart","probeTsSegment","id3Frames","handleSegmentBytes","bytesAsUint8Array","isFmp4","audioCodec","videoCodec","finishLoading","listenForCaptions","waitForCompletion","decryptionWorker","didError","endOfAllRequests","encryptedBytes","keyBytes","decryptionHandler","requestId","decrypted","encrypted","decryptSegment","handleProgress","_ref8","progressFn","newBytes","stats","progressEvent","getProgressStats","firstBytesReceivedAt","mediaSegmentRequest","_ref9","xhrOptions","abortFn","finishProcessingFn","keyXhr","errorObj","handleKeyResponse","initSegmentXhr","handleInitSegmentResponse","segmentRequestOptions","xhrObject","segmentXhr","getRequestStats","handleSegmentResponse","loadendState","activeXhr","_ref7","calledAbortFn","handleLoadEnd","logFn","isMaat","mediaAttributes","unwrapCodecList","codecList","codecCount","codecObj","codecsForPlaylist","codecInfo","getCodecs","audioGroup","groupId","defaultCodecs","audioGroupId","audioType","codecsFromDefault","logFn$1","representationToString","safeGetComputedStyle","property","stableSort","sortFn","newArray","cmp","comparePlaylistBandwidth","leftBandwidth","rightBandwidth","simpleSelector","playerBandwidth","playerWidth","playerHeight","limitRenditionByPlayerDimensions","sortedPlaylistReps","enabledPlaylistReps","rep","bandwidthPlaylistReps","highestRemainingBandwidthRep","bandwidthBestRep","_chosenRep","haveResolution","resolutionBestRepList","resolutionPlusOneList","resolutionPlusOneSmallest","resolutionPlusOneRep","resolutionBestRep","chosenRep","_type","lastBandwidthSelector","pixelRatio","useDevicePixelRatio","devicePixelRatio","systemBandwidth","addMetadata","inbandTextTracks","metadataArray","videoDuration","Cue","WebKitDataCue","metadataTrack","metadataTrack_","deprecateOldCue","cuesArray","cuesGroupedByStartTime","timeSlot","sortedStartTimes","cueGroup","nextTime","removeCuesFromTrack","finite","timingInfoPropertyForMedia","timestampOffsetForSegment","startOfSegment","overrideCheck","shouldWaitForTimelineChange","timelineChangeController","loaderType","audioDisabled","lastMainTimelineChange","lastTimelineChange","pendingAudioTimelineChange","pendingTimelineChange","segmentTooLong","maxDuration","getTroublesomeSegmentDurationMessage","sourceType","audioDuration","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_","handlePartialData_","timelineChangeController_","shouldSaveSegmentTimingInfo_","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_","segmentIndex","transmuxer_","createTransmuxer_","triggerSyncInfoUpdate_","isEndOfStream_","ended_","fetchAtBuffer_","newState","hasEnoughInfoToAppend_","processCallQueue_","hasEnoughInfoToLoad_","processLoadQueue_","mediaBytesTransferred","mediaRequests","mediaRequestsAborted","mediaRequestsTimedout","mediaRequestsErrored","mediaTransferDuration","mediaSecondsLoaded","abort_","setAudio","removeAudio","monitorBuffer_","abortRequests","clearPendingTimelineChange","checkForAbort_","endOfStream","buffered_","_this$startingMediaIn","videoBuffered","audioBuffered","initSegmentForMap","storedMap","segmentKey","storedKey","couldBeginLoading_","playlist_","init_","resetEverything","newPlaylist","oldPlaylist","syncInfo","setDateTimeMappingForStart","oldId","resyncLoader","mediaSequenceDiff","saveExpiredSegmentInfo","resetLoader","removesRemaining","removeFinished","mapping","updatedBuffer","removeGopBuffer","removeVideo","monitorBufferTick_","fillBuffer_","updating","getSyncPoint","checkBuffer_","loadSegment_","appendedLastSegment","currentMediaIndex","lastBufferedEnd","bufferedTime","nextMediaIndex","isSyncRequest","getSyncSegmentCandidate_","mediaSourceInfo","_mediaSourceInfo","generateSegmentInfo_","segmentIndexArray","audioTimestampOffset","currentTimePts","gopsSafeToAlignWith","videoTimestampOffset","random","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","createCaptionsTrackIfNotExists","captionArray","addCaptionData","handleId3_","inBandMetadataTrackDispatchType","createMetadataTrackIfNotExists","processMetadataQueue_","callQueue","fun","loadQueue","_this$currentMediaInf","setTimeMapping_","updateMediaSecondsLoaded_","firstVideoFrameTimeForData","useVideoTimingInfo","trueSegmentStart_","currentStart","currentVideoTimestampOffset","updateAppendInitSegmentStatus","updateSourceBufferTimestampOffset_","appendData_","changedTimestampOffset","getInitSegmentAndUpdateState_","handleQuotaExceededError_","audioBufferStart","audioBufferEnd","videoBufferStart","videoBufferEnd","appendToSourceBuffer_","timeToRemoveUntil","MIN_BACK_BUFFER","handleAppendError_","segmentObj","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","_this$currentMediaInf2","waitForVideo","waitForAudio","waitingOnAppends","checkAppendsDone_","videoQueueCallback","audioQueueCallback","handleAppendsDone_","illegalMediaSwitchError","startingMedia","illegalMediaSwitch","didChange","updateTimingInfoEnd_","prioritizedTimingInfo","saveSegmentTimingInfo","shouldSaveTimelineMapping","_segmentInfo$segment","_segmentInfo$playlist","_segmentInfo$playlist2","segmentInfoString","segmentDurationMessage","recordThroughput_","addSegmentMetadataCue_","segmentProcessingTime","segmentProcessingThroughput","noop$1","toTitleCase$1","bufferTypes","_updating","sourceBuffer","queuePending","shiftQueue","queueIndex","queueEntry","nextQueueIndexOfType","cleanupBuffer","titleType","inSourceBuffers","sourceBuffers","actions","onError","_callback","_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","canChangeType","SourceBuffer","processedAppend_","videoBuffer","que","audioBuffer","bufferA","bufferB","arity","extents","bufferIntersection","setDuration","uint8ToUtf8","uintArray","VTT_LINE_TERMINATORS","_char3","VTTSegmentLoader","_SegmentLoader","subtitlesTrack_","featuresNativeTextTracks_","combinedByteLength","combinedSegment","skipEmptySegments_","timestampOffsetForTimeline","stopForError","loadHandler","requested","parseVTTCues_","updateTimeMapping_","timelines","duplicates","occurrences","dupe","removeDuplicateCuesFromTrack","decodeBytesToString","timestampmap","mapData","segmentData","mappingObj","diff","firstStart","lastStart","findAdCue","mediaTime","adStartTime","adEndTime","syncPointStrategies","run","timelineToDatetimeMappings","lastDistance","datetimeMapping","segmentStart","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","_defineProperties","createClass","Constructor","protoProps","staticProps","precompute","xInv","x2","x4","tEnc","tDec","tables","encTable","decTable","sbox","sboxInv","th","aesTables","AES","tmp","_tables","keyLen","rcon","encKey","decKey","decrypt","encrypted0","encrypted1","encrypted2","encrypted3","out","a2","c2","nInnerRounds","kIndex","table0","table1","table2","table3","AsyncStream","jobs","timeout_","processJob_","job","ntoh","word","initVector","STEP","encrypted32","Int32Array","asyncStream_","decryptChunk_","padded","init0","init1","init2","init3","wordIx","decipher","decrypted32","audioTrackKind_","stopLoaders","segmentLoader","activePlaylistLoader","startLoaders","playlistLoader","segmentLoaders","blacklistCurrentPlaylist","activeTrack","activeGroup","defaultTrack","onTrackChanged","setupListeners","requestOptions","initialize","_settings$master","_settings$mediaTypes$","groupPlaylists","_loop2","variantLabel","_settings$mediaTypes$2","_settings$mediaTypes$3","setupMediaGroups","variants","onGroupChanged","_settings$segmentLoad","mainSegmentLoader","previousActiveLoader","onGroupChanging","_settings$segmentLoad2","onAudioTrackChanged","createMediaTypes","loaderStats","sumLoaderStat","stat","audioSegmentLoader_","mainSegmentLoader_","MasterPlaylistController","externVhs","useCueTags","enableLowInitialPlaylist","experimentalBufferBasedABR","useCueTags_","cueTagsTrack_","requestOptions_","pauseLoading","mediaTypes_","handleDurationChange_","handleSourceOpen_","handleSourceEnded_","segmentLoaderSettings","setupMasterPlaylistLoaderListeners_","subtitleSegmentLoader_","setupSegmentLoaderListeners_","startABRTimer_","stopABRTimer_","triggeredFmp4Usage","loadOnPlay_","checkABR_","nextPlaylist","selectPlaylist","shouldSwitchToMedia_","abrTimer_","requestTimeout","triggerPresenceUsage_","setupFirstPlay","updatedPlaylist","selectedMedia","excludeUnsupportedVariants_","selectInitialPlaylist","initialMedia_","handleUpdatedMediaPlaylist","lastExcludeReason_","stuckAtPlaylistEnd_","updateAdCues_","updateDuration","defaultDemuxed","audioGroupKeys","currentPlaylist","forwardBuffer","bufferLowWaterLine","bufferHighWaterLine","sharedLogLine","maxBufferLowWaterLine","nextBandwidth","currBandwidth","logLine","_logLine","shouldSwitchToMedia","onSyncInfoUpdate_","onEndOfStream","delegateLoaders_","updateCodecs","tryToCreateSourceBuffers_","getCodecsOrExclude_","mediaSecondsLoaded_","smoothQualityChange_","fastQualityChange_","absolutePlaylistEnd","reincluded","errorMessage","delayDuration","fnNames","loaders","dontFilterPlaylist","loader","audioSeekable","mainSeekable","oldEnd","oldStart","updateDuration_","areMediaTypesKnown_","usingAudioLoader","playlistCodecs","unsupportedAudio","unsupportedCodecs","supporter","variant","switchMessages","newCodec","oldCodec","excludeIncompatibleVariants_","ids","unsupported","codecCount_","videoDetails","audioDetails","blacklistReasons","variantCodecs","variantCodecCount","variantVideoDetails","variantAudioDetails","_segment$cueOutCont$s","adOffset","adTotal","updateAdCues","newMax","Representation","vhsHandler","playlistID","changePlaylistFn","mpc","masterPlaylistController_","qualityChangeFunction","smoothQualityChange","incompatible","currentlyEnabled","timerCancelEvents","PlaybackWatcher","masterPlaylistController","allowSeeksWithinUnsafeLiveWindow","liveRangeSafeTimeDelta","consecutiveUpdates","lastRecordedTime","timer_","checkCurrentTimeTimeout_","playHandler","monitorCurrentTime_","canPlayHandler","waitingHandler","techWaiting_","cancelTimerHandler","cancelTimer_","fixesBadSeeksHandler","fixesBadSeeks_","loaderTypes","loaderChecks","resetSegmentDownloads_","updateend","checkSegmentDownloads_","checkCurrentTime_","isBufferedDifferent","isRangeDifferent","playlistId","waiting_","afterSeekableWindow_","beforeSeekableWindow_","closeToBufferedContent","livePoint","videoUnderflow_","nextRange","difference","skipTheGap_","allowedEnd","gap","lastVideoRange","videoRange","audioRange","gapFromVideoUnderflow_","scheduledCurrentTime","gaps","findGaps","defaultOptions","errorInterval","getSource","IWillNotUseThisInPlugins","reloadSourceOnError","initPlugin","lastCalled","localOptions","loadedMetadataHandler","cleanupEvents","Vhs$1","STANDARD_PLAYLIST_SELECTOR","INITIAL_PLAYLIST_SELECTOR","movingAverageBandwidthSelector","decay","average","comparePlaylistResolution","leftWidth","rightWidth","handleVhsMediaChange","qualityLevels","selectedIndex_","emeKeySystems","keySystemOptions","videoPlaylist","audioPlaylist","isVideoCodec","videoContentType","audioContentType","keySystemContentTypes","waitForKeySessionCreation","sourceKeySystems","audioMedia","mainPlaylists","initializeMediaKeys","keySystemsOptionsArr","keySystems","keySystemsArr","keySystemsOptions","keySystemsObj","getAllPsshKeySystemsOptions","initializationFinishedPromises","keySessionCreatedPromises","race","getVhsLocalStorage","storedObject","supportsNativeHls","canItPlay","supportsNativeDash","supportsTypeNatively","VhsHandler","hls","source_","ignoreNextSeekingEvent_","setOptions_","overrideNative","featuresNativeVideoTracks","featuresNativeAudioTracks","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","useBandwidthFromLocalStorage","dataUri","playbackWatcherOptions","playbackWatcher_","defaultSelector","invThroughput","invBandwidth","mediaRequests_","mediaRequestsAborted_","mediaRequestsTimedout_","mediaRequestsErrored_","mediaTransferDuration_","mediaBytesTransferred_","currentTech","playerDimensions","objectToStore","updateVhsLocalStorage","setupEme_","setupQualityLevels_","mediaSourceUrl_","sourceOptions","audioPlaylistLoader","didSetupEmeOptions","qualityLevels_","addQualityLevel","@videojs/http-streaming","mux.js","mpd-parser","m3u8-parser","aes-decrypter","dash","convertToProgramTime","VhsSourceHandler","_videojs$mergeOptions2","supportedType"],"mappings":"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","sourcesContent":["/**\n * @license\n * Video.js 7.11.8 \n * Copyright Brightcove, Inc. \n * Available under Apache License Version 2.0\n * \n *\n * Includes vtt.js \n * Available under Apache License Version 2.0\n * \n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.videojs = factory());\n}(this, (function () { 'use strict';\n\n var version = \"7.11.8\";\n\n var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n function unwrapExports (x) {\n \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n }\n\n function createCommonjsModule(fn, module) {\n \treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n }\n\n var win;\n\n if (typeof window !== \"undefined\") {\n win = window;\n } else if (typeof commonjsGlobal !== \"undefined\") {\n win = commonjsGlobal;\n } else if (typeof self !== \"undefined\") {\n win = self;\n } else {\n win = {};\n }\n\n var window_1 = win;\n\n var minDoc = {};\n\n var topLevel = typeof commonjsGlobal !== 'undefined' ? commonjsGlobal : typeof window !== 'undefined' ? window : {};\n var doccy;\n\n if (typeof document !== 'undefined') {\n doccy = document;\n } else {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n\n if (!doccy) {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n }\n }\n\n var document_1 = doccy;\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\n var FullscreenApi = {\n prefixed: true\n }; // browser API methods\n\n var 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']];\n var specApi = apiMap[0];\n var browserApi; // determine the supported set of functions\n\n for (var i = 0; i < apiMap.length; i++) {\n // check for exitFullscreen function\n if (apiMap[i][1] in document_1) {\n browserApi = apiMap[i];\n break;\n }\n } // map the browser API names to the spec API names\n\n\n if (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\n var 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\n var 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\n function createLogger(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(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 */\n var log = createLogger('VIDEOJS');\n var createLogger$1 = log.createLogger;\n\n var _extends_1 = createCommonjsModule(function (module) {\n function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n module.exports = _extends;\n });\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 */\n var 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\n var 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\n function 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\n function 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\n function 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_1.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\n function 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\n function 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\n function computedStyle(el, prop) {\n if (!el || !prop) {\n return '';\n }\n\n if (typeof window_1.getComputedStyle === 'function') {\n var computedStyleValue = window_1.getComputedStyle(el);\n return computedStyleValue ? computedStyleValue.getPropertyValue(prop) || computedStyleValue[prop] : '';\n }\n\n return '';\n }\n\n /**\n * @file browser.js\n * @module browser\n */\n var USER_AGENT = window_1.navigator && window_1.navigator.userAgent || '';\n var webkitVersionMap = /AppleWebKit\\/([\\d.]+)/i.exec(USER_AGENT);\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var IS_ANY_SAFARI = (IS_SAFARI || IS_IOS) && !IS_CHROME;\n\n var 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\n function isNonBlankString(str) {\n // we use str.trim as it will trim any whitespace characters\n // from the front or back of non-whitespace characters. aka\n // Any string that contains non-whitespace characters will\n // still contain them after `trim` but whitespace only strings\n // will have a length of 0, failing this check.\n return typeof str === 'string' && Boolean(str.trim());\n }\n /**\n * 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\n function throwIfWhitespace(str) {\n // str.indexOf instead of regex because str.indexOf is faster performance wise.\n if (str.indexOf(' ') >= 0) {\n throw new Error('class has illegal whitespace characters');\n }\n }\n /**\n * 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\n function 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\n function isReal() {\n // Both document and window will never be undefined thanks to `global`.\n return document_1 === 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\n function 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\n function isInFrame() {\n // We need a try/catch here because Safari will throw errors when attempting\n // to get either `parent` or `self`\n try {\n return window_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\n function createQuerier(method) {\n return function (selector, context) {\n if (!isNonBlankString(selector)) {\n return document_1[method](null);\n }\n\n if (isNonBlankString(context)) {\n context = document_1.querySelector(context);\n }\n\n var ctx = isEl(context) ? context : document_1;\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\n function 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_1.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.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\n function 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\n function prependTo(child, parent) {\n if (parent.firstChild) {\n parent.insertBefore(child, parent.firstChild);\n } else {\n parent.appendChild(child);\n }\n }\n /**\n * 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\n function 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\n function 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\n function removeClass(element, classToRemove) {\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\n function 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\n function 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\n function 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\n function 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\n function 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\n function removeAttribute(el, attribute) {\n el.removeAttribute(attribute);\n }\n /**\n * Attempt to block the ability to select text.\n */\n\n function blockTextSelection() {\n document_1.body.focus();\n\n document_1.onselectstart = function () {\n return false;\n };\n }\n /**\n * Turn off text selection blocking.\n */\n\n function unblockTextSelection() {\n document_1.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\n function 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\n function findPosition(el) {\n if (!el || el && !el.offsetParent) {\n return {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n };\n }\n\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_1[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\n function 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\n function 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\n function 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\n function normalizeContent(content) {\n // First, invoke content if it is a function. If it produces an array,\n // that needs to happen before normalization.\n if (typeof content === 'function') {\n content = content();\n } // 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_1.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\n function 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\n function 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\n function isSingleLeftClick(event) {\n // Note: if you create something draggable, be sure to\n // call it on both `mousedown` and `mousemove` event,\n // otherwise `mousedown` should be enough for a button\n 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\n var $ = 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\n var $$ = createQuerier('querySelectorAll');\n\n var Dom = /*#__PURE__*/Object.freeze({\n __proto__: null,\n isReal: isReal,\n isEl: isEl,\n isInFrame: isInFrame,\n createEl: createEl,\n textContent: textContent,\n prependTo: prependTo,\n hasClass: hasClass,\n addClass: addClass,\n removeClass: removeClass,\n toggleClass: toggleClass,\n setAttributes: setAttributes,\n getAttributes: getAttributes,\n getAttribute: getAttribute,\n setAttribute: setAttribute,\n removeAttribute: removeAttribute,\n blockTextSelection: blockTextSelection,\n unblockTextSelection: unblockTextSelection,\n getBoundingClientRect: getBoundingClientRect,\n findPosition: findPosition,\n getPointerPosition: getPointerPosition,\n isTextNode: isTextNode,\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 */\n var _windowLoaded = false;\n var videojs;\n /**\n * Set up any tags that have a data-setup `attribute` when the player is started.\n */\n\n var autoSetup = function autoSetup() {\n // Protect against breakage in non-browser environments and check global autoSetup option.\n if (!isReal() || videojs.options.autoSetup === false) {\n return;\n }\n\n var vids = Array.prototype.slice.call(document_1.getElementsByTagName('video'));\n var audios = Array.prototype.slice.call(document_1.getElementsByTagName('audio'));\n var divs = Array.prototype.slice.call(document_1.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(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\n function autoSetupTimeout(wait, vjs) {\n if (vjs) {\n videojs = 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\n function setWindowLoaded() {\n _windowLoaded = true;\n window_1.removeEventListener('load', setWindowLoaded);\n }\n\n if (isReal()) {\n if (document_1.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\n var createStyleElement = function createStyleElement(className) {\n var style = document_1.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\n var 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\n var _initialGuid = 3;\n /**\n * Unique ID for an element or function\n *\n * @type {Number}\n */\n\n var _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\n function newGUID() {\n return _guid++;\n }\n\n /**\n * @file dom-data.js\n * @module dom-data\n */\n var FakeWeakMap;\n\n if (!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('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\n var 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\n function _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\n function _handleMultipleEvents(fn, elem, types, callback) {\n types.forEach(function (type) {\n // Call the event method for each one of the types\n fn(elem, type, callback);\n });\n }\n /**\n * 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\n function 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) {\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 if (key !== 'layerX' && key !== 'layerY' && key !== 'keyLocation' && key !== 'webkitMovementX' && key !== 'webkitMovementY') {\n // Chrome 32+ warns if you try to copy deprecated returnValue, but\n // we still want to if preventDefault isn't supported (IE8).\n if (!(key === 'returnValue' && old.preventDefault)) {\n event[key] = old[key];\n }\n }\n } // The event occurred on this element\n\n\n if (!event.target) {\n event.target = event.srcElement || document_1;\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_1.documentElement;\n var body = document_1.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\n var _supportsPassive;\n\n var 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\n var 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\n function 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.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\n function off(elem, type, fn) {\n // Don't want to add a cache object through getElData if not needed\n if (!DomData.has(elem)) {\n return;\n }\n\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\n function trigger(elem, event, hash) {\n // Fetches element data and a reference to the parent (for bubbling).\n // Don't want to add a data object to cache for every parent,\n // so checking hasElData first.\n 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\n function 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\n function 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\n var Events = /*#__PURE__*/Object.freeze({\n __proto__: null,\n fixEvent: fixEvent,\n on: on,\n off: off,\n trigger: trigger,\n one: one,\n any: any\n });\n\n /**\n * @file fn.js\n * @module fn\n */\n var 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\n var 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\n var 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\n var 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\n var EventTarget = 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\n EventTarget.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\n EventTarget.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\n EventTarget.prototype.addEventListener = EventTarget.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\n EventTarget.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\n EventTarget.prototype.removeEventListener = EventTarget.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\n EventTarget.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\n EventTarget.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\n EventTarget.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\n EventTarget.prototype.dispatchEvent = EventTarget.prototype.trigger;\n var EVENT_MAP;\n\n EventTarget.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\n var 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\n var isEvented = function isEvented(object) {\n return object instanceof EventTarget || !!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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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).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\n function 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 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\n var 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\n function 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 */\n var 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\n var toTitleCase = 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\n var titleCaseEquals = function titleCaseEquals(str1, str2) {\n return toTitleCase(str1) === toTitleCase(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\n function mergeOptions() {\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(result[key], value);\n });\n });\n return result;\n }\n\n var 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\n var Map$1 = window_1.Map ? window_1.Map : MapSham;\n\n var 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\n var Set = 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\n var Component = /*#__PURE__*/function () {\n /**\n * A callback that is called when a component is ready. Does not have any\n * paramters and any callback value will be ignored.\n *\n * @callback Component~ReadyCallback\n * @this Component\n */\n\n /**\n * Creates an instance of this class.\n *\n * @param {Player} player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Object[]} [options.children]\n * An array of children objects to intialize this component with. Children objects have\n * a name property that will be used if more than one component of the same type needs to be\n * added.\n *\n * @param {Component~ReadyCallback} [ready]\n * Function that gets called when the `Component` is ready.\n */\n function Component(player, options, ready) {\n // The component might be the player itself and we can't pass `this` to super\n if (!player && this.play) {\n this.player_ = player = this; // eslint-disable-line\n } else {\n this.player_ = player;\n }\n\n this.isDisposed_ = false; // Hold the reference to the parent component via `addChild` method\n\n this.parentComponent_ = null; // Make a copy of prototype.options_ to protect against overriding defaults\n\n this.options_ = mergeOptions({}, this.options_); // Updated options with supplied options\n\n options = this.options_ = mergeOptions(this.options_, options); // Get ID from options or options element if one is supplied\n\n this.id_ = options.id || options.el && options.el.id; // If there was no ID from the options, generate one\n\n if (!this.id_) {\n // Don't require the player ID function in the case of mock players\n var id = player && player.id && player.id() || 'no_player';\n this.id_ = id + \"_component_\" + newGUID();\n }\n\n this.name_ = options.name || null; // Create element if one wasn't provided in options\n\n if (options.el) {\n this.el_ = options.el;\n } else if (options.createEl !== false) {\n this.el_ = this.createEl();\n } // if evented is anything except false, we want to mixin in evented\n\n\n if (options.evented !== false) {\n // Make this an evented object and use `el_`, if available, as its event bus\n evented(this, {\n eventBusKey: this.el_ ? 'el_' : null\n });\n this.handleLanguagechange = this.handleLanguagechange.bind(this);\n this.on(this.player_, 'languagechange', this.handleLanguagechange);\n }\n\n stateful(this, this.constructor.defaultState);\n this.children_ = [];\n this.childIndex_ = {};\n this.childNameIndex_ = {};\n this.setTimeoutIds_ = new Set();\n this.setIntervalIds_ = new Set();\n this.rafIds_ = new Set();\n this.namedRafs_ = new Map$1();\n this.clearingTimersOnDispose_ = false; // Add any child components in options\n\n if (options.initChildren !== false) {\n this.initChildren();\n }\n\n this.ready(ready); // Don't want to trigger ready here or it will before init is actually\n // finished for all children that run this constructor\n\n if (options.reportTouchActivity !== false) {\n this.enableTouchActivity();\n }\n }\n /**\n * Dispose of the `Component` and all child components.\n *\n * @fires Component#dispose\n */\n\n\n var _proto = Component.prototype;\n\n _proto.dispose = function dispose() {\n // Bail out if the component has already been disposed.\n if (this.isDisposed_) {\n return;\n }\n\n if (this.readyQueue_) {\n this.readyQueue_.length = 0;\n }\n /**\n * Triggered when a `Component` is disposed.\n *\n * @event Component#dispose\n * @type {EventTarget~Event}\n *\n * @property {boolean} [bubbles=false]\n * set to false so that the dispose event does not\n * bubble up\n */\n\n\n this.trigger({\n type: 'dispose',\n bubbles: false\n });\n this.isDisposed_ = true; // Dispose all children.\n\n if (this.children_) {\n for (var i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i].dispose) {\n this.children_[i].dispose();\n }\n }\n } // Delete child references\n\n\n this.children_ = null;\n this.childIndex_ = null;\n this.childNameIndex_ = null;\n this.parentComponent_ = null;\n\n if (this.el_) {\n // Remove element from DOM\n if (this.el_.parentNode) {\n this.el_.parentNode.removeChild(this.el_);\n }\n\n if (DomData.has(this.el_)) {\n DomData[\"delete\"](this.el_);\n }\n\n this.el_ = null;\n } // remove reference to the player after disposing of the element\n\n\n this.player_ = null;\n }\n /**\n * Determine whether or not this component has been disposed.\n *\n * @return {boolean}\n * If the component has been disposed, will be `true`. Otherwise, `false`.\n */\n ;\n\n _proto.isDisposed = function isDisposed() {\n return Boolean(this.isDisposed_);\n }\n /**\n * Return the {@link Player} that the `Component` has attached to.\n *\n * @return {Player}\n * The player that this `Component` has attached to.\n */\n ;\n\n _proto.player = function player() {\n return this.player_;\n }\n /**\n * Deep merge of options objects with new options.\n * > Note: When both `obj` and `options` contain properties whose values are objects.\n * The two properties get merged using {@link module:mergeOptions}\n *\n * @param {Object} obj\n * The object that contains new options.\n *\n * @return {Object}\n * A new object of `this.options_` and `obj` merged together.\n */\n ;\n\n _proto.options = function options(obj) {\n if (!obj) {\n return this.options_;\n }\n\n this.options_ = mergeOptions(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(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(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(component.name())] = null;\n this.childNameIndex_[toLowerCase(component.name())] = null;\n var compEl = component.el();\n\n if (compEl && compEl.parentNode === this.contentEl()) {\n this.contentEl().removeChild(component.el());\n }\n }\n /**\n * Add and initialize default child `Component`s based upon options.\n */\n ;\n\n _proto.initChildren = function initChildren() {\n var _this = this;\n\n var children = this.options_.children;\n\n if (children) {\n // `this` is `parent`\n var parentOptions = this.options_;\n\n var handleAdd = function handleAdd(child) {\n var name = child.name;\n var opts = child.opts; // Allow options for children to be set at the parent options\n // e.g. videojs(id, { controlBar: false });\n // instead of videojs(id, { children: { controlBar: false });\n\n if (parentOptions[name] !== undefined) {\n opts = parentOptions[name];\n } // Allow for disabling default components\n // e.g. options['children']['posterImage'] = false\n\n\n if (opts === false) {\n return;\n } // Allow options to be passed as a simple boolean if no configuration\n // is necessary.\n\n\n if (opts === true) {\n opts = {};\n } // We also want to pass the original player options\n // to each component as well so they don't need to\n // reach back into the player for options later.\n\n\n opts.playerOptions = _this.options_.playerOptions; // Create and add the child component.\n // Add a direct reference to the child by name on the parent instance.\n // If two of the same component are used, different names should be supplied\n // for each\n\n var newChild = _this.addChild(name, opts);\n\n if (newChild) {\n _this[name] = newChild;\n }\n }; // Allow for an array of children details to passed in the options\n\n\n var workingChildren;\n var Tech = Component.getComponent('Tech');\n\n if (Array.isArray(children)) {\n workingChildren = children;\n } else {\n workingChildren = Object.keys(children);\n }\n\n workingChildren // children that are in this.options_ but also in workingChildren would\n // give us extra children we do not want. So, we want to filter them out.\n .concat(Object.keys(this.options_).filter(function (child) {\n return !workingChildren.some(function (wchild) {\n if (typeof wchild === 'string') {\n return child === wchild;\n }\n\n return child === wchild.name;\n });\n })).map(function (child) {\n var name;\n var opts;\n\n if (typeof child === 'string') {\n name = child;\n opts = children[name] || _this.options_[name] || {};\n } else {\n name = child.name;\n opts = child;\n }\n\n return {\n name: name,\n opts: opts\n };\n }).filter(function (child) {\n // we have to make sure that child.name isn't in the techOrder since\n // techs are registerd as Components but can't aren't compatible\n // See https://github.com/videojs/video.js/issues/2772\n var c = Component.getComponent(child.opts.componentClass || toTitleCase(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(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(widthOrHeight);\n computedWidthOrHeight = this.el_[rule];\n }\n\n return computedWidthOrHeight;\n }\n /**\n * An object that contains width and height values of the `Component`s\n * computed style. Uses `window.getComputedStyle`.\n *\n * @typedef {Object} Component~DimensionObject\n *\n * @property {number} width\n * The width of the `Component`s computed style.\n *\n * @property {number} height\n * The height of the `Component`s computed style.\n */\n\n /**\n * Get an object that contains computed width and height values of the\n * component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {Component~DimensionObject}\n * The computed dimensions of the component's element.\n */\n ;\n\n _proto.currentDimensions = function currentDimensions() {\n return {\n width: this.currentDimension('width'),\n height: this.currentDimension('height')\n };\n }\n /**\n * Get the computed width of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed width of the component's element.\n */\n ;\n\n _proto.currentWidth = function currentWidth() {\n return this.currentDimension('width');\n }\n /**\n * Get the computed height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed height of the component's element.\n */\n ;\n\n _proto.currentHeight = function currentHeight() {\n return this.currentDimension('height');\n }\n /**\n * Set the focus to this component\n */\n ;\n\n _proto.focus = function focus() {\n this.el_.focus();\n }\n /**\n * Remove the focus from this component\n */\n ;\n\n _proto.blur = function blur() {\n this.el_.blur();\n }\n /**\n * When this Component receives a `keydown` event which it does not process,\n * it passes the event to the Player for handling.\n *\n * @param {EventTarget~Event} event\n * The `keydown` event that caused this function to be called.\n */\n ;\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n if (this.player_) {\n // We only stop propagation here because we want unhandled events to fall\n // back to the browser.\n event.stopPropagation();\n this.player_.handleKeyDown(event);\n }\n }\n /**\n * Many components used to have a `handleKeyPress` method, which was poorly\n * named because it listened to a `keydown` event. This method name now\n * delegates to `handleKeyDown`. This means anyone calling `handleKeyPress`\n * will not see their method calls stop working.\n *\n * @param {EventTarget~Event} event\n * The event that caused this function to be called.\n */\n ;\n\n _proto.handleKeyPress = function handleKeyPress(event) {\n this.handleKeyDown(event);\n }\n /**\n * Emit a 'tap' events when touch event support gets detected. This gets used to\n * support toggling the controls through a tap on the video. They get enabled\n * because every sub-component would have extra overhead otherwise.\n *\n * @private\n * @fires Component#tap\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchleave\n * @listens Component#touchcancel\n * @listens Component#touchend\n */\n ;\n\n _proto.emitTapEvents = function emitTapEvents() {\n // Track the start time so we can determine how long the touch lasted\n var touchStart = 0;\n var firstTouch = null; // Maximum movement allowed during a touch event to still be considered a tap\n // Other popular libs use anywhere from 2 (hammer.js) to 15,\n // so 10 seems like a nice, round number.\n\n var tapMovementThreshold = 10; // The maximum length a touch can be while still being considered a tap\n\n var touchTimeThreshold = 200;\n var couldBeTap;\n this.on('touchstart', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length === 1) {\n // Copy pageX/pageY from the object\n firstTouch = {\n pageX: event.touches[0].pageX,\n pageY: event.touches[0].pageY\n }; // Record start time so we can detect a tap vs. \"touch and hold\"\n\n touchStart = window_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 _this2 = this;\n\n // declare as variables so they are properly available in timeout function\n // eslint-disable-next-line\n var timeoutId;\n fn = bind(this, fn);\n this.clearTimersOnDispose_();\n timeoutId = window_1.setTimeout(function () {\n if (_this2.setTimeoutIds_.has(timeoutId)) {\n _this2.setTimeoutIds_[\"delete\"](timeoutId);\n }\n\n fn();\n }, timeout);\n this.setTimeoutIds_.add(timeoutId);\n return timeoutId;\n }\n /**\n * Clears a timeout that gets created via `window.setTimeout` or\n * {@link Component#setTimeout}. If you set a timeout via {@link Component#setTimeout}\n * use this function instead of `window.clearTimout`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} timeoutId\n * The id of the timeout to clear. The return value of\n * {@link Component#setTimeout} or `window.setTimeout`.\n *\n * @return {number}\n * Returns the timeout id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearTimeout}\n */\n ;\n\n _proto.clearTimeout = function clearTimeout(timeoutId) {\n if (this.setTimeoutIds_.has(timeoutId)) {\n this.setTimeoutIds_[\"delete\"](timeoutId);\n window_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 _this3 = this;\n\n // Fall back to using a timer.\n if (!this.supportsRaf_) {\n return this.setTimeout(fn, 1000 / 60);\n }\n\n this.clearTimersOnDispose_(); // declare as variables so they are properly available in rAF function\n // eslint-disable-next-line\n\n var id;\n fn = bind(this, fn);\n id = window_1.requestAnimationFrame(function () {\n if (_this3.rafIds_.has(id)) {\n _this3.rafIds_[\"delete\"](id);\n }\n\n fn();\n });\n this.rafIds_.add(id);\n return id;\n }\n /**\n * Request an animation frame, but only one named animation\n * frame will be queued. Another will never be added until\n * the previous one finishes.\n *\n * @param {string} name\n * The name to give this requestAnimationFrame\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n */\n ;\n\n _proto.requestNamedAnimationFrame = function requestNamedAnimationFrame(name, fn) {\n var _this4 = this;\n\n if (this.namedRafs_.has(name)) {\n return;\n }\n\n this.clearTimersOnDispose_();\n fn = bind(this, fn);\n var id = this.requestAnimationFrame(function () {\n fn();\n\n if (_this4.namedRafs_.has(name)) {\n _this4.namedRafs_[\"delete\"](name);\n }\n });\n this.namedRafs_.set(name, id);\n return name;\n }\n /**\n * Cancels a current named animation frame if it exists.\n *\n * @param {string} name\n * The name of the requestAnimationFrame to cancel.\n */\n ;\n\n _proto.cancelNamedAnimationFrame = function cancelNamedAnimationFrame(name) {\n if (!this.namedRafs_.has(name)) {\n return;\n }\n\n this.cancelAnimationFrame(this.namedRafs_.get(name));\n this.namedRafs_[\"delete\"](name);\n }\n /**\n * Cancels a queued callback passed to {@link Component#requestAnimationFrame}\n * (rAF).\n *\n * If you queue an rAF callback via {@link Component#requestAnimationFrame},\n * use this function instead of `window.cancelAnimationFrame`. If you don't,\n * your dispose listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} id\n * The rAF ID to clear. The return value of {@link Component#requestAnimationFrame}.\n *\n * @return {number}\n * Returns the rAF ID that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/cancelAnimationFrame}\n */\n ;\n\n _proto.cancelAnimationFrame = function cancelAnimationFrame(id) {\n // Fall back to using a timer.\n if (!this.supportsRaf_) {\n return this.clearTimeout(id);\n }\n\n if (this.rafIds_.has(id)) {\n this.rafIds_[\"delete\"](id);\n window_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 _this5 = this;\n\n if (this.clearingTimersOnDispose_) {\n return;\n }\n\n this.clearingTimersOnDispose_ = true;\n this.one('dispose', function () {\n [['namedRafs_', 'cancelNamedAnimationFrame'], ['rafIds_', 'cancelAnimationFrame'], ['setTimeoutIds_', 'clearTimeout'], ['setIntervalIds_', 'clearInterval']].forEach(function (_ref) {\n var idName = _ref[0],\n cancelName = _ref[1];\n\n // for a `Set` key will actually be the value again\n // so forEach((val, val) =>` but for maps we want to use\n // the key.\n _this5[idName].forEach(function (val, key) {\n return _this5[cancelName](key);\n });\n });\n _this5.clearingTimersOnDispose_ = false;\n });\n }\n /**\n * Register a `Component` with `videojs` given the name and the component.\n *\n * > NOTE: {@link Tech}s should not be registered as a `Component`. {@link Tech}s\n * should be registered using {@link Tech.registerTech} or\n * {@link videojs:videojs.registerTech}.\n *\n * > NOTE: This function can also be seen on videojs as\n * {@link videojs:videojs.registerComponent}.\n *\n * @param {string} name\n * The name of the `Component` to register.\n *\n * @param {Component} ComponentToRegister\n * The `Component` class to register.\n *\n * @return {Component}\n * The `Component` that was registered.\n */\n ;\n\n Component.registerComponent = function registerComponent(name, ComponentToRegister) {\n if (typeof name !== 'string' || !name) {\n throw new Error(\"Illegal component name, \\\"\" + name + \"\\\"; must be a non-empty string.\");\n }\n\n var Tech = Component.getComponent('Tech'); // We need to make sure this check is only done if Tech has been registered.\n\n var isTech = Tech && Tech.isTech(ComponentToRegister);\n var isComp = Component === ComponentToRegister || Component.prototype.isPrototypeOf(ComponentToRegister.prototype);\n\n if (isTech || !isComp) {\n var reason;\n\n if (isTech) {\n reason = 'techs must be registered using Tech.registerTech()';\n } else {\n reason = 'must be a Component subclass';\n }\n\n throw new Error(\"Illegal component, \\\"\" + name + \"\\\"; \" + reason + \".\");\n }\n\n name = toTitleCase(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 * @deprecated In `videojs` 6 this will not return `Component`s that were not\n * registered using {@link Component.registerComponent}. Currently we\n * check the global `videojs` object for a `Component` name and\n * return that if it exists.\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\n Component.prototype.supportsRaf_ = typeof window_1.requestAnimationFrame === 'function' && typeof window_1.cancelAnimationFrame === 'function';\n Component.registerComponent('Component', Component);\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n var assertThisInitialized = _assertThisInitialized;\n\n var _typeof_1 = createCommonjsModule(function (module) {\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n module.exports = _typeof;\n });\n\n var getPrototypeOf = createCommonjsModule(function (module) {\n function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n module.exports = _getPrototypeOf;\n });\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n\n var inheritsLoose = _inheritsLoose;\n\n /**\n * @file time-ranges.js\n * @module time-ranges\n */\n\n /**\n * Returns the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @typedef {Function} TimeRangeIndex\n *\n * @param {number} [index=0]\n * The range number to return the time for.\n *\n * @return {number}\n * The time offset at the specified index.\n *\n * @deprecated The index argument must be provided.\n * In the future, leaving it out will throw an error.\n */\n\n /**\n * An object that contains ranges of time.\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 function rangeCheck(fnName, index, maxIndex) {\n if (typeof index !== 'number' || index < 0 || index > maxIndex) {\n throw new Error(\"Failed to execute '\" + fnName + \"' on 'TimeRanges': The index provided (\" + index + \") is non-numeric or out of bounds (0-\" + maxIndex + \").\");\n }\n }\n /**\n * 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\n function 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\n function createTimeRangesObj(ranges) {\n if (ranges === undefined || ranges.length === 0) {\n return {\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 }\n\n return {\n length: ranges.length,\n start: getRange.bind(null, 'start', 0, ranges),\n end: getRange.bind(null, 'end', 1, ranges)\n };\n }\n /**\n * Create a `TimeRange` object which mimics an\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges|HTML5 TimeRanges instance}.\n *\n * @param {number|Array[]} start\n * The start of a single range (a number) or an array of ranges (an\n * array of arrays of two numbers each).\n *\n * @param {number} end\n * The end of a single range. Cannot be used with the array form of\n * the `start` argument.\n */\n\n\n function 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\n function 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\n function MediaError(value) {\n // Allow redundant calls to this constructor to avoid having `instanceof`\n // checks peppered around the code.\n if (value instanceof MediaError) {\n return value;\n }\n\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\n MediaError.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\n MediaError.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\n MediaError.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\n MediaError.errorTypes = ['MEDIA_ERR_CUSTOM', 'MEDIA_ERR_ABORTED', 'MEDIA_ERR_NETWORK', 'MEDIA_ERR_DECODE', 'MEDIA_ERR_SRC_NOT_SUPPORTED', 'MEDIA_ERR_ENCRYPTED'];\n /**\n * The default `MediaError` messages based on the {@link MediaError.errorTypes}.\n *\n * @type {Array}\n * @constant\n */\n\n MediaError.defaultMessages = {\n 1: 'You aborted the media playback',\n 2: 'A network error caused the media download to fail part-way.',\n 3: 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.',\n 4: 'The media could not be loaded, either because the server or network failed or because the format is not supported.',\n 5: 'The media is encrypted and we do not have the keys to decrypt it.'\n }; // Add types as properties on MediaError\n // e.g. MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\n for (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 var tuple = SafeParseTuple;\n\n function SafeParseTuple(obj, reviver) {\n var json;\n var error = null;\n\n try {\n json = JSON.parse(obj, reviver);\n } catch (err) {\n error = err;\n }\n\n return [error, json];\n }\n\n /**\n * Returns whether an object is `Promise`-like (i.e. has a `then` method).\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n *\n * @return {boolean}\n * Whether or not the object is `Promise`-like.\n */\n function isPromise(value) {\n return value !== undefined && value !== null && typeof value.then === 'function';\n }\n /**\n * 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\n function 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 */\n var 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\n var 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\n var 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\n var textTrackConverter = {\n textTracksToJson: textTracksToJson,\n jsonToTextTracks: jsonToTextTracks,\n trackToJson_: trackToJson_\n };\n\n var keycode = createCommonjsModule(function (module, exports) {\n // Source: http://jsfiddle.net/vWx8V/\n // http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes\n\n /**\n * Conenience method returns corresponding value for given keyName or keyCode.\n *\n * @param {Mixed} keyCode {Number} or keyName {String}\n * @return {Mixed}\n * @api public\n */\n function keyCode(searchInput) {\n // Keyboard Events\n if (searchInput && 'object' === typeof searchInput) {\n var hasKeyCode = searchInput.which || searchInput.keyCode || searchInput.charCode;\n if (hasKeyCode) searchInput = hasKeyCode;\n } // Numbers\n\n\n if ('number' === typeof searchInput) return names[searchInput]; // Everything else (cast to string)\n\n var search = String(searchInput); // check codes\n\n var foundNamedKey = codes[search.toLowerCase()];\n if (foundNamedKey) return foundNamedKey; // check aliases\n\n var foundNamedKey = aliases[search.toLowerCase()];\n if (foundNamedKey) return foundNamedKey; // weird character?\n\n if (search.length === 1) return search.charCodeAt(0);\n return undefined;\n }\n /**\n * Compares a keyboard event with a given keyCode or keyName.\n *\n * @param {Event} event Keyboard event that should be tested\n * @param {Mixed} keyCode {Number} or keyName {String}\n * @return {Boolean}\n * @api public\n */\n\n\n keyCode.isEventKey = function isEventKey(event, nameOrCode) {\n if (event && 'object' === typeof event) {\n var keyCode = event.which || event.keyCode || event.charCode;\n\n if (keyCode === null || keyCode === undefined) {\n return false;\n }\n\n if (typeof nameOrCode === 'string') {\n // check codes\n var foundNamedKey = codes[nameOrCode.toLowerCase()];\n\n if (foundNamedKey) {\n return foundNamedKey === keyCode;\n } // check aliases\n\n\n var foundNamedKey = aliases[nameOrCode.toLowerCase()];\n\n if (foundNamedKey) {\n return foundNamedKey === keyCode;\n }\n } else if (typeof nameOrCode === 'number') {\n return nameOrCode === keyCode;\n }\n\n return false;\n }\n };\n\n exports = module.exports = keyCode;\n /**\n * Get by name\n *\n * exports.code['enter'] // => 13\n */\n\n var codes = exports.code = exports.codes = {\n 'backspace': 8,\n 'tab': 9,\n 'enter': 13,\n 'shift': 16,\n 'ctrl': 17,\n 'alt': 18,\n 'pause/break': 19,\n 'caps lock': 20,\n 'esc': 27,\n 'space': 32,\n 'page up': 33,\n 'page down': 34,\n 'end': 35,\n 'home': 36,\n 'left': 37,\n 'up': 38,\n 'right': 39,\n 'down': 40,\n 'insert': 45,\n 'delete': 46,\n 'command': 91,\n 'left command': 91,\n 'right command': 93,\n 'numpad *': 106,\n 'numpad +': 107,\n 'numpad -': 109,\n 'numpad .': 110,\n 'numpad /': 111,\n 'num lock': 144,\n 'scroll lock': 145,\n 'my computer': 182,\n 'my calculator': 183,\n ';': 186,\n '=': 187,\n ',': 188,\n '-': 189,\n '.': 190,\n '/': 191,\n '`': 192,\n '[': 219,\n '\\\\': 220,\n ']': 221,\n \"'\": 222\n }; // Helper aliases\n\n var aliases = exports.aliases = {\n 'windows': 91,\n '⇧': 16,\n '⌥': 18,\n '⌃': 17,\n '⌘': 91,\n 'ctl': 17,\n 'control': 17,\n 'option': 18,\n 'pause': 19,\n 'break': 19,\n 'caps': 20,\n 'return': 13,\n 'escape': 27,\n 'spc': 32,\n 'spacebar': 32,\n 'pgup': 33,\n 'pgdn': 34,\n 'ins': 45,\n 'del': 46,\n 'cmd': 91\n };\n /*!\n * Programatically add the following\n */\n // lower case chars\n\n for (i = 97; i < 123; i++) {\n codes[String.fromCharCode(i)] = i - 32;\n } // numbers\n\n\n for (var i = 48; i < 58; i++) {\n codes[i - 48] = i;\n } // function keys\n\n\n for (i = 1; i < 13; i++) {\n codes['f' + i] = i + 111;\n } // numpad keys\n\n\n for (i = 0; i < 10; i++) {\n codes['numpad ' + i] = i + 96;\n }\n /**\n * Get by code\n *\n * exports.name[13] // => 'Enter'\n */\n\n\n var names = exports.names = exports.title = {}; // title for backward compat\n // Create reverse mapping\n\n for (i in codes) {\n names[codes[i]] = i;\n } // Add aliases\n\n\n for (var alias in aliases) {\n codes[alias] = aliases[alias];\n }\n });\n var keycode_1 = keycode.code;\n var keycode_2 = keycode.codes;\n var keycode_3 = keycode.aliases;\n var keycode_4 = keycode.names;\n var keycode_5 = keycode.title;\n\n var 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\n var 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 _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_1.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_1.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);\n /**\n * Default options for `ModalDialog` default options.\n *\n * @type {Object}\n * @private\n */\n\n\n ModalDialog.prototype.options_ = {\n pauseOnOpen: true,\n temporary: true\n };\n Component.registerComponent('ModalDialog', ModalDialog);\n\n /**\n * Common functionaliy between {@link TextTrackList}, {@link AudioTrackList}, and\n * {@link VideoTrackList}\n *\n * @extends EventTarget\n */\n\n var 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);\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\n TrackList.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\n for (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\n var 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 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\n var 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(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(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(_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\n var 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 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\n var 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$1(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$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.selectedChange_ = function () {\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 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\n var 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 */\n var 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 */\n var 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 */\n var 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\n var 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\n var 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\n var 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\n var 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);\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\n var parseUrl = function parseUrl(url) {\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_1.createElement('a');\n a.href = url; // IE8 (and 9?) Fix\n // ie8 doesn't parse the URL correctly until the anchor is actually\n // added to the body, and an innerHTML is needed to trigger the parsing\n\n var addToBody = a.host === '' && a.protocol !== 'file:';\n var div;\n\n if (addToBody) {\n div = document_1.createElement('div');\n div.innerHTML = \"\";\n a = div.firstChild; // prevent the div from affecting layout\n\n div.setAttribute('style', 'display:none; position:absolute;');\n document_1.body.appendChild(div);\n } // Copy the specific URL properties to a new object\n // This is also needed for IE8 because the anchor loses its\n // properties when it's removed from the dom\n\n\n var details = {};\n\n for (var i = 0; i < props.length; i++) {\n details[props[i]] = a[props[i]];\n } // IE9 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\n if (addToBody) {\n document_1.body.removeChild(div);\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\n var 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 var div = document_1.createElement('div');\n div.innerHTML = \"x\";\n url = div.firstChild.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\n var 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\n var 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\n var Url = /*#__PURE__*/Object.freeze({\n __proto__: null,\n parseUrl: parseUrl,\n getAbsoluteURL: getAbsoluteURL,\n getFileExtension: getFileExtension,\n isCrossOrigin: isCrossOrigin\n });\n\n var win$1;\n\n if (typeof window !== \"undefined\") {\n win$1 = window;\n } else if (typeof commonjsGlobal !== \"undefined\") {\n win$1 = commonjsGlobal;\n } else if (typeof self !== \"undefined\") {\n win$1 = self;\n } else {\n win$1 = {};\n }\n\n var window_1$1 = win$1;\n\n var isFunction_1 = isFunction;\n var toString$1 = Object.prototype.toString;\n\n function isFunction(fn) {\n var string = toString$1.call(fn);\n return string === '[object Function]' || typeof fn === 'function' && string !== '[object RegExp]' || typeof window !== 'undefined' && ( // IE8 and below\n fn === window.setTimeout || fn === window.alert || fn === window.confirm || fn === window.prompt);\n }\n\n /**\n * @license\n * slighly modified parse-headers 2.0.2 \n * Copyright (c) 2014 David Björklund\n * Available under the MIT license\n * \n */\n\n\n var parseHeaders = function parseHeaders(headers) {\n var result = {};\n\n if (!headers) {\n return result;\n }\n\n headers.trim().split('\\n').forEach(function (row) {\n var index = row.indexOf(':');\n var key = row.slice(0, index).trim().toLowerCase();\n var value = row.slice(index + 1).trim();\n\n if (typeof result[key] === 'undefined') {\n result[key] = value;\n } else if (Array.isArray(result[key])) {\n result[key].push(value);\n } else {\n result[key] = [result[key], value];\n }\n });\n return result;\n };\n\n var xhr = createXHR; // Allow use of default import syntax in TypeScript\n\n var default_1 = createXHR;\n createXHR.XMLHttpRequest = window_1$1.XMLHttpRequest || noop;\n createXHR.XDomainRequest = \"withCredentials\" in new createXHR.XMLHttpRequest() ? createXHR.XMLHttpRequest : window_1$1.XDomainRequest;\n forEachArray([\"get\", \"put\", \"post\", \"patch\", \"head\", \"delete\"], function (method) {\n createXHR[method === \"delete\" ? \"del\" : method] = function (uri, options, callback) {\n options = initParams(uri, options, callback);\n options.method = method.toUpperCase();\n return _createXHR(options);\n };\n });\n\n function forEachArray(array, iterator) {\n for (var i = 0; i < array.length; i++) {\n iterator(array[i]);\n }\n }\n\n function isEmpty(obj) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) return false;\n }\n\n return true;\n }\n\n function initParams(uri, options, callback) {\n var params = uri;\n\n if (isFunction_1(options)) {\n callback = options;\n\n if (typeof uri === \"string\") {\n params = {\n uri: uri\n };\n }\n } else {\n params = _extends_1({}, options, {\n uri: uri\n });\n }\n\n params.callback = callback;\n return params;\n }\n\n function createXHR(uri, options, callback) {\n options = initParams(uri, options, callback);\n return _createXHR(options);\n }\n\n function _createXHR(options) {\n if (typeof options.callback === \"undefined\") {\n throw new Error(\"callback argument missing\");\n }\n\n var called = false;\n\n var callback = function cbOnce(err, response, body) {\n if (!called) {\n called = true;\n options.callback(err, response, body);\n }\n };\n\n function readystatechange() {\n if (xhr.readyState === 4) {\n setTimeout(loadFunc, 0);\n }\n }\n\n function getBody() {\n // Chrome with requestType=blob throws errors arround when even testing access to responseText\n var body = undefined;\n\n if (xhr.response) {\n body = xhr.response;\n } else {\n body = xhr.responseText || getXml(xhr);\n }\n\n if (isJson) {\n try {\n body = JSON.parse(body);\n } catch (e) {}\n }\n\n return body;\n }\n\n function errorFunc(evt) {\n clearTimeout(timeoutTimer);\n\n if (!(evt instanceof Error)) {\n evt = new Error(\"\" + (evt || \"Unknown XMLHttpRequest Error\"));\n }\n\n evt.statusCode = 0;\n return callback(evt, failureResponse);\n } // will load the data & process the response in a special response object\n\n\n function loadFunc() {\n if (aborted) return;\n var status;\n clearTimeout(timeoutTimer);\n\n if (options.useXDR && xhr.status === undefined) {\n //IE8 CORS GET successful response doesn't have a status field, but body is fine\n status = 200;\n } else {\n status = xhr.status === 1223 ? 204 : xhr.status;\n }\n\n var response = failureResponse;\n var err = null;\n\n if (status !== 0) {\n response = {\n body: getBody(),\n statusCode: status,\n method: method,\n headers: {},\n url: uri,\n rawRequest: xhr\n };\n\n if (xhr.getAllResponseHeaders) {\n //remember xhr can in fact be XDR for CORS in IE\n response.headers = parseHeaders(xhr.getAllResponseHeaders());\n }\n } else {\n err = new Error(\"Internal XMLHttpRequest Error\");\n }\n\n return callback(err, response, response.body);\n }\n\n var xhr = options.xhr || null;\n\n if (!xhr) {\n if (options.cors || options.useXDR) {\n xhr = new createXHR.XDomainRequest();\n } else {\n xhr = new createXHR.XMLHttpRequest();\n }\n }\n\n var key;\n var aborted;\n var uri = xhr.url = options.uri || options.url;\n var method = xhr.method = options.method || \"GET\";\n var body = options.body || options.data;\n var headers = xhr.headers = options.headers || {};\n var sync = !!options.sync;\n var isJson = false;\n var timeoutTimer;\n var failureResponse = {\n body: undefined,\n headers: {},\n statusCode: 0,\n method: method,\n url: uri,\n rawRequest: xhr\n };\n\n if (\"json\" in options && options.json !== false) {\n isJson = true;\n headers[\"accept\"] || headers[\"Accept\"] || (headers[\"Accept\"] = \"application/json\"); //Don't override existing accept header declared by user\n\n if (method !== \"GET\" && method !== \"HEAD\") {\n headers[\"content-type\"] || headers[\"Content-Type\"] || (headers[\"Content-Type\"] = \"application/json\"); //Don't override existing accept header declared by user\n\n body = JSON.stringify(options.json === true ? body : options.json);\n }\n }\n\n xhr.onreadystatechange = readystatechange;\n xhr.onload = loadFunc;\n xhr.onerror = errorFunc; // IE9 must have onprogress be set to a unique function.\n\n xhr.onprogress = function () {// IE must die\n };\n\n xhr.onabort = function () {\n aborted = true;\n };\n\n xhr.ontimeout = errorFunc;\n xhr.open(method, uri, !sync, options.username, options.password); //has to be after open\n\n if (!sync) {\n xhr.withCredentials = !!options.withCredentials;\n } // Cannot set timeout with sync request\n // not setting timeout on the xhr object, because of old webkits etc. not handling that correctly\n // both npm's request and jquery 1.x use this kind of timeout, so this is being consistent\n\n\n if (!sync && options.timeout > 0) {\n timeoutTimer = setTimeout(function () {\n if (aborted) return;\n aborted = true; //IE9 may still call readystatechange\n\n xhr.abort(\"timeout\");\n var e = new Error(\"XMLHttpRequest timeout\");\n e.code = \"ETIMEDOUT\";\n errorFunc(e);\n }, options.timeout);\n }\n\n if (xhr.setRequestHeader) {\n for (key in headers) {\n if (headers.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, headers[key]);\n }\n }\n } else if (options.headers && !isEmpty(options.headers)) {\n throw new Error(\"Headers cannot be set on an XDomainRequest object\");\n }\n\n if (\"responseType\" in options) {\n xhr.responseType = options.responseType;\n }\n\n if (\"beforeSend\" in options && typeof options.beforeSend === \"function\") {\n options.beforeSend(xhr);\n } // Microsoft Edge browser sends \"undefined\" when send is called with undefined value.\n // XMLHttpRequest spec says to pass null as body to indicate no body\n // See https://github.com/naugtur/xhr/issues/100.\n\n\n xhr.send(body || null);\n return xhr;\n }\n\n function getXml(xhr) {\n // xhr.responseXML will throw Exception \"InvalidStateError\" or \"DOMException\"\n // See https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseXML.\n try {\n if (xhr.responseType === \"document\") {\n return xhr.responseXML;\n }\n\n var firefoxBugTakenEffect = xhr.responseXML && xhr.responseXML.documentElement.nodeName === \"parsererror\";\n\n if (xhr.responseType === \"\" && !firefoxBugTakenEffect) {\n return xhr.responseXML;\n }\n } catch (e) {}\n\n return null;\n }\n\n function noop() {}\n xhr[\"default\"] = default_1;\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\n var 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.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\n var 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.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.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\n var 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(options, {\n kind: TextTrackKind[options.kind] || 'subtitles',\n language: options.language || options.srclang || ''\n });\n var mode = TextTrackMode[settings.mode] || 'disabled';\n var default_ = settings[\"default\"];\n\n if (settings.kind === 'metadata' || settings.kind === 'chapters') {\n mode = 'hidden';\n }\n\n _this = _Track.call(this, settings) || this;\n _this.tech_ = settings.tech;\n _this.cues_ = [];\n _this.activeCues_ = [];\n _this.preload_ = _this.tech_.preloadTextTracks !== false;\n var cues = new TextTrackCueList(_this.cues_);\n var activeCues = new TextTrackCueList(_this.activeCues_);\n var changed = false;\n var timeupdateHandler = bind(assertThisInitialized(_this), function () {\n if (!this.tech_.isReady_ || this.tech_.isDisposed()) {\n return;\n } // Accessing this.activeCues for the side-effects of updating itself\n // due to its nature as a getter function. Do not remove or cues will\n // stop updating!\n // Use the setter to prevent deletion from uglify (pure_getters rule)\n\n\n this.activeCues = this.activeCues;\n\n if (changed) {\n this.trigger('cuechange');\n changed = false;\n }\n });\n\n var disposeHandler = function disposeHandler() {\n _this.tech_.off('timeupdate', timeupdateHandler);\n };\n\n _this.tech_.one('dispose', disposeHandler);\n\n if (mode !== 'disabled') {\n _this.tech_.on('timeupdate', timeupdateHandler);\n }\n\n Object.defineProperties(assertThisInitialized(_this), {\n /**\n * @memberof TextTrack\n * @member {boolean} default\n * If this track was set to be on or off by default. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n \"default\": {\n get: function get() {\n return default_;\n },\n set: function set() {}\n },\n\n /**\n * @memberof TextTrack\n * @member {string} mode\n * Set the mode of this TextTrack to a valid {@link TextTrack~Mode}. Will\n * not be set if setting to an invalid mode.\n * @instance\n *\n * @fires TextTrack#modechange\n */\n mode: {\n get: function get() {\n return mode;\n },\n set: function set(newMode) {\n if (!TextTrackMode[newMode]) {\n return;\n }\n\n if (mode === newMode) {\n return;\n }\n\n mode = newMode;\n\n if (!this.preload_ && mode !== 'disabled' && this.cues.length === 0) {\n // On-demand load.\n loadTrack(this.src, this);\n }\n\n this.tech_.off('timeupdate', timeupdateHandler);\n\n if (mode !== 'disabled') {\n this.tech_.on('timeupdate', timeupdateHandler);\n }\n /**\n * An event that fires when mode changes on this track. This allows\n * the TextTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec!\n *\n * @event TextTrack#modechange\n * @type {EventTarget~Event}\n */\n\n\n this.trigger('modechange');\n }\n },\n\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} cues\n * The text track cue list for this TextTrack.\n * @instance\n */\n cues: {\n get: function get() {\n if (!this.loaded_) {\n return null;\n }\n\n return cues;\n },\n set: function set() {}\n },\n\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} activeCues\n * The list text track cues that are currently active for this TextTrack.\n * @instance\n */\n activeCues: {\n get: function get() {\n if (!this.loaded_) {\n return null;\n } // nothing to do\n\n\n if (this.cues.length === 0) {\n return activeCues;\n }\n\n var ct = this.tech_.currentTime();\n var active = [];\n\n for (var i = 0, l = this.cues.length; i < l; i++) {\n var cue = this.cues[i];\n\n if (cue.startTime <= ct && cue.endTime >= ct) {\n active.push(cue);\n } else if (cue.startTime === cue.endTime && cue.startTime <= ct && cue.startTime + 0.5 >= ct) {\n active.push(cue);\n }\n }\n\n changed = false;\n\n if (active.length !== this.activeCues_.length) {\n changed = true;\n } else {\n for (var _i = 0; _i < active.length; _i++) {\n if (this.activeCues_.indexOf(active[_i]) === -1) {\n changed = true;\n }\n }\n }\n\n this.activeCues_ = active;\n activeCues.setCues_(this.activeCues_);\n return activeCues;\n },\n // /!\\ Keep this setter empty (see the timeupdate handler above)\n set: function set() {}\n }\n });\n\n if (settings.src) {\n _this.src = settings.src;\n\n if (!_this.preload_) {\n // Tracks will load on-demand.\n // Act like we're loaded for other purposes.\n _this.loaded_ = true;\n }\n\n if (_this.preload_ || settings.kind !== 'subtitles' && settings.kind !== 'captions') {\n loadTrack(_this.src, assertThisInitialized(_this));\n }\n } else {\n _this.loaded_ = true;\n }\n\n return _this;\n }\n /**\n * Add a cue to the internal list of cues.\n *\n * @param {TextTrack~Cue} cue\n * The cue to add to our internal list\n */\n\n\n var _proto = TextTrack.prototype;\n\n _proto.addCue = function addCue(originalCue) {\n var cue = originalCue;\n\n if (window_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\n TextTrack.prototype.allowedEvents_ = {\n cuechange: 'cuechange'\n };\n\n /**\n * A representation of a single `AudioTrack`. If it is part of an {@link AudioTrackList}\n * only one `AudioTrack` in the list will be enabled at a time.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotrack}\n * @extends Track\n */\n\n var 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(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\n var 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(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\n var NONE = 0;\n var LOADING = 1;\n var LOADED = 2;\n var 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\n var 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 * vesion 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);\n\n HTMLTrackElement.prototype.allowedEvents_ = {\n load: 'load'\n };\n HTMLTrackElement.NONE = NONE;\n HTMLTrackElement.LOADING = LOADING;\n HTMLTrackElement.LOADED = LOADED;\n HTMLTrackElement.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\n var NORMAL = {\n audio: {\n ListClass: AudioTrackList,\n TrackClass: AudioTrack,\n capitalName: 'Audio'\n },\n video: {\n ListClass: VideoTrackList,\n TrackClass: VideoTrack,\n capitalName: 'Video'\n },\n text: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'Text'\n }\n };\n Object.keys(NORMAL).forEach(function (type) {\n NORMAL[type].getterName = type + \"Tracks\";\n NORMAL[type].privateName = type + \"Tracks_\";\n });\n var 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\n var ALL = _extends_1({}, NORMAL, REMOTE);\n\n REMOTE.names = Object.keys(REMOTE);\n NORMAL.names = Object.keys(NORMAL);\n ALL.names = [].concat(REMOTE.names).concat(NORMAL.names);\n\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n\n /* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */\n\n var _objCreate = Object.create || function () {\n function F() {}\n\n return function (o) {\n if (arguments.length !== 1) {\n throw new Error('Object.create shim only accepts one parameter.');\n }\n\n F.prototype = o;\n return new F();\n };\n }(); // Creates a new ParserError object from an errorData object. The errorData\n // object should have default code and message properties. The default message\n // property can be overriden by passing in a message parameter.\n // See ParsingError.Errors below for acceptable errors.\n\n\n function ParsingError(errorData, message) {\n this.name = \"ParsingError\";\n this.code = errorData.code;\n this.message = message || errorData.message;\n }\n\n ParsingError.prototype = _objCreate(Error.prototype);\n ParsingError.prototype.constructor = ParsingError; // ParsingError metadata for acceptable ParsingErrors.\n\n ParsingError.Errors = {\n BadSignature: {\n code: 0,\n message: \"Malformed WebVTT signature.\"\n },\n BadTimeStamp: {\n code: 1,\n message: \"Malformed time stamp.\"\n }\n }; // Try to parse input as a time stamp.\n\n function parseTimeStamp(input) {\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + (f | 0) / 1000;\n }\n\n var m = input.match(/^(\\d+):(\\d{1,2})(:\\d{1,2})?\\.(\\d{3})/);\n\n if (!m) {\n return null;\n }\n\n if (m[3]) {\n // Timestamp takes the form of [hours]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3].replace(\":\", \"\"), m[4]);\n } else if (m[1] > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[1], m[2], 0, m[4]);\n } else {\n // Timestamp takes the form of [minutes]:[seconds].[milliseconds]\n return computeSeconds(0, m[1], m[2], m[4]);\n }\n } // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n\n\n function Settings() {\n this.values = _objCreate(null);\n }\n\n Settings.prototype = {\n // Only accept the first assignment to any key.\n set: function set(k, v) {\n if (!this.get(k) && v !== \"\") {\n this.values[k] = v;\n }\n },\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n get: function get(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n\n return this.has(k) ? this.values[k] : dflt;\n },\n // Check whether we have a value for a key.\n has: function has(k) {\n return k in this.values;\n },\n // Accept a setting if its one of the given alternatives.\n alt: function alt(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n },\n // Accept a setting if its a valid (signed) integer.\n integer: function integer(k, v) {\n if (/^-?\\d+$/.test(v)) {\n // integer\n this.set(k, parseInt(v, 10));\n }\n },\n // Accept a setting if its a valid percentage.\n percent: function percent(k, v) {\n var m;\n\n if (m = v.match(/^([\\d]{1,3})(\\.[\\d]*)?%$/)) {\n v = parseFloat(v);\n\n if (v >= 0 && v <= 100) {\n this.set(k, v);\n return true;\n }\n }\n\n return false;\n }\n }; // Helper function to parse input into groups separated by 'groupDelim', and\n // interprete each group as a key/value pair separated by 'keyValueDelim'.\n\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n\n for (var i in groups) {\n if (typeof groups[i] !== \"string\") {\n continue;\n }\n\n var kv = groups[i].split(keyValueDelim);\n\n if (kv.length !== 2) {\n continue;\n }\n\n var k = kv[0];\n var v = kv[1];\n callback(k, v);\n }\n }\n\n function parseCue(input, cue, regionList) {\n // Remember the original input if we need to throw an error.\n var oInput = input; // 4.1 WebVTT timestamp\n\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n\n if (ts === null) {\n throw new ParsingError(ParsingError.Errors.BadTimeStamp, \"Malformed timestamp: \" + oInput);\n } // Remove time stamp from input.\n\n\n input = input.replace(/^[^\\sa-zA-Z-]+/, \"\");\n return ts;\n } // 4.4.2 WebVTT cue settings\n\n\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"region\":\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n\n break;\n\n case \"vertical\":\n settings.alt(k, v, [\"rl\", \"lr\"]);\n break;\n\n case \"line\":\n var vals = v.split(\",\"),\n vals0 = vals[0];\n settings.integer(k, vals0);\n settings.percent(k, vals0) ? settings.set(\"snapToLines\", false) : null;\n settings.alt(k, vals0, [\"auto\"]);\n\n if (vals.length === 2) {\n settings.alt(\"lineAlign\", vals[1], [\"start\", \"center\", \"end\"]);\n }\n\n break;\n\n case \"position\":\n vals = v.split(\",\");\n settings.percent(k, vals[0]);\n\n if (vals.length === 2) {\n settings.alt(\"positionAlign\", vals[1], [\"start\", \"center\", \"end\"]);\n }\n\n break;\n\n case \"size\":\n settings.percent(k, v);\n break;\n\n case \"align\":\n settings.alt(k, v, [\"start\", \"center\", \"end\", \"left\", \"right\"]);\n break;\n }\n }, /:/, /\\s/); // Apply default values for any missing fields.\n\n cue.region = settings.get(\"region\", null);\n cue.vertical = settings.get(\"vertical\", \"\");\n\n try {\n cue.line = settings.get(\"line\", \"auto\");\n } catch (e) {}\n\n cue.lineAlign = settings.get(\"lineAlign\", \"start\");\n cue.snapToLines = settings.get(\"snapToLines\", true);\n cue.size = settings.get(\"size\", 100); // Safari still uses the old middle value and won't accept center\n\n try {\n cue.align = settings.get(\"align\", \"center\");\n } catch (e) {\n cue.align = settings.get(\"align\", \"middle\");\n }\n\n try {\n cue.position = settings.get(\"position\", \"auto\");\n } catch (e) {\n cue.position = settings.get(\"position\", {\n start: 0,\n left: 0,\n center: 50,\n middle: 50,\n end: 100,\n right: 100\n }, cue.align);\n }\n\n cue.positionAlign = settings.get(\"positionAlign\", {\n start: \"start\",\n left: \"start\",\n center: \"center\",\n middle: \"center\",\n end: \"end\",\n right: \"end\"\n }, cue.align);\n }\n\n function skipWhitespace() {\n input = input.replace(/^\\s+/, \"\");\n } // 4.1 WebVTT cue timings.\n\n\n skipWhitespace();\n cue.startTime = consumeTimeStamp(); // (1) collect cue start time\n\n skipWhitespace();\n\n if (input.substr(0, 3) !== \"-->\") {\n // (3) next characters must match \"-->\"\n throw new ParsingError(ParsingError.Errors.BadTimeStamp, \"Malformed time stamp (time stamps must be separated by '-->'): \" + oInput);\n }\n\n input = input.substr(3);\n skipWhitespace();\n cue.endTime = consumeTimeStamp(); // (5) collect cue end time\n // 4.1 WebVTT cue settings list.\n\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n\n var TEXTAREA_ELEMENT = document_1.createElement(\"textarea\");\n var TAG_NAME = {\n c: \"span\",\n i: \"i\",\n b: \"b\",\n u: \"u\",\n ruby: \"ruby\",\n rt: \"rt\",\n v: \"span\",\n lang: \"span\"\n }; // 5.1 default text color\n // 5.2 default text background color is equivalent to text color with bg_ prefix\n\n var DEFAULT_COLOR_CLASS = {\n white: 'rgba(255,255,255,1)',\n lime: 'rgba(0,255,0,1)',\n cyan: 'rgba(0,255,255,1)',\n red: 'rgba(255,0,0,1)',\n yellow: 'rgba(255,255,0,1)',\n magenta: 'rgba(255,0,255,1)',\n blue: 'rgba(0,0,255,1)',\n black: 'rgba(0,0,0,1)'\n };\n var TAG_ANNOTATION = {\n v: \"title\",\n lang: \"lang\"\n };\n var NEEDS_PARENT = {\n rt: \"ruby\"\n }; // Parse content into a document fragment.\n\n function parseContent(window, input) {\n function nextToken() {\n // Check for end-of-string.\n if (!input) {\n return null;\n } // Consume 'n' characters from the input.\n\n\n function consume(result) {\n input = input.substr(result.length);\n return result;\n }\n\n var m = input.match(/^([^<]*)(<[^>]*>?)?/); // If there is some text before the next tag, return it, otherwise return\n // the tag.\n\n return consume(m[1] ? m[1] : m[2]);\n }\n\n function unescape(s) {\n TEXTAREA_ELEMENT.innerHTML = s;\n s = TEXTAREA_ELEMENT.textContent;\n TEXTAREA_ELEMENT.textContent = \"\";\n return s;\n }\n\n function shouldAdd(current, element) {\n return !NEEDS_PARENT[element.localName] || NEEDS_PARENT[element.localName] === current.localName;\n } // Create an element for this tag.\n\n\n function createElement(type, annotation) {\n var tagName = TAG_NAME[type];\n\n if (!tagName) {\n return null;\n }\n\n var element = window.document.createElement(tagName);\n var name = TAG_ANNOTATION[type];\n\n if (name && annotation) {\n element[name] = annotation.trim();\n }\n\n return element;\n }\n\n var rootDiv = window.document.createElement(\"div\"),\n current = rootDiv,\n t,\n tagStack = [];\n\n while ((t = nextToken()) !== null) {\n if (t[0] === '<') {\n if (t[1] === \"/\") {\n // If the closing tag matches, move back up to the parent node.\n if (tagStack.length && tagStack[tagStack.length - 1] === t.substr(2).replace(\">\", \"\")) {\n tagStack.pop();\n current = current.parentNode;\n } // Otherwise just ignore the end tag.\n\n\n continue;\n }\n\n var ts = parseTimeStamp(t.substr(1, t.length - 2));\n var node;\n\n if (ts) {\n // Timestamps are lead nodes as well.\n node = window.document.createProcessingInstruction(\"timestamp\", ts);\n current.appendChild(node);\n continue;\n }\n\n var m = t.match(/^<([^.\\s/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/); // If we can't parse the tag, skip to the next tag.\n\n if (!m) {\n continue;\n } // Try to construct an element, and ignore the tag if we couldn't.\n\n\n node = createElement(m[1], m[3]);\n\n if (!node) {\n continue;\n } // Determine if the tag should be added based on the context of where it\n // is placed in the cuetext.\n\n\n if (!shouldAdd(current, node)) {\n continue;\n } // Set the class list (as a list of classes, separated by space).\n\n\n if (m[2]) {\n var classes = m[2].split('.');\n classes.forEach(function (cl) {\n var bgColor = /^bg_/.test(cl); // slice out `bg_` if it's a background color\n\n var colorName = bgColor ? cl.slice(3) : cl;\n\n if (DEFAULT_COLOR_CLASS.hasOwnProperty(colorName)) {\n var propName = bgColor ? 'background-color' : 'color';\n var propValue = DEFAULT_COLOR_CLASS[colorName];\n node.style[propName] = propValue;\n }\n });\n node.className = classes.join(' ');\n } // Append the node to the current node, and enter the scope of the new\n // node.\n\n\n tagStack.push(m[1]);\n current.appendChild(node);\n current = node;\n continue;\n } // Text nodes are leaf nodes.\n\n\n current.appendChild(window.document.createTextNode(unescape(t)));\n }\n\n return rootDiv;\n } // This is a list of all the Unicode characters that have a strong\n // right-to-left category. What this means is that these characters are\n // written right-to-left for sure. It was generated by pulling all the strong\n // right-to-left characters out of the Unicode data table. That table can\n // found at: http://www.unicode.org/Public/UNIDATA/UnicodeData.txt\n\n\n var strongRTLRanges = [[0x5be, 0x5be], [0x5c0, 0x5c0], [0x5c3, 0x5c3], [0x5c6, 0x5c6], [0x5d0, 0x5ea], [0x5f0, 0x5f4], [0x608, 0x608], [0x60b, 0x60b], [0x60d, 0x60d], [0x61b, 0x61b], [0x61e, 0x64a], [0x66d, 0x66f], [0x671, 0x6d5], [0x6e5, 0x6e6], [0x6ee, 0x6ef], [0x6fa, 0x70d], [0x70f, 0x710], [0x712, 0x72f], [0x74d, 0x7a5], [0x7b1, 0x7b1], [0x7c0, 0x7ea], [0x7f4, 0x7f5], [0x7fa, 0x7fa], [0x800, 0x815], [0x81a, 0x81a], [0x824, 0x824], [0x828, 0x828], [0x830, 0x83e], [0x840, 0x858], [0x85e, 0x85e], [0x8a0, 0x8a0], [0x8a2, 0x8ac], [0x200f, 0x200f], [0xfb1d, 0xfb1d], [0xfb1f, 0xfb28], [0xfb2a, 0xfb36], [0xfb38, 0xfb3c], [0xfb3e, 0xfb3e], [0xfb40, 0xfb41], [0xfb43, 0xfb44], [0xfb46, 0xfbc1], [0xfbd3, 0xfd3d], [0xfd50, 0xfd8f], [0xfd92, 0xfdc7], [0xfdf0, 0xfdfc], [0xfe70, 0xfe74], [0xfe76, 0xfefc], [0x10800, 0x10805], [0x10808, 0x10808], [0x1080a, 0x10835], [0x10837, 0x10838], [0x1083c, 0x1083c], [0x1083f, 0x10855], [0x10857, 0x1085f], [0x10900, 0x1091b], [0x10920, 0x10939], [0x1093f, 0x1093f], [0x10980, 0x109b7], [0x109be, 0x109bf], [0x10a00, 0x10a00], [0x10a10, 0x10a13], [0x10a15, 0x10a17], [0x10a19, 0x10a33], [0x10a40, 0x10a47], [0x10a50, 0x10a58], [0x10a60, 0x10a7f], [0x10b00, 0x10b35], [0x10b40, 0x10b55], [0x10b58, 0x10b72], [0x10b78, 0x10b7f], [0x10c00, 0x10c48], [0x1ee00, 0x1ee03], [0x1ee05, 0x1ee1f], [0x1ee21, 0x1ee22], [0x1ee24, 0x1ee24], [0x1ee27, 0x1ee27], [0x1ee29, 0x1ee32], [0x1ee34, 0x1ee37], [0x1ee39, 0x1ee39], [0x1ee3b, 0x1ee3b], [0x1ee42, 0x1ee42], [0x1ee47, 0x1ee47], [0x1ee49, 0x1ee49], [0x1ee4b, 0x1ee4b], [0x1ee4d, 0x1ee4f], [0x1ee51, 0x1ee52], [0x1ee54, 0x1ee54], [0x1ee57, 0x1ee57], [0x1ee59, 0x1ee59], [0x1ee5b, 0x1ee5b], [0x1ee5d, 0x1ee5d], [0x1ee5f, 0x1ee5f], [0x1ee61, 0x1ee62], [0x1ee64, 0x1ee64], [0x1ee67, 0x1ee6a], [0x1ee6c, 0x1ee72], [0x1ee74, 0x1ee77], [0x1ee79, 0x1ee7c], [0x1ee7e, 0x1ee7e], [0x1ee80, 0x1ee89], [0x1ee8b, 0x1ee9b], [0x1eea1, 0x1eea3], [0x1eea5, 0x1eea9], [0x1eeab, 0x1eebb], [0x10fffd, 0x10fffd]];\n\n function isStrongRTLChar(charCode) {\n for (var i = 0; i < strongRTLRanges.length; i++) {\n var currentRange = strongRTLRanges[i];\n\n if (charCode >= currentRange[0] && charCode <= currentRange[1]) {\n return true;\n }\n }\n\n return false;\n }\n\n function determineBidi(cueDiv) {\n var nodeStack = [],\n text = \"\",\n charCode;\n\n if (!cueDiv || !cueDiv.childNodes) {\n return \"ltr\";\n }\n\n function pushNodes(nodeStack, node) {\n for (var i = node.childNodes.length - 1; i >= 0; i--) {\n nodeStack.push(node.childNodes[i]);\n }\n }\n\n function nextTextNode(nodeStack) {\n if (!nodeStack || !nodeStack.length) {\n return null;\n }\n\n var node = nodeStack.pop(),\n text = node.textContent || node.innerText;\n\n if (text) {\n // TODO: This should match all unicode type B characters (paragraph\n // separator characters). See issue #115.\n var m = text.match(/^.*(\\n|\\r)/);\n\n if (m) {\n nodeStack.length = 0;\n return m[0];\n }\n\n return text;\n }\n\n if (node.tagName === \"ruby\") {\n return nextTextNode(nodeStack);\n }\n\n if (node.childNodes) {\n pushNodes(nodeStack, node);\n return nextTextNode(nodeStack);\n }\n }\n\n pushNodes(nodeStack, cueDiv);\n\n while (text = nextTextNode(nodeStack)) {\n for (var i = 0; i < text.length; i++) {\n charCode = text.charCodeAt(i);\n\n if (isStrongRTLChar(charCode)) {\n return \"rtl\";\n }\n }\n }\n\n return \"ltr\";\n }\n\n function computeLinePos(cue) {\n if (typeof cue.line === \"number\" && (cue.snapToLines || cue.line >= 0 && cue.line <= 100)) {\n return cue.line;\n }\n\n if (!cue.track || !cue.track.textTrackList || !cue.track.textTrackList.mediaElement) {\n return -1;\n }\n\n var track = cue.track,\n trackList = track.textTrackList,\n count = 0;\n\n for (var i = 0; i < trackList.length && trackList[i] !== track; i++) {\n if (trackList[i].mode === \"showing\") {\n count++;\n }\n }\n\n return ++count * -1;\n }\n\n function StyleBox() {} // Apply styles to a div. If there is no div passed then it defaults to the\n // div on 'this'.\n\n\n StyleBox.prototype.applyStyles = function (styles, div) {\n div = div || this.div;\n\n for (var prop in styles) {\n if (styles.hasOwnProperty(prop)) {\n div.style[prop] = styles[prop];\n }\n }\n };\n\n StyleBox.prototype.formatStyle = function (val, unit) {\n return val === 0 ? 0 : val + unit;\n }; // Constructs the computed display state of the cue (a div). Places the div\n // into the overlay which should be a block level element (usually a div).\n\n\n function CueStyleBox(window, cue, styleOptions) {\n StyleBox.call(this);\n this.cue = cue; // Parse our cue's text into a DOM tree rooted at 'cueDiv'. This div will\n // have inline positioning and will function as the cue background box.\n\n this.cueDiv = parseContent(window, cue.text);\n var styles = {\n color: \"rgba(255, 255, 255, 1)\",\n backgroundColor: \"rgba(0, 0, 0, 0.8)\",\n position: \"relative\",\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n display: \"inline\",\n writingMode: cue.vertical === \"\" ? \"horizontal-tb\" : cue.vertical === \"lr\" ? \"vertical-lr\" : \"vertical-rl\",\n unicodeBidi: \"plaintext\"\n };\n this.applyStyles(styles, this.cueDiv); // Create an absolutely positioned div that will be used to position the cue\n // div. Note, all WebVTT cue-setting alignments are equivalent to the CSS\n // mirrors of them except middle instead of center on Safari.\n\n this.div = window.document.createElement(\"div\");\n styles = {\n direction: determineBidi(this.cueDiv),\n writingMode: cue.vertical === \"\" ? \"horizontal-tb\" : cue.vertical === \"lr\" ? \"vertical-lr\" : \"vertical-rl\",\n unicodeBidi: \"plaintext\",\n textAlign: cue.align === \"middle\" ? \"center\" : cue.align,\n font: styleOptions.font,\n whiteSpace: \"pre-line\",\n position: \"absolute\"\n };\n this.applyStyles(styles);\n this.div.appendChild(this.cueDiv); // Calculate the distance from the reference edge of the viewport to the text\n // position of the cue box. The reference edge will be resolved later when\n // the box orientation styles are applied.\n\n var textPos = 0;\n\n switch (cue.positionAlign) {\n case \"start\":\n textPos = cue.position;\n break;\n\n case \"center\":\n textPos = cue.position - cue.size / 2;\n break;\n\n case \"end\":\n textPos = cue.position - cue.size;\n break;\n } // Horizontal box orientation; textPos is the distance from the left edge of the\n // area to the left edge of the box and cue.size is the distance extending to\n // the right from there.\n\n\n if (cue.vertical === \"\") {\n this.applyStyles({\n left: this.formatStyle(textPos, \"%\"),\n width: this.formatStyle(cue.size, \"%\")\n }); // Vertical box orientation; textPos is the distance from the top edge of the\n // area to the top edge of the box and cue.size is the height extending\n // downwards from there.\n } else {\n this.applyStyles({\n top: this.formatStyle(textPos, \"%\"),\n height: this.formatStyle(cue.size, \"%\")\n });\n }\n\n this.move = function (box) {\n this.applyStyles({\n top: this.formatStyle(box.top, \"px\"),\n bottom: this.formatStyle(box.bottom, \"px\"),\n left: this.formatStyle(box.left, \"px\"),\n right: this.formatStyle(box.right, \"px\"),\n height: this.formatStyle(box.height, \"px\"),\n width: this.formatStyle(box.width, \"px\")\n });\n };\n }\n\n CueStyleBox.prototype = _objCreate(StyleBox.prototype);\n CueStyleBox.prototype.constructor = CueStyleBox; // Represents the co-ordinates of an Element in a way that we can easily\n // compute things with such as if it overlaps or intersects with another Element.\n // Can initialize it with either a StyleBox or another BoxPosition.\n\n function BoxPosition(obj) {\n // Either a BoxPosition was passed in and we need to copy it, or a StyleBox\n // was passed in and we need to copy the results of 'getBoundingClientRect'\n // as the object returned is readonly. All co-ordinate values are in reference\n // to the viewport origin (top left).\n var lh, height, width, top;\n\n if (obj.div) {\n height = obj.div.offsetHeight;\n width = obj.div.offsetWidth;\n top = obj.div.offsetTop;\n var rects = (rects = obj.div.childNodes) && (rects = rects[0]) && rects.getClientRects && rects.getClientRects();\n obj = obj.div.getBoundingClientRect(); // In certain cases the outter div will be slightly larger then the sum of\n // the inner div's lines. This could be due to bold text, etc, on some platforms.\n // In this case we should get the average line height and use that. This will\n // result in the desired behaviour.\n\n lh = rects ? Math.max(rects[0] && rects[0].height || 0, obj.height / rects.length) : 0;\n }\n\n this.left = obj.left;\n this.right = obj.right;\n this.top = obj.top || top;\n this.height = obj.height || height;\n this.bottom = obj.bottom || top + (obj.height || height);\n this.width = obj.width || width;\n this.lineHeight = lh !== undefined ? lh : obj.lineHeight;\n } // Move the box along a particular axis. Optionally pass in an amount to move\n // the box. If no amount is passed then the default is the line height of the\n // box.\n\n\n BoxPosition.prototype.move = function (axis, toMove) {\n toMove = toMove !== undefined ? toMove : this.lineHeight;\n\n switch (axis) {\n case \"+x\":\n this.left += toMove;\n this.right += toMove;\n break;\n\n case \"-x\":\n this.left -= toMove;\n this.right -= toMove;\n break;\n\n case \"+y\":\n this.top += toMove;\n this.bottom += toMove;\n break;\n\n case \"-y\":\n this.top -= toMove;\n this.bottom -= toMove;\n break;\n }\n }; // Check if this box overlaps another box, b2.\n\n\n BoxPosition.prototype.overlaps = function (b2) {\n return this.left < b2.right && this.right > b2.left && this.top < b2.bottom && this.bottom > b2.top;\n }; // Check if this box overlaps any other boxes in boxes.\n\n\n BoxPosition.prototype.overlapsAny = function (boxes) {\n for (var i = 0; i < boxes.length; i++) {\n if (this.overlaps(boxes[i])) {\n return true;\n }\n }\n\n return false;\n }; // Check if this box is within another box.\n\n\n BoxPosition.prototype.within = function (container) {\n return this.top >= container.top && this.bottom <= container.bottom && this.left >= container.left && this.right <= container.right;\n }; // Check if this box is entirely within the container or it is overlapping\n // on the edge opposite of the axis direction passed. For example, if \"+x\" is\n // passed and the box is overlapping on the left edge of the container, then\n // return true.\n\n\n BoxPosition.prototype.overlapsOppositeAxis = function (container, axis) {\n switch (axis) {\n case \"+x\":\n return this.left < container.left;\n\n case \"-x\":\n return this.right > container.right;\n\n case \"+y\":\n return this.top < container.top;\n\n case \"-y\":\n return this.bottom > container.bottom;\n }\n }; // Find the percentage of the area that this box is overlapping with another\n // box.\n\n\n BoxPosition.prototype.intersectPercentage = function (b2) {\n var x = Math.max(0, Math.min(this.right, b2.right) - Math.max(this.left, b2.left)),\n y = Math.max(0, Math.min(this.bottom, b2.bottom) - Math.max(this.top, b2.top)),\n intersectArea = x * y;\n return intersectArea / (this.height * this.width);\n }; // Convert the positions from this box to CSS compatible positions using\n // the reference container's positions. This has to be done because this\n // box's positions are in reference to the viewport origin, whereas, CSS\n // values are in referecne to their respective edges.\n\n\n BoxPosition.prototype.toCSSCompatValues = function (reference) {\n return {\n top: this.top - reference.top,\n bottom: reference.bottom - this.bottom,\n left: this.left - reference.left,\n right: reference.right - this.right,\n height: this.height,\n width: this.width\n };\n }; // Get an object that represents the box's position without anything extra.\n // Can pass a StyleBox, HTMLElement, or another BoxPositon.\n\n\n BoxPosition.getSimpleBoxPosition = function (obj) {\n var height = obj.div ? obj.div.offsetHeight : obj.tagName ? obj.offsetHeight : 0;\n var width = obj.div ? obj.div.offsetWidth : obj.tagName ? obj.offsetWidth : 0;\n var top = obj.div ? obj.div.offsetTop : obj.tagName ? obj.offsetTop : 0;\n obj = obj.div ? obj.div.getBoundingClientRect() : obj.tagName ? obj.getBoundingClientRect() : obj;\n var ret = {\n left: obj.left,\n right: obj.right,\n top: obj.top || top,\n height: obj.height || height,\n bottom: obj.bottom || top + (obj.height || height),\n width: obj.width || width\n };\n return ret;\n }; // Move a StyleBox to its specified, or next best, position. The containerBox\n // is the box that contains the StyleBox, such as a div. boxPositions are\n // a list of other boxes that the styleBox can't overlap with.\n\n\n function moveBoxToLinePosition(window, styleBox, containerBox, boxPositions) {\n // Find the best position for a cue box, b, on the video. The axis parameter\n // is a list of axis, the order of which, it will move the box along. For example:\n // Passing [\"+x\", \"-x\"] will move the box first along the x axis in the positive\n // direction. If it doesn't find a good position for it there it will then move\n // it along the x axis in the negative direction.\n function findBestPosition(b, axis) {\n var bestPosition,\n specifiedPosition = new BoxPosition(b),\n percentage = 1; // Highest possible so the first thing we get is better.\n\n for (var i = 0; i < axis.length; i++) {\n while (b.overlapsOppositeAxis(containerBox, axis[i]) || b.within(containerBox) && b.overlapsAny(boxPositions)) {\n b.move(axis[i]);\n } // We found a spot where we aren't overlapping anything. This is our\n // best position.\n\n\n if (b.within(containerBox)) {\n return b;\n }\n\n var p = b.intersectPercentage(containerBox); // If we're outside the container box less then we were on our last try\n // then remember this position as the best position.\n\n if (percentage > p) {\n bestPosition = new BoxPosition(b);\n percentage = p;\n } // Reset the box position to the specified position.\n\n\n b = new BoxPosition(specifiedPosition);\n }\n\n return bestPosition || specifiedPosition;\n }\n\n var boxPosition = new BoxPosition(styleBox),\n cue = styleBox.cue,\n linePos = computeLinePos(cue),\n axis = []; // If we have a line number to align the cue to.\n\n if (cue.snapToLines) {\n var size;\n\n switch (cue.vertical) {\n case \"\":\n axis = [\"+y\", \"-y\"];\n size = \"height\";\n break;\n\n case \"rl\":\n axis = [\"+x\", \"-x\"];\n size = \"width\";\n break;\n\n case \"lr\":\n axis = [\"-x\", \"+x\"];\n size = \"width\";\n break;\n }\n\n var step = boxPosition.lineHeight,\n position = step * Math.round(linePos),\n maxPosition = containerBox[size] + step,\n initialAxis = axis[0]; // If the specified intial position is greater then the max position then\n // clamp the box to the amount of steps it would take for the box to\n // reach the max position.\n\n if (Math.abs(position) > maxPosition) {\n position = position < 0 ? -1 : 1;\n position *= Math.ceil(maxPosition / step) * step;\n } // If computed line position returns negative then line numbers are\n // relative to the bottom of the video instead of the top. Therefore, we\n // need to increase our initial position by the length or width of the\n // video, depending on the writing direction, and reverse our axis directions.\n\n\n if (linePos < 0) {\n position += cue.vertical === \"\" ? containerBox.height : containerBox.width;\n axis = axis.reverse();\n } // Move the box to the specified position. This may not be its best\n // position.\n\n\n boxPosition.move(initialAxis, position);\n } else {\n // If we have a percentage line value for the cue.\n var calculatedPercentage = boxPosition.lineHeight / containerBox.height * 100;\n\n switch (cue.lineAlign) {\n case \"center\":\n linePos -= calculatedPercentage / 2;\n break;\n\n case \"end\":\n linePos -= calculatedPercentage;\n break;\n } // Apply initial line position to the cue box.\n\n\n switch (cue.vertical) {\n case \"\":\n styleBox.applyStyles({\n top: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n\n case \"rl\":\n styleBox.applyStyles({\n left: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n\n case \"lr\":\n styleBox.applyStyles({\n right: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n }\n\n axis = [\"+y\", \"-x\", \"+x\", \"-y\"]; // Get the box position again after we've applied the specified positioning\n // to it.\n\n boxPosition = new BoxPosition(styleBox);\n }\n\n var bestPosition = findBestPosition(boxPosition, axis);\n styleBox.move(bestPosition.toCSSCompatValues(containerBox));\n }\n\n function WebVTT$1() {} // Nothing\n // Helper to allow strings to be decoded instead of the default binary utf8 data.\n\n\n WebVTT$1.StringDecoder = function () {\n return {\n decode: function decode(data) {\n if (!data) {\n return \"\";\n }\n\n if (typeof data !== \"string\") {\n throw new Error(\"Error - expected string data.\");\n }\n\n return decodeURIComponent(encodeURIComponent(data));\n }\n };\n };\n\n WebVTT$1.convertCueToDOMTree = function (window, cuetext) {\n if (!window || !cuetext) {\n return null;\n }\n\n return parseContent(window, cuetext);\n };\n\n var FONT_SIZE_PERCENT = 0.05;\n var FONT_STYLE = \"sans-serif\";\n var CUE_BACKGROUND_PADDING = \"1.5%\"; // Runs the processing model over the cues and regions passed to it.\n // @param overlay A block level element (usually a div) that the computed cues\n // and regions will be placed into.\n\n WebVTT$1.processCues = function (window, cues, overlay) {\n if (!window || !cues || !overlay) {\n return null;\n } // Remove all previous children.\n\n\n while (overlay.firstChild) {\n overlay.removeChild(overlay.firstChild);\n }\n\n var paddedOverlay = window.document.createElement(\"div\");\n paddedOverlay.style.position = \"absolute\";\n paddedOverlay.style.left = \"0\";\n paddedOverlay.style.right = \"0\";\n paddedOverlay.style.top = \"0\";\n paddedOverlay.style.bottom = \"0\";\n paddedOverlay.style.margin = CUE_BACKGROUND_PADDING;\n overlay.appendChild(paddedOverlay); // Determine if we need to compute the display states of the cues. This could\n // be the case if a cue's state has been changed since the last computation or\n // if it has not been computed yet.\n\n function shouldCompute(cues) {\n for (var i = 0; i < cues.length; i++) {\n if (cues[i].hasBeenReset || !cues[i].displayState) {\n return true;\n }\n }\n\n return false;\n } // We don't need to recompute the cues' display states. Just reuse them.\n\n\n if (!shouldCompute(cues)) {\n for (var i = 0; i < cues.length; i++) {\n paddedOverlay.appendChild(cues[i].displayState);\n }\n\n return;\n }\n\n var boxPositions = [],\n containerBox = BoxPosition.getSimpleBoxPosition(paddedOverlay),\n fontSize = Math.round(containerBox.height * FONT_SIZE_PERCENT * 100) / 100;\n var styleOptions = {\n font: fontSize + \"px \" + FONT_STYLE\n };\n\n (function () {\n var styleBox, cue;\n\n for (var i = 0; i < cues.length; i++) {\n cue = cues[i]; // Compute the intial position and styles of the cue div.\n\n styleBox = new CueStyleBox(window, cue, styleOptions);\n paddedOverlay.appendChild(styleBox.div); // Move the cue div to it's correct line position.\n\n moveBoxToLinePosition(window, styleBox, containerBox, boxPositions); // Remember the computed div so that we don't have to recompute it later\n // if we don't have too.\n\n cue.displayState = styleBox.div;\n boxPositions.push(BoxPosition.getSimpleBoxPosition(styleBox));\n }\n })();\n };\n\n WebVTT$1.Parser = function (window, vttjs, decoder) {\n if (!decoder) {\n decoder = vttjs;\n vttjs = {};\n }\n\n if (!vttjs) {\n vttjs = {};\n }\n\n this.window = window;\n this.vttjs = vttjs;\n this.state = \"INITIAL\";\n this.buffer = \"\";\n this.decoder = decoder || new TextDecoder(\"utf8\");\n this.regionList = [];\n };\n\n WebVTT$1.Parser.prototype = {\n // If the error is a ParsingError then report it to the consumer if\n // possible. If it's not a ParsingError then throw it like normal.\n reportOrThrowError: function reportOrThrowError(e) {\n if (e instanceof ParsingError) {\n this.onparsingerror && this.onparsingerror(e);\n } else {\n throw e;\n }\n },\n parse: function parse(data) {\n var self = this; // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n\n if (data) {\n // Try to decode the data that we received.\n self.buffer += self.decoder.decode(data, {\n stream: true\n });\n }\n\n function collectNextLine() {\n var buffer = self.buffer;\n var pos = 0;\n\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n\n var line = buffer.substr(0, pos); // Advance the buffer early in case we fail below.\n\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n\n self.buffer = buffer.substr(pos);\n return line;\n } // 3.4 WebVTT region and WebVTT region settings syntax\n\n\n function parseRegion(input) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"id\":\n settings.set(k, v);\n break;\n\n case \"width\":\n settings.percent(k, v);\n break;\n\n case \"lines\":\n settings.integer(k, v);\n break;\n\n case \"regionanchor\":\n case \"viewportanchor\":\n var xy = v.split(',');\n\n if (xy.length !== 2) {\n break;\n } // We have to make sure both x and y parse, so use a temporary\n // settings object here.\n\n\n var anchor = new Settings();\n anchor.percent(\"x\", xy[0]);\n anchor.percent(\"y\", xy[1]);\n\n if (!anchor.has(\"x\") || !anchor.has(\"y\")) {\n break;\n }\n\n settings.set(k + \"X\", anchor.get(\"x\"));\n settings.set(k + \"Y\", anchor.get(\"y\"));\n break;\n\n case \"scroll\":\n settings.alt(k, v, [\"up\"]);\n break;\n }\n }, /=/, /\\s/); // Create the region, using default values for any values that were not\n // specified.\n\n if (settings.has(\"id\")) {\n var region = new (self.vttjs.VTTRegion || self.window.VTTRegion)();\n region.width = settings.get(\"width\", 100);\n region.lines = settings.get(\"lines\", 3);\n region.regionAnchorX = settings.get(\"regionanchorX\", 0);\n region.regionAnchorY = settings.get(\"regionanchorY\", 100);\n region.viewportAnchorX = settings.get(\"viewportanchorX\", 0);\n region.viewportAnchorY = settings.get(\"viewportanchorY\", 100);\n region.scroll = settings.get(\"scroll\", \"\"); // Register the region.\n\n self.onregion && self.onregion(region); // Remember the VTTRegion for later in case we parse any VTTCues that\n // reference it.\n\n self.regionList.push({\n id: settings.get(\"id\"),\n region: region\n });\n }\n } // draft-pantos-http-live-streaming-20\n // https://tools.ietf.org/html/draft-pantos-http-live-streaming-20#section-3.5\n // 3.5 WebVTT\n\n\n function parseTimestampMap(input) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"MPEGT\":\n settings.integer(k + 'S', v);\n break;\n\n case \"LOCA\":\n settings.set(k + 'L', parseTimeStamp(v));\n break;\n }\n }, /[^\\d]:/, /,/);\n self.ontimestampmap && self.ontimestampmap({\n \"MPEGTS\": settings.get(\"MPEGTS\"),\n \"LOCAL\": settings.get(\"LOCAL\")\n });\n } // 3.2 WebVTT metadata header syntax\n\n\n function parseHeader(input) {\n if (input.match(/X-TIMESTAMP-MAP/)) {\n // This line contains HLS X-TIMESTAMP-MAP metadata\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"X-TIMESTAMP-MAP\":\n parseTimestampMap(v);\n break;\n }\n }, /=/);\n } else {\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"Region\":\n // 3.3 WebVTT region metadata header syntax\n parseRegion(v);\n break;\n }\n }, /:/);\n }\n } // 5.1 WebVTT file parsing.\n\n\n try {\n var line;\n\n if (self.state === \"INITIAL\") {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n\n line = collectNextLine();\n var m = line.match(/^WEBVTT([ \\t].*)?$/);\n\n if (!m || !m[0]) {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n\n self.state = \"HEADER\";\n }\n\n var alreadyCollectedLine = false;\n\n while (self.buffer) {\n // We can't parse a line until we have the full line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n\n switch (self.state) {\n case \"HEADER\":\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n self.state = \"ID\";\n }\n\n continue;\n\n case \"NOTE\":\n // Ignore NOTE blocks.\n if (!line) {\n self.state = \"ID\";\n }\n\n continue;\n\n case \"ID\":\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n self.state = \"NOTE\";\n break;\n } // 19-29 - Allow any number of line terminators, then initialize new cue values.\n\n\n if (!line) {\n continue;\n }\n\n self.cue = new (self.vttjs.VTTCue || self.window.VTTCue)(0, 0, \"\"); // Safari still uses the old middle value and won't accept center\n\n try {\n self.cue.align = \"center\";\n } catch (e) {\n self.cue.align = \"middle\";\n }\n\n self.state = \"CUE\"; // 30-39 - Check if self line contains an optional identifier or timing data.\n\n if (line.indexOf(\"-->\") === -1) {\n self.cue.id = line;\n continue;\n }\n\n // Process line as start of a cue.\n\n /*falls through*/\n\n case \"CUE\":\n // 40 - Collect cue timings and settings.\n try {\n parseCue(line, self.cue, self.regionList);\n } catch (e) {\n self.reportOrThrowError(e); // In case of an error ignore rest of the cue.\n\n self.cue = null;\n self.state = \"BADCUE\";\n continue;\n }\n\n self.state = \"CUETEXT\";\n continue;\n\n case \"CUETEXT\":\n var hasSubstring = line.indexOf(\"-->\") !== -1; // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n self.oncue && self.oncue(self.cue);\n self.cue = null;\n self.state = \"ID\";\n continue;\n }\n\n if (self.cue.text) {\n self.cue.text += \"\\n\";\n }\n\n self.cue.text += line.replace(/\\u2028/g, '\\n').replace(/u2029/g, '\\n');\n continue;\n\n case \"BADCUE\":\n // BADCUE\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n self.state = \"ID\";\n }\n\n continue;\n }\n }\n } catch (e) {\n self.reportOrThrowError(e); // If we are currently parsing a cue, report what we have.\n\n if (self.state === \"CUETEXT\" && self.cue && self.oncue) {\n self.oncue(self.cue);\n }\n\n self.cue = null; // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n\n self.state = self.state === \"INITIAL\" ? \"BADWEBVTT\" : \"BADCUE\";\n }\n\n return this;\n },\n flush: function flush() {\n var self = this;\n\n try {\n // Finish decoding the stream.\n self.buffer += self.decoder.decode(); // Synthesize the end of the current cue or region.\n\n if (self.cue || self.state === \"HEADER\") {\n self.buffer += \"\\n\\n\";\n self.parse();\n } // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n\n\n if (self.state === \"INITIAL\") {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n } catch (e) {\n self.reportOrThrowError(e);\n }\n\n self.onflush && self.onflush();\n return this;\n }\n };\n var vtt = WebVTT$1;\n\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n var autoKeyword = \"auto\";\n var directionSetting = {\n \"\": 1,\n \"lr\": 1,\n \"rl\": 1\n };\n var alignSetting = {\n \"start\": 1,\n \"center\": 1,\n \"end\": 1,\n \"left\": 1,\n \"right\": 1,\n \"auto\": 1,\n \"line-left\": 1,\n \"line-right\": 1\n };\n\n function findDirectionSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n\n var dir = directionSetting[value.toLowerCase()];\n return dir ? value.toLowerCase() : false;\n }\n\n function findAlignSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n\n var align = alignSetting[value.toLowerCase()];\n return align ? value.toLowerCase() : false;\n }\n\n function VTTCue(startTime, endTime, text) {\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n this.hasBeenReset = false;\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = \"\";\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = \"\";\n var _snapToLines = true;\n var _line = \"auto\";\n var _lineAlign = \"start\";\n var _position = \"auto\";\n var _positionAlign = \"auto\";\n var _size = 100;\n var _align = \"center\";\n Object.defineProperties(this, {\n \"id\": {\n enumerable: true,\n get: function get() {\n return _id;\n },\n set: function set(value) {\n _id = \"\" + value;\n }\n },\n \"pauseOnExit\": {\n enumerable: true,\n get: function get() {\n return _pauseOnExit;\n },\n set: function set(value) {\n _pauseOnExit = !!value;\n }\n },\n \"startTime\": {\n enumerable: true,\n get: function get() {\n return _startTime;\n },\n set: function set(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Start time must be set to a number.\");\n }\n\n _startTime = value;\n this.hasBeenReset = true;\n }\n },\n \"endTime\": {\n enumerable: true,\n get: function get() {\n return _endTime;\n },\n set: function set(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"End time must be set to a number.\");\n }\n\n _endTime = value;\n this.hasBeenReset = true;\n }\n },\n \"text\": {\n enumerable: true,\n get: function get() {\n return _text;\n },\n set: function set(value) {\n _text = \"\" + value;\n this.hasBeenReset = true;\n }\n },\n \"region\": {\n enumerable: true,\n get: function get() {\n return _region;\n },\n set: function set(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n },\n \"vertical\": {\n enumerable: true,\n get: function get() {\n return _vertical;\n },\n set: function set(value) {\n var setting = findDirectionSetting(value); // Have to check for false because the setting an be an empty string.\n\n if (setting === false) {\n throw new SyntaxError(\"Vertical: an invalid or illegal direction string was specified.\");\n }\n\n _vertical = setting;\n this.hasBeenReset = true;\n }\n },\n \"snapToLines\": {\n enumerable: true,\n get: function get() {\n return _snapToLines;\n },\n set: function set(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n },\n \"line\": {\n enumerable: true,\n get: function get() {\n return _line;\n },\n set: function set(value) {\n if (typeof value !== \"number\" && value !== autoKeyword) {\n throw new SyntaxError(\"Line: an invalid number or illegal string was specified.\");\n }\n\n _line = value;\n this.hasBeenReset = true;\n }\n },\n \"lineAlign\": {\n enumerable: true,\n get: function get() {\n return _lineAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n\n if (!setting) {\n console.warn(\"lineAlign: an invalid or illegal string was specified.\");\n } else {\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }\n },\n \"position\": {\n enumerable: true,\n get: function get() {\n return _position;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Position must be between 0 and 100.\");\n }\n\n _position = value;\n this.hasBeenReset = true;\n }\n },\n \"positionAlign\": {\n enumerable: true,\n get: function get() {\n return _positionAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n\n if (!setting) {\n console.warn(\"positionAlign: an invalid or illegal string was specified.\");\n } else {\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }\n },\n \"size\": {\n enumerable: true,\n get: function get() {\n return _size;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Size must be between 0 and 100.\");\n }\n\n _size = value;\n this.hasBeenReset = true;\n }\n },\n \"align\": {\n enumerable: true,\n get: function get() {\n return _align;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n\n if (!setting) {\n throw new SyntaxError(\"align: an invalid or illegal alignment string was specified.\");\n }\n\n _align = setting;\n this.hasBeenReset = true;\n }\n }\n });\n /**\n * Other