{"version":3,"sources":["webpack:///./node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanels.js","webpack:///./node_modules/vuetify/lib/components/VGrid/VFlex.js","webpack:///./node_modules/vuetify/lib/components/VGrid/VRow.js","webpack:///./src/views/tasks/components/DocView.vue?add6","webpack:///src/views/tasks/components/DocView.vue","webpack:///./src/views/tasks/components/DocView.vue?e836","webpack:///./node_modules/vuetify/lib/components/VBottomNavigation/VBottomNavigation.js","webpack:///./node_modules/vuetify/lib/components/VCarousel/VCarousel.js","webpack:///./node_modules/vuetify/lib/components/VWindow/VWindowItem.js","webpack:///./node_modules/vuetify/lib/components/VCarousel/VCarouselItem.js","webpack:///./src/views/tasks/components/DocView.vue?4575","webpack:///./node_modules/tsml/tsml.js","webpack:///./src/views/tasks/components/VideoPlayer.vue?e67a","webpack:///./node_modules/vuetify/lib/components/VDataTable/VSimpleTable.js","webpack:///./node_modules/videojs-vtt.js/lib/browser-index.js","webpack:///./node_modules/vuetify/lib/components/VSkeletonLoader/VSkeletonLoader.js","webpack:///./node_modules/vuetify/lib/mixins/button-group/index.js","webpack:///./node_modules/video.js/dist/video.cjs.js","webpack:///./src/views/reports/Reports.vue?66d6","webpack:///src/views/reports/Reports.vue","webpack:///./src/views/reports/Reports.vue?c5a7","webpack:///./src/views/reports/Reports.vue?89b5","webpack:///./node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanelContent.js","webpack:///./node_modules/xtend/immutable.js","webpack:///./node_modules/vue-video-player/src/player.vue?e206","webpack:///node_modules/vue-video-player/src/player.vue","webpack:///./node_modules/vue-video-player/src/player.vue?3cf8","webpack:///./node_modules/vue-video-player/src/player.vue","webpack:///./node_modules/vuetify/lib/components/VGrid/VCol.js","webpack:///./node_modules/parse-headers/parse-headers.js","webpack:///./src/views/tasks/components/DocView.vue?2707","webpack:///./node_modules/is-function/index.js","webpack:///./src/views/tasks/components/VideoPlayer.vue?20fd","webpack:///src/views/tasks/components/VideoPlayer.vue","webpack:///./src/views/tasks/components/VideoPlayer.vue?c0ea","webpack:///./src/views/tasks/components/VideoPlayer.vue?559f","webpack:///./node_modules/vuetify/lib/components/VPagination/VPagination.js","webpack:///./node_modules/safe-json-parse/tuple.js","webpack:///./src/constatns/selectInputAutocomplete.js","webpack:///./node_modules/videojs-vtt.js/lib/vttcue.js","webpack:///./node_modules/global/window.js","webpack:///./node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.js","webpack:///./node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanelHeader.js","webpack:///./node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanel.js","webpack:///./node_modules/videojs-vtt.js/lib/vtt.js","webpack:///./node_modules/vue-doc-preview/dist/vueDocPreview.umd.min.js","webpack:///./node_modules/vue-video-player/index.js","webpack:///./node_modules/xhr/index.js","webpack:///./node_modules/global/document.js","webpack:///./node_modules/vuetify/lib/components/VWindow/VWindow.js","webpack:///./node_modules/videojs-vtt.js/lib/vttregion.js","webpack:///./src/views/reports/Reports.vue?a2f9"],"names":["extend","name","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","options","classes","call","$attrs","hasOwnProperty","Array","isArray","value","length","methods","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","val","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","functional","tag","dense","noGutters","h","data","children","cacheKey","classList","get","forEach","push","set","staticClass","class","_vm","_h","$createElement","_c","_self","attrs","on","$event","indexOf","_k","keyCode","key","preventDefault","$emit","model","callback","$$v","isOpen","expression","fileValue","link","_v","_s","staticStyle","downloadLink","carouselIndexValue","_l","id","_e","extension","isValidImage","isPdf","staticRenderFns","mixins","activeClass","backgroundColor","grow","height","Number","hideOnScroll","horizontal","inputValue","mandatory","shift","canScroll","absolute","app","fixed","measurableStyles","transform","isScrollingUp","$el","clientHeight","setBackgroundColor","style","styles","undefined","internalValue","change","updateValue","directives","arg","scrollTarget","onScroll","setTextColor","color","$slots","VWindow","continuous","cycle","delimiterIcon","hideDelimiters","hideDelimiterBackground","interval","progress","progressColor","showArrows","verticalDelimiters","internalHeight","slideTimeout","isVertical","dark","light","watch","oldVal","restartTimeout","clearTimeout","startTimeout","genControlIcons","left","right","genItems","items","i","child","$vuetify","lang","t","icon","small","VIcon","size","VProgressLinear","internalIndex","window","requestAnimationFrame","setTimeout","next","render","genDelimiters","genProgress","baseMixins","Touch","reverseTransition","transition","required","inTransition","groupClasses","windowGroup","internalReverse","computedTransition","$listeners","genDefaultSlot","transitionCount","transitionHeight","onAfterTransition","el","$nextTick","beforeEnter","onBeforeTransition","afterEnter","enterCancelled","onTransitionCancelled","beforeLeave","afterLeave","leaveCancelled","enter","onEnter","showLazyContent","genWindowItem","VWindowItem","inheritAttrs","VImg","scopedSlots","placeholder","$scopedSlots","generateRouteLink","component","VBottomNavigation","VBtn","VCard","VCarousel","VCarouselItem","VDialog","VSpacer","VToolbar","VToolbarTitle","clean","s","module","exports","sa","arguments","fixedHeader","themeClasses","wrapper","top","genWrapper","bottom","vttjs","WebVTT","VTTCue","VTTRegion","cueShim","regionShim","nativeVTTCue","nativeVTTRegion","shim","restore","boilerplate","loading","types","isLoading","role","elevationClasses","actions","article","avatar","button","card","chip","heading","image","paragraph","sentences","table","text","bone","split","generator","genStructure","from","map","rootTypes","mapBones","genBones","genBone","resetStyles","onBeforeEnter","onBeforeLeave","bones","_initialStyle","display","setProperty","genSkeleton","btnToggle","genData","_interopDefault","ex","document","tsml","safeParseTuple","xhr","vtt","version","USER_AGENT","navigator","userAgent","webkitVersionMap","exec","appleWebkitVersion","parseFloat","pop","IS_IPAD","test","IS_IPHONE","IS_IPOD","IS_IOS","IOS_VERSION","match","IS_ANDROID","ANDROID_VERSION","major","minor","IS_OLD_ANDROID","IS_NATIVE_ANDROID","IS_FIREFOX","IS_EDGE","IS_CHROME","CHROME_VERSION","IS_IE8","IE_VERSION","result","IS_SAFARI","IS_ANY_SAFARI","TOUCH_ENABLED","isReal","maxTouchPoints","DocumentTouch","BACKGROUND_SIZE_SUPPORTED","createElement","browser","freeze","_typeof","Symbol","iterator","obj","constructor","prototype","classCallCheck","instance","Constructor","TypeError","inherits","subClass","superClass","create","enumerable","writable","configurable","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","taggedTemplateLiteralLoose","strings","raw","toString","object","isObject","each","fn","initial","accum","assign","target","_len","sources","_key","apply","concat","source","isPlain","history","LogByTypeFactory","log","level","args","stringify","lvl","levels","lvlRegExp","RegExp","unshift","toUpperCase","console","info","a","JSON","x","join","createLogger$1","logByType","createLogger","subname","all","off","debug","warn","error","DEFAULT","Error","filter","fname","historyItem","clear","disable","enable","_len2","_key2","_len3","_key3","_len4","_key4","computedStyle","getComputedStyle","cs","currentStyle","_templateObject","isNonBlankString","throwIfWhitespace","classRegExp","isEl","nodeType","isInFrame","parent","createQuerier","method","selector","context","querySelector","ctx","createEl","tagName","properties","attributes","content","getOwnPropertyNames","propName","setAttribute","textContent","attrName","appendContent","innerText","prependTo","firstChild","insertBefore","appendChild","hasClass","element","classToCheck","contains","addClass","classToAdd","add","trim","removeClass","classToRemove","remove","c","toggleClass","classToToggle","predicate","has","setAttributes","attrValue","removeAttribute","getAttributes","knownBooleans","attrVal","getAttribute","attribute","blockTextSelection","body","focus","onselectstart","unblockTextSelection","getBoundingClientRect","parentNode","rect","k","width","findPosition","box","docEl","documentElement","clientLeft","scrollLeft","pageXOffset","clientTop","scrollTop","pageYOffset","Math","round","getPointerPosition","event","position","boxW","offsetWidth","boxH","offsetHeight","boxY","boxX","pageY","pageX","changedTouches","y","max","min","isTextNode","emptyEl","removeChild","normalizeContent","createTextNode","node","insertContent","isSingleLeftClick","buttons","$","$$","Dom","_guid","newGUID","elData","elIdAttr","Date","getTime","getData","hasData","removeData","e","_cleanUpEvents","elem","handlers","removeEventListener","dispatcher","detachEvent","_handleMultipleEvents","fixEvent","returnTrue","returnFalse","isPropagationStopped","old","srcElement","relatedTarget","fromElement","toElement","returnValue","defaultPrevented","stopPropagation","cancelBubble","stopImmediatePropagation","isImmediatePropagationStopped","clientX","doc","clientY","which","charCode","_supportsPassive","opts","defineProperty","addEventListener","passiveEvents","guid","hash","handlersCopy","slice","m","n","passive","attachEvent","removeType","splice","trigger","elemData","ownerDocument","bubbles","targetData","one","func","Events","_windowLoaded","videojs$2","autoSetup","vids","getElementsByTagName","audios","divs","mediaEls","_i","_i2","_e2","_i3","_e3","mediaEl","autoSetupTimeout","player","wait","vjs","readyState","createStyleElement","setTextContent","styleSheet","cssText","bind","uid","bound","throttle","last","now","throttled","debounce","immediate","timeout","cancel","debounced","_later","EventTarget","allowedEvents_","ael","dispatchEvent","isEvented","eventBusEl_","every","isValidEventType","validateTarget","nodeName","validateEventType","validateListener","listener","normalizeListenArgs","isTargetingSelf","listen","EventedMixin","_this","_normalizeListenArgs","removeListenerOnDispose","removeRemoverOnTargetDispose","_this2","_normalizeListenArgs2","largs","targetOrType","typeOrListener","evented","eventBusKey","StatefulMixin","state","setState","stateUpdates","changes","to","stateful","defaultState","handleStateChanged","toTitleCase","string","charAt","titleCaseEquals","str1","str2","mergeOptions","Component","ready","play","player_","options_","id_","name_","el_","children_","childIndex_","childNameIndex_","initChildren","reportTouchActivity","enableTouchActivity","dispose","localize","tokens","defaultValue","code","language","languages","primaryCode","primaryLang","localizedString","ret","contentEl","contentEl_","getChildById","getChild","addChild","componentName","componentClassName","componentClass","ComponentClass","getComponent","childNodes","refNode","childFound","compEl","parentOptions","handleAdd","playerOptions","newChild","workingChildren","Tech","some","wchild","isTech","buildCSSClass","sync","isReady_","readyQueue_","triggerReady","readyQueue","show","hide","lockShowing","unlockShowing","num","skipListeners","dimension","dimensions","widthOrHeight","pxIndex","parseInt","currentDimension","computedWidthOrHeight","getPropertyValue","rule","currentDimensions","currentWidth","currentHeight","blur","emitTapEvents","touchStart","firstTouch","tapMovementThreshold","touchTimeThreshold","couldBeTap","touches","xdiff","ydiff","touchDistance","sqrt","noTap","touchTime","reportUserActivity","report","touchHolding","clearInterval","setInterval","touchEnd","timeoutId","disposeFn","_this3","intervalId","_this4","supportsRaf_","cancelAnimationFrame","registerComponent","ComponentToRegister","isComp","isPrototypeOf","reason","components_","Player","players","playerNames","pname","rangeCheck","fnName","maxIndex","getRange","valueIndex","ranges","rangeIndex","createTimeRangesObj","start","end","createTimeRanges","bufferedPercent","buffered","duration","bufferedDuration","FullscreenApi","apiMap","specApi","browserApi","MediaError","message","defaultMessages","status","errorTypes","1","2","3","4","5","errNum","isPromise","then","silencePromise","trackToJson_","track","acc","cues","cue","startTime","endTime","textTracksToJson","tech","trackEls","trackObjs","tracks","trackEl","json","src","textTracks","jsonToTextTracks","addedTrack","addRemoteTextTrack","addCue","textTrackConverter","MODAL_CLASS_NAME","ESC","ModalDialog","_Component","opened_","hasBeenOpened_","hasBeenFilled_","closeable","uncloseable","descEl_","description","tabIndex","label","previouslyActiveEl_","handleKeyPress","close","desc","open","fillAlways","fill","wasPlaying_","paused","pauseOnOpen","pause","hadControls_","controls","conditionalFocus_","opened","conditionalBlur_","temporary","closeable_","temp","controlText","fillWith","parentEl","nextSiblingEl","nextSibling","empty","closeButton","content_","activeEl","activeElement","playerEl","handleKeyDown","focusableEls","focusableEls_","focusIndex","shiftKey","allChildren","querySelectorAll","HTMLAnchorElement","HTMLAreaElement","hasAttribute","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","HTMLButtonElement","HTMLIFrameElement","HTMLObjectElement","HTMLEmbedElement","TrackList","_EventTarget","_ret","list","tracks_","addTrack","removeTrack","rtrack","l","getTrackById","addtrack","removetrack","disableOthers","enabled","AudioTrackList","_TrackList","_prop","changing_","disableOthers$1","selected","VideoTrackList","TextTrackList","nonLanguageTextTrackKind","kind","HtmlTrackElementList","trackElements","trackElements_","addTrackElement_","trackElement","getTrackElementByTrack_","trackElement_","removeTrackElement_","TextTrackCueList","setCues_","length_","oldLength","cues_","defineProp","getCueById","VideoTrackKind","alternative","captions","main","sign","subtitles","commentary","AudioTrackKind","TextTrackKind","descriptions","chapters","metadata","TextTrackMode","hidden","showing","Track","trackProps","_loop","parseUrl","url","href","addToBody","host","protocol","div","innerHTML","details","location","getAbsoluteURL","getFileExtension","path","splitPathRe","pathParts","isCrossOrigin","winLoc","urlInfo","srcProtocol","crossOrigin","Url","parseCues","srcContent","parser","Parser","StringDecoder","errors","oncue","onparsingerror","onflush","parse","groupCollapsed","groupEnd","flush","loadTrack","uri","cors","err","response","responseBody","loaded_","tech_","loadHandler","TextTrack","_Track","settings","srclang","mode","default_","tt","activeCues_","activeCues","changed","timeupdateHandler","newMode","ct","currentTime","active","originalCue","originalCue_","removeCue","_removeCue","cuechange","AudioTrack","newEnabled","VideoTrack","newSelected","NONE","LOADING","LOADED","ERROR","HTMLTrackElement","load","NORMAL","audio","ListClass","TrackClass","capitalName","video","getterName","privateName","REMOTE","remoteText","remoteTextEl","ALL","createTrackHelper","names","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","error_","played","setCurrentTime","trackListChanges","addWebVttScript_","_this5","script","onload","onerror","_this6","remoteTracks","remoteTextTracks","handleAddTrack","handleRemoveTrack","updateDisplay","textTracksChanges","addTextTrack","createRemoteTextTrack","_this7","manualCleanup","htmlTrackElement","remoteTextTrackEls","getVideoPlaybackQuality","setPoster","playsinline","setPlaysinline","canPlayType","canPlaySource","srcObj","registerTech","techs_","defaultTechOrder_","getTech","videojs","featuresVolumeControl","featuresMuteControl","featuresFullscreenResize","featuresPlaybackRate","featuresSourceset","withSourceHandlers","_Tech","registerSourceHandler","handler","sourceHandlers","can","selectSourceHandler","canHandleSource","sh","deferrable","originalFn","sourceHandler_","setSource","nativeSourceHandler","disposeSourceHandler","currentSource_","handleSource","middlewares","middlewareInstances","TERMINATOR","use","middleware","setSourceHelper","setTech","mw","get$1","reduceRight","middlewareIterator","set$1","mediate","callMethod","middlewareValue","terminated","executeRight","allowedGetters","seekable","allowedSetters","allowedMediators","mws","clearCacheForPlayer","getOrCreateFactory","mwFactory","_mws$i","mwf","mwi","lastRun","mwrest","_src","MimetypesKind","opus","ogv","mp4","mov","m4v","mkv","mp3","aac","oga","m3u8","getMimetype","ext","mimetype","findMimetype","cache_","matchingSources","filterSource","newsrc","srcobj","fixSource","MediaLoader","j","techOrder","techName","isSupported","loadTech_","ClickableComponent","tabIndex_","createControlTextEl","controlTextEl_","controlText_","localizedText","nonIconControl","enabled_","handleClick","handleFocus","handleBlur","PosterImage","_ClickableComponent","update","fallbackImg_","poster","setSrc","backgroundImage","darkGray","lightGray","fontMap","monospace","sansSerif","serif","monospaceSansSerif","monospaceSerif","proportionalSansSerif","proportionalSerif","casual","smallcaps","constructColor","opacity","hex","tryUpdateStyle","TextTrackDisplay","updateDisplayHandler","toggleDisplay","preselectTrack","modes","trackList","userPref","selectedLanguage","firstDesc","firstCaptions","preferredTrack","clearDisplay","processCues","descriptionsTrack","captionsSubtitlesTrack","updateForTrack","textTrackSettings","overrides","getValues","cueDiv","displayState","textOpacity","backgroundOpacity","windowColor","windowOpacity","edgeStyle","textShadow","fontPercent","fontSize","fontFamily","fontVariant","LoadingSpinner","isAudio","playerType","dir","Button","BigPlayButton","_Button","mouseused_","handleMouseDown","playPromise","cb","playToggle","playFocus","CloseButton","PlayToggle","handlePlay","handlePause","handleEnded","handleSeeked","defaultImplementation","seconds","guide","floor","gm","gh","isNaN","Infinity","implementation","setFormatTime","customImplementation","resetFormatTime","formatTime","TimeDisplay","throttledUpdateContent","updateContent","plainName","labelText_","updateTextNode_","textNode_","formattedTime_","formatTime_","time","updateFormattedTime_","formattedTime","CurrentTimeDisplay","_TimeDisplay","scrubbing","getCache","DurationDisplay","TimeDivider","RemainingTimeDisplay","remainingTimeDisplay","remainingTime","LiveDisplay","updateShowing","Slider","bar","barName","vertical","playerEvent","handleMouseMove","handleMouseUp","getPercent","percentage","toFixed","calculateDistance","stepBack","stepForward","bool","vertical_","LoadProgressBar","partEls_","bufferedEnd","percentify","percent","part","TimeTooltip","seekBarRect","seekBarPoint","tooltipRect","playerRect","seekBarPointPx","spaceLeftOfPoint","spaceRightOfPoint","pullTooltipBy","PlayProgressBar","rafId_","timeTooltip","MouseTimeDisplay","STEP_SECONDS","UPDATE_REFRESH_INTERVAL","SeekBar","_Slider","setEventHandlers_","updateInterval","update_","getCurrentTime_","videoWasPlaying","newTime","mouseTimeDisplay","handleAction","ProgressControl","throttledHandleMouseSeek","handleMouseSeek","seekBar","seekBarEl","FullscreenToggle","handleFullscreenChange","fullscreenEnabled","isFullscreen","exitFullscreen","requestFullscreen","checkVolumeSupport","VolumeLevel","VolumeBar","updateLastVolume_","updateARIAAttributes","checkMuted","volume","muted","ariaValue","volumeAsPercentage_","volumeBeforeDrag","lastVolume_","VolumeControl","volumeBar","throttledHandleMouseMove","orientationClass","checkMuteSupport","MuteToggle","vol","lastVolume","volumeToSet","updateIcon_","updateControlText_","soundOff","VolumePanel","inline","volumeControl","volumePanelState_","sliderActive_","sliderInactive_","muteToggle","Menu","menuButton_","menuButton","focusedChild_","addItem","unpressButton","contentElType","append","stepChild","haveTitle","MenuButton","buttonClass","handleSubmenuKeyPress","menu","createMenu","buttonPressed_","hideThreshold_","title","createItems","buildWrapperCSSClass","menuButtonClass","pressButton","TrackButton","_MenuButton","updateHandler","MenuItem","selectable","isSelected_","multiSelectable","_selected","TextTrackMenuItem","_MenuItem","changeHandler","handleTracksChange","selectedLanguageChangeHandler","handleSelectedLanguageChange","onchange","Event","createEvent","initEvent","kinds","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","LOCAL_STORAGE_KEY","COLOR_BLACK","COLOR_BLUE","COLOR_CYAN","COLOR_GREEN","COLOR_MAGENTA","COLOR_RED","COLOR_WHITE","COLOR_YELLOW","OPACITY_OPAQUE","OPACITY_SEMI","OPACITY_TRANS","selectConfigs","v","parseOptionValue","getSelectedOptionValue","selectedIndex","setSelectedOption","TextTrackSettings","endDialog","setDefaults","persistTextTrackSettings","saveSettings","config","restoreSettings","createElSelect_","legendId","selectLabelledbyIds","o","optionId","createElFgColor_","createElBgColor_","createElWinColor_","createElColors_","createElFont_","createElControls_","defaultsDescription","setValues","values","localStorage","getItem","setItem","removeItem","ttDisplay","controlBar","subsCapsBtn","subsCapsButton","ccBtn","captionsButton","ResizeManager","RESIZE_OBSERVER_AVAILABLE","ResizeObserver","loadListener_","resizeObserver_","debouncedHandler_","resizeHandler","observe","contentWindow","unobserve","disconnect","resizeObserver","sourcesetLoad","srcUrls","innerHTMLDescriptorPolyfill","cloneNode","dummy","docFrag","createDocumentFragment","Element","getDescriptor","priority","descriptor","getOwnPropertyDescriptor","getInnerHTMLDescriptor","HTMLMediaElement","firstSourceWatch","resetSourceWatch_","innerDescriptor","appendWrapper","appendFn","retval","srcDescriptorPolyfill","getSrcDescriptor","setupSourceset","resetSourceset_","srcDescriptor","oldSetAttribute","oldLoad","currentSrc","_templateObject$2","Html5","crossoriginTracks","initNetworkState_","handleLateInit_","enableSourceset","setupSourcesetHandling_","hasChildNodes","nodes","nodesLength","removeNodes","proxyNativeTracks_","restoreMetadataTracksInIOSNativePlayer_","setControls","proxyWebkitFullscreen_","disposeMediaElement","metadataTracksPreFullscreenState","takeMetadataTrackSnapshot","storedMode","restoreTrackMode","storedTrack","elTracks","techTracks","listeners","currentTarget","removeOldTracks","removeTracks","found","eventName","playerElIngest","movingMediaElementInDOM","clone","tagAttributes","techId","playerId","preload","settingsAttrs","attr","networkState","loadstartFired","setLoadstartFired","triggerLoadstart","eventsToTrigger","checkProgress","NaN","endFn","beginFn","webkitPresentationMode","supportsFullScreen","webkitEnterFullScreen","enterFullScreen","HAVE_METADATA","exitFullScreen","webkitExitFullScreen","resetMediaElement","videoPlaybackQuality","webkitDroppedFrameCount","webkitDecodedFrameCount","droppedVideoFrames","totalVideoFrames","performance","creationTime","timing","navigationStart","TEST_VID","canControlVolume","canMuteVolume","canControlPlaybackRate","canOverrideAttributes","noop","supportsNativeTextTracks","supportsNativeVideoTracks","videoTracks","supportsNativeAudioTracks","featuresNativeVideoTracks","featuresNativeAudioTracks","mpegurlRE","mp4RE","patchCanPlayType","unpatchCanPlayType","r","_templateObject$1","TECH_EVENTS_RETRIGGER","TECH_EVENTS_QUEUE","canplay","canplaythrough","playing","seeked","BREAKPOINT_ORDER","BREAKPOINT_CLASSES","substring","DEFAULT_BREAKPOINTS","tiny","xsmall","medium","large","xlarge","huge","getTagSettings","closest","isPosterFromTech_","queuedCallbacks_","userActive_","languagesToLower","name$$1","languages_","poster_","controls_","autoplay","scrubbing_","lastPlaybackRate","defaultPlaybackRate","playerOptionsCopy","plugins","middleware_","flexNotSupported_","majorVersion","userActive","listenForUserActivity_","handleFullscreenChange_","handleStageClick_","responsive","changingSrc_","playWaitingForReady_","playOnLoadstart_","styleEl_","playerElIngest_","divEmbed","tabindex","VIDEOJS_NO_DYNAMIC_STYLE","defaultsStyleEl","head","fill_","fluid_","fluid","aspectRatio","links","linkEl","_dimension","privDimension","updateStyleEl_","parsedVal","ratio","aspectRatio_","idClass","videoWidth","videoHeight","ratioParts","ratioMultiplier","width_","height_","_width","_height","techEl","unloadTech_","titleTechName","camelTechName","techName_","techOptions","loop","techCanOverridePoster","TechClass","handleTechReady_","textTracksJson_","eventObj","seeking","handleTechLoadStart_","handleTechSourceset_","handleTechWaiting_","handleTechEnded_","handleTechSeeking_","handleTechPlay_","handleTechFirstPlay_","handleTechPause_","handleTechDurationChange_","handleTechFullscreenChange_","handleTechError_","handleTechPosterChange_","handleTechTextData_","handleTechRateChange_","usingNativeControls","techGet_","addTechControlsListeners_","safety","removeTechControlsListeners_","handleTechClick_","handleTechTouchStart_","handleTechTouchMove_","handleTechTouchEnd_","handleTechTap_","techCall_","hasStarted","manualAutoplay_","previouslyMuted","promise","updateSourceCaches_","sourceElSources","sourceEls","matchingSourceEls","sourceObj","updateSourceCaches","playerSrc","currentSource","eventSrc","lastSource_","updateCache","techSrc","techGet","request","queued","handleTechCanPlay_","handleTechCanPlayThrough_","handleTechPlaying_","handleTechSeeked_","starttime","userWasActive","PromiseClass","Promise","resolve","play_","_this8","isScrubbing","percentAsDecimal","_muted","defaultMuted","_defaultMuted","isFS","isFullscreen_","fsApi","fullscreenchange","documentFullscreenChange","fullscreenElement","enterFullWindow","exitFullWindow","isFullWindow","docOrigOverflow","overflow","fullWindowOnEscKey","selectSource","_this9","techs","_ref","findFirstPassingTechSourcePair","outerArray","innerArray","tester","outerChoice","innerChoice","foundSourceAndTech","flip","b","finder","_ref2","sourceOrder","_this10","middlewareSource","src_","notSupportedMessage","_this11","sourceTech","currentSources","currentType","techAutoplay","newPoster","usingNativeControls_","errorDisplay","userActivity_","mouseInProgress","lastMoveX","lastMoveY","handleActivity","screenX","screenY","inactivityTimeout","isAudio_","_ref3","_ref3$track","toJSON","createModal","_this12","modal","updateCurrentBreakpoint_","currentBreakpoint","candidateBreakpoint","maxWidth","breakpoints_","breakpoint_","removeCurrentBreakpoint_","currentBreakpointClass","_breakpoints","responsive_","current","baseOptions","tagOptions","dataSetup","_safeParseTuple","childName","html5","flash","userLanguage","BASE_PLUGIN_NAME","PLUGIN_CACHE_KEY","pluginStorage","pluginExists","getPlugin","markPluginAsActive","triggerSetupEvent","before","createBasicPlugin","plugin","basicPluginWrapper","createPluginFactory","PluginSubClass","Function","getEventHash","Plugin","VERSION","isBasic","p","registerPlugin","deregisterPlugin","getPlugins","getPluginVersion","usingPlugin","hasPlugin","_inherits","super_","extendFn","subClassMethods","HTMLVideoElement","normalizeId","getPlayer","hooks","hookFunction","PlayerComponent","hooks_","hook","hookOnce","original","removeHook","getPlayers","nId","_tag","_player","getAllPlayers","comp","writeable","addLanguage","_mergeOptions","createTimeRange","dom","$router","currentRoute","meta","filterOpened","removeTag","rawName","filters","filterItem","autocomplete","metaData","searchInputAutocomplete","typeAutocomplete","$set","changeOption","_u","ref","filterOptions","date","_g","formatDate","searchCurrectDates","reports","activeTemplates","openExpansionPanel","category","numberDoneTasks","numberPendingTasks","numberOverdueTasks","reportTask","dueDate","completedOn","getStatusReport","note","images","attachmentImage","openImageGallery","originalName","proxy","totalPages","onPageChange","docViewOpen","fileWatchData","attachments","isImage","carouselIndex","setActiveImg","deleteImage","defaultFilterOptions","categories","taskTemplates","loadingFailed","loadingTasksReport","defaultDates","templateReport","totalItems","paginationTotalVisible","page","itemsPerPage","sortBy","sortDesc","mustSort","multiSort","roleId","selectInputAutocomplete","taskTemplate","currentClinicRoles","loadTaskTemplatesReports","deep","filterDate","getTaskTemplatesReports","getOptionsReports","getUserActiveClinic","setFilteredDate","ceil","filterLayout","filterTags","optionValue","opt","$uuid","v1","isFilterItemObj","tagInfo","find","metaItem","getTitle","idReport","loadTemplateReport","asyncResponse","fetchTaskOfReport","clinicId","taskTemplateId","tasks","idx","optionName","filterOptionVal","fetchReports","pageSize","pageNumber","totalElements","filterOption","option","$refs","save","startImageIndex","typeSearch","components","MainAppBar","DocView","setDefaultDate","VAutocomplete","VChip","VCol","VContainer","VDatePicker","VExpandTransition","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","VFlex","VListItem","VListItemContent","VList","VListItemTitle","VMenu","VPagination","VRow","VSelect","VSheet","VSimpleTable","VSkeletonLoader","VTextField","expansionPanel","registerContent","unregisterContent","_m","breakpointProps","offsetProps","orderProps","col","offset","order","cols","alignSelf","hasColClasses","startsWith","headers","headersArr","row","isFunction","alert","confirm","prompt","Resize","circle","nextIcon","prevIcon","totalVisible","maxButtons","maxLength","range","even","init","onResize","parentElement","clientWidth","innerWidth","click","genItem","genIcon","rtl","previous","modifiers","quiet","SafeParseTuple","reviver","roles","firstLevelSearch","secondLevelSearch","rota","employee","completedBy","subUnits","intervals","clinics","assignee","supervisors","courses","templates","statuses","autoKeyword","directionSetting","alignSetting","findDirectionSetting","findAlignSetting","cobj","isIE8","baseObj","hasBeenReset","_id","_pauseOnExit","_startTime","_endTime","_text","_region","_vertical","_snapToLines","_line","_lineAlign","_position","_positionAlign","_size","_align","setting","SyntaxError","getCueAsHTML","convertCueToDOMTree","win","global","defaultMenuProps","offsetY","offsetOverflow","allowOverflow","autoSelectFirst","queryText","itemText","toLocaleLowerCase","hideNoData","menuProps","noFilter","searchInput","lazySearch","filteredItems","selectedItems","hideSelected","hasItem","selectedItem","getText","isSearching","internalSearch","allItems","searchIsDirty","multiple","isFocused","hasDisplayedItems","$_menuProps","contentClass","valueComparator","listData","virtualizedItems","onCopy","input","select","updateSelf","hasSlot","isMenuActive","activateMenu","setSearch","setMenuIndex","getTiles","updateMenuDimensions","updateDimensions","backspace","delete","deleteCurrentItem","currentItem","getDisabled","newIndex","setValue","selectItem","clearableCallback","genInput","domProps","slot","genInputSlot","genSelections","isDisabled","onFocus","isAppendInner","badInput","validity","onKeyDown","changeSelectedIndex","onTabDown","setSelectedItems","selectedValues","currentItemText","clipboardData","setData","ripple","disableIconRotate","expandIcon","hideActions","hasMousedown","isReadonly","registerHeader","unregisterHeader","onClick","mousedown","mouseup","header","vm","$on","detail","toggle","isBooted","_objCreate","F","ParsingError","errorData","parseTimeStamp","computeSeconds","f","Settings","parseOptions","keyValueDelim","groupDelim","groups","kv","parseCue","regionList","oInput","consumeTimeStamp","ts","Errors","BadTimeStamp","consumeCueSettings","region","alt","vals","vals0","integer","line","lineAlign","snapToLines","middle","positionAlign","skipWhitespace","substr","BadSignature","dflt","defaultKey","ESCAPE","TAG_NAME","u","ruby","rt","TAG_ANNOTATION","NEEDS_PARENT","parseContent","nextToken","consume","unescape1","unescape","shouldAdd","localName","annotation","rootDiv","tagStack","createProcessingInstruction","strongRTLRanges","isStrongRTLChar","currentRange","determineBidi","nodeStack","pushNodes","nextTextNode","charCodeAt","computeLinePos","textTrackList","mediaElement","count","StyleBox","CueStyleBox","styleOptions","writingMode","unicodeBidi","applyStyles","textAlign","font","whiteSpace","direction","stylesunicodeBidi","textPos","formatStyle","move","BoxPosition","lh","offsetTop","rects","getClientRects","lineHeight","moveBoxToLinePosition","styleBox","containerBox","boxPositions","findBestPosition","axis","bestPosition","specifiedPosition","overlapsOppositeAxis","within","overlapsAny","intersectPercentage","boxPosition","linePos","step","maxPosition","initialAxis","abs","reverse","calculatedPercentage","toCSSCompatValues","unit","toMove","overlaps","b2","boxes","container","intersectArea","reference","getSimpleBoxPosition","decode","decodeURIComponent","encodeURIComponent","cuetext","FONT_SIZE_PERCENT","FONT_STYLE","CUE_BACKGROUND_PADDING","overlay","paddedOverlay","shouldCompute","margin","decoder","buffer","TextDecoder","reportOrThrowError","collectNextLine","pos","parseRegion","xy","anchor","lines","regionAnchorX","regionAnchorY","viewportAnchorX","viewportAnchorY","scroll","onregion","parseTimestampMap","ontimestampmap","parseHeader","stream","alreadyCollectedLine","hasSubstring","d","toStringTag","__esModule","g","_","w","E","S","M","N","C","O","T","R","A","entries","P","begin","variants","illegal","BACKSLASH_ESCAPE","relevance","keywords","inherit","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","IDENT_RE","keyword","built_in","literal","aliases","beginKeywords","returnBegin","excludeEnd","TITLE_MODE","preprocessor","isBuffer","readFloatLE","_isBuffer","subLanguage","excludeBegin","returnEnd","defaults","interceptors","merge","fulfilled","rejected","ignoreCase","multiline","unicode","sticky","newline","fences","hr","nptable","blockquote","html","lheading","rules","normal","pedantic","gfm","tables","_label","_title","getRegex","bullet","_comment","lex","token","depth","cells","ordered","smartLists","task","checked","sanitize","pre","sanitizer","escape","autolink","reflink","nolink","strong","em","br","del","renderer","breaks","fromCharCode","_escapes","_scheme","_email","_attribute","_href","_backpedal","output","mangle","inLink","outputLink","escapes","codespan","smartypants","random","highlight","langPrefix","headerIds","headerPrefix","xhtml","listitem","checkbox","tablerow","tablecell","baseUrl","encodeURI","inlineText","tok","peek","parseText","escaped","silent","setOptions","getDefaults","Renderer","TextRenderer","Lexer","lexer","InlineLexer","inlineLexer","1495","defineProperties","1846","CSS_NUMBER_MODE","starts","endsWithParent","case_insensitive","1991","process","setImmediate","clearImmediate","MessageChannel","Dispatch","nextTick","port2","port1","onmessage","postMessage","importScripts","locals","sourceMap","shadowMode","currentScript","2350","btoa","sourceRoot","callee","2444","isUndefined","XMLHttpRequest","adapter","transformRequest","isFormData","isArrayBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","common","Accept","2621","getOwnPropertySymbols","getIteratorMethod","2907","APOS_STRING_MODE","QUOTE_STRING_MODE","BINARY_NUMBER_MODE","C_NUMBER_MODE","HASH_COMMENT_MODE","COMMENT","lexemes","UNDERSCORE_IDENT_RE","UNDERSCORE_TITLE_MODE","NUMBER_MODE","inspectSource","write","store","__CANCEL__","isDate","toISOString","3846","flags","getPrototypeOf","3934","isStandardBrowserEnv","search","hostname","port","pathname","isString","4362","platform","arch","execPath","pid","env","argv","binding","cwd","chdir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","4588","4630","css","media","parts","DEBUG","refs","ssrId","done","BREAK","RETURN","C_NUMBER_RE","REGEXP_MODE","RE_STARTERS_RE","skip","METHOD_GUARD","nomarkup","5270","cancelToken","throwIfRequested","baseURL","reject","propertyIsEnumerable","versions","v8","PromiseRejectionEvent","D","L","_n","ok","fail","domain","I","emit","onunhandledrejection","_a","onrejectionhandled","B","_d","_w","U","catch","G","W","race","5537","copyright","core","6113","6821","valueOf","7333","7726","__g","isNumber","toGMTString","cookie","read","8079","MutationObserver","WebKitMutationObserver","standalone","characterData","8378","__e","check","endsParent","9093","9510","BINARY_NUMBER_RE","a25f","a5b8","a70e","classPrefix","tabReplace","useBR","nodeValue","cached_variants","compiled","lexemesRe","beginRe","endRe","terminator_end","illegalRe","terminators","lastIndex","second_best","createElementNS","re","called","highlightAuto","fixMarkup","highlightBlock","configure","initHighlighting","initHighlightingOnLoad","registerLanguage","listLanguages","getLanguage","NUMBER_RE","PHRASAL_WORDS_MODE","aa0f","aa77","ac6a","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TouchList","acb3","af44","b50d","XDomainRequest","onprogress","ontimeout","auth","username","password","Authorization","params","paramsSerializer","responseURL","getAllResponseHeaders","responseType","responseText","statusText","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","send","b65b","bc3a","bcaa","be13","c345","c366","c401","c532","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","c5f6","c69a","c8af","c8ba","eval","ca5a","cadf","_t","Arguments","cb7c","cc5d","ce10","cee4","Axios","Cancel","CancelToken","isCancel","spread","d3f4","d53b","d8e8","d925","dcbc","de09","df7c","normalize","isAbsolute","relative","sep","delimiter","dirname","basename","extname","e11e","e4bc","e683","ebd6","ee8c","f0f8","f54f","f605","f6b4","eject","f751","fab2","fb15","z","q","H","K","V","highlightCode","Z","J","X","Q","mdStyle","codeBgColor","defaultStyle","ul","padding","ol","li","img","border","tr","th","td","mounted","parseHtml","getElementsByClassName","Y","ee","_compiled","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","te","__file","ne","ie","ae","textStyle","refId","setStyle","oe","se","ce","le","frameborder","ue","de","pe","fe","ge","he","me","be","ve","Markdown","TextPreview","Office","requestConfig","tempValue","parseComponet","styler","updateType","actualValue","tempValueC","download","FileReader","readAsText","Blob","setHeiht","getClientHeight","ye","xe","we","fdef","playerComponent","videoPlayer","install","Vue","parseHeaders","xtend","forEachArray","array","isEmpty","initParams","createXHR","_createXHR","readystatechange","loadFunc","getBody","getXml","isJson","errorFunc","evt","timeoutTimer","statusCode","failureResponse","aborted","useXDR","rawRequest","onreadystatechange","onabort","beforeSend","responseXML","firefoxBugTakenEffect","doccy","minDoc","topLevel","showArrowsOnHover","touch","touchless","changedByDelimiters","isReverse","findIndex","icons","hasPrev","prev","hasNext","nextIndex","getNextIndex","prevIndex","getPrevIndex","hasActiveItems","genContainer","scrollSetting","findScrollSetting","isValidPercentValue","_lines","_regionAnchorX","_regionAnchorY","_viewportAnchorX","_viewportAnchorY","_scroll"],"mappings":"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","file":"js/chunk-1fa461b8.9b10fc1c.js","sourcesContent":["// Styles\nimport \"../../../src/components/VExpansionPanel/VExpansionPanel.sass\"; // Components\n\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Utilities\n\nimport { breaking } from '../../util/console';\n/* @vue/component */\n\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide() {\n return {\n expansionPanels: this\n };\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean\n },\n computed: {\n classes() {\n return { ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile\n };\n }\n\n },\n\n created() {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this);\n }\n /* istanbul ignore next */\n\n\n if (Array.isArray(this.value) && this.value.length > 0 && typeof this.value[0] === 'boolean') {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this);\n }\n },\n\n methods: {\n updateItem(item, index) {\n const value = this.getValue(item, index);\n const nextValue = this.getValue(item, index + 1);\n item.isActive = this.toggleMethod(value);\n item.nextIsActive = this.toggleMethod(nextValue);\n }\n\n }\n});\n//# sourceMappingURL=VExpansionPanels.js.map","import \"../../../src/components/VGrid/_grid.sass\";\nimport Grid from './grid';\nexport default Grid('flex');\n//# sourceMappingURL=VFlex.js.map","import \"../../../src/components/VGrid/VGrid.sass\";\nimport Vue from 'vue';\nimport mergeData from '../../util/mergeData';\nimport { upperFirst } from '../../util/helpers'; // no xs\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl'];\nconst ALIGNMENT = ['start', 'end', 'center'];\n\nfunction makeProps(prefix, def) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def();\n return props;\n }, {});\n}\n\nconst alignValidator = str => [...ALIGNMENT, 'baseline', 'stretch'].includes(str);\n\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator\n}));\n\nconst justifyValidator = str => [...ALIGNMENT, 'space-between', 'space-around'].includes(str);\n\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator\n}));\n\nconst alignContentValidator = str => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str);\n\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator\n}));\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps)\n};\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content'\n};\n\nfunction breakpointClass(type, prop, val) {\n let className = classMap[type];\n\n if (val == null) {\n return undefined;\n }\n\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '');\n className += `-${breakpoint}`;\n } // .align-items-sm-center\n\n\n className += `-${val}`;\n return className.toLowerCase();\n}\n\nconst cache = new Map();\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator\n },\n ...alignContentProps\n },\n\n render(h, {\n props,\n data,\n children\n }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = '';\n\n for (const prop in props) {\n cacheKey += String(props[prop]);\n }\n\n let classList = cache.get(cacheKey);\n\n if (!classList) {\n classList = []; // Loop through `align`, `justify`, `alignContent` breakpoint props\n\n let type;\n\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value = props[prop];\n const className = breakpointClass(type, prop, value);\n if (className) classList.push(className);\n });\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent\n });\n cache.set(cacheKey, classList);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n\n});\n//# sourceMappingURL=VRow.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"1000\",\"persistent\":\"\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }$event.preventDefault();return _vm.$emit('closeModal')},\"click:outside\":function($event){return _vm.$emit('closeModal')}},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[(_vm.fileValue && _vm.fileValue.link)?_c('v-card',{staticClass:\"pa-0\"},[_c('v-toolbar',{attrs:{\"color\":\"grey lighten-4 px-3\",\"flat\":\"\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.fileValue.name))]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\"}},[_c('a',{staticStyle:{\"color\":\"white\",\"text-decoration\":\"none\"},attrs:{\"href\":_vm.fileValue.downloadLink,\"download\":\"\"}},[_vm._v(\"Download\")])]),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('closeModal')}}},[_c('v-icon',[_vm._v(\"$close\")])],1)],1),(_vm.hasPreview)?_c('div',[(_vm.isValidImage)?_c('div',[_c('v-carousel',{staticClass:\"white\",attrs:{\"hide-delimiters\":\"\"},model:{value:(_vm.carouselIndexValue),callback:function ($$v) {_vm.carouselIndexValue=$$v},expression:\"carouselIndexValue\"}},_vm._l((_vm.uploadedImages),function(item,index){return _c('v-carousel-item',{key:index,attrs:{\"src\":item.link,\"reverse-transition\":\"fade-transition\",\"transition\":\"fade-transition\"}},[_c('v-btn',{attrs:{\"absolute\":\"\",\"right\":\"\",\"top\":\"\",\"icon\":\"\",\"dense\":\"\"},on:{\"click\":function($event){return _vm.$emit('deleteImage', item)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('a',{staticClass:\"download-icon-btn\",attrs:{\"href\":item.downloadLink,\"download\":\"\"}},[_c('v-icon',[_vm._v(\"$download\")])],1)],1)}),1),_c('div',{staticClass:\"py-5\"},[_c('v-bottom-navigation',{staticClass:\"elevation-0\"},_vm._l((_vm.uploadedImages),function(item,index){return _c('v-card',{key:item.id,staticClass:\"mr-4 align-stretch d-flex\",class:index !== _vm.carouselIndexValue ? 'opacity-4' : '',on:{\"click\":function($event){return _vm.$emit('setActiveImg', index)}}},[_c('v-img',{attrs:{\"max-width\":\"100px\",\"src\":item.link}})],1)}),1)],1)],1):_vm._e(),(_vm.isValidVideo)?_c('div',[_c('video-player',{attrs:{\"src\":_vm.fileValue.link,\"extension\":_vm.fileValue.extension}})],1):_c('div',[(_vm.isPdf)?_c('iframe',{attrs:{\"src\":_vm.fileValue.link,\"width\":\"100%\",\"height\":\"800px\"}}):_vm._e(),(!_vm.isValidImage || _vm.isPdf)?_c('VueDocPreview',{attrs:{\"value\":_vm.fileValue.link,\"type\":\"office\"}}):_vm._e()],1)]):_c('div',{staticClass:\"no-preview-text\"},[_c('v-icon',{staticStyle:{\"width\":\"50px\",\"fill\":\"#ccc\"},attrs:{\"size\":\"50\"}},[_vm._v(\"$file\")]),_c('h3',[_vm._v(\"Preview not available\")])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocView.vue?vue&type=script&lang=js&\"","// Styles\nimport \"../../../src/components/VBottomNavigation/VBottomNavigation.sass\"; // Mixins\n\nimport Applicationable from '../../mixins/applicationable';\nimport ButtonGroup from '../../mixins/button-group';\nimport Colorable from '../../mixins/colorable';\nimport Measurable from '../../mixins/measurable';\nimport Proxyable from '../../mixins/proxyable';\nimport Scrollable from '../../mixins/scrollable';\nimport Themeable from '../../mixins/themeable';\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { breaking } from '../../util/console';\nexport default mixins(Applicationable('bottom', ['height', 'inputValue']), Colorable, Measurable, ToggleableFactory('inputValue'), Proxyable, Scrollable, Themeable\n/* @vue/component */\n).extend({\n name: 'v-bottom-navigation',\n props: {\n activeClass: {\n type: String,\n default: 'v-btn--active'\n },\n backgroundColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: 56\n },\n hideOnScroll: Boolean,\n horizontal: Boolean,\n inputValue: {\n type: Boolean,\n default: true\n },\n mandatory: Boolean,\n shift: Boolean\n },\n\n data() {\n return {\n isActive: this.inputValue\n };\n },\n\n computed: {\n canScroll() {\n return Scrollable.options.computed.canScroll.call(this) && (this.hideOnScroll || !this.inputValue);\n },\n\n classes() {\n return {\n 'v-bottom-navigation--absolute': this.absolute,\n 'v-bottom-navigation--grow': this.grow,\n 'v-bottom-navigation--fixed': !this.absolute && (this.app || this.fixed),\n 'v-bottom-navigation--horizontal': this.horizontal,\n 'v-bottom-navigation--shift': this.shift\n };\n },\n\n styles() {\n return { ...this.measurableStyles,\n transform: this.isActive ? 'none' : 'translateY(100%)'\n };\n }\n\n },\n\n created() {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('active')) {\n breaking('active.sync', 'value or v-model', this);\n }\n },\n\n methods: {\n thresholdMet() {\n this.isActive = !this.isScrollingUp;\n this.$emit('update:input-value', this.isActive);\n },\n\n updateApplication() {\n return this.$el ? this.$el.clientHeight : 0;\n },\n\n updateValue(val) {\n this.$emit('change', val);\n }\n\n },\n\n render(h) {\n const data = this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-bottom-navigation',\n class: this.classes,\n style: this.styles,\n props: {\n activeClass: this.activeClass,\n mandatory: Boolean(this.mandatory || this.value !== undefined),\n value: this.internalValue\n },\n on: {\n change: this.updateValue\n }\n });\n\n if (this.canScroll) {\n data.directives = data.directives || [];\n data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll\n });\n }\n\n return h(ButtonGroup, this.setTextColor(this.color, data), this.$slots.default);\n }\n\n});\n//# sourceMappingURL=VBottomNavigation.js.map","// Styles\nimport \"../../../src/components/VCarousel/VCarousel.sass\"; // Extensions\n\nimport VWindow from '../VWindow/VWindow'; // Components\n\nimport VBtn from '../VBtn';\nimport VIcon from '../VIcon';\nimport VProgressLinear from '../VProgressLinear'; // Mixins\n// TODO: Move this into core components v2.0\n\nimport ButtonGroup from '../../mixins/button-group'; // Utilities\n\nimport { convertToUnit } from '../../util/helpers';\nimport { breaking } from '../../util/console';\nexport default VWindow.extend({\n name: 'v-carousel',\n props: {\n continuous: {\n type: Boolean,\n default: true\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter'\n },\n height: {\n type: [Number, String],\n default: 500\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: value => value > 0\n },\n mandatory: {\n type: Boolean,\n default: true\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true\n },\n verticalDelimiters: {\n type: String,\n default: undefined\n }\n },\n\n data() {\n return {\n internalHeight: this.height,\n slideTimeout: undefined\n };\n },\n\n computed: {\n classes() {\n return { ...VWindow.options.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical\n };\n },\n\n isDark() {\n return this.dark || !this.light;\n },\n\n isVertical() {\n return this.verticalDelimiters != null;\n }\n\n },\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n\n height(val, oldVal) {\n if (val === oldVal || !val) return;\n this.internalHeight = val;\n },\n\n cycle(val) {\n if (val) {\n this.restartTimeout();\n } else {\n clearTimeout(this.slideTimeout);\n this.slideTimeout = undefined;\n }\n }\n\n },\n\n created() {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this);\n }\n },\n\n mounted() {\n this.startTimeout();\n },\n\n methods: {\n genControlIcons() {\n if (this.isVertical) return null;\n return VWindow.options.methods.genControlIcons.call(this);\n },\n\n genDelimiters() {\n return this.$createElement('div', {\n staticClass: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto'\n }\n }, [this.genItems()]);\n },\n\n genItems() {\n const length = this.items.length;\n const children = [];\n\n for (let i = 0; i < length; i++) {\n const child = this.$createElement(VBtn, {\n staticClass: 'v-carousel__controls__item',\n attrs: {\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length)\n },\n props: {\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i)\n }\n }, [this.$createElement(VIcon, {\n props: {\n size: 18\n }\n }, this.delimiterIcon)]);\n children.push(child);\n }\n\n return this.$createElement(ButtonGroup, {\n props: {\n value: this.internalValue,\n mandatory: this.mandatory\n },\n on: {\n change: val => {\n this.internalValue = val;\n }\n }\n }, children);\n },\n\n genProgress() {\n return this.$createElement(VProgressLinear, {\n staticClass: 'v-carousel__progress',\n props: {\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100\n }\n });\n },\n\n restartTimeout() {\n this.slideTimeout && clearTimeout(this.slideTimeout);\n this.slideTimeout = undefined;\n window.requestAnimationFrame(this.startTimeout);\n },\n\n startTimeout() {\n if (!this.cycle) return;\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000);\n }\n\n },\n\n render(h) {\n const render = VWindow.options.render.call(this, h);\n render.data.style = `height: ${convertToUnit(this.height)};`;\n /* istanbul ignore else */\n\n if (!this.hideDelimiters) {\n render.children.push(this.genDelimiters());\n }\n /* istanbul ignore else */\n\n\n if (this.progress || this.progressColor) {\n render.children.push(this.genProgress());\n }\n\n return render;\n }\n\n});\n//# sourceMappingURL=VCarousel.js.map","// Mixins\nimport Bootable from '../../mixins/bootable';\nimport { factory as GroupableFactory } from '../../mixins/groupable'; // Directives\n\nimport Touch from '../../directives/touch'; // Utilities\n\nimport { convertToUnit } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Bootable, GroupableFactory('windowGroup', 'v-window-item', 'v-window'));\nexport default baseMixins.extend().extend().extend({\n name: 'v-window-item',\n directives: {\n Touch\n },\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined\n },\n transition: {\n type: [Boolean, String],\n default: undefined\n },\n value: {\n required: false\n }\n },\n\n data() {\n return {\n isActive: false,\n inTransition: false\n };\n },\n\n computed: {\n classes() {\n return this.groupClasses;\n },\n\n computedTransition() {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined' ? this.transition || '' : this.windowGroup.computedTransition;\n }\n\n return typeof this.reverseTransition !== 'undefined' ? this.reverseTransition || '' : this.windowGroup.computedTransition;\n }\n\n },\n methods: {\n genDefaultSlot() {\n return this.$slots.default;\n },\n\n genWindowItem() {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive\n }],\n on: this.$listeners\n }, this.genDefaultSlot());\n },\n\n onAfterTransition() {\n if (!this.inTransition) {\n return;\n } // Finalize transition state.\n\n\n this.inTransition = false;\n\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--; // Remove container height if we are out of transition.\n\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined;\n }\n }\n },\n\n onBeforeTransition() {\n if (this.inTransition) {\n return;\n } // Initialize transition state here.\n\n\n this.inTransition = true;\n\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight);\n }\n\n this.windowGroup.transitionCount++;\n },\n\n onTransitionCancelled() {\n this.onAfterTransition(); // This should have the same path as normal transition end.\n },\n\n onEnter(el) {\n if (!this.inTransition) {\n return;\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return;\n } // Set transition target height.\n\n\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight);\n });\n }\n\n },\n\n render(h) {\n return h('transition', {\n props: {\n name: this.computedTransition\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n // Enter handler for height transition.\n enter: this.onEnter\n }\n }, this.showLazyContent(() => [this.genWindowItem()]));\n }\n\n});\n//# sourceMappingURL=VWindowItem.js.map","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'; // Components\n\nimport { VImg } from '../VImg'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { getSlot } from '../../util/helpers';\nimport Routable from '../../mixins/routable'; // Types\n\nconst baseMixins = mixins(VWindowItem, Routable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n name: 'v-carousel-item',\n inheritAttrs: false,\n methods: {\n genDefaultSlot() {\n return [this.$createElement(VImg, {\n staticClass: 'v-carousel__item',\n props: { ...this.$attrs,\n height: this.windowGroup.internalHeight\n },\n on: this.$listeners,\n scopedSlots: {\n placeholder: this.$scopedSlots.placeholder\n }\n }, getSlot(this))];\n },\n\n genWindowItem() {\n const {\n tag,\n data\n } = this.generateRouteLink();\n data.staticClass = 'v-window-item';\n data.directives.push({\n name: 'show',\n value: this.isActive\n });\n return this.$createElement(tag, data, this.genDefaultSlot());\n }\n\n }\n});\n//# sourceMappingURL=VCarouselItem.js.map","import { render, staticRenderFns } from \"./DocView.vue?vue&type=template&id=b8ebdee4&\"\nimport script from \"./DocView.vue?vue&type=script&lang=js&\"\nexport * from \"./DocView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DocView.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBottomNavigation } from 'vuetify/lib/components/VBottomNavigation';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCarousel } from 'vuetify/lib/components/VCarousel';\nimport { VCarouselItem } from 'vuetify/lib/components/VCarousel';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBottomNavigation,VBtn,VCard,VCarousel,VCarouselItem,VDialog,VIcon,VImg,VSpacer,VToolbar,VToolbarTitle})\n","function clean (s) {\n return s.replace(/\\n\\r?\\s*/g, '')\n}\n\n\nmodule.exports = function tsml (sa) {\n var s = ''\n , i = 0\n\n for (; i < arguments.length; i++)\n s += clean(sa[i]) + (arguments[i + 1] || '')\n\n return s\n}","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoPlayer.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoPlayer.vue?vue&type=style&index=0&lang=scss&\"","import \"../../../src/components/VDataTable/VSimpleTable.sass\";\nimport { convertToUnit } from '../../util/helpers';\nimport Themeable from '../../mixins/themeable';\nimport mixins from '../../util/mixins';\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String]\n },\n computed: {\n classes() {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n ...this.themeClasses\n };\n }\n\n },\n methods: {\n genWrapper() {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height)\n }\n }, [this.$createElement('table', this.$slots.default)]);\n }\n\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes\n }, [this.$slots.top, this.genWrapper(), this.$slots.bottom]);\n }\n\n});\n//# sourceMappingURL=VSimpleTable.js.map","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Default exports for Node. Export the extended versions of VTTCue and\n// VTTRegion in Node since we likely want the capability to convert back and\n// forth between JSON. If we don't then it's not that big of a deal since we're\n// off browser.\n\nvar window = require('global/window');\n\nvar vttjs = module.exports = {\n WebVTT: require(\"./vtt.js\"),\n VTTCue: require(\"./vttcue.js\"),\n VTTRegion: require(\"./vttregion.js\")\n};\n\nwindow.vttjs = vttjs;\nwindow.WebVTT = vttjs.WebVTT;\n\nvar cueShim = vttjs.VTTCue;\nvar regionShim = vttjs.VTTRegion;\nvar nativeVTTCue = window.VTTCue;\nvar nativeVTTRegion = window.VTTRegion;\n\nvttjs.shim = function() {\n window.VTTCue = cueShim;\n window.VTTRegion = regionShim;\n};\n\nvttjs.restore = function() {\n window.VTTCue = nativeVTTCue;\n window.VTTRegion = nativeVTTRegion;\n};\n\nif (!window.VTTCue) {\n vttjs.shim();\n}\n","// Styles\nimport \"../../../src/components/VSkeletonLoader/VSkeletonLoader.sass\"; // Mixins\n\nimport Elevatable from '../../mixins/elevatable';\nimport Measurable from '../../mixins/measurable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { getSlot } from '../../util/helpers';\n/* @vue/component */\n\nexport default mixins(Elevatable, Measurable, Themeable).extend({\n name: 'VSkeletonLoader',\n props: {\n boilerplate: Boolean,\n loading: Boolean,\n tile: Boolean,\n transition: String,\n type: String,\n types: {\n type: Object,\n default: () => ({})\n }\n },\n computed: {\n attrs() {\n if (!this.isLoading) return this.$attrs;\n return !this.boilerplate ? {\n 'aria-busy': true,\n 'aria-live': 'polite',\n role: 'alert',\n ...this.$attrs\n } : {};\n },\n\n classes() {\n return {\n 'v-skeleton-loader--boilerplate': this.boilerplate,\n 'v-skeleton-loader--is-loading': this.isLoading,\n 'v-skeleton-loader--tile': this.tile,\n ...this.themeClasses,\n ...this.elevationClasses\n };\n },\n\n isLoading() {\n return !('default' in this.$scopedSlots) || this.loading;\n },\n\n rootTypes() {\n return {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, card-heading',\n 'card-avatar': 'image, list-item-avatar',\n 'card-heading': 'heading',\n chip: 'chip',\n 'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n paragraph: 'text@3',\n sentences: 'text@2',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'heading, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'table-cell@6',\n 'table-cell': 'text',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n ...this.types\n };\n }\n\n },\n methods: {\n genBone(text, children) {\n return this.$createElement('div', {\n staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`\n }, children);\n },\n\n genBones(bone) {\n // e.g. 'text@3'\n const [type, length] = bone.split('@');\n\n const generator = () => this.genStructure(type); // Generate a length array based upon\n // value after @ in the bone string\n\n\n return Array.from({\n length\n }).map(generator);\n },\n\n // Fix type when this is merged\n // https://github.com/microsoft/TypeScript/pull/33050\n genStructure(type) {\n let children = [];\n type = type || this.type || '';\n const bone = this.rootTypes[type] || ''; // End of recursion, do nothing\n\n /* eslint-disable-next-line no-empty, brace-style */\n\n if (type === bone) {} // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.indexOf(',') > -1) return this.mapBones(type); // Array of values - e.g. 'paragraph@4'\n else if (type.indexOf('@') > -1) return this.genBones(type); // Array of values - e.g. 'card@2'\n else if (bone.indexOf(',') > -1) children = this.mapBones(bone); // Array of values - e.g. 'list-item@2'\n else if (bone.indexOf('@') > -1) children = this.genBones(bone); // Single value - e.g. 'card-heading'\n else if (bone) children.push(this.genStructure(bone));\n\n return [this.genBone(type, children)];\n },\n\n genSkeleton() {\n const children = [];\n if (!this.isLoading) children.push(getSlot(this));else children.push(this.genStructure());\n /* istanbul ignore else */\n\n if (!this.transition) return children;\n /* istanbul ignore next */\n\n return this.$createElement('transition', {\n props: {\n name: this.transition\n },\n // Only show transition when\n // content has been loaded\n on: {\n afterEnter: this.resetStyles,\n beforeEnter: this.onBeforeEnter,\n beforeLeave: this.onBeforeLeave,\n leaveCancelled: this.resetStyles\n }\n }, children);\n },\n\n mapBones(bones) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(this.genStructure);\n },\n\n onBeforeEnter(el) {\n this.resetStyles(el);\n if (!this.isLoading) return;\n el._initialStyle = {\n display: el.style.display,\n transition: el.style.transition\n };\n el.style.setProperty('transition', 'none', 'important');\n },\n\n onBeforeLeave(el) {\n el.style.setProperty('display', 'none', 'important');\n },\n\n resetStyles(el) {\n if (!el._initialStyle) return;\n el.style.display = el._initialStyle.display || '';\n el.style.transition = el._initialStyle.transition;\n delete el._initialStyle;\n }\n\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-skeleton-loader',\n attrs: this.attrs,\n on: this.$listeners,\n class: this.classes,\n style: this.isLoading ? this.measurableStyles : undefined\n }, [this.genSkeleton()]);\n }\n\n});\n//# sourceMappingURL=VSkeletonLoader.js.map","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup';\n/* @vue/component */\n\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide() {\n return {\n btnToggle: this\n };\n },\n\n computed: {\n classes() {\n return BaseItemGroup.options.computed.classes.call(this);\n }\n\n },\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData\n }\n});\n//# sourceMappingURL=index.js.map","/**\n * @license\n * Video.js 6.13.0 \n * Copyright Brightcove, Inc. \n * Available under Apache License Version 2.0\n * \n *\n * Includes vtt.js \n * Available under Apache License Version 2.0\n * \n */\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar window = _interopDefault(require('global/window'));\nvar document = _interopDefault(require('global/document'));\nvar tsml = _interopDefault(require('tsml'));\nvar safeParseTuple = _interopDefault(require('safe-json-parse/tuple'));\nvar xhr = _interopDefault(require('xhr'));\nvar vtt = _interopDefault(require('videojs-vtt.js'));\n\nvar version = \"6.13.0\";\n\n/**\n * @file browser.js\n * @module browser\n */\nvar USER_AGENT = window.navigator && window.navigator.userAgent || '';\nvar webkitVersionMap = /AppleWebKit\\/([\\d.]+)/i.exec(USER_AGENT);\nvar appleWebkitVersion = webkitVersionMap ? parseFloat(webkitVersionMap.pop()) : null;\n\n/*\n * Device is an iPhone\n *\n * @type {Boolean}\n * @constant\n * @private\n */\nvar IS_IPAD = /iPad/i.test(USER_AGENT);\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/\nvar IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;\nvar IS_IPOD = /iPod/i.test(USER_AGENT);\nvar IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;\n\nvar IOS_VERSION = function () {\n var match = USER_AGENT.match(/OS (\\d+)_/i);\n\n if (match && match[1]) {\n return match[1];\n }\n return null;\n}();\n\nvar IS_ANDROID = /Android/i.test(USER_AGENT);\nvar ANDROID_VERSION = function () {\n // This matches Android Major.Minor.Patch versions\n // ANDROID_VERSION is Major.Minor as a Number, if Minor isn't available, then only Major is returned\n var match = USER_AGENT.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);\n\n if (!match) {\n return null;\n }\n\n var major = match[1] && parseFloat(match[1]);\n var minor = match[2] && parseFloat(match[2]);\n\n if (major && minor) {\n return parseFloat(match[1] + '.' + match[2]);\n } else if (major) {\n return major;\n }\n return null;\n}();\n\n// Old Android is defined as Version older than 2.3, and requiring a webkit version of the android browser\nvar IS_OLD_ANDROID = IS_ANDROID && /webkit/i.test(USER_AGENT) && ANDROID_VERSION < 2.3;\nvar IS_NATIVE_ANDROID = IS_ANDROID && ANDROID_VERSION < 5 && appleWebkitVersion < 537;\n\nvar IS_FIREFOX = /Firefox/i.test(USER_AGENT);\nvar IS_EDGE = /Edge/i.test(USER_AGENT);\nvar IS_CHROME = !IS_EDGE && (/Chrome/i.test(USER_AGENT) || /CriOS/i.test(USER_AGENT));\nvar CHROME_VERSION = function () {\n var match = USER_AGENT.match(/(Chrome|CriOS)\\/(\\d+)/);\n\n if (match && match[2]) {\n return parseFloat(match[2]);\n }\n return null;\n}();\nvar IS_IE8 = /MSIE\\s8\\.0/.test(USER_AGENT);\nvar IE_VERSION = function () {\n var result = /MSIE\\s(\\d+)\\.\\d/.exec(USER_AGENT);\n var version = result && parseFloat(result[1]);\n\n if (!version && /Trident\\/7.0/i.test(USER_AGENT) && /rv:11.0/.test(USER_AGENT)) {\n // IE 11 has a different user agent string than other IE versions\n version = 11.0;\n }\n\n return version;\n}();\n\nvar IS_SAFARI = /Safari/i.test(USER_AGENT) && !IS_CHROME && !IS_ANDROID && !IS_EDGE;\nvar IS_ANY_SAFARI = (IS_SAFARI || IS_IOS) && !IS_CHROME;\n\nvar TOUCH_ENABLED = isReal() && ('ontouchstart' in window || window.navigator.maxTouchPoints || window.DocumentTouch && window.document instanceof window.DocumentTouch);\n\nvar BACKGROUND_SIZE_SUPPORTED = isReal() && 'backgroundSize' in window.document.createElement('video').style;\n\nvar browser = (Object.freeze || Object)({\n\tIS_IPAD: IS_IPAD,\n\tIS_IPHONE: IS_IPHONE,\n\tIS_IPOD: IS_IPOD,\n\tIS_IOS: IS_IOS,\n\tIOS_VERSION: IOS_VERSION,\n\tIS_ANDROID: IS_ANDROID,\n\tANDROID_VERSION: ANDROID_VERSION,\n\tIS_OLD_ANDROID: IS_OLD_ANDROID,\n\tIS_NATIVE_ANDROID: IS_NATIVE_ANDROID,\n\tIS_FIREFOX: IS_FIREFOX,\n\tIS_EDGE: IS_EDGE,\n\tIS_CHROME: IS_CHROME,\n\tCHROME_VERSION: CHROME_VERSION,\n\tIS_IE8: IS_IE8,\n\tIE_VERSION: IE_VERSION,\n\tIS_SAFARI: IS_SAFARI,\n\tIS_ANY_SAFARI: IS_ANY_SAFARI,\n\tTOUCH_ENABLED: TOUCH_ENABLED,\n\tBACKGROUND_SIZE_SUPPORTED: BACKGROUND_SIZE_SUPPORTED\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n\n\n\n\n\n\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar taggedTemplateLiteralLoose = function (strings, raw) {\n strings.raw = raw;\n return strings;\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 */\nvar toString = Object.prototype.toString;\n\n/**\n * Get the keys of an Object\n *\n * @param {Object}\n * The Object to get the keys from\n *\n * @return {string[]}\n * An array of the keys from the object. Returns an empty array if the\n * object passed in was invalid or had no keys.\n *\n * @private\n */\nvar keys = function keys(object) {\n return isObject(object) ? Object.keys(object) : [];\n};\n\n/**\n * Array-like iteration for objects.\n *\n * @param {Object} object\n * The object to iterate over\n *\n * @param {obj:EachCallback} fn\n * The callback function which is called for each key in the object.\n */\nfunction each(object, fn) {\n keys(object).forEach(function (key) {\n return fn(object[key], key);\n });\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 */\nfunction reduce(object, fn) {\n var initial = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n return keys(object).reduce(function (accum, key) {\n return fn(accum, object[key], key);\n }, initial);\n}\n\n/**\n * Object.assign-style object shallow merge/extend.\n *\n * @param {Object} target\n * @param {Object} ...sources\n * @return {Object}\n */\nfunction assign(target) {\n for (var _len = arguments.length, sources = 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 Object.assign.apply(Object, [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\n return target;\n}\n\n/**\n * Returns whether a value is an object of any kind - including DOM nodes,\n * arrays, regular expressions, etc. Not functions, though.\n *\n * This avoids the gotcha where using `typeof` on a `null` value\n * results in `'object'`.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nfunction isObject(value) {\n return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object';\n}\n\n/**\n * Returns whether an object appears to be a \"plain\" object - that is, a\n * direct instance of `Object`.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nfunction isPlain(value) {\n return isObject(value) && toString.call(value) === '[object Object]' && value.constructor === Object;\n}\n\n/**\n * @file create-logger.js\n * @module create-logger\n */\n// This is the private tracking variable for the logging history.\nvar history = [];\n\n/**\n * Log messages to the console and history based on the type of message\n *\n * @private\n * @param {string} type\n * The name of the console method to use.\n *\n * @param {Array} args\n * The arguments to be passed to the matching console method.\n */\nvar LogByTypeFactory = function LogByTypeFactory(name, log) {\n return function (type, level, args, stringify) {\n var lvl = log.levels[level];\n var lvlRegExp = new RegExp('^(' + lvl + ')$');\n\n if (type !== 'log') {\n\n // Add the type to the front of the message when it's not \"log\".\n args.unshift(type.toUpperCase() + ':');\n }\n\n // Add console prefix after adding to history.\n args.unshift(name + ':');\n\n // Add a clone of the args at this point to history.\n if (history) {\n history.push([].concat(args));\n }\n\n // If there's no console then don't try to output messages, but they will\n // still be stored in history.\n if (!window.console) {\n return;\n }\n\n // Was setting these once outside of this function, but containing them\n // in the function makes it easier to test cases where console doesn't exist\n // when the module is executed.\n var fn = window.console[type];\n\n if (!fn && type === 'debug') {\n // Certain browsers don't have support for console.debug. For those, we\n // should default to the closest comparable log.\n fn = window.console.info || window.console.log;\n }\n\n // Bail out if there's no console or if this type is not allowed by the\n // current logging level.\n if (!fn || !lvl || !lvlRegExp.test(type)) {\n return;\n }\n\n // IEs previous to 11 log objects uselessly as \"[object Object]\"; so, JSONify\n // objects and arrays for those less-capable browsers.\n if (stringify) {\n args = args.map(function (a) {\n if (isObject(a) || Array.isArray(a)) {\n try {\n return JSON.stringify(a);\n } catch (x) {\n return String(a);\n }\n }\n\n // Cast to string before joining, so we get null and undefined explicitly\n // included in output (as we would in a modern console).\n return String(a);\n }).join(' ');\n }\n\n // Old IE versions do not allow .apply() for console methods (they are\n // reported as objects rather than functions).\n if (!fn.apply) {\n fn(args);\n } else {\n fn[Array.isArray(args) ? 'apply' : 'call'](window.console, args);\n }\n };\n};\n\nfunction createLogger$1(name) {\n // This is the private tracking variable for logging level.\n var level = 'info';\n\n // the curried logByType bound to the specific log and history\n var logByType = void 0;\n\n /**\n * Logs plain debug messages. Similar to `console.log`.\n *\n * Due to [limitations](https://github.com/jsdoc3/jsdoc/issues/955#issuecomment-313829149)\n * of our JSDoc template, we cannot properly document this as both a function\n * and a namespace, so its function signature is documented here.\n *\n * #### Arguments\n * ##### *args\n * 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 var log = function log() {\n var stringify = log.stringify || IE_VERSION && IE_VERSION < 11;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n logByType('log', level, args, stringify);\n };\n\n // This is the logByType helper that the logging methods below use\n logByType = LogByTypeFactory(name, log);\n\n /**\n * Create a new sublogger which chains the old name to the new name.\n *\n * For example, doing `videojs.log.createLogger('player')` and then using that logger will log the following:\n * ```js\n * mylogger('foo');\n * // > VIDEOJS: player: foo\n * ```\n *\n * @param {string} name\n * The name to add call the new logger\n * @return {Object}\n */\n log.createLogger = function (subname) {\n return createLogger$1(name + ': ' + subname);\n };\n\n /**\n * Enumeration of available logging levels, where the keys are the level names\n * and the values are `|`-separated strings containing logging methods allowed\n * in that logging level. These strings are used to create a regular expression\n * matching the function name being called.\n *\n * Levels provided by Video.js are:\n *\n * - `off`: Matches no calls. Any value that can be cast to `false` will have\n * this effect. The most restrictive.\n * - `all`: Matches only Video.js-provided functions (`debug`, `log`,\n * `log.warn`, and `log.error`).\n * - `debug`: Matches `log.debug`, `log`, `log.warn`, and `log.error` calls.\n * - `info` (default): Matches `log`, `log.warn`, and `log.error` calls.\n * - `warn`: Matches `log.warn` and `log.error` calls.\n * - `error`: Matches only `log.error` calls.\n *\n * @type {Object}\n */\n log.levels = {\n all: 'debug|log|warn|error',\n off: '',\n debug: 'debug|log|warn|error',\n info: 'log|warn|error',\n warn: 'warn|error',\n error: 'error',\n DEFAULT: level\n };\n\n /**\n * Get or set the current logging level.\n *\n * If a string matching a key from {@link module:log.levels} is provided, acts\n * as a setter.\n *\n * @param {string} [lvl]\n * Pass a valid level to set a new logging level.\n *\n * @return {string}\n * The current logging level.\n */\n log.level = 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 level = lvl;\n }\n return level;\n };\n\n /**\n * Returns an array containing everything that has been logged to the history.\n *\n * This array is a shallow clone of the internal history record. However, its\n * contents are _not_ cloned; so, mutating objects inside this array will\n * mutate them in history.\n *\n * @return {Array}\n */\n log.history = function () {\n return history ? [].concat(history) : [];\n };\n\n /**\n * Allows you to filter the history by the given logger name\n *\n * @param {string} fname\n * The name to filter by\n *\n * @return {Array}\n * The filtered list to return\n */\n log.history.filter = 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 /**\n * Clears the internal history tracking, but does not prevent further history\n * tracking.\n */\n log.history.clear = function () {\n if (history) {\n history.length = 0;\n }\n };\n\n /**\n * Disable history tracking if it is currently enabled.\n */\n log.history.disable = function () {\n if (history !== null) {\n history.length = 0;\n history = null;\n }\n };\n\n /**\n * Enable history tracking if it is currently disabled.\n */\n log.history.enable = function () {\n if (history === null) {\n history = [];\n }\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 log.error = function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return logByType('error', level, args);\n };\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 log.warn = function () {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return logByType('warn', level, args);\n };\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 log.debug = function () {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return logByType('debug', level, args);\n };\n\n return log;\n}\n\n/**\n * @file log.js\n * @module log\n */\nvar log = createLogger$1('VIDEOJS');\nvar createLogger = log.createLogger;\n\n/**\n * @file computed-style.js\n * @module computed-style\n */\n/**\n * A safe getComputedStyle with an IE8 fallback.\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 null-check to\n * make sure that the player doesn't break in these cases.\n *\n * @param {Element} el\n * The element you want the computed style of\n *\n * @param {string} prop\n * The property name you want\n *\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n *\n * @static\n * @const\n */\nfunction computedStyle(el, prop) {\n if (!el || !prop) {\n return '';\n }\n\n if (typeof window.getComputedStyle === 'function') {\n var cs = window.getComputedStyle(el);\n\n return cs ? cs[prop] : '';\n }\n\n return el.currentStyle[prop] || '';\n}\n\nvar _templateObject = taggedTemplateLiteralLoose(['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 ', ' to ', '.'], ['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 ', ' to ', '.']);\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 * @param {string} str\n * The string to check\n *\n * @return {boolean}\n * - True if the string is non-blank\n * - False otherwise\n *\n */\nfunction isNonBlankString(str) {\n return typeof str === 'string' && /\\S/.test(str);\n}\n\n/**\n * Throws an error if the passed string has whitespace. This is used by\n * class methods to be relatively consistent with the classList API.\n *\n * @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 */\nfunction throwIfWhitespace(str) {\n if (/\\s/.test(str)) {\n throw new Error('class has illegal whitespace characters');\n }\n}\n\n/**\n * Produce a regular expression for matching a className within an elements className.\n *\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 */\nfunction classRegExp(className) {\n return new RegExp('(^|\\\\s)' + className + '($|\\\\s)');\n}\n\n/**\n * Whether the current DOM interface appears to be real.\n *\n * @return {Boolean}\n */\nfunction isReal() {\n return (\n\n // Both document and window will never be undefined thanks to `global`.\n document === window.document &&\n\n // In IE < 9, DOM methods return \"object\" as their type, so all we can\n // confidently check is that it exists.\n typeof document.createElement !== 'undefined'\n );\n}\n\n/**\n * Determines, via duck typing, whether or not a value is a DOM element.\n *\n * @param {Mixed} value\n * The thing to check\n *\n * @return {boolean}\n * - True if it is a DOM element\n * - False otherwise\n */\nfunction isEl(value) {\n return isObject(value) && value.nodeType === 1;\n}\n\n/**\n * Determines if the current DOM is embedded in an iframe.\n *\n * @return {boolean}\n *\n */\nfunction isInFrame() {\n\n // We need a try/catch here because Safari will throw errors when attempting\n // to get either `parent` or `self`\n try {\n return window.parent !== window.self;\n } catch (x) {\n return true;\n }\n}\n\n/**\n * Creates functions to query the DOM using a given method.\n *\n * @param {string} method\n * The method to create the query with.\n *\n * @return {Function}\n * The query method\n */\nfunction createQuerier(method) {\n return function (selector, context) {\n if (!isNonBlankString(selector)) {\n return document[method](null);\n }\n if (isNonBlankString(context)) {\n context = document.querySelector(context);\n }\n\n var ctx = isEl(context) ? context : document;\n\n return ctx[method] && ctx[method](selector);\n };\n}\n\n/**\n * Creates an element and applies properties.\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 {String|Element|TextNode|Array|Function} [content]\n * Contents for the element (see: {@link dom:normalizeContent})\n *\n * @return {Element}\n * The element that was created.\n */\nfunction createEl() {\n var tagName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'div';\n var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = arguments[3];\n\n var el = document.createElement(tagName);\n\n Object.getOwnPropertyNames(properties).forEach(function (propName) {\n var val = properties[propName];\n\n // See #2176\n // We originally were accepting both properties and attributes in the\n // same object, but that doesn't work so well.\n if (propName.indexOf('aria-') !== -1 || propName === 'role' || propName === 'type') {\n log.warn(tsml(_templateObject, propName, val));\n el.setAttribute(propName, val);\n\n // 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 {\n el[propName] = val;\n }\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/**\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 */\nfunction textContent(el, text) {\n if (typeof el.textContent === 'undefined') {\n el.innerText = text;\n } else {\n el.textContent = text;\n }\n return el;\n}\n\n/**\n * Insert an element as the first child node of another\n *\n * @param {Element} child\n * Element to insert\n *\n * @param {Element} parent\n * Element to insert child into\n */\nfunction prependTo(child, parent) {\n if (parent.firstChild) {\n parent.insertBefore(child, parent.firstChild);\n } else {\n parent.appendChild(child);\n }\n}\n\n/**\n * Check if an element has a CSS class\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 * - True if the element had the class\n * - False otherwise.\n *\n * @throws {Error}\n * Throws an error if `classToCheck` has white space.\n */\nfunction hasClass(element, classToCheck) {\n throwIfWhitespace(classToCheck);\n if (element.classList) {\n return element.classList.contains(classToCheck);\n }\n return classRegExp(classToCheck).test(element.className);\n}\n\n/**\n * Add a CSS 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 */\nfunction addClass(element, classToAdd) {\n if (element.classList) {\n element.classList.add(classToAdd);\n\n // 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/**\n * Remove a CSS 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 */\nfunction 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/**\n * The callback definition for toggleElClass.\n *\n * @callback 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 the `classToToggle` will get added to `element`.\n * - If false the `classToToggle` will get removed from `element`.\n * - If undefined this callback will be ignored\n */\n\n/**\n * Adds or removes a CSS class name on 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|PredicateCallback} [predicate]\n * See the return value for {@link Dom~PredicateCallback}\n *\n * @return {Element}\n * The element with a class that has been toggled.\n */\nfunction toggleClass(element, classToToggle, predicate) {\n\n // This CANNOT use `classList` internally because IE 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 }\n\n // If the necessary class operation matches the current state of the\n // element, no action is required.\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/**\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 */\nfunction setAttributes(el, attributes) {\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n var attrValue = attributes[attrName];\n\n if (attrValue === null || typeof attrValue === 'undefined' || attrValue === false) {\n el.removeAttribute(attrName);\n } else {\n el.setAttribute(attrName, attrValue === true ? '' : attrValue);\n }\n });\n}\n\n/**\n * Get an element's attribute values, as defined on the HTML tag\n * Attributes are not the same as properties. They're defined on the tag\n * or with setAttribute (which shouldn't be used with HTML)\n * This will return true or false for boolean attributes.\n *\n * @param {Element} tag\n * Element from which to get tag attributes.\n *\n * @return {Object}\n * All attributes of the element.\n */\nfunction getAttributes(tag) {\n var obj = {};\n\n // known boolean attributes\n // we can check for matching boolean properties, but older browsers\n // won't know about HTML5 boolean attributes that we still read from\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;\n\n // check for known booleans\n // the matching element property will return a value for typeof\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/**\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 * value of the attribute\n */\nfunction getAttribute(el, attribute) {\n return el.getAttribute(attribute);\n}\n\n/**\n * Set the value of an element's attribute\n *\n * @param {Element} el\n * A DOM element\n *\n * @param {string} attribute\n * Attribute to set\n *\n * @param {string} value\n * Value to set the attribute to\n */\nfunction setAttribute(el, attribute, value) {\n el.setAttribute(attribute, value);\n}\n\n/**\n * Remove an element's attribute\n *\n * @param {Element} el\n * A DOM element\n *\n * @param {string} attribute\n * Attribute to remove\n */\nfunction removeAttribute(el, attribute) {\n el.removeAttribute(attribute);\n}\n\n/**\n * Attempt to block the ability to select text while dragging controls\n */\nfunction blockTextSelection() {\n document.body.focus();\n document.onselectstart = function () {\n return false;\n };\n}\n\n/**\n * Turn off text selection blocking\n */\nfunction unblockTextSelection() {\n document.onselectstart = function () {\n return true;\n };\n}\n\n/**\n * Identical to the native `getBoundingClientRect` function, but ensures that\n * the method is supported at all (it is in all browsers we claim to support)\n * and that the element is in the DOM before continuing.\n *\n * This wrapper function also shims properties which are not provided by some\n * older browsers (namely, IE8).\n *\n * Additionally, some browsers do not support adding properties to a\n * `ClientRect`/`DOMRect` object; so, we shallow-copy it with the standard\n * properties (except `x` and `y` which are not widely supported). This helps\n * avoid implementations where keys are non-enumerable.\n *\n * @param {Element} el\n * Element whose `ClientRect` we want to calculate.\n *\n * @return {Object|undefined}\n * Always returns a plain\n */\nfunction getBoundingClientRect(el) {\n if (el && el.getBoundingClientRect && el.parentNode) {\n var rect = el.getBoundingClientRect();\n var result = {};\n\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/**\n * The postion 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 on top\n */\n\n/**\n * Offset Left.\n * getBoundingClientRect technique from\n * 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 */\nfunction findPosition(el) {\n var box = void 0;\n\n if (el.getBoundingClientRect && el.parentNode) {\n box = el.getBoundingClientRect();\n }\n\n if (!box) {\n return {\n left: 0,\n top: 0\n };\n }\n\n var docEl = document.documentElement;\n var body = document.body;\n\n var clientLeft = docEl.clientLeft || body.clientLeft || 0;\n var scrollLeft = window.pageXOffset || body.scrollLeft;\n var left = box.left + scrollLeft - clientLeft;\n\n var clientTop = docEl.clientTop || body.clientTop || 0;\n var scrollTop = window.pageYOffset || body.scrollTop;\n var top = box.top + scrollTop - clientTop;\n\n // Android sometimes returns slightly off decimal values, so need to round\n return {\n left: Math.round(left),\n top: Math.round(top)\n };\n}\n\n/**\n * x and y coordinates for a dom element or mouse pointer\n *\n * @typedef {Object} 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 pointer position in element\n * Returns an object with x and y coordinates.\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 {Dom~Coordinates}\n * A Coordinates object corresponding to the mouse position.\n *\n */\nfunction getPointerPosition(el, event) {\n var position = {};\n var box = findPosition(el);\n var boxW = el.offsetWidth;\n var boxH = el.offsetHeight;\n\n var boxY = box.top;\n var boxX = box.left;\n var pageY = event.pageY;\n var pageX = event.pageX;\n\n if (event.changedTouches) {\n pageX = event.changedTouches[0].pageX;\n pageY = event.changedTouches[0].pageY;\n }\n\n position.y = Math.max(0, Math.min(1, (boxY - pageY + boxH) / boxH));\n position.x = Math.max(0, Math.min(1, (pageX - boxX) / boxW));\n\n return position;\n}\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 * - True if it is a text node\n * - False otherwise\n */\nfunction isTextNode(value) {\n return isObject(value) && value.nodeType === 3;\n}\n\n/**\n * Empties the contents of an element.\n *\n * @param {Element} el\n * The element to empty children from\n *\n * @return {Element}\n * The element with no children\n */\nfunction emptyEl(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n return el;\n}\n\n/**\n * Normalizes content for eventual insertion into the DOM.\n *\n * This allows a wide range of content definition methods, but protects\n * from falling into the trap of simply writing to `innerHTML`, which is\n * 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 {String|Element|TextNode|Array|Function} content\n * - String: Normalized into a text node.\n * - Element/TextNode: Passed through.\n * - Array: A one-dimensional array of strings, elements, nodes, or functions\n * (which return single strings, elements, or nodes).\n * - Function: If the sole argument, is expected to produce a string, element,\n * node, or array as defined above.\n *\n * @return {Array}\n * All of the content that was passed in normalized.\n */\nfunction normalizeContent(content) {\n\n // First, invoke content if it is a function. If it produces an array,\n // that needs to happen before normalization.\n if (typeof content === 'function') {\n content = content();\n }\n\n // Next up, normalize to an array, so one or many items can be normalized,\n // filtered, and returned.\n return (Array.isArray(content) ? content : [content]).map(function (value) {\n\n // First, invoke value if it is a function to produce a new value,\n // which will be subsequently normalized to a Node of some kind.\n if (typeof value === 'function') {\n value = value();\n }\n\n if (isEl(value) || isTextNode(value)) {\n return value;\n }\n\n if (typeof value === 'string' && /\\S/.test(value)) {\n return document.createTextNode(value);\n }\n }).filter(function (value) {\n return value;\n });\n}\n\n/**\n * Normalizes and appends content to an element.\n *\n * @param {Element} el\n * Element to append normalized content to.\n *\n *\n * @param {String|Element|TextNode|Array|Function} content\n * See the `content` argument of {@link dom:normalizeContent}\n *\n * @return {Element}\n * The element with appended normalized content.\n */\nfunction appendContent(el, content) {\n normalizeContent(content).forEach(function (node) {\n return el.appendChild(node);\n });\n return el;\n}\n\n/**\n * Normalizes and inserts content into an element; this is identical to\n * `appendContent()`, except it empties the element first.\n *\n * @param {Element} el\n * Element to insert normalized content into.\n *\n * @param {String|Element|TextNode|Array|Function} content\n * See the `content` argument of {@link dom:normalizeContent}\n *\n * @return {Element}\n * The element with inserted normalized content.\n *\n */\nfunction insertContent(el, content) {\n return appendContent(emptyEl(el), content);\n}\n\n/**\n * Check if event was a single left click\n *\n * @param {EventTarget~Event} event\n * Event object\n *\n * @return {boolean}\n * - True if a left click\n * - False if not a left click\n */\nfunction isSingleLeftClick(event) {\n // Note: if you create something draggable, be sure to\n // call it on both `mousedown` and `mousemove` event,\n // otherwise `mousedown` should be enough for a button\n\n if (event.button === undefined && event.buttons === undefined) {\n // Why do we need `buttons` ?\n // Because, middle mouse sometimes have this:\n // e.button === 0 and e.buttons === 4\n // Furthermore, we want to prevent combination click, something like\n // HOLD middlemouse then left click, that would be\n // e.button === 0, e.buttons === 5\n // just `button` is not gonna work\n\n // Alright, then what this block does ?\n // this is for chrome `simulate mobile devices`\n // I want to support this as well\n\n return true;\n }\n\n if (event.button === 0 && event.buttons === undefined) {\n // Touch screen, sometimes on some specific device, `buttons`\n // doesn't have anything (safari on ios, blackberry...)\n\n return true;\n }\n\n if (IE_VERSION === 9) {\n // Ignore IE9\n\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\n return false;\n }\n\n return true;\n}\n\n/**\n * Finds a single DOM element matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {Element|null}\n * The element that was found or null.\n */\nvar $ = createQuerier('querySelector');\n\n/**\n * Finds a all DOM elements matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {NodeList}\n * A element list of elements that were found. Will be empty if none were found.\n *\n */\nvar $$ = createQuerier('querySelectorAll');\n\n\n\nvar Dom = (Object.freeze || Object)({\n\tisReal: isReal,\n\tisEl: isEl,\n\tisInFrame: isInFrame,\n\tcreateEl: createEl,\n\ttextContent: textContent,\n\tprependTo: prependTo,\n\thasClass: hasClass,\n\taddClass: addClass,\n\tremoveClass: removeClass,\n\ttoggleClass: toggleClass,\n\tsetAttributes: setAttributes,\n\tgetAttributes: getAttributes,\n\tgetAttribute: getAttribute,\n\tsetAttribute: setAttribute,\n\tremoveAttribute: removeAttribute,\n\tblockTextSelection: blockTextSelection,\n\tunblockTextSelection: unblockTextSelection,\n\tgetBoundingClientRect: getBoundingClientRect,\n\tfindPosition: findPosition,\n\tgetPointerPosition: getPointerPosition,\n\tisTextNode: isTextNode,\n\temptyEl: emptyEl,\n\tnormalizeContent: normalizeContent,\n\tappendContent: appendContent,\n\tinsertContent: insertContent,\n\tisSingleLeftClick: isSingleLeftClick,\n\t$: $,\n\t$$: $$\n});\n\n/**\n * @file guid.js\n * @module guid\n */\n\n/**\n * Unique ID for an element or function\n * @type {Number}\n */\nvar _guid = 1;\n\n/**\n * Get a unique auto-incrementing ID by number that has not been returned before.\n *\n * @return {number}\n * A new unique ID.\n */\nfunction newGUID() {\n return _guid++;\n}\n\n/**\n * @file dom-data.js\n * @module dom-data\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 */\nvar elData = {};\n\n/*\n * Unique attribute name to store an element's guid in\n *\n * @type {String}\n * @constant\n * @private\n */\nvar elIdAttr = 'vdata' + new Date().getTime();\n\n/**\n * Returns the cache object where data for an element is stored\n *\n * @param {Element} el\n * Element to store data for.\n *\n * @return {Object}\n * The cache object for that el that was passed in.\n */\nfunction getData(el) {\n var id = el[elIdAttr];\n\n if (!id) {\n id = el[elIdAttr] = newGUID();\n }\n\n if (!elData[id]) {\n elData[id] = {};\n }\n\n return elData[id];\n}\n\n/**\n * Returns whether or not an element has cached data\n *\n * @param {Element} el\n * Check if this element has cached data.\n *\n * @return {boolean}\n * - True if the DOM element has cached data.\n * - False otherwise.\n */\nfunction hasData(el) {\n var id = el[elIdAttr];\n\n if (!id) {\n return false;\n }\n\n return !!Object.getOwnPropertyNames(elData[id]).length;\n}\n\n/**\n * Delete data for the element from the cache and the guid attr from getElementById\n *\n * @param {Element} el\n * Remove cached data for this element.\n */\nfunction removeData(el) {\n var id = el[elIdAttr];\n\n if (!id) {\n return;\n }\n\n // Remove all stored data\n delete elData[id];\n\n // Remove the elIdAttr property from the DOM node\n try {\n delete el[elIdAttr];\n } catch (e) {\n if (el.removeAttribute) {\n el.removeAttribute(elIdAttr);\n } else {\n // IE doesn't appear to support removeAttribute on the document element\n el[elIdAttr] = null;\n }\n }\n}\n\n/**\n * @file events.js. An Event System (John Resig - Secrets of a JS Ninja http://jsninja.com/)\n * (Original book version wasn't completely usable, so fixed some things and made Closure Compiler compatible)\n * This should work very similarly to jQuery's events, however it's based off the book version which isn't as\n * robust as jquery's, so there's probably some differences.\n *\n * @module events\n */\n\n/**\n * Clean up the listener cache and dispatchers\n *\n * @param {Element|Object} elem\n * Element to clean up\n *\n * @param {string} type\n * Type of event to clean up\n */\nfunction _cleanUpEvents(elem, type) {\n var data = getData(elem);\n\n // Remove the events of a particular type if there are none left\n if (data.handlers[type].length === 0) {\n delete data.handlers[type];\n // data.handlers[type] = null;\n // Setting to null was causing an error with data.handlers\n\n // Remove the meta-handler from the element\n if (elem.removeEventListener) {\n elem.removeEventListener(type, data.dispatcher, false);\n } else if (elem.detachEvent) {\n elem.detachEvent('on' + type, data.dispatcher);\n }\n }\n\n // Remove the events object if there are no types left\n if (Object.getOwnPropertyNames(data.handlers).length <= 0) {\n delete data.handlers;\n delete data.dispatcher;\n delete data.disabled;\n }\n\n // Finally remove the element data if there is no data left\n if (Object.getOwnPropertyNames(data).length === 0) {\n removeData(elem);\n }\n}\n\n/**\n * Loops through an array of event types and calls the requested method for each type.\n *\n * @param {Function} fn\n * The event method we want to use.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string} type\n * Type of event to bind to.\n *\n * @param {EventTarget~EventListener} callback\n * Event listener.\n */\nfunction _handleMultipleEvents(fn, elem, types, callback) {\n types.forEach(function (type) {\n // Call the event method for each one of the types\n fn(elem, type, callback);\n });\n}\n\n/**\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 */\nfunction fixEvent(event) {\n\n function returnTrue() {\n return true;\n }\n\n function returnFalse() {\n return false;\n }\n\n // Test if fixing up is needed\n // Used to check if !event.stopPropagation instead of isPropagationStopped\n // But native events return true for stopPropagation, but don't have\n // other expected methods like isPropagationStopped. Seems to be a problem\n // with the Javascript Ninja code. So we're just overriding all events now.\n if (!event || !event.isPropagationStopped) {\n var old = event || window.event;\n\n event = {};\n // Clone the old object so that we can modify the values event = {};\n // IE8 Doesn't like when you mess with native event properties\n // Firefox returns false for event.hasOwnProperty('type') and other props\n // which makes copying more difficult.\n // TODO: Probably best to create a whitelist of event props\n for (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 }\n\n // The event occurred on this element\n if (!event.target) {\n event.target = event.srcElement || document;\n }\n\n // Handle which other element the event is related to\n if (!event.relatedTarget) {\n event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;\n }\n\n // Stop the default browser action\n event.preventDefault = function () {\n if (old.preventDefault) {\n old.preventDefault();\n }\n event.returnValue = false;\n old.returnValue = false;\n event.defaultPrevented = true;\n };\n\n event.defaultPrevented = false;\n\n // Stop the event from bubbling\n event.stopPropagation = function () {\n if (old.stopPropagation) {\n old.stopPropagation();\n }\n event.cancelBubble = true;\n old.cancelBubble = true;\n event.isPropagationStopped = returnTrue;\n };\n\n event.isPropagationStopped = returnFalse;\n\n // Stop the event from bubbling and executing other handlers\n event.stopImmediatePropagation = function () {\n if (old.stopImmediatePropagation) {\n old.stopImmediatePropagation();\n }\n event.isImmediatePropagationStopped = returnTrue;\n event.stopPropagation();\n };\n\n event.isImmediatePropagationStopped = returnFalse;\n\n // Handle mouse position\n if (event.clientX !== null && event.clientX !== undefined) {\n var doc = document.documentElement;\n var body = document.body;\n\n event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // Handle key presses\n event.which = event.charCode || event.keyCode;\n\n // Fix button for mouse clicks:\n // 0 == left; 1 == middle; 2 == right\n if (event.button !== null && event.button !== undefined) {\n\n // The following is disabled because it does not pass videojs-standard\n // and... yikes.\n /* eslint-disable */\n event.button = event.button & 1 ? 0 : event.button & 4 ? 1 : event.button & 2 ? 2 : 0;\n /* eslint-enable */\n }\n }\n\n // Returns fixed-up instance\n return event;\n}\n\n/**\n * Whether passive event listeners are supported\n */\nvar _supportsPassive = false;\n\n(function () {\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n _supportsPassive = true;\n }\n });\n\n window.addEventListener('test', null, opts);\n window.removeEventListener('test', null, opts);\n } catch (e) {\n // disregard\n }\n})();\n\n/**\n * Touch events Chrome expects to be passive\n */\nvar passiveEvents = ['touchstart', 'touchmove'];\n\n/**\n * Add an event listener to element\n * It stores the handler function in a separate cache object\n * and adds a generic handler to the element's event,\n * along with a unique id (guid) to the element.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string|string[]} type\n * Type of event to bind to.\n *\n * @param {EventTarget~EventListener} fn\n * Event listener.\n */\nfunction on(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(on, elem, type, fn);\n }\n\n var data = getData(elem);\n\n // We need a place to store all our handler data\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\n if (data.disabled) {\n return;\n }\n\n event = fixEvent(event);\n\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 = { passive: true };\n }\n elem.addEventListener(type, data.dispatcher, options);\n } else if (elem.attachEvent) {\n elem.attachEvent('on' + type, data.dispatcher);\n }\n }\n}\n\n/**\n * Removes event listeners from an element\n *\n * @param {Element|Object} elem\n * Object to remove listeners from.\n *\n * @param {string|string[]} [type]\n * Type of listener to remove. Don't include to remove all events from element.\n *\n * @param {EventTarget~EventListener} [fn]\n * Specific listener to remove. Don't include to remove listeners for an event\n * type.\n */\nfunction off(elem, type, fn) {\n // Don't want to add a cache object through getElData if not needed\n if (!hasData(elem)) {\n return;\n }\n\n var data = getData(elem);\n\n // If no events exist, nothing to unbind\n if (!data.handlers) {\n return;\n }\n\n if (Array.isArray(type)) {\n return _handleMultipleEvents(off, elem, type, fn);\n }\n\n // Utility function\n var removeType = function removeType(el, t) {\n data.handlers[t] = [];\n _cleanUpEvents(el, t);\n };\n\n // Are we removing all bound events?\n if (type === undefined) {\n for (var t in data.handlers) {\n if (Object.prototype.hasOwnProperty.call(data.handlers || {}, t)) {\n removeType(elem, t);\n }\n }\n return;\n }\n\n var handlers = data.handlers[type];\n\n // If no handlers exist, nothing to unbind\n if (!handlers) {\n return;\n }\n\n // If no listener was provided, remove all listeners for type\n if (!fn) {\n removeType(elem, type);\n return;\n }\n\n // We're only removing a single handler\n if (fn.guid) {\n for (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/**\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 prevented\n * - Otherwise returns undefined\n */\nfunction trigger(elem, event, hash) {\n // Fetches element data and a reference to the parent (for bubbling).\n // Don't want to add a data object to cache for every parent,\n // so checking hasElData first.\n var elemData = hasData(elem) ? getData(elem) : {};\n var parent = elem.parentNode || elem.ownerDocument;\n // type = event.type || event,\n // handler;\n\n // If an event name was passed as a string, creates an event out of it\n if (typeof event === 'string') {\n event = { type: event, target: elem };\n } else if (!event.target) {\n event.target = elem;\n }\n\n // Normalizes the event properties.\n event = fixEvent(event);\n\n // If the passed element has a dispatcher, executes the established handlers.\n if (elemData.dispatcher) {\n elemData.dispatcher.call(elem, event, hash);\n }\n\n // Unless explicitly stopped or the event does not bubble (e.g. media events)\n // recursively calls this function to bubble the event up the DOM.\n if (parent && !event.isPropagationStopped() && event.bubbles === true) {\n trigger.call(null, parent, event, hash);\n\n // If at the top of the DOM, triggers the default action unless disabled.\n } else if (!parent && !event.defaultPrevented) {\n var targetData = getData(event.target);\n\n // Checks if the target has a default action for this event.\n if (event.target[event.type]) {\n // Temporarily disables event dispatching on the target as we have already executed the handler.\n targetData.disabled = true;\n // Executes the default action.\n if (typeof event.target[event.type] === 'function') {\n event.target[event.type]();\n }\n // Re-enables event dispatching.\n targetData.disabled = false;\n }\n }\n\n // Inform the triggerer if the default was prevented by returning false\n return !event.defaultPrevented;\n}\n\n/**\n * Trigger a listener only once for an event\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event Listener function\n */\nfunction one(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(one, elem, type, fn);\n }\n var func = function func() {\n off(elem, type, func);\n fn.apply(this, arguments);\n };\n\n // copy the guid to the new function so it can removed using the original function's ID\n func.guid = fn.guid = fn.guid || newGUID();\n on(elem, type, func);\n}\n\nvar Events = (Object.freeze || Object)({\n\tfixEvent: fixEvent,\n\ton: on,\n\toff: off,\n\ttrigger: trigger,\n\tone: one\n});\n\n/**\n * @file setup.js - Functions for setting up a player without\n * user interaction based on the data-setup `attribute` of the video tag.\n *\n * @module setup\n */\nvar _windowLoaded = false;\nvar videojs$2 = void 0;\n\n/**\n * Set up any tags that have a data-setup `attribute` when the player is started.\n */\nvar autoSetup = function autoSetup() {\n\n // Protect against breakage in non-browser environments and check global autoSetup option.\n if (!isReal() || videojs$2.options.autoSetup === false) {\n return;\n }\n\n // One day, when we stop supporting IE8, go back to this, but in the meantime...*hack hack hack*\n // var vids = Array.prototype.slice.call(document.getElementsByTagName('video'));\n // var audios = Array.prototype.slice.call(document.getElementsByTagName('audio'));\n // var mediaEls = vids.concat(audios);\n\n // Because IE8 doesn't support calling slice on a node list, we need to loop\n // through each list of elements to build up a new, combined list of elements.\n var vids = document.getElementsByTagName('video');\n var audios = document.getElementsByTagName('audio');\n var divs = document.getElementsByTagName('video-js');\n var mediaEls = [];\n\n if (vids && vids.length > 0) {\n for (var i = 0, e = vids.length; i < e; i++) {\n mediaEls.push(vids[i]);\n }\n }\n\n if (audios && audios.length > 0) {\n for (var _i = 0, _e = audios.length; _i < _e; _i++) {\n mediaEls.push(audios[_i]);\n }\n }\n\n if (divs && divs.length > 0) {\n for (var _i2 = 0, _e2 = divs.length; _i2 < _e2; _i2++) {\n mediaEls.push(divs[_i2]);\n }\n }\n\n // Check if any media elements exist\n if (mediaEls && mediaEls.length > 0) {\n\n for (var _i3 = 0, _e3 = mediaEls.length; _i3 < _e3; _i3++) {\n var mediaEl = mediaEls[_i3];\n\n // Check if element exists, has getAttribute func.\n // IE seems to consider typeof el.getAttribute == 'object' instead of\n // 'function' like expected, at least when loading the player immediately.\n if (mediaEl && mediaEl.getAttribute) {\n\n // Make sure this player hasn't already been set up.\n if (mediaEl.player === undefined) {\n var options = mediaEl.getAttribute('data-setup');\n\n // Check if data-setup attr exists.\n // We only auto-setup if they've added the data-setup attr.\n if (options !== null) {\n // Create new video.js instance.\n videojs$2(mediaEl);\n }\n }\n\n // If getAttribute isn't defined, we need to wait for the DOM.\n } else {\n autoSetupTimeout(1);\n break;\n }\n }\n\n // No videos were found, so keep looping unless page is finished loading.\n } else if (!_windowLoaded) {\n autoSetupTimeout(1);\n }\n};\n\n/**\n * Wait until the page is loaded before running autoSetup. This will be called in\n * autoSetup if `hasLoaded` returns false.\n *\n * @param {number} wait\n * How long to wait in ms\n *\n * @param {module:videojs} [vjs]\n * The videojs library function\n */\nfunction autoSetupTimeout(wait, vjs) {\n if (vjs) {\n videojs$2 = vjs;\n }\n\n window.setTimeout(autoSetup, wait);\n}\n\nif (isReal() && document.readyState === 'complete') {\n _windowLoaded = true;\n} else {\n /**\n * Listen for the load event on window, and set _windowLoaded to true.\n *\n * @listens load\n */\n one(window, 'load', function () {\n _windowLoaded = true;\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 */\nvar createStyleElement = function createStyleElement(className) {\n var style = document.createElement('style');\n\n style.className = className;\n\n return style;\n};\n\n/**\n * Add text to a DOM element.\n *\n * @param {Element} el\n * The Element to add text content to.\n *\n * @param {string} content\n * The text to add to the element.\n */\nvar setTextContent = function setTextContent(el, content) {\n if (el.styleSheet) {\n el.styleSheet.cssText = content;\n } else {\n el.textContent = content;\n }\n};\n\n/**\n * @file fn.js\n * @module fn\n */\n/**\n * Bind (a.k.a proxy or Context). A simple method for changing the context of a function\n * It also stores a unique id on the function so it can be easily removed from events.\n *\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 */\nvar bind = function bind(context, fn, uid) {\n // Make sure the function has a unique ID\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n\n // Create the new function that changes the context\n var bound = function bound() {\n return fn.apply(context, arguments);\n };\n\n // Allow for the ability to individualize this function\n // Needed in the case where multiple objects might share the same prototype\n // IF both items add an event listener with the same function, then you try to remove just one\n // it will remove both because they both have the same guid.\n // when using this, you need to use the bind method when you remove the listener as well.\n // currently used in text tracks\n bound.guid = uid ? uid + '_' + fn.guid : fn.guid;\n\n return bound;\n};\n\n/**\n * Wraps the given function, `fn`, with a new function that only invokes `fn`\n * at most once per every `wait` milliseconds.\n *\n * @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 */\nvar throttle = function throttle(fn, wait) {\n var last = Date.now();\n\n var throttled = function throttled() {\n var now = Date.now();\n\n if (now - last >= wait) {\n fn.apply(undefined, arguments);\n last = now;\n }\n };\n\n return throttled;\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked.\n *\n * Inspired by lodash and underscore implementations.\n *\n * @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 */\nvar debounce = function debounce(func, wait, immediate) {\n var context = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window;\n\n var timeout = void 0;\n\n var cancel = function cancel() {\n context.clearTimeout(timeout);\n timeout = null;\n };\n\n /* eslint-disable consistent-this */\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 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 debounced.cancel = cancel;\n\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 */\nvar EventTarget = function EventTarget() {};\n\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 */\nEventTarget.prototype.allowedEvents_ = {};\n\n/**\n * Adds an `event listener` to an instance of an `EventTarget`. An `event listener` is a\n * function that will get called when an event with a certain name gets triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to call with `EventTarget`s\n */\nEventTarget.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 on(this, type, fn);\n this.addEventListener = ael;\n};\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 */\nEventTarget.prototype.addEventListener = EventTarget.prototype.on;\n\n/**\n * Removes an `event listener` for a specific event from an instance of `EventTarget`.\n * This makes it so that the `event listener` will no longer get called when the\n * named event happens.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to remove.\n */\nEventTarget.prototype.off = function (type, fn) {\n off(this, type, fn);\n};\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 */\nEventTarget.prototype.removeEventListener = EventTarget.prototype.off;\n\n/**\n * This function will add an `event listener` that gets triggered only once. After the\n * first trigger it will get removed. This is like adding an `event listener`\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on itself.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {EventTarget~EventListener} fn\n * The function to be called once for each event name.\n */\nEventTarget.prototype.one = function (type, fn) {\n // Remove the addEventListener alialing Events.on\n // so we don't get into an infinite type loop\n var ael = this.addEventListener;\n\n this.addEventListener = function () {};\n one(this, type, fn);\n this.addEventListener = ael;\n};\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 */\nEventTarget.prototype.trigger = function (event) {\n var type = event.type || event;\n\n if (typeof event === 'string') {\n event = { type: type };\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/**\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 */\nEventTarget.prototype.dispatchEvent = EventTarget.prototype.trigger;\n\n/**\n * @file mixins/evented.js\n * @module evented\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 */\nvar 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/**\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 */\nvar isValidEventType = function isValidEventType(type) {\n return (\n // The regex here verifies that the `type` contains at least one non-\n // whitespace character.\n typeof type === 'string' && /\\S/.test(type) || Array.isArray(type) && !!type.length\n );\n};\n\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 */\nvar validateTarget = function validateTarget(target) {\n if (!target.nodeName && !isEvented(target)) {\n throw new Error('Invalid target; must be a DOM node or evented object.');\n }\n};\n\n/**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the type does not appear to be a valid event type.\n *\n * @param {string|Array} type\n * The type to test.\n */\nvar validateEventType = function validateEventType(type) {\n if (!isValidEventType(type)) {\n throw new Error('Invalid event type; must be a non-empty string or array.');\n }\n};\n\n/**\n * Validates a value to determine if it is a valid listener. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the listener is not a function.\n *\n * @param {Function} listener\n * The listener to test.\n */\nvar validateListener = function validateListener(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Invalid listener; must be a function.');\n }\n};\n\n/**\n * Takes an array of arguments given to `on()` or `one()`, validates them, and\n * normalizes them into an object.\n *\n * @private\n * @param {Object} self\n * The evented object on which `on()` or `one()` was called. This\n * object will be bound as the `this` value for the listener.\n *\n * @param {Array} args\n * An array of arguments passed to `on()` or `one()`.\n *\n * @return {Object}\n * An object containing useful values for `on()` or `one()` calls.\n */\nvar normalizeListenArgs = function normalizeListenArgs(self, args) {\n\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 = void 0;\n var type = void 0;\n var listener = void 0;\n\n if (isTargetingSelf) {\n target = self.eventBusEl_;\n\n // Deal with cases where we got 3 arguments, but we are still listening to\n // the evented object itself.\n if (args.length >= 3) {\n args.shift();\n }\n\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);\n validateEventType(type);\n validateListener(listener);\n\n listener = bind(self, listener);\n\n return { isTargetingSelf: isTargetingSelf, target: target, type: type, 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 */\nvar listen = function listen(target, method, type, listener) {\n validateTarget(target);\n\n if (target.nodeName) {\n Events[method](target, type, listener);\n } else {\n target[method](type, listener);\n }\n};\n\n/**\n * Contains methods that provide event capabilites to an object which is passed\n * to {@link module:evented|evented}.\n *\n * @mixin EventedMixin\n */\nvar EventedMixin = {\n\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$$1() {\n var _this = this;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _normalizeListenArgs = normalizeListenArgs(this, args),\n isTargetingSelf = _normalizeListenArgs.isTargetingSelf,\n target = _normalizeListenArgs.target,\n type = _normalizeListenArgs.type,\n listener = _normalizeListenArgs.listener;\n\n listen(target, 'on', type, listener);\n\n // If this object is listening to another evented object.\n if (!isTargetingSelf) {\n\n // If this object is disposed, remove the listener.\n var removeListenerOnDispose = function removeListenerOnDispose() {\n return _this.off(target, type, listener);\n };\n\n // Use the same function ID as the listener so we can remove it later it\n // using the ID of the original listener.\n removeListenerOnDispose.guid = listener.guid;\n\n // Add a listener to the target's dispose event as well. This ensures\n // that if the target is disposed BEFORE this object, we remove the\n // removal listener that was just added. Otherwise, we create a memory leak.\n var removeRemoverOnTargetDispose = function removeRemoverOnTargetDispose() {\n return _this.off('dispose', removeListenerOnDispose);\n };\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n removeRemoverOnTargetDispose.guid = listener.guid;\n\n listen(this, 'on', 'dispose', removeListenerOnDispose);\n listen(target, 'on', 'dispose', removeRemoverOnTargetDispose);\n }\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 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$$1() {\n var _this2 = this;\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var _normalizeListenArgs2 = normalizeListenArgs(this, args),\n isTargetingSelf = _normalizeListenArgs2.isTargetingSelf,\n target = _normalizeListenArgs2.target,\n type = _normalizeListenArgs2.type,\n listener = _normalizeListenArgs2.listener;\n\n // Targeting this evented object.\n\n\n if (isTargetingSelf) {\n listen(target, 'one', type, listener);\n\n // Targeting another evented object.\n } else {\n var wrapper = function wrapper() {\n for (var _len3 = arguments.length, largs = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n largs[_key3] = arguments[_key3];\n }\n\n _this2.off(target, type, wrapper);\n listener.apply(null, largs);\n };\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n wrapper.guid = listener.guid;\n listen(target, 'one', type, wrapper);\n }\n },\n\n\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\n // Targeting this evented object.\n if (!targetOrType || isValidEventType(targetOrType)) {\n off(this.eventBusEl_, targetOrType, typeOrListener);\n\n // Targeting another evented object.\n } else {\n var target = targetOrType;\n var type = typeOrListener;\n\n // Fail fast and in a meaningful way!\n validateTarget(target);\n validateEventType(type);\n validateListener(listener);\n\n // Ensure there's at least a guid, even if the function hasn't been used\n listener = bind(this, listener);\n\n // Remove the dispose listener on this evented object, which was given\n // the same guid as the event listener in on().\n this.off('dispose', listener);\n\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 /**\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 * @returns {boolean}\n * Whether or not the default behavior was prevented.\n */\n trigger: function trigger$$1(event, hash) {\n return trigger(this.eventBusEl_, event, hash);\n }\n};\n\n/**\n * Applies {@link module:evented~EventedMixin|EventedMixin} to a target object.\n *\n * @param {Object} target\n * The object to which to add event methods.\n *\n * @param {Object} [options={}]\n * Options for customizing the mixin behavior.\n *\n * @param {String} [options.eventBusKey]\n * By default, adds a `eventBusEl_` DOM element to the target object,\n * which is used as an event bus. If the target object already has a\n * DOM element that should be used, pass its key here.\n *\n * @return {Object}\n * The target object.\n */\nfunction evented(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var eventBusKey = options.eventBusKey;\n\n // 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 target.eventBusEl_ = target[eventBusKey];\n } else {\n target.eventBusEl_ = createEl('span', { className: 'vjs-event-bus' });\n }\n\n assign(target, EventedMixin);\n\n // When any evented object is disposed, it removes all its listeners.\n target.on('dispose', function () {\n target.off();\n window.setTimeout(function () {\n target.eventBusEl_ = null;\n }, 0);\n });\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 */\nvar StatefulMixin = {\n\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 * @returns {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 = void 0;\n\n each(stateUpdates, function (value, key) {\n\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 });\n\n // Only trigger \"statechange\" if there were changes AND we have a trigger\n // function. This allows us to not require that the target object be an\n // evented object.\n if (changes && isEvented(this)) {\n\n /**\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/**\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 * @returns {Object}\n * Returns the `target`.\n */\nfunction stateful(target, defaultState) {\n assign(target, StatefulMixin);\n\n // This happens after the mixing-in because we need to replace the `state`\n // added in that step.\n target.state = assign({}, target.state, defaultState);\n\n // Auto-bind the `handleStateChanged` method of the target object if it exists.\n if (typeof target.handleStateChanged === 'function' && isEvented(target)) {\n target.on('statechanged', target.handleStateChanged);\n }\n\n return target;\n}\n\n/**\n * @file to-title-case.js\n * @module to-title-case\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 */\nfunction toTitleCase(string) {\n if (typeof string !== 'string') {\n return string;\n }\n\n return string.charAt(0).toUpperCase() + string.slice(1);\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 */\nfunction titleCaseEquals(str1, str2) {\n return toTitleCase(str1) === toTitleCase(str2);\n}\n\n/**\n * @file merge-options.js\n * @module merge-options\n */\n/**\n * Deep-merge one or more options objects, recursively merging **only** plain\n * object properties.\n *\n * @param {Object[]} sources\n * One or more objects to merge into a new object.\n *\n * @returns {Object}\n * A new object that is the merged result of all sources.\n */\nfunction mergeOptions() {\n var result = {};\n\n for (var _len = arguments.length, sources = 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\n return result;\n}\n\n/**\n * Player Component - Base class for all UI objects\n *\n * @file component.js\n */\n/**\n * Base class for all UI Components.\n * Components are UI objects which represent both a javascript object and an element\n * in the DOM. They can be children of other components, and can have\n * children themselves.\n *\n * Components can also use methods from {@link EventTarget}\n */\n\nvar Component = function () {\n\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 classCallCheck(this, Component);\n\n\n // The component might be the player itself and we can't pass `this` to super\n if (!player && this.play) {\n this.player_ = player = this; // eslint-disable-line\n } else {\n this.player_ = player;\n }\n\n // Make a copy of prototype.options_ to protect against overriding defaults\n this.options_ = mergeOptions({}, this.options_);\n\n // Updated options with supplied options\n options = this.options_ = mergeOptions(this.options_, options);\n\n // Get ID from options or options element if one is supplied\n this.id_ = options.id || options.el && options.el.id;\n\n // If there was no ID from the options, generate one\n if (!this.id_) {\n // Don't require the player ID function in the case of mock players\n var id = player && player.id && player.id() || 'no_player';\n\n this.id_ = id + '_component_' + newGUID();\n }\n\n this.name_ = options.name || null;\n\n // Create element if one wasn't provided in options\n if (options.el) {\n this.el_ = options.el;\n } else if (options.createEl !== false) {\n this.el_ = this.createEl();\n }\n\n // if evented is anything except false, we want to mixin in evented\n if (options.evented !== false) {\n // Make this an evented object and use `el_`, if available, as its event bus\n evented(this, { eventBusKey: this.el_ ? 'el_' : null });\n }\n stateful(this, this.constructor.defaultState);\n\n this.children_ = [];\n this.childIndex_ = {};\n this.childNameIndex_ = {};\n\n // Add any child components in options\n if (options.initChildren !== false) {\n this.initChildren();\n }\n\n this.ready(ready);\n // 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 /**\n * Dispose of the `Component` and all child components.\n *\n * @fires Component#dispose\n */\n\n\n Component.prototype.dispose = function dispose() {\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 close event does not\n * bubble up\n */\n this.trigger({ type: 'dispose', bubbles: false });\n\n // Dispose all children.\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 }\n\n // Delete child references\n this.children_ = null;\n this.childIndex_ = null;\n this.childNameIndex_ = 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 removeData(this.el_);\n this.el_ = null;\n }\n\n // remove reference to the player after disposing of the element\n this.player_ = null;\n };\n\n /**\n * 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 Component.prototype.player = function player() {\n return this.player_;\n };\n\n /**\n * Deep merge of options objects with new options.\n * > Note: When both `obj` and `options` contain properties whose values are objects.\n * The two properties get merged using {@link module: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 * @deprecated since version 5\n */\n\n\n Component.prototype.options = function options(obj) {\n log.warn('this.options() has been deprecated and will be moved to the constructor in 6.0');\n\n if (!obj) {\n return this.options_;\n }\n\n this.options_ = mergeOptions(this.options_, obj);\n return this.options_;\n };\n\n /**\n * Get the `Component`s DOM element\n *\n * @return {Element}\n * The DOM element for this `Component`.\n */\n\n\n Component.prototype.el = function el() {\n return this.el_;\n };\n\n /**\n * Create the `Component`s DOM element.\n *\n * @param {string} [tagName]\n * Element's DOM node type. e.g. 'div'\n *\n * @param {Object} [properties]\n * An object of properties that should be set.\n *\n * @param {Object} [attributes]\n * An object of attributes that should be set.\n *\n * @return {Element}\n * The element that gets created.\n */\n\n\n Component.prototype.createEl = function createEl$$1(tagName, properties, attributes) {\n return createEl(tagName, properties, attributes);\n };\n\n /**\n * Localize a string given the string in english.\n *\n * If tokens are provided, it'll try and run a simple token replacement on the provided string.\n * The tokens it looks for look like `{1}` with the index being 1-indexed into the tokens array.\n *\n * If a `defaultValue` is provided, it'll use that over `string`,\n * if a value isn't found in provided language files.\n * This is useful if you want to have a descriptive key for token replacement\n * but have a succinct localized string and not require `en.json` to be included.\n *\n * Currently, it is used for the progress bar timing.\n * ```js\n * {\n * \"progress bar timing: currentTime={1} duration={2}\": \"{1} of {2}\"\n * }\n * ```\n * It is then used like so:\n * ```js\n * this.localize('progress bar timing: currentTime={1} duration{2}',\n * [this.player_.currentTime(), this.player_.duration()],\n * '{1} of {2}');\n * ```\n *\n * Which outputs something like: `01:23 of 24:56`.\n *\n *\n * @param {string} string\n * The string to localize and the key to lookup in the language files.\n * @param {string[]} [tokens]\n * If the current item has token replacements, provide the tokens here.\n * @param {string} [defaultValue]\n * Defaults to `string`. Can be a default value to use for token replacement\n * if the lookup key is needed to be separate.\n *\n * @return {string}\n * The localized string or if no localization exists the english string.\n */\n\n\n Component.prototype.localize = function localize(string, tokens) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : string;\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\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 /**\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 Component.prototype.contentEl = function contentEl() {\n return this.contentEl_ || this.el_;\n };\n\n /**\n * Get this `Component`s ID\n *\n * @return {string}\n * The id of this `Component`\n */\n\n\n Component.prototype.id = function id() {\n return this.id_;\n };\n\n /**\n * Get the `Component`s name. The name gets used to reference the `Component`\n * and is set during registration.\n *\n * @return {string}\n * The name of this `Component`.\n */\n\n\n Component.prototype.name = function name() {\n return this.name_;\n };\n\n /**\n * Get an array of all child components\n *\n * @return {Array}\n * The children\n */\n\n\n Component.prototype.children = function children() {\n return this.children_;\n };\n\n /**\n * Returns the child `Component` with the given `id`.\n *\n * @param {string} id\n * The id of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `id` or undefined.\n */\n\n\n Component.prototype.getChildById = function getChildById(id) {\n return this.childIndex_[id];\n };\n\n /**\n * Returns the child `Component` with the given `name`.\n *\n * @param {string} name\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `name` or undefined.\n */\n\n\n Component.prototype.getChild = function getChild(name) {\n if (!name) {\n return;\n }\n\n name = toTitleCase(name);\n\n return this.childNameIndex_[name];\n };\n\n /**\n * Add a child `Component` inside the current `Component`.\n *\n *\n * @param {string|Component} child\n * The name or instance of a child to add.\n *\n * @param {Object} [options={}]\n * The key/value store of options that will get passed to children of\n * the child.\n *\n * @param {number} [index=this.children_.length]\n * The index to attempt to add a child into.\n *\n * @return {Component}\n * The `Component` that gets added as a child. When using a string the\n * `Component` will get created by this process.\n */\n\n\n Component.prototype.addChild = function addChild(child) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.children_.length;\n\n var component = void 0;\n var componentName = void 0;\n\n // If child is a string, create component with options\n if (typeof child === 'string') {\n componentName = toTitleCase(child);\n\n var componentClassName = options.componentClass || componentName;\n\n // Set name through options\n options.name = componentName;\n\n // Create a new object & element for this controls set\n // If there's no .player_, this is a player\n var ComponentClass = Component.getComponent(componentClassName);\n\n if (!ComponentClass) {\n throw new Error('Component ' + componentClassName + ' does not exist');\n }\n\n // data stored directly on the videojs object may be\n // misidentified as a component to retain\n // backwards-compatibility with 4.x. check to make sure the\n // component class can be instantiated.\n if (typeof ComponentClass !== 'function') {\n return null;\n }\n\n component = new ComponentClass(this.player_ || this, options);\n\n // child is a component instance\n } else {\n component = child;\n }\n\n this.children_.splice(index, 0, component);\n\n if (typeof component.id === 'function') {\n this.childIndex_[component.id()] = component;\n }\n\n // If a name wasn't used to create the component, check if we can use the\n // name function of the component\n componentName = componentName || component.name && toTitleCase(component.name());\n\n if (componentName) {\n this.childNameIndex_[componentName] = component;\n }\n\n // Add the UI object's element to the container div (box)\n // Having an element is not required\n if (typeof component.el === 'function' && component.el()) {\n var childNodes = this.contentEl().children;\n var refNode = childNodes[index] || null;\n\n this.contentEl().insertBefore(component.el(), refNode);\n }\n\n // Return so it can stored on parent object if desired.\n return component;\n };\n\n /**\n * Remove a child `Component` from this `Component`s list of children. Also removes\n * the child `Component`s element from this `Component`s element.\n *\n * @param {Component} component\n * The child `Component` to remove.\n */\n\n\n Component.prototype.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 this.childIndex_[component.id()] = null;\n this.childNameIndex_[component.name()] = null;\n\n var compEl = component.el();\n\n if (compEl && compEl.parentNode === this.contentEl()) {\n this.contentEl().removeChild(component.el());\n }\n };\n\n /**\n * Add and initialize default child `Component`s based upon options.\n */\n\n\n Component.prototype.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;\n\n // Allow options for children to be set at the parent options\n // e.g. videojs(id, { controlBar: false });\n // instead of videojs(id, { children: { controlBar: false });\n if (parentOptions[name] !== undefined) {\n opts = parentOptions[name];\n }\n\n // Allow for disabling default components\n // e.g. options['children']['posterImage'] = false\n if (opts === false) {\n return;\n }\n\n // Allow options to be passed as a simple boolean if no configuration\n // is necessary.\n if (opts === true) {\n opts = {};\n }\n\n // We also want to pass the original player options\n // to each component as well so they don't need to\n // reach back into the player for options later.\n opts.playerOptions = _this.options_.playerOptions;\n\n // Create and add the child component.\n // Add a direct reference to the child by name on the parent instance.\n // If two of the same component are used, different names should be supplied\n // for each\n var newChild = _this.addChild(name, opts);\n\n if (newChild) {\n _this[name] = newChild;\n }\n };\n\n // Allow for an array of children details to passed in the options\n var workingChildren = void 0;\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\n // children that are in this.options_ but also in workingChildren would\n // give us extra children we do not want. So, we want to filter them out.\n .concat(Object.keys(this.options_).filter(function (child) {\n return !workingChildren.some(function (wchild) {\n if (typeof wchild === 'string') {\n return child === wchild;\n }\n return child === wchild.name;\n });\n })).map(function (child) {\n var name = void 0;\n var opts = void 0;\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 { name: name, opts: opts };\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\n return c && !Tech.isTech(c);\n }).forEach(handleAdd);\n }\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 Component.prototype.buildCSSClass = function buildCSSClass() {\n // Child classes can include a function that does:\n // return 'CLASS NAME' + this._super();\n return '';\n };\n\n /**\n * Bind a listener to the component's ready state.\n * Different from event listeners in that if the ready event has already happened\n * it will trigger the function immediately.\n *\n * @return {Component}\n * Returns itself; method can be chained.\n */\n\n\n Component.prototype.ready = function ready(fn) {\n var sync = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\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 /**\n * Trigger all the ready listeners for this `Component`.\n *\n * @fires Component#ready\n */\n\n\n Component.prototype.triggerReady = function triggerReady() {\n this.isReady_ = true;\n\n // Ensure ready is triggered asynchronously\n this.setTimeout(function () {\n var readyQueue = this.readyQueue_;\n\n // Reset Ready Queue\n this.readyQueue_ = [];\n\n if (readyQueue && readyQueue.length > 0) {\n readyQueue.forEach(function (fn) {\n fn.call(this);\n }, this);\n }\n\n // Allow for using event listeners also\n /**\n * Triggered when a `Component` is ready.\n *\n * @event Component#ready\n * @type {EventTarget~Event}\n */\n this.trigger('ready');\n }, 1);\n };\n\n /**\n * Find a single DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {Element|null}\n * the dom element that was found, or null\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n\n\n Component.prototype.$ = function $$$1(selector, context) {\n return $(selector, context || this.contentEl());\n };\n\n /**\n * Finds all DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {NodeList}\n * a list of dom elements that were found\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n\n\n Component.prototype.$$ = function $$$$1(selector, context) {\n return $$(selector, context || this.contentEl());\n };\n\n /**\n * Check if a component's element has a CSS class name.\n *\n * @param {string} classToCheck\n * CSS class name to check.\n *\n * @return {boolean}\n * - True if the `Component` has the class.\n * - False if the `Component` does not have the class`\n */\n\n\n Component.prototype.hasClass = function hasClass$$1(classToCheck) {\n return hasClass(this.el_, classToCheck);\n };\n\n /**\n * Add a CSS class name to the `Component`s element.\n *\n * @param {string} classToAdd\n * CSS class name to add\n */\n\n\n Component.prototype.addClass = function addClass$$1(classToAdd) {\n addClass(this.el_, classToAdd);\n };\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 Component.prototype.removeClass = function removeClass$$1(classToRemove) {\n removeClass(this.el_, classToRemove);\n };\n\n /**\n * Add or remove a CSS class name from the component's element.\n * - `classToToggle` gets added when {@link Component#hasClass} would return false.\n * - `classToToggle` gets removed when {@link Component#hasClass} would return true.\n *\n * @param {string} classToToggle\n * The class to add or remove based on (@link Component#hasClass}\n *\n * @param {boolean|Dom~predicate} [predicate]\n * An {@link Dom~predicate} function or a boolean\n */\n\n\n Component.prototype.toggleClass = function toggleClass$$1(classToToggle, predicate) {\n toggleClass(this.el_, classToToggle, predicate);\n };\n\n /**\n * Show the `Component`s element if it is hidden by removing the\n * 'vjs-hidden' class name from it.\n */\n\n\n Component.prototype.show = function show() {\n this.removeClass('vjs-hidden');\n };\n\n /**\n * Hide the `Component`s element if it is currently showing by adding the\n * 'vjs-hidden` class name to it.\n */\n\n\n Component.prototype.hide = function hide() {\n this.addClass('vjs-hidden');\n };\n\n /**\n * Lock a `Component`s element in its visible state by adding the 'vjs-lock-showing'\n * class name to it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n\n\n Component.prototype.lockShowing = function lockShowing() {\n this.addClass('vjs-lock-showing');\n };\n\n /**\n * Unlock a `Component`s element from its visible state by removing the 'vjs-lock-showing'\n * class name from it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n\n\n Component.prototype.unlockShowing = function unlockShowing() {\n this.removeClass('vjs-lock-showing');\n };\n\n /**\n * Get the value of an attribute on the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to get the value from.\n *\n * @return {string|null}\n * - The value of the attribute that was asked for.\n * - Can be an empty string on some browsers if the attribute does not exist\n * or has no value\n * - Most browsers will return null if the 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 Component.prototype.getAttribute = function getAttribute$$1(attribute) {\n return getAttribute(this.el_, attribute);\n };\n\n /**\n * Set the value of an attribute on the `Component`'s element\n *\n * @param {string} attribute\n * Name of the attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute}\n */\n\n\n Component.prototype.setAttribute = function setAttribute$$1(attribute, value) {\n setAttribute(this.el_, attribute, value);\n };\n\n /**\n * Remove an attribute from the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to remove.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute}\n */\n\n\n Component.prototype.removeAttribute = function removeAttribute$$1(attribute) {\n removeAttribute(this.el_, attribute);\n };\n\n /**\n * Get or set the width of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The width that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n\n\n Component.prototype.width = function width(num, skipListeners) {\n return this.dimension('width', num, skipListeners);\n };\n\n /**\n * Get or set the height of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The height that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|string}\n * The width when getting, zero if there is no width. Can be a string\n * postpixed with '%' or 'px'.\n */\n\n\n Component.prototype.height = function height(num, skipListeners) {\n return this.dimension('height', num, skipListeners);\n };\n\n /**\n * Set both the width and height of the `Component` element at the same time.\n *\n * @param {number|string} width\n * Width to set the `Component`s element to.\n *\n * @param {number|string} height\n * Height to set the `Component`s element to.\n */\n\n\n Component.prototype.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 /**\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 Component.prototype.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 }\n\n // Check if using css width/height (% or px) and adjust\n if (('' + num).indexOf('%') !== -1 || ('' + num).indexOf('px') !== -1) {\n this.el_.style[widthOrHeight] = num;\n } else if (num === 'auto') {\n this.el_.style[widthOrHeight] = '';\n } else {\n this.el_.style[widthOrHeight] = num + 'px';\n }\n\n // skipListeners allows us to avoid triggering the resize event when setting both width and height\n if (!skipListeners) {\n /**\n * Triggered when a component is resized.\n *\n * @event Component#componentresize\n * @type {EventTarget~Event}\n */\n this.trigger('componentresize');\n }\n\n return;\n }\n\n // Not setting a value, so getting it\n // Make sure element exists\n if (!this.el_) {\n return 0;\n }\n\n // Get dimension value from style\n 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 }\n\n // No px so using % or no style was set, so falling back to offsetWidth/height\n // If component has display:none, offset will return 0\n // TODO: handle display:none and no dimension style using px\n return parseInt(this.el_['offset' + toTitleCase(widthOrHeight)], 10);\n };\n\n /**\n * Get the computed width or the height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @param {string} widthOrHeight\n * A string containing 'width' or 'height'. Whichever one you want to get.\n *\n * @return {number}\n * The dimension that gets asked for or 0 if nothing was set\n * for that dimension.\n */\n\n\n Component.prototype.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 if (typeof window.getComputedStyle === 'function') {\n var computedStyle = window.getComputedStyle(this.el_);\n\n computedWidthOrHeight = computedStyle.getPropertyValue(widthOrHeight) || computedStyle[widthOrHeight];\n }\n\n // remove 'px' from variable and parse as integer\n computedWidthOrHeight = parseFloat(computedWidthOrHeight);\n\n // if the computed value is still 0, it's possible that the browser is lying\n // and we want to check the offset values.\n // This code also runs on IE8 and wherever getComputedStyle doesn't exist.\n if (computedWidthOrHeight === 0) {\n var rule = 'offset' + toTitleCase(widthOrHeight);\n\n computedWidthOrHeight = this.el_[rule];\n }\n\n return computedWidthOrHeight;\n };\n\n /**\n * An object that contains width and height values of the `Component`s\n * computed style. Uses `window.getComputedStyle`.\n *\n * @typedef {Object} Component~DimensionObject\n *\n * @property {number} width\n * The width of the `Component`s computed style.\n *\n * @property {number} height\n * The height of the `Component`s computed style.\n */\n\n /**\n * Get an object that contains computed width and height values of the\n * component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {Component~DimensionObject}\n * The computed dimensions of the component's element.\n */\n\n\n Component.prototype.currentDimensions = function currentDimensions() {\n return {\n width: this.currentDimension('width'),\n height: this.currentDimension('height')\n };\n };\n\n /**\n * Get the computed width of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed width of the component's element.\n */\n\n\n Component.prototype.currentWidth = function currentWidth() {\n return this.currentDimension('width');\n };\n\n /**\n * Get the computed height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed height of the component's element.\n */\n\n\n Component.prototype.currentHeight = function currentHeight() {\n return this.currentDimension('height');\n };\n\n /**\n * Set the focus to this component\n */\n\n\n Component.prototype.focus = function focus() {\n this.el_.focus();\n };\n\n /**\n * Remove the focus from this component\n */\n\n\n Component.prototype.blur = function blur() {\n this.el_.blur();\n };\n\n /**\n * Emit a 'tap' events when touch event support gets detected. This gets used to\n * support toggling the controls through a tap on the video. They get enabled\n * because every sub-component would have extra overhead otherwise.\n *\n * @private\n * @fires Component#tap\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchleave\n * @listens Component#touchcancel\n * @listens Component#touchend\n */\n\n\n Component.prototype.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;\n\n // Maximum movement allowed during a touch event to still be considered a tap\n // Other popular libs use anywhere from 2 (hammer.js) to 15,\n // so 10 seems like a nice, round number.\n var tapMovementThreshold = 10;\n\n // The maximum length a touch can be while still being considered a tap\n var touchTimeThreshold = 200;\n\n var couldBeTap = void 0;\n\n this.on('touchstart', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length === 1) {\n // Copy pageX/pageY from the object\n firstTouch = {\n pageX: event.touches[0].pageX,\n pageY: event.touches[0].pageY\n };\n // Record start time so we can detect a tap vs. \"touch and hold\"\n touchStart = new Date().getTime();\n // Reset couldBeTap tracking\n couldBeTap = true;\n }\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 };\n\n // TODO: Listen to the original target. http://youtu.be/DujfpXOKUp8?t=13m8s\n this.on('touchleave', noTap);\n this.on('touchcancel', noTap);\n\n // When the touch ends, measure how long it took and trigger the appropriate\n // event\n this.on('touchend', function (event) {\n firstTouch = null;\n // Proceed only if the touchmove/leave/cancel event didn't happen\n if (couldBeTap === true) {\n // Measure how long the touch lasted\n var touchTime = new Date().getTime() - touchStart;\n\n // Make sure the touch was less than the threshold to be considered a tap\n if (touchTime < touchTimeThreshold) {\n // Don't let browser turn this into a click\n event.preventDefault();\n /**\n * Triggered when a `Component` is tapped.\n *\n * @event Component#tap\n * @type {EventTarget~Event}\n */\n this.trigger('tap');\n // It may be good to copy the touchend event object and change the\n // type to tap, if the other event properties aren't exact after\n // Events.fixEvent runs (e.g. event.target)\n }\n }\n });\n };\n\n /**\n * This function reports user activity whenever touch events happen. This can get\n * turned off by any sub-components that wants touch events to act another way.\n *\n * Report user touch activity when touch events occur. User activity gets used to\n * determine when controls should show/hide. It is simple when it comes to mouse\n * events, because any mouse event should show the controls. So we capture mouse\n * events that bubble up to the player and report activity when that happens.\n * With touch events it isn't as easy as `touchstart` and `touchend` toggle player\n * controls. So touch events can't help us at the player level either.\n *\n * User activity gets checked asynchronously. So what could happen is a tap event\n * on the video turns the controls off. Then the `touchend` event bubbles up to\n * the player. Which, if it reported user activity, would turn the controls right\n * back on. We also don't want to completely block touch events from bubbling up.\n * Furthermore a `touchmove` event and anything other than a tap, should not turn\n * controls back on.\n *\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchend\n * @listens Component#touchcancel\n */\n\n\n Component.prototype.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 }\n\n // listener for reporting that the user is active\n var report = bind(this.player(), this.player().reportUserActivity);\n\n var touchHolding = void 0;\n\n this.on('touchstart', function () {\n report();\n // For as long as the they are touching the device or have their mouse down,\n // we consider them active even if they're not moving their finger or mouse.\n // So we want to continue to update that they are active\n this.clearInterval(touchHolding);\n // report at the same interval as activityCheck\n touchHolding = this.setInterval(report, 250);\n });\n\n var touchEnd = function touchEnd(event) {\n report();\n // stop the interval that maintains activity if the touch is holding\n this.clearInterval(touchHolding);\n };\n\n this.on('touchmove', report);\n this.on('touchend', touchEnd);\n this.on('touchcancel', touchEnd);\n };\n\n /**\n * A callback that has no parameters and is bound into `Component`s context.\n *\n * @callback Component~GenericCallback\n * @this Component\n */\n\n /**\n * Creates a function that runs after an `x` millisecond timeout. This function is a\n * wrapper around `window.setTimeout`. There are a few reasons to use this one\n * instead though:\n * 1. It gets cleared via {@link Component#clearTimeout} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will gets turned into a {@link Component~GenericCallback}\n *\n * > Note: You can't use `window.clearTimeout` on the id returned by this function. This\n * will cause its dispose listener not to get cleaned up! Please use\n * {@link Component#clearTimeout} or {@link Component#dispose} instead.\n *\n * @param {Component~GenericCallback} fn\n * The function that will be run after `timeout`.\n *\n * @param {number} timeout\n * Timeout in milliseconds to delay before executing the specified function.\n *\n * @return {number}\n * Returns a timeout ID that gets used to identify the timeout. It can also\n * get used in {@link Component#clearTimeout} to clear the timeout that\n * was set.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout}\n */\n\n\n Component.prototype.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, disposeFn;\n\n fn = bind(this, fn);\n\n timeoutId = window.setTimeout(function () {\n _this2.off('dispose', disposeFn);\n fn();\n }, timeout);\n\n disposeFn = function disposeFn() {\n return _this2.clearTimeout(timeoutId);\n };\n\n disposeFn.guid = 'vjs-timeout-' + timeoutId;\n\n this.on('dispose', disposeFn);\n\n return timeoutId;\n };\n\n /**\n * Clears a timeout that gets created via `window.setTimeout` or\n * {@link Component#setTimeout}. If you set a timeout via {@link Component#setTimeout}\n * use this function instead of `window.clearTimout`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} timeoutId\n * The id of the timeout to clear. The return value of\n * {@link Component#setTimeout} or `window.setTimeout`.\n *\n * @return {number}\n * Returns the timeout id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearTimeout}\n */\n\n\n Component.prototype.clearTimeout = function clearTimeout(timeoutId) {\n window.clearTimeout(timeoutId);\n\n var disposeFn = function disposeFn() {};\n\n disposeFn.guid = 'vjs-timeout-' + timeoutId;\n\n this.off('dispose', disposeFn);\n\n return timeoutId;\n };\n\n /**\n * Creates a function that gets run every `x` milliseconds. This function is a wrapper\n * around `window.setInterval`. There are a few reasons to use this one instead though.\n * 1. It gets cleared via {@link Component#clearInterval} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will be a {@link Component~GenericCallback}\n *\n * @param {Component~GenericCallback} fn\n * The function to run every `x` seconds.\n *\n * @param {number} interval\n * Execute the specified function every `x` milliseconds.\n *\n * @return {number}\n * Returns an id that can be used to identify the interval. It can also be be used in\n * {@link Component#clearInterval} to clear the interval.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval}\n */\n\n\n Component.prototype.setInterval = function setInterval(fn, interval) {\n var _this3 = this;\n\n fn = bind(this, fn);\n\n var intervalId = window.setInterval(fn, interval);\n\n var disposeFn = function disposeFn() {\n return _this3.clearInterval(intervalId);\n };\n\n disposeFn.guid = 'vjs-interval-' + intervalId;\n\n this.on('dispose', disposeFn);\n\n return intervalId;\n };\n\n /**\n * Clears an interval that gets created via `window.setInterval` or\n * {@link Component#setInterval}. If you set an 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 Component.prototype.clearInterval = function clearInterval(intervalId) {\n window.clearInterval(intervalId);\n\n var disposeFn = function disposeFn() {};\n\n disposeFn.guid = 'vjs-interval-' + intervalId;\n\n this.off('dispose', disposeFn);\n\n return intervalId;\n };\n\n /**\n * Queues up a callback to be passed to requestAnimationFrame (rAF), but\n * with a few extra bonuses:\n *\n * - Supports browsers that do not support rAF by falling back to\n * {@link Component#setTimeout}.\n *\n * - The callback is turned into a {@link Component~GenericCallback} (i.e.\n * bound to the component).\n *\n * - Automatic cancellation of the rAF callback is handled if the component\n * is disposed before it is called.\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n *\n * @return {number}\n * Returns an rAF ID that gets used to identify the timeout. It can\n * also be used in {@link Component#cancelAnimationFrame} to cancel\n * the animation frame callback.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame}\n */\n\n\n Component.prototype.requestAnimationFrame = function requestAnimationFrame(fn) {\n var _this4 = this;\n\n // declare as variables so they are properly available in rAF function\n // eslint-disable-next-line\n var id, disposeFn;\n\n if (this.supportsRaf_) {\n fn = bind(this, fn);\n\n id = window.requestAnimationFrame(function () {\n _this4.off('dispose', disposeFn);\n fn();\n });\n\n disposeFn = function disposeFn() {\n return _this4.cancelAnimationFrame(id);\n };\n\n disposeFn.guid = 'vjs-raf-' + id;\n this.on('dispose', disposeFn);\n\n return id;\n }\n\n // Fall back to using a timer.\n return this.setTimeout(fn, 1000 / 60);\n };\n\n /**\n * Cancels a queued callback passed to {@link Component#requestAnimationFrame}\n * (rAF).\n *\n * If you queue an rAF callback via {@link Component#requestAnimationFrame},\n * use this function instead of `window.cancelAnimationFrame`. If you don't,\n * your dispose listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} id\n * The rAF ID to clear. The return value of {@link Component#requestAnimationFrame}.\n *\n * @return {number}\n * Returns the rAF ID that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/cancelAnimationFrame}\n */\n\n\n Component.prototype.cancelAnimationFrame = function cancelAnimationFrame(id) {\n if (this.supportsRaf_) {\n window.cancelAnimationFrame(id);\n\n var disposeFn = function disposeFn() {};\n\n disposeFn.guid = 'vjs-raf-' + id;\n\n this.off('dispose', disposeFn);\n\n return id;\n }\n\n // Fall back to using a timer.\n return this.clearTimeout(id);\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');\n\n // We need to make sure this check is only done if Tech has been registered.\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 = void 0;\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);\n\n // If we have players that were disposed, then their name will still be\n // in Players.players. So, we must loop through and verify that the value\n // for each item is not null. This allows registration of the Player component\n // after all players have been disposed or before any were created.\n if (players && playerNames.length > 0 && playerNames.map(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\n return ComponentToRegister;\n };\n\n /**\n * Get a `Component` based on the name it was registered with.\n *\n * @param {string} name\n * The Name of the component to get.\n *\n * @return {Component}\n * The `Component` that got registered under the given name.\n *\n * @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) {\n return;\n }\n\n name = toTitleCase(name);\n\n if (Component.components_ && Component.components_[name]) {\n return Component.components_[name];\n }\n };\n\n return Component;\n}();\n\n/**\n * Whether or not this component supports `requestAnimationFrame`.\n *\n * This is exposed primarily for testing purposes.\n *\n * @private\n * @type {Boolean}\n */\n\n\nComponent.prototype.supportsRaf_ = typeof window.requestAnimationFrame === 'function' && typeof window.cancelAnimationFrame === 'function';\n\nComponent.registerComponent('Component', Component);\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 * @function time-ranges:indexFunction\n *\n * @param {number} [index=0]\n * The range number to return the time for.\n *\n * @return {number}\n * The time that offset at the specified index.\n *\n * @depricated index must be set to a value, in the future this will throw an error.\n */\n\n/**\n * An object that contains ranges of time for various reasons.\n *\n * @typedef {Object} TimeRange\n *\n * @property {number} length\n * The number of time ranges represented by this Object\n *\n * @property {time-ranges:indexFunction} start\n * Returns the time offset at which a specified time range begins.\n *\n * @property {time-ranges:indexFunction} 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 * @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 */\nfunction rangeCheck(fnName, index, maxIndex) {\n if (typeof index !== 'number' || index < 0 || index > maxIndex) {\n throw new Error('Failed to execute \\'' + fnName + '\\' on \\'TimeRanges\\': The index provided (' + index + ') is non-numeric or out of bounds (0-' + maxIndex + ').');\n }\n}\n\n/**\n * Get the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {string} valueIndex\n * The proprety that should be used to get the time. should be '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 *\n * @depricated 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 */\nfunction getRange(fnName, valueIndex, ranges, rangeIndex) {\n rangeCheck(fnName, rangeIndex, ranges.length - 1);\n return ranges[rangeIndex][valueIndex];\n}\n\n/**\n * Create a time range object given ranges of time.\n *\n * @param {Array} [ranges]\n * An array of time ranges.\n */\nfunction 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 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/**\n * Should create a fake `TimeRange` object which mimics an HTML5 time range instance.\n *\n * @param {number|Array} start\n * The start of a single range or an array of ranges\n *\n * @param {number} end\n * The end of a single range.\n *\n * @private\n */\nfunction createTimeRanges(start, end) {\n if (Array.isArray(start)) {\n return createTimeRangesObj(start);\n } else if (start === undefined || end === undefined) {\n return createTimeRangesObj();\n }\n 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 */\nfunction bufferedPercent(buffered, duration) {\n var bufferedDuration = 0;\n var start = void 0;\n var end = void 0;\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);\n\n // buffered end can be bigger than duration by a very small fraction\n if (end > duration) {\n end = duration;\n }\n\n bufferedDuration += end - start;\n }\n\n return bufferedDuration / duration;\n}\n\n/**\n * @file fullscreen-api.js\n * @module fullscreen-api\n * @private\n */\n/**\n * Store the browser-specific methods for the fullscreen API.\n *\n * @type {Object}\n * @see [Specification]{@link https://fullscreen.spec.whatwg.org}\n * @see [Map Approach From Screenfull.js]{@link https://github.com/sindresorhus/screenfull.js}\n */\nvar FullscreenApi = {};\n\n// browser API methods\nvar apiMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror'],\n// WebKit\n['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror'],\n// Old WebKit (Safari 5.1)\n['webkitRequestFullScreen', 'webkitCancelFullScreen', 'webkitCurrentFullScreenElement', 'webkitCancelFullScreen', 'webkitfullscreenchange', 'webkitfullscreenerror'],\n// Mozilla\n['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror'],\n// Microsoft\n['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError']];\n\nvar specApi = apiMap[0];\nvar browserApi = void 0;\n\n// determine the supported set of functions\nfor (var i = 0; i < apiMap.length; i++) {\n // check for exitFullscreen function\n if (apiMap[i][1] in document) {\n browserApi = apiMap[i];\n break;\n }\n}\n\n// map the browser API names to the spec API names\nif (browserApi) {\n for (var _i = 0; _i < browserApi.length; _i++) {\n FullscreenApi[specApi[_i]] = browserApi[_i];\n }\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 */\nfunction MediaError(value) {\n\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\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/**\n * The error code that refers two one of the defined `MediaError` types\n *\n * @type {Number}\n */\nMediaError.prototype.code = 0;\n\n/**\n * An optional message that to show with the error. Message is not part of the HTML5\n * video spec but allows for more informative custom errors.\n *\n * @type {String}\n */\nMediaError.prototype.message = '';\n\n/**\n * An optional status code that can be set by plugins to allow even more detail about\n * the error. For example a plugin might provide a specific HTTP status code and an\n * error message for that code. Then when the plugin gets that error this class will\n * know how to display an error message for it. This allows a custom message to show\n * up on the `Player` error overlay.\n *\n * @type {Array}\n */\nMediaError.prototype.status = null;\n\n/**\n * Errors indexed by the W3C standard. The order **CANNOT CHANGE**! See the\n * specification listed under {@link MediaError} for more information.\n *\n * @enum {array}\n * @readonly\n * @property {string} 0 - MEDIA_ERR_CUSTOM\n * @property {string} 1 - MEDIA_ERR_CUSTOM\n * @property {string} 2 - MEDIA_ERR_ABORTED\n * @property {string} 3 - MEDIA_ERR_NETWORK\n * @property {string} 4 - MEDIA_ERR_SRC_NOT_SUPPORTED\n * @property {string} 5 - MEDIA_ERR_ENCRYPTED\n */\nMediaError.errorTypes = ['MEDIA_ERR_CUSTOM', 'MEDIA_ERR_ABORTED', 'MEDIA_ERR_NETWORK', 'MEDIA_ERR_DECODE', 'MEDIA_ERR_SRC_NOT_SUPPORTED', 'MEDIA_ERR_ENCRYPTED'];\n\n/**\n * The default `MediaError` messages based on the {@link MediaError.errorTypes}.\n *\n * @type {Array}\n * @constant\n */\nMediaError.defaultMessages = {\n 1: 'You aborted the media playback',\n 2: 'A network error caused the media download to fail part-way.',\n 3: 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.',\n 4: 'The media could not be loaded, either because the server or network failed or because the format is not supported.',\n 5: 'The media is encrypted and we do not have the keys to decrypt it.'\n};\n\n// Add types as properties on MediaError\n// e.g. MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\nfor (var errNum = 0; errNum < MediaError.errorTypes.length; errNum++) {\n MediaError[MediaError.errorTypes[errNum]] = errNum;\n // values should be accessible on both the class and instance\n MediaError.prototype[MediaError.errorTypes[errNum]] = errNum;\n}\n\n/**\n * Returns whether an object is `Promise`-like (i.e. has a `then` method).\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n *\n * @return {Boolean}\n * Whether or not the object is `Promise`-like.\n */\nfunction isPromise(value) {\n return value !== undefined && value !== null && typeof value.then === 'function';\n}\n\n/**\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 */\nfunction silencePromise(value) {\n if (isPromise(value)) {\n value.then(null, function (e) {});\n }\n}\n\n/**\n * @file text-track-list-converter.js Utilities for capturing text track state and\n * re-creating tracks based on a capture.\n *\n * @module text-track-list-converter\n */\n\n/**\n * Examine a single {@link TextTrack} and return a JSON-compatible javascript object that\n * represents the {@link TextTrack}'s state.\n *\n * @param {TextTrack} track\n * The text track to query.\n *\n * @return {Object}\n * A serializable javascript representation of the TextTrack.\n * @private\n */\nvar trackToJson_ = function trackToJson_(track) {\n var ret = ['kind', 'label', 'language', 'id', 'inBandMetadataTrackDispatchType', 'mode', 'src'].reduce(function (acc, prop, i) {\n\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\n return ret;\n};\n\n/**\n * Examine a {@link Tech} and return a JSON-compatible javascript array that represents the\n * state of all {@link TextTrack}s currently configured. The return array is compatible with\n * {@link text-track-list-converter:jsonToTextTracks}.\n *\n * @param {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 */\nvar textTracksToJson = function textTracksToJson(tech) {\n\n var trackEls = tech.$$('track');\n\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 return json;\n });\n\n return tracks.concat(Array.prototype.filter.call(tech.textTracks(), function (track) {\n return trackObjs.indexOf(track) === -1;\n }).map(trackToJson_));\n};\n\n/**\n * Create a set of remote {@link TextTrack}s on a {@link Tech} based on an array of javascript\n * object {@link TextTrack} representations.\n *\n * @param {Array} json\n * An array of `TextTrack` representation objects, like those that would be\n * produced by `textTracksToJson`.\n *\n * @param {Tech} tech\n * The `Tech` to create the `TextTrack`s on.\n */\nvar jsonToTextTracks = function jsonToTextTracks(json, tech) {\n json.forEach(function (track) {\n var addedTrack = tech.addRemoteTextTrack(track).track;\n\n if (!track.src && track.cues) {\n track.cues.forEach(function (cue) {\n return addedTrack.addCue(cue);\n });\n }\n });\n\n return tech.textTracks();\n};\n\nvar textTrackConverter = { textTracksToJson: textTracksToJson, jsonToTextTracks: jsonToTextTracks, trackToJson_: trackToJson_ };\n\n/**\n * @file modal-dialog.js\n */\nvar MODAL_CLASS_NAME = 'vjs-modal-dialog';\nvar ESC = 27;\n\n/**\n * The `ModalDialog` displays over the video and its controls, which blocks\n * interaction with the player until it is closed.\n *\n * Modal dialogs include a \"Close\" button and will close when that button\n * is activated - or when ESC is pressed anywhere.\n *\n * @extends Component\n */\n\nvar ModalDialog = function (_Component) {\n inherits(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.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 classCallCheck(this, ModalDialog);\n\n var _this = possibleConstructorReturn(this, _Component.call(this, player, options));\n\n _this.opened_ = _this.hasBeenOpened_ = _this.hasBeenFilled_ = false;\n\n _this.closeable(!_this.options_.uncloseable);\n _this.content(_this.options_.content);\n\n // Make sure the contentEl is defined AFTER any children are initialized\n // because we only want the contents of the modal in the contentEl\n // (not the UI elements like the close button).\n _this.contentEl_ = createEl('div', {\n className: MODAL_CLASS_NAME + '-content'\n }, {\n role: 'document'\n });\n\n _this.descEl_ = createEl('p', {\n className: MODAL_CLASS_NAME + '-description vjs-control-text',\n id: _this.el().getAttribute('aria-describedby')\n });\n\n textContent(_this.descEl_, _this.description());\n _this.el_.appendChild(_this.descEl_);\n _this.el_.appendChild(_this.contentEl_);\n return _this;\n }\n\n /**\n * Create the `ModalDialog`'s DOM element\n *\n * @return {Element}\n * The DOM element that gets created.\n */\n\n\n ModalDialog.prototype.createEl = function createEl$$1() {\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 ModalDialog.prototype.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 /**\n * Builds the default DOM `className`.\n *\n * @return {string}\n * The DOM `className` for this object.\n */\n\n\n ModalDialog.prototype.buildCSSClass = function buildCSSClass() {\n return MODAL_CLASS_NAME + ' vjs-hidden ' + _Component.prototype.buildCSSClass.call(this);\n };\n\n /**\n * Handles `keydown` events on the document, looking for ESC, which closes\n * the modal.\n *\n * @param {EventTarget~Event} e\n * The keypress that triggered this event.\n *\n * @listens keydown\n */\n\n\n ModalDialog.prototype.handleKeyPress = function handleKeyPress(e) {\n if (e.which === ESC && this.closeable()) {\n this.close();\n }\n };\n\n /**\n * Returns the label string for this modal. Primarily used for accessibility.\n *\n * @return {string}\n * the localized or raw label of this modal.\n */\n\n\n ModalDialog.prototype.label = function label() {\n return this.localize(this.options_.label || 'Modal Window');\n };\n\n /**\n * Returns the description string for this modal. Primarily used for\n * accessibility.\n *\n * @return {string}\n * The localized or raw description of this modal.\n */\n\n\n ModalDialog.prototype.description = function description() {\n var desc = this.options_.description || this.localize('This is a modal window.');\n\n // Append a universal closeability message if the modal is closeable.\n if (this.closeable()) {\n desc += ' ' + this.localize('This modal can be closed by pressing the Escape key or activating the close button.');\n }\n\n return desc;\n };\n\n /**\n * Opens the modal.\n *\n * @fires ModalDialog#beforemodalopen\n * @fires ModalDialog#modalopen\n */\n\n\n ModalDialog.prototype.open = function open() {\n if (!this.opened_) {\n var player = this.player();\n\n /**\n * Fired just before a `ModalDialog` is opened.\n *\n * @event ModalDialog#beforemodalopen\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalopen');\n this.opened_ = true;\n\n // Fill content if the modal has never opened before and\n // never been filled.\n if (this.options_.fillAlways || !this.hasBeenOpened_ && !this.hasBeenFilled_) {\n this.fill();\n }\n\n // If the player was playing, pause it and take note of its previously\n // playing state.\n this.wasPlaying_ = !player.paused();\n\n if (this.options_.pauseOnOpen && this.wasPlaying_) {\n player.pause();\n }\n\n if (this.closeable()) {\n this.on(this.el_.ownerDocument, 'keydown', bind(this, this.handleKeyPress));\n }\n\n // Hide controls and note if they were enabled.\n this.hadControls_ = player.controls();\n player.controls(false);\n\n this.show();\n this.conditionalFocus_();\n this.el().setAttribute('aria-hidden', 'false');\n\n /**\n * Fired just after a `ModalDialog` is opened.\n *\n * @event ModalDialog#modalopen\n * @type {EventTarget~Event}\n */\n this.trigger('modalopen');\n this.hasBeenOpened_ = true;\n }\n };\n\n /**\n * If the `ModalDialog` is currently open or closed.\n *\n * @param {boolean} [value]\n * If given, it will open (`true`) or close (`false`) the modal.\n *\n * @return {boolean}\n * the current open state of the modaldialog\n */\n\n\n ModalDialog.prototype.opened = function opened(value) {\n if (typeof value === 'boolean') {\n this[value ? 'open' : 'close']();\n }\n return this.opened_;\n };\n\n /**\n * Closes the modal, does nothing if the `ModalDialog` is\n * not open.\n *\n * @fires ModalDialog#beforemodalclose\n * @fires ModalDialog#modalclose\n */\n\n\n ModalDialog.prototype.close = function close() {\n if (!this.opened_) {\n return;\n }\n var player = this.player();\n\n /**\n * Fired just before a `ModalDialog` is closed.\n *\n * @event ModalDialog#beforemodalclose\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalclose');\n this.opened_ = false;\n\n if (this.wasPlaying_ && this.options_.pauseOnOpen) {\n player.play();\n }\n\n if (this.closeable()) {\n this.off(this.el_.ownerDocument, 'keydown', bind(this, this.handleKeyPress));\n }\n\n if (this.hadControls_) {\n player.controls(true);\n }\n\n this.hide();\n this.el().setAttribute('aria-hidden', 'true');\n\n /**\n * Fired just after a `ModalDialog` is closed.\n *\n * @event ModalDialog#modalclose\n * @type {EventTarget~Event}\n */\n this.trigger('modalclose');\n this.conditionalBlur_();\n\n if (this.options_.temporary) {\n this.dispose();\n }\n };\n\n /**\n * Check to see if the `ModalDialog` is closeable via the UI.\n *\n * @param {boolean} [value]\n * If given as a boolean, it will set the `closeable` option.\n *\n * @return {boolean}\n * Returns the final value of the closable option.\n */\n\n\n ModalDialog.prototype.closeable = function closeable(value) {\n if (typeof value === 'boolean') {\n var closeable = this.closeable_ = !!value;\n var close = this.getChild('closeButton');\n\n // If this is being made closeable and has no close button, add one.\n if (closeable && !close) {\n\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\n this.contentEl_ = this.el_;\n close = this.addChild('closeButton', { controlText: 'Close Modal Dialog' });\n this.contentEl_ = temp;\n this.on(close, 'close', this.close);\n }\n\n // If this is being made uncloseable and has a close button, remove it.\n if (!closeable && close) {\n this.off(close, 'close', this.close);\n this.removeChild(close);\n close.dispose();\n }\n }\n return this.closeable_;\n };\n\n /**\n * Fill the modal's content element with the modal's \"content\" option.\n * The content element will be emptied before this change takes place.\n */\n\n\n ModalDialog.prototype.fill = function fill() {\n this.fillWith(this.content());\n };\n\n /**\n * Fill the modal's content element with arbitrary content.\n * The content element will be emptied before this change takes place.\n *\n * @fires ModalDialog#beforemodalfill\n * @fires ModalDialog#modalfill\n *\n * @param {Mixed} [content]\n * The same rules apply to this as apply to the `content` option.\n */\n\n\n ModalDialog.prototype.fillWith = function fillWith(content) {\n var contentEl = this.contentEl();\n var parentEl = contentEl.parentNode;\n var nextSiblingEl = contentEl.nextSibling;\n\n /**\n * Fired just before a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#beforemodalfill\n * @type {EventTarget~Event}\n */\n this.trigger('beforemodalfill');\n this.hasBeenFilled_ = true;\n\n // Detach the content element from the DOM before performing\n // manipulation to avoid modifying the live DOM multiple times.\n parentEl.removeChild(contentEl);\n this.empty();\n insertContent(contentEl, content);\n /**\n * Fired just after a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#modalfill\n * @type {EventTarget~Event}\n */\n this.trigger('modalfill');\n\n // Re-inject the re-filled content element.\n if (nextSiblingEl) {\n parentEl.insertBefore(contentEl, nextSiblingEl);\n } else {\n parentEl.appendChild(contentEl);\n }\n\n // make sure that the close button is last in the dialog DOM\n var closeButton = this.getChild('closeButton');\n\n if (closeButton) {\n parentEl.appendChild(closeButton.el_);\n }\n };\n\n /**\n * Empties the content element. This happens anytime the modal is filled.\n *\n * @fires ModalDialog#beforemodalempty\n * @fires ModalDialog#modalempty\n */\n\n\n ModalDialog.prototype.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 /**\n * Fired just after a `ModalDialog` is emptied.\n *\n * @event ModalDialog#modalempty\n * @type {EventTarget~Event}\n */\n this.trigger('modalempty');\n };\n\n /**\n * Gets or sets the modal content, which gets normalized before being\n * rendered into the DOM.\n *\n * This does not update the DOM or fill the modal, but it is called during\n * that process.\n *\n * @param {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 ModalDialog.prototype.content = function content(value) {\n if (typeof value !== 'undefined') {\n this.content_ = value;\n }\n return this.content_;\n };\n\n /**\n * conditionally focus the modal dialog if focus was previously on the player.\n *\n * @private\n */\n\n\n ModalDialog.prototype.conditionalFocus_ = function conditionalFocus_() {\n var activeEl = document.activeElement;\n var playerEl = this.player_.el_;\n\n this.previouslyActiveEl_ = null;\n\n if (playerEl.contains(activeEl) || playerEl === activeEl) {\n this.previouslyActiveEl_ = activeEl;\n\n this.focus();\n\n this.on(document, 'keydown', this.handleKeyDown);\n }\n };\n\n /**\n * conditionally blur the element and refocus the last focused element\n *\n * @private\n */\n\n\n ModalDialog.prototype.conditionalBlur_ = function conditionalBlur_() {\n if (this.previouslyActiveEl_) {\n this.previouslyActiveEl_.focus();\n this.previouslyActiveEl_ = null;\n }\n\n this.off(document, 'keydown', this.handleKeyDown);\n };\n\n /**\n * Keydown handler. Attached when modal is focused.\n *\n * @listens keydown\n */\n\n\n ModalDialog.prototype.handleKeyDown = function handleKeyDown(event) {\n // exit early if it isn't a tab key\n if (event.which !== 9) {\n return;\n }\n\n var focusableEls = this.focusableEls_();\n var activeEl = this.el_.querySelector(':focus');\n var focusIndex = void 0;\n\n for (var i = 0; i < focusableEls.length; i++) {\n if (activeEl === focusableEls[i]) {\n focusIndex = i;\n break;\n }\n }\n\n if (document.activeElement === this.el_) {\n focusIndex = 0;\n }\n\n if (event.shiftKey && focusIndex === 0) {\n focusableEls[focusableEls.length - 1].focus();\n event.preventDefault();\n } else if (!event.shiftKey && focusIndex === focusableEls.length - 1) {\n focusableEls[0].focus();\n event.preventDefault();\n }\n };\n\n /**\n * get all focusable elements\n *\n * @private\n */\n\n\n ModalDialog.prototype.focusableEls_ = function focusableEls_() {\n var allChildren = this.el_.querySelectorAll('*');\n\n return Array.prototype.filter.call(allChildren, function (child) {\n return (child instanceof window.HTMLAnchorElement || child instanceof window.HTMLAreaElement) && child.hasAttribute('href') || (child instanceof window.HTMLInputElement || child instanceof window.HTMLSelectElement || child instanceof window.HTMLTextAreaElement || child instanceof window.HTMLButtonElement) && !child.hasAttribute('disabled') || child instanceof window.HTMLIFrameElement || child instanceof window.HTMLObjectElement || child instanceof window.HTMLEmbedElement || child.hasAttribute('tabindex') && child.getAttribute('tabindex') !== -1 || child.hasAttribute('contenteditable');\n });\n };\n\n return ModalDialog;\n}(Component);\n\n/**\n * Default options for `ModalDialog` default options.\n *\n * @type {Object}\n * @private\n */\n\n\nModalDialog.prototype.options_ = {\n pauseOnOpen: true,\n temporary: true\n};\n\nComponent.registerComponent('ModalDialog', ModalDialog);\n\n/**\n * @file track-list.js\n */\n/**\n * Common functionaliy between {@link TextTrackList}, {@link AudioTrackList}, and\n * {@link VideoTrackList}\n *\n * @extends EventTarget\n */\n\nvar TrackList = function (_EventTarget) {\n inherits(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 * @param {Object} [list]\n * The child object with inheritance done manually for ie8.\n *\n * @abstract\n */\n function TrackList() {\n var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var _ret;\n\n var list = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n classCallCheck(this, TrackList);\n\n var _this = possibleConstructorReturn(this, _EventTarget.call(this));\n\n if (!list) {\n list = _this; // eslint-disable-line\n if (IS_IE8) {\n list = document.createElement('custom');\n for (var prop in TrackList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TrackList.prototype[prop];\n }\n }\n }\n }\n\n list.tracks_ = [];\n\n /**\n * @memberof TrackList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n Object.defineProperty(list, 'length', {\n get: function get$$1() {\n return this.tracks_.length;\n }\n });\n\n for (var i = 0; i < tracks.length; i++) {\n list.addTrack(tracks[i]);\n }\n\n // must return the object, as for ie8 it will not be this\n // but a reference to a document object\n return _ret = list, possibleConstructorReturn(_this, _ret);\n }\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 TrackList.prototype.addTrack = function addTrack(track) {\n var index = this.tracks_.length;\n\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get: function get$$1() {\n return this.tracks_[index];\n }\n });\n }\n\n // Do not add duplicate tracks\n if (this.tracks_.indexOf(track) === -1) {\n this.tracks_.push(track);\n /**\n * Triggered when a track is added to a track list.\n *\n * @event TrackList#addtrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n this.trigger({\n track: track,\n type: 'addtrack'\n });\n }\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 TrackList.prototype.removeTrack = function removeTrack(rtrack) {\n var track = void 0;\n\n for (var i = 0, l = this.length; i < l; i++) {\n if (this[i] === rtrack) {\n track = this[i];\n if (track.off) {\n track.off();\n }\n\n this.tracks_.splice(i, 1);\n\n break;\n }\n }\n\n if (!track) {\n return;\n }\n\n /**\n * Triggered when a track is removed from track list.\n *\n * @event TrackList#removetrack\n * @type {EventTarget~Event}\n * @property {Track} track\n * A reference to track that was removed.\n */\n this.trigger({\n track: track,\n type: 'removetrack'\n });\n };\n\n /**\n * Get a Track from the TrackList by a tracks id\n *\n * @param {String} id - the id of the track to get\n * @method getTrackById\n * @return {Track}\n * @private\n */\n\n\n TrackList.prototype.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/**\n * Triggered when a different track is selected/enabled.\n *\n * @event TrackList#change\n * @type {EventTarget~Event}\n */\n\n/**\n * Events that can be called with on + eventName. See {@link EventHandler}.\n *\n * @property {Object} TrackList#allowedEvents_\n * @private\n */\n\n\nTrackList.prototype.allowedEvents_ = {\n change: 'change',\n addtrack: 'addtrack',\n removetrack: 'removetrack'\n};\n\n// emulate attribute EventHandler support to allow for feature detection\nfor (var event in TrackList.prototype.allowedEvents_) {\n TrackList.prototype['on' + event] = null;\n}\n\n/**\n * @file audio-track-list.js\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 */\nvar disableOthers = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n }\n // another audio track is enabled, disable it\n list[i].enabled = false;\n }\n};\n\n/**\n * The current list of {@link AudioTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist}\n * @extends TrackList\n */\n\nvar AudioTrackList = function (_TrackList) {\n inherits(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() {\n var _this, _ret;\n\n var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n classCallCheck(this, AudioTrackList);\n\n var list = void 0;\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 // IE8 forces us to implement inheritance ourselves\n // as it does not support Object.defineProperty properly\n if (IS_IE8) {\n list = document.createElement('custom');\n for (var prop in TrackList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TrackList.prototype[prop];\n }\n }\n for (var _prop in AudioTrackList.prototype) {\n if (_prop !== 'constructor') {\n list[_prop] = AudioTrackList.prototype[_prop];\n }\n }\n }\n\n list = (_this = possibleConstructorReturn(this, _TrackList.call(this, tracks, list)), _this);\n list.changing_ = false;\n\n return _ret = list, possibleConstructorReturn(_this, _ret);\n }\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 AudioTrackList.prototype.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);\n // native tracks don't have this\n if (!track.addEventListener) {\n return;\n }\n\n /**\n * @listens AudioTrack#enabledchange\n * @fires TrackList#change\n */\n track.addEventListener('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 _this2.changing_ = true;\n disableOthers(_this2, track);\n _this2.changing_ = false;\n _this2.trigger('change');\n });\n };\n\n return AudioTrackList;\n}(TrackList);\n\n/**\n * @file video-track-list.js\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 */\nvar disableOthers$1 = function disableOthers(list, track) {\n for (var i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n }\n // another video track is enabled, disable it\n list[i].selected = false;\n }\n};\n\n/**\n * The current list of {@link VideoTrack} for a video.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotracklist}\n * @extends TrackList\n */\n\nvar VideoTrackList = function (_TrackList) {\n inherits(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() {\n var _this, _ret;\n\n var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n classCallCheck(this, VideoTrackList);\n\n var list = void 0;\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 // IE8 forces us to implement inheritance ourselves\n // as it does not support Object.defineProperty properly\n if (IS_IE8) {\n list = document.createElement('custom');\n for (var prop in TrackList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TrackList.prototype[prop];\n }\n }\n for (var _prop in VideoTrackList.prototype) {\n if (_prop !== 'constructor') {\n list[_prop] = VideoTrackList.prototype[_prop];\n }\n }\n }\n\n list = (_this = possibleConstructorReturn(this, _TrackList.call(this, tracks, list)), _this);\n list.changing_ = false;\n\n /**\n * @member {number} VideoTrackList#selectedIndex\n * The current index of the selected {@link VideoTrack`}.\n */\n Object.defineProperty(list, 'selectedIndex', {\n get: function get$$1() {\n for (var _i = 0; _i < this.length; _i++) {\n if (this[_i].selected) {\n return _i;\n }\n }\n return -1;\n },\n set: function set$$1() {}\n });\n\n return _ret = list, possibleConstructorReturn(_this, _ret);\n }\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 VideoTrackList.prototype.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);\n // native tracks don't have this\n if (!track.addEventListener) {\n return;\n }\n\n /**\n * @listens VideoTrack#selectedchange\n * @fires TrackList#change\n */\n track.addEventListener('selectedchange', function () {\n if (_this2.changing_) {\n return;\n }\n _this2.changing_ = true;\n disableOthers$1(_this2, track);\n _this2.changing_ = false;\n _this2.trigger('change');\n });\n };\n\n return VideoTrackList;\n}(TrackList);\n\n/**\n * @file text-track-list.js\n */\n/**\n * The current list of {@link TextTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttracklist}\n * @extends TrackList\n */\n\nvar TextTrackList = function (_TrackList) {\n inherits(TextTrackList, _TrackList);\n\n /**\n * Create an instance of this class.\n *\n * @param {TextTrack[]} [tracks=[]]\n * A list of `TextTrack` to instantiate the list with.\n */\n function TextTrackList() {\n var _this, _ret;\n\n var tracks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n classCallCheck(this, TextTrackList);\n\n var list = void 0;\n\n // IE8 forces us to implement inheritance ourselves\n // as it does not support Object.defineProperty properly\n if (IS_IE8) {\n list = document.createElement('custom');\n for (var prop in TrackList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TrackList.prototype[prop];\n }\n }\n for (var _prop in TextTrackList.prototype) {\n if (_prop !== 'constructor') {\n list[_prop] = TextTrackList.prototype[_prop];\n }\n }\n }\n\n list = (_this = possibleConstructorReturn(this, _TrackList.call(this, tracks, list)), _this);\n return _ret = list, possibleConstructorReturn(_this, _ret);\n }\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\n\n TextTrackList.prototype.addTrack = function addTrack(track) {\n _TrackList.prototype.addTrack.call(this, track);\n\n /**\n * @listens TextTrack#modechange\n * @fires TrackList#change\n */\n track.addEventListener('modechange', bind(this, function () {\n this.trigger('change');\n }));\n\n var nonLanguageTextTrackKind = ['metadata', 'chapters'];\n\n if (nonLanguageTextTrackKind.indexOf(track.kind) === -1) {\n track.addEventListener('modechange', bind(this, function () {\n this.trigger('selectedlanguagechange');\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\nvar HtmlTrackElementList = function () {\n\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() {\n var trackElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n classCallCheck(this, HtmlTrackElementList);\n\n var list = this; // eslint-disable-line\n\n if (IS_IE8) {\n list = document.createElement('custom');\n\n for (var prop in HtmlTrackElementList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = HtmlTrackElementList.prototype[prop];\n }\n }\n }\n\n list.trackElements_ = [];\n\n /**\n * @memberof HtmlTrackElementList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n Object.defineProperty(list, 'length', {\n get: function get$$1() {\n return this.trackElements_.length;\n }\n });\n\n for (var i = 0, length = trackElements.length; i < length; i++) {\n list.addTrackElement_(trackElements[i]);\n }\n\n if (IS_IE8) {\n return list;\n }\n }\n\n /**\n * Add an {@link HtmlTrackElement} to the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to add to the list.\n *\n * @private\n */\n\n\n HtmlTrackElementList.prototype.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$$1() {\n return this.trackElements_[index];\n }\n });\n }\n\n // Do not add duplicate elements\n if (this.trackElements_.indexOf(trackElement) === -1) {\n this.trackElements_.push(trackElement);\n }\n };\n\n /**\n * Get an {@link HtmlTrackElement} from the `HtmlTrackElementList` given an\n * {@link TextTrack}.\n *\n * @param {TextTrack} track\n * The track associated with a track element.\n *\n * @return {HtmlTrackElement|undefined}\n * The track element that was found or undefined.\n *\n * @private\n */\n\n\n HtmlTrackElementList.prototype.getTrackElementByTrack_ = function getTrackElementByTrack_(track) {\n var trackElement_ = void 0;\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\n break;\n }\n }\n\n return trackElement_;\n };\n\n /**\n * Remove a {@link HtmlTrackElement} from the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to remove from the list.\n *\n * @private\n */\n\n\n HtmlTrackElementList.prototype.removeTrackElement_ = function removeTrackElement_(trackElement) {\n for (var i = 0, length = this.trackElements_.length; i < length; i++) {\n if (trackElement === this.trackElements_[i]) {\n this.trackElements_.splice(i, 1);\n\n break;\n }\n }\n };\n\n return HtmlTrackElementList;\n}();\n\n/**\n * @file text-track-cue-list.js\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\nvar TextTrackCueList = function () {\n\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 classCallCheck(this, TextTrackCueList);\n\n var list = this; // eslint-disable-line\n\n if (IS_IE8) {\n list = document.createElement('custom');\n\n for (var prop in TextTrackCueList.prototype) {\n if (prop !== 'constructor') {\n list[prop] = TextTrackCueList.prototype[prop];\n }\n }\n }\n\n TextTrackCueList.prototype.setCues_.call(list, cues);\n\n /**\n * @memberof TextTrackCueList\n * @member {number} length\n * The current number of `TextTrackCue`s in the TextTrackCueList.\n * @instance\n */\n Object.defineProperty(list, 'length', {\n get: function get$$1() {\n return this.length_;\n }\n });\n\n if (IS_IE8) {\n return list;\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 TextTrackCueList.prototype.setCues_ = function setCues_(cues) {\n var oldLength = this.length || 0;\n var i = 0;\n var l = cues.length;\n\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$$1() {\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 /**\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 TextTrackCueList.prototype.getCueById = function getCueById(id) {\n var result = null;\n\n for (var i = 0, l = this.length; i < l; i++) {\n var cue = this[i];\n\n if (cue.id === id) {\n result = cue;\n break;\n }\n }\n\n return result;\n };\n\n return TextTrackCueList;\n}();\n\n/**\n * @file track-kinds.js\n */\n\n/**\n * All possible `VideoTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-videotrack-kind\n * @typedef VideoTrack~Kind\n * @enum\n */\nvar VideoTrackKind = {\n alternative: 'alternative',\n captions: 'captions',\n main: 'main',\n sign: 'sign',\n subtitles: 'subtitles',\n commentary: 'commentary'\n};\n\n/**\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 */\nvar AudioTrackKind = {\n 'alternative': 'alternative',\n 'descriptions': 'descriptions',\n 'main': 'main',\n 'main-desc': 'main-desc',\n 'translation': 'translation',\n 'commentary': 'commentary'\n};\n\n/**\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 */\nvar TextTrackKind = {\n subtitles: 'subtitles',\n captions: 'captions',\n descriptions: 'descriptions',\n chapters: 'chapters',\n metadata: 'metadata'\n};\n\n/**\n * All possible `TextTrackMode`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackmode\n * @typedef TextTrack~Mode\n * @enum\n */\nvar TextTrackMode = {\n disabled: 'disabled',\n hidden: 'hidden',\n showing: 'showing'\n};\n\n/**\n * @file track.js\n */\n/**\n * A Track class that contains all of the common functionality for {@link AudioTrack},\n * {@link VideoTrack}, and {@link TextTrack}.\n *\n * > Note: This class should not be used directly\n *\n * @see {@link https://html.spec.whatwg.org/multipage/embedded-content.html}\n * @extends EventTarget\n * @abstract\n */\n\nvar Track = function (_EventTarget) {\n inherits(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() {\n var _ret;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, Track);\n\n var _this = possibleConstructorReturn(this, _EventTarget.call(this));\n\n var track = _this; // eslint-disable-line\n\n if (IS_IE8) {\n track = document.createElement('custom');\n for (var prop in Track.prototype) {\n if (prop !== 'constructor') {\n track[prop] = Track.prototype[prop];\n }\n }\n }\n\n var trackProps = {\n id: options.id || 'vjs_track_' + newGUID(),\n kind: options.kind || '',\n label: options.label || '',\n language: options.language || ''\n };\n\n /**\n * @memberof Track\n * @member {string} id\n * The id of this track. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} kind\n * The kind of track that this is. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} label\n * The label of this track. 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(track, key, {\n get: function get$$1() {\n return trackProps[key];\n },\n set: function set$$1() {}\n });\n };\n\n for (var key in trackProps) {\n _loop(key);\n }\n\n return _ret = track, possibleConstructorReturn(_this, _ret);\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 * @param {String} url\n * The url to parse\n *\n * @return {url:URLObject}\n * An object of url details\n */\nvar parseUrl = function parseUrl(url) {\n var props = ['protocol', 'hostname', 'port', 'pathname', 'search', 'hash', 'host'];\n\n // add the url to an anchor and let the browser parse the URL\n var a = document.createElement('a');\n\n a.href = url;\n\n // 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 var addToBody = a.host === '' && a.protocol !== 'file:';\n var div = void 0;\n\n if (addToBody) {\n div = document.createElement('div');\n div.innerHTML = '';\n a = div.firstChild;\n // prevent the div from affecting layout\n div.setAttribute('style', 'display:none; position:absolute;');\n document.body.appendChild(div);\n }\n\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 var details = {};\n\n for (var i = 0; i < props.length; i++) {\n details[props[i]] = a[props[i]];\n }\n\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 if (details.protocol === 'http:') {\n details.host = details.host.replace(/:80$/, '');\n }\n\n if (details.protocol === 'https:') {\n details.host = details.host.replace(/:443$/, '');\n }\n\n if (!details.protocol) {\n details.protocol = window.location.protocol;\n }\n\n if (addToBody) {\n document.body.removeChild(div);\n }\n\n return details;\n};\n\n/**\n * Get absolute version of relative URL. Used to tell flash correct URL.\n *\n *\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 */\nvar getAbsoluteURL = function getAbsoluteURL(url) {\n // Check if absolute URL\n if (!url.match(/^https?:\\/\\//)) {\n // Convert to absolute URL. Flash hosted off-site needs an absolute URL.\n var div = document.createElement('div');\n\n div.innerHTML = 'x';\n url = div.firstChild.href;\n }\n\n return url;\n};\n\n/**\n * Returns the extension of the passed file name. It will return an empty string\n * if passed an invalid path.\n *\n * @param {string} path\n * The fileName path like '/path/to/file.mp4'\n *\n * @returns {string}\n * The extension in lower case or an empty string if no\n * extension could be found.\n */\nvar getFileExtension = function getFileExtension(path) {\n if (typeof path === 'string') {\n var splitPathRe = /^(\\/?)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?)(\\.([^\\.\\/\\?]+)))(?:[\\/]*|[\\?].*)$/i;\n var pathParts = splitPathRe.exec(path);\n\n if (pathParts) {\n return pathParts.pop().toLowerCase();\n }\n }\n\n return '';\n};\n\n/**\n * Returns whether the url passed is a cross domain request or not.\n *\n * @param {string} url\n * The url to check.\n *\n * @return {boolean}\n * Whether it is a cross domain request or not.\n */\nvar isCrossOrigin = function isCrossOrigin(url) {\n var winLoc = window.location;\n var urlInfo = parseUrl(url);\n\n // IE8 protocol relative urls will return ':' for protocol\n var srcProtocol = urlInfo.protocol === ':' ? winLoc.protocol : urlInfo.protocol;\n\n // Check if url is for another domain/origin\n // IE8 doesn't know location.origin, so we won't rely on it here\n var crossOrigin = srcProtocol + urlInfo.host !== winLoc.protocol + winLoc.host;\n\n return crossOrigin;\n};\n\nvar Url = (Object.freeze || Object)({\n\tparseUrl: parseUrl,\n\tgetAbsoluteURL: getAbsoluteURL,\n\tgetFileExtension: getFileExtension,\n\tisCrossOrigin: isCrossOrigin\n});\n\n/**\n * @file text-track.js\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 */\nvar parseCues = function parseCues(srcContent, track) {\n var parser = new window.WebVTT.Parser(window, window.vttjs, window.WebVTT.StringDecoder());\n var errors = [];\n\n parser.oncue = function (cue) {\n track.addCue(cue);\n };\n\n parser.onparsingerror = function (error) {\n errors.push(error);\n };\n\n parser.onflush = function () {\n track.trigger({\n type: 'loadeddata',\n target: track\n });\n };\n\n parser.parse(srcContent);\n if (errors.length > 0) {\n if (window.console && window.console.groupCollapsed) {\n window.console.groupCollapsed('Text Track parsing errors for ' + track.src);\n }\n errors.forEach(function (error) {\n return log.error(error);\n });\n if (window.console && window.console.groupEnd) {\n window.console.groupEnd();\n }\n }\n\n parser.flush();\n};\n\n/**\n * Load a `TextTrack` from a specifed 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 */\nvar loadTrack = function loadTrack(src, track) {\n var opts = {\n uri: src\n };\n var crossOrigin = isCrossOrigin(src);\n\n if (crossOrigin) {\n opts.cors = crossOrigin;\n }\n\n xhr(opts, bind(this, function (err, response, responseBody) {\n if (err) {\n return log.error(err, response);\n }\n\n track.loaded_ = true;\n\n // Make sure that vttjs has loaded, otherwise, wait till it finished loading\n // NOTE: this is only used for the alt/video.novtt.js build\n if (typeof window.WebVTT !== 'function') {\n if (track.tech_) {\n var loadHandler = function loadHandler() {\n return parseCues(responseBody, track);\n };\n\n track.tech_.on('vttjsloaded', loadHandler);\n track.tech_.on('vttjserror', function () {\n log.error('vttjs failed to load, stopping trying to process ' + track.src);\n track.tech_.off('vttjsloaded', loadHandler);\n });\n }\n } else {\n parseCues(responseBody, track);\n }\n }));\n};\n\n/**\n * A representation of a single `TextTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrack}\n * @extends Track\n */\n\nvar TextTrack = function (_Track) {\n inherits(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 * 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 TextTrack() {\n var _this, _ret;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, TextTrack);\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 // on IE8 this will be a document element\n // for every other browser this will be a normal object\n var tt = (_this = possibleConstructorReturn(this, _Track.call(this, settings)), _this);\n\n tt.tech_ = settings.tech;\n\n if (IS_IE8) {\n for (var prop in TextTrack.prototype) {\n if (prop !== 'constructor') {\n tt[prop] = TextTrack.prototype[prop];\n }\n }\n }\n\n tt.cues_ = [];\n tt.activeCues_ = [];\n\n var cues = new TextTrackCueList(tt.cues_);\n var activeCues = new TextTrackCueList(tt.activeCues_);\n var changed = false;\n var timeupdateHandler = bind(tt, function () {\n\n // Accessing this.activeCues for the side-effects of updating itself\n // due to it's nature as a getter function. Do not remove or cues will\n // stop updating!\n // Use the setter to prevent deletion from uglify (pure_getters rule)\n this.activeCues = this.activeCues;\n if (changed) {\n this.trigger('cuechange');\n changed = false;\n }\n });\n\n if (mode !== 'disabled') {\n tt.tech_.ready(function () {\n tt.tech_.on('timeupdate', timeupdateHandler);\n }, true);\n }\n\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 Object.defineProperty(tt, 'default', {\n get: function get$$1() {\n return default_;\n },\n set: function set$$1() {}\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 Object.defineProperty(tt, 'mode', {\n get: function get$$1() {\n return mode;\n },\n set: function set$$1(newMode) {\n var _this2 = this;\n\n if (!TextTrackMode[newMode]) {\n return;\n }\n mode = newMode;\n if (mode !== 'disabled') {\n\n this.tech_.ready(function () {\n _this2.tech_.on('timeupdate', timeupdateHandler);\n }, true);\n } else {\n this.tech_.off('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 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 Object.defineProperty(tt, 'cues', {\n get: function get$$1() {\n if (!this.loaded_) {\n return null;\n }\n\n return cues;\n },\n set: function set$$1() {}\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 Object.defineProperty(tt, 'activeCues', {\n get: function get$$1() {\n if (!this.loaded_) {\n return null;\n }\n\n // nothing to do\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\n return activeCues;\n },\n\n\n // /!\\ Keep this setter empty (see the timeupdate handler above)\n set: function set$$1() {}\n });\n\n if (settings.src) {\n tt.src = settings.src;\n loadTrack(settings.src, tt);\n } else {\n tt.loaded_ = true;\n }\n\n return _ret = tt, possibleConstructorReturn(_this, _ret);\n }\n\n /**\n * Add a cue to the internal list of cues.\n *\n * @param {TextTrack~Cue} cue\n * The cue to add to our internal list\n */\n\n\n TextTrack.prototype.addCue = function addCue(originalCue) {\n var cue = originalCue;\n\n if (window.vttjs && !(originalCue instanceof window.vttjs.VTTCue)) {\n cue = new window.vttjs.VTTCue(originalCue.startTime, originalCue.endTime, originalCue.text);\n\n for (var prop in originalCue) {\n if (!(prop in cue)) {\n cue[prop] = originalCue[prop];\n }\n }\n\n // make sure that `id` is copied over\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 /**\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 TextTrack.prototype.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/**\n * cuechange - One or more cues in the track have become active or stopped being active.\n */\n\n\nTextTrack.prototype.allowedEvents_ = {\n cuechange: 'cuechange'\n};\n\n/**\n * A representation of a single `AudioTrack`. If it is part of an {@link AudioTrackList}\n * only one `AudioTrack` in the list will be enabled at a time.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotrack}\n * @extends Track\n */\n\nvar AudioTrack = function (_Track) {\n inherits(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() {\n var _this, _ret;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, AudioTrack);\n\n var settings = mergeOptions(options, {\n kind: AudioTrackKind[options.kind] || ''\n });\n // on IE8 this will be a document element\n // for every other browser this will be a normal object\n var track = (_this = possibleConstructorReturn(this, _Track.call(this, settings)), _this);\n var enabled = false;\n\n if (IS_IE8) {\n for (var prop in AudioTrack.prototype) {\n if (prop !== 'constructor') {\n track[prop] = AudioTrack.prototype[prop];\n }\n }\n }\n /**\n * @memberof AudioTrack\n * @member {boolean} enabled\n * If this `AudioTrack` is enabled or not. When setting this will\n * fire {@link AudioTrack#enabledchange} if the state of enabled is changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n Object.defineProperty(track, 'enabled', {\n get: function get$$1() {\n return enabled;\n },\n set: function set$$1(newEnabled) {\n // an invalid or unchanged value\n if (typeof newEnabled !== 'boolean' || newEnabled === enabled) {\n return;\n }\n enabled = newEnabled;\n\n /**\n * An event that fires when enabled changes on this track. This allows\n * the AudioTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event AudioTrack#enabledchange\n * @type {EventTarget~Event}\n */\n this.trigger('enabledchange');\n }\n });\n\n // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n if (settings.enabled) {\n track.enabled = settings.enabled;\n }\n track.loaded_ = true;\n\n return _ret = track, possibleConstructorReturn(_this, _ret);\n }\n\n return AudioTrack;\n}(Track);\n\n/**\n * A representation of a single `VideoTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotrack}\n * @extends Track\n */\n\nvar VideoTrack = function (_Track) {\n inherits(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() {\n var _this, _ret;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, VideoTrack);\n\n var settings = mergeOptions(options, {\n kind: VideoTrackKind[options.kind] || ''\n });\n\n // on IE8 this will be a document element\n // for every other browser this will be a normal object\n var track = (_this = possibleConstructorReturn(this, _Track.call(this, settings)), _this);\n var selected = false;\n\n if (IS_IE8) {\n for (var prop in VideoTrack.prototype) {\n if (prop !== 'constructor') {\n track[prop] = VideoTrack.prototype[prop];\n }\n }\n }\n\n /**\n * @memberof VideoTrack\n * @member {boolean} selected\n * If this `VideoTrack` is selected or not. When setting this will\n * fire {@link VideoTrack#selectedchange} if the state of selected changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n Object.defineProperty(track, 'selected', {\n get: function get$$1() {\n return selected;\n },\n set: function set$$1(newSelected) {\n // an invalid or unchanged value\n if (typeof newSelected !== 'boolean' || newSelected === selected) {\n return;\n }\n selected = newSelected;\n\n /**\n * An event that fires when selected changes on this track. This allows\n * the VideoTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event VideoTrack#selectedchange\n * @type {EventTarget~Event}\n */\n this.trigger('selectedchange');\n }\n });\n\n // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n if (settings.selected) {\n track.selected = settings.selected;\n }\n\n return _ret = track, possibleConstructorReturn(_this, _ret);\n }\n\n return VideoTrack;\n}(Track);\n\n/**\n * @file html-track-element.js\n */\n\n/**\n * @memberof HTMLTrackElement\n * @typedef {HTMLTrackElement~ReadyState}\n * @enum {number}\n */\nvar NONE = 0;\nvar LOADING = 1;\nvar LOADED = 2;\nvar ERROR = 3;\n\n/**\n * A single track represented in the DOM.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#htmltrackelement}\n * @extends EventTarget\n */\n\nvar HTMLTrackElement = function (_EventTarget) {\n inherits(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() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n classCallCheck(this, HTMLTrackElement);\n\n var _this = possibleConstructorReturn(this, _EventTarget.call(this));\n\n var readyState = void 0;\n var trackElement = _this; // eslint-disable-line\n\n if (IS_IE8) {\n trackElement = document.createElement('custom');\n\n for (var prop in HTMLTrackElement.prototype) {\n if (prop !== 'constructor') {\n trackElement[prop] = HTMLTrackElement.prototype[prop];\n }\n }\n }\n\n var track = new TextTrack(options);\n\n trackElement.kind = track.kind;\n trackElement.src = track.src;\n trackElement.srclang = track.language;\n trackElement.label = track.label;\n trackElement['default'] = track['default'];\n\n /**\n * @memberof HTMLTrackElement\n * @member {HTMLTrackElement~ReadyState} readyState\n * The current ready state of the track element.\n * @instance\n */\n Object.defineProperty(trackElement, 'readyState', {\n get: function get$$1() {\n return readyState;\n }\n });\n\n /**\n * @memberof HTMLTrackElement\n * @member {TextTrack} track\n * The underlying TextTrack object.\n * @instance\n *\n */\n Object.defineProperty(trackElement, 'track', {\n get: function get$$1() {\n return track;\n }\n });\n\n readyState = NONE;\n\n /**\n * @listens TextTrack#loadeddata\n * @fires HTMLTrackElement#load\n */\n track.addEventListener('loadeddata', function () {\n readyState = LOADED;\n\n trackElement.trigger({\n type: 'load',\n target: trackElement\n });\n });\n\n if (IS_IE8) {\n var _ret;\n\n return _ret = trackElement, possibleConstructorReturn(_this, _ret);\n }\n return _this;\n }\n\n return HTMLTrackElement;\n}(EventTarget);\n\nHTMLTrackElement.prototype.allowedEvents_ = {\n load: 'load'\n};\n\nHTMLTrackElement.NONE = NONE;\nHTMLTrackElement.LOADING = LOADING;\nHTMLTrackElement.LOADED = LOADED;\nHTMLTrackElement.ERROR = ERROR;\n\n/*\n * This file contains all track properties that are used in\n * player.js, tech.js, html5.js and possibly other techs in the future.\n */\n\nvar NORMAL = {\n audio: {\n ListClass: AudioTrackList,\n TrackClass: AudioTrack,\n capitalName: 'Audio'\n },\n video: {\n ListClass: VideoTrackList,\n TrackClass: VideoTrack,\n capitalName: 'Video'\n },\n text: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'Text'\n }\n};\n\nObject.keys(NORMAL).forEach(function (type) {\n NORMAL[type].getterName = type + 'Tracks';\n NORMAL[type].privateName = type + 'Tracks_';\n});\n\nvar REMOTE = {\n remoteText: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'RemoteText',\n getterName: 'remoteTextTracks',\n privateName: 'remoteTextTracks_'\n },\n remoteTextEl: {\n ListClass: HtmlTrackElementList,\n TrackClass: HTMLTrackElement,\n capitalName: 'RemoteTextTrackEls',\n getterName: 'remoteTextTrackEls',\n privateName: 'remoteTextTrackEls_'\n }\n};\n\nvar ALL = mergeOptions(NORMAL, REMOTE);\n\nREMOTE.names = Object.keys(REMOTE);\nNORMAL.names = Object.keys(NORMAL);\nALL.names = [].concat(REMOTE.names).concat(NORMAL.names);\n\n/**\n * @file tech.js\n */\n\n/**\n * An Object containing a structure like: `{src: 'url', type: 'mimetype'}` or string\n * that just contains the src url alone.\n * * `var SourceObject = {src: 'http://ex.com/video.mp4', type: 'video/mp4'};`\n * `var SourceString = 'http://example.com/some-video.mp4';`\n *\n * @typedef {Object|string} Tech~SourceObject\n *\n * @property {string} src\n * The url to the source\n *\n * @property {string} type\n * The mime type of the source\n */\n\n/**\n * A function used by {@link Tech} to create a new {@link TextTrack}.\n *\n * @private\n *\n * @param {Tech} self\n * An instance of the Tech class.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @param {Object} [options={}]\n * An object with additional text track options\n *\n * @return {TextTrack}\n * The text track that was created.\n */\nfunction createTrackHelper(self, kind, label, language) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n\n var tracks = self.textTracks();\n\n options.kind = kind;\n\n if (label) {\n options.label = label;\n }\n if (language) {\n options.language = language;\n }\n options.tech = self;\n\n var track = new ALL.text.TrackClass(options);\n\n tracks.addTrack(track);\n\n return track;\n}\n\n/**\n * This is the base class for media playback technology controllers, such as\n * {@link Flash} and {@link HTML5}\n *\n * @extends Component\n */\n\nvar Tech = function (_Component) {\n inherits(Tech, _Component);\n\n /**\n * Create an instance of this Tech.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Component~ReadyCallback} ready\n * Callback function to call when the `HTML5` Tech is ready.\n */\n function Tech() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var ready = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n classCallCheck(this, Tech);\n\n // we don't want the tech to report user activity automatically.\n // This is done manually in addControlsListeners\n options.reportTouchActivity = false;\n\n // keep track of whether the current source has played at all to\n // implement a very limited played()\n var _this = possibleConstructorReturn(this, _Component.call(this, null, options, ready));\n\n _this.hasStarted_ = false;\n _this.on('playing', function () {\n this.hasStarted_ = true;\n });\n _this.on('loadstart', function () {\n this.hasStarted_ = false;\n });\n\n ALL.names.forEach(function (name) {\n var props = ALL[name];\n\n if (options && options[props.getterName]) {\n _this[props.privateName] = options[props.getterName];\n }\n });\n\n // Manually track progress in cases where the browser/flash player doesn't report it.\n if (!_this.featuresProgressEvents) {\n _this.manualProgressOn();\n }\n\n // Manually track timeupdates in cases where the browser/flash player doesn't report it.\n if (!_this.featuresTimeupdateEvents) {\n _this.manualTimeUpdatesOn();\n }\n\n ['Text', 'Audio', 'Video'].forEach(function (track) {\n if (options['native' + track + 'Tracks'] === false) {\n _this['featuresNative' + track + 'Tracks'] = false;\n }\n });\n\n if (options.nativeCaptions === false || options.nativeTextTracks === false) {\n _this.featuresNativeTextTracks = false;\n } else if (options.nativeCaptions === true || options.nativeTextTracks === true) {\n _this.featuresNativeTextTracks = true;\n }\n\n if (!_this.featuresNativeTextTracks) {\n _this.emulateTextTracks();\n }\n\n _this.autoRemoteTextTracks_ = new ALL.text.ListClass();\n\n _this.initTrackListeners();\n\n // Turn on component tap events only if not using native controls\n if (!options.nativeControlsForTouch) {\n _this.emitTapEvents();\n }\n\n if (_this.constructor) {\n _this.name_ = _this.constructor.name || 'Unknown Tech';\n }\n return _this;\n }\n\n /**\n * A special function to trigger source set in a way that will allow player\n * to re-trigger if the player or tech are not ready yet.\n *\n * @fires Tech#sourceset\n * @param {string} src The source string at the time of the source changing.\n */\n\n\n Tech.prototype.triggerSourceset = function triggerSourceset(src) {\n var _this2 = this;\n\n if (!this.isReady_) {\n // on initial ready we have to trigger source set\n // 1ms after ready so that player can watch for it.\n this.one('ready', function () {\n return _this2.setTimeout(function () {\n return _this2.triggerSourceset(src);\n }, 1);\n });\n }\n\n /**\n * Fired when the source is set on the tech causing the media element\n * to reload.\n *\n * @see {@link Player#event:sourceset}\n * @event Tech#sourceset\n * @type {EventTarget~Event}\n */\n this.trigger({\n src: src,\n type: 'sourceset'\n });\n };\n\n /* Fallbacks for unsupported event types\n ================================================================================ */\n\n /**\n * Polyfill the `progress` event for browsers that don't support it natively.\n *\n * @see {@link Tech#trackProgress}\n */\n\n\n Tech.prototype.manualProgressOn = function manualProgressOn() {\n this.on('durationchange', this.onDurationChange);\n\n this.manualProgress = true;\n\n // Trigger progress watching when a source begins loading\n this.one('ready', this.trackProgress);\n };\n\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n */\n\n\n Tech.prototype.manualProgressOff = function manualProgressOff() {\n this.manualProgress = false;\n this.stopTrackingProgress();\n\n this.off('durationchange', this.onDurationChange);\n };\n\n /**\n * This is used to trigger a `progress` event when the buffered percent changes. It\n * sets an interval function that will be called every 500 milliseconds to check if the\n * buffer end percent has changed.\n *\n * > This function is called by {@link Tech#manualProgressOn}\n *\n * @param {EventTarget~Event} event\n * The `ready` event that caused this to run.\n *\n * @listens Tech#ready\n * @fires Tech#progress\n */\n\n\n Tech.prototype.trackProgress = function trackProgress(event) {\n this.stopTrackingProgress();\n this.progressInterval = this.setInterval(bind(this, function () {\n // Don't trigger unless buffered amount is greater than last time\n\n var numBufferedPercent = this.bufferedPercent();\n\n if (this.bufferedPercent_ !== numBufferedPercent) {\n /**\n * See {@link Player#progress}\n *\n * @event Tech#progress\n * @type {EventTarget~Event}\n */\n this.trigger('progress');\n }\n\n this.bufferedPercent_ = numBufferedPercent;\n\n if (numBufferedPercent === 1) {\n this.stopTrackingProgress();\n }\n }), 500);\n };\n\n /**\n * Update our internal duration on a `durationchange` event by calling\n * {@link Tech#duration}.\n *\n * @param {EventTarget~Event} event\n * The `durationchange` event that caused this to run.\n *\n * @listens Tech#durationchange\n */\n\n\n Tech.prototype.onDurationChange = function onDurationChange(event) {\n this.duration_ = this.duration();\n };\n\n /**\n * Get and create a `TimeRange` object for buffering.\n *\n * @return {TimeRange}\n * The time range object that was created.\n */\n\n\n Tech.prototype.buffered = function buffered() {\n return createTimeRanges(0, 0);\n };\n\n /**\n * Get the percentage of the current video that is currently buffered.\n *\n * @return {number}\n * A number from 0 to 1 that represents the decimal percentage of the\n * video that is buffered.\n *\n */\n\n\n Tech.prototype.bufferedPercent = function bufferedPercent$$1() {\n return bufferedPercent(this.buffered(), this.duration_);\n };\n\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n * Stop manually tracking progress events by clearing the interval that was set in\n * {@link Tech#trackProgress}.\n */\n\n\n Tech.prototype.stopTrackingProgress = function stopTrackingProgress() {\n this.clearInterval(this.progressInterval);\n };\n\n /**\n * Polyfill the `timeupdate` event for browsers that don't support it.\n *\n * @see {@link Tech#trackCurrentTime}\n */\n\n\n Tech.prototype.manualTimeUpdatesOn = function manualTimeUpdatesOn() {\n this.manualTimeUpdates = true;\n\n this.on('play', this.trackCurrentTime);\n this.on('pause', this.stopTrackingCurrentTime);\n };\n\n /**\n * Turn off the polyfill for `timeupdate` events that was created in\n * {@link Tech#manualTimeUpdatesOn}\n */\n\n\n Tech.prototype.manualTimeUpdatesOff = function manualTimeUpdatesOff() {\n this.manualTimeUpdates = false;\n this.stopTrackingCurrentTime();\n this.off('play', this.trackCurrentTime);\n this.off('pause', this.stopTrackingCurrentTime);\n };\n\n /**\n * Sets up an interval function to track current time and trigger `timeupdate` every\n * 250 milliseconds.\n *\n * @listens Tech#play\n * @triggers Tech#timeupdate\n */\n\n\n Tech.prototype.trackCurrentTime = function trackCurrentTime() {\n if (this.currentTimeInterval) {\n this.stopTrackingCurrentTime();\n }\n this.currentTimeInterval = this.setInterval(function () {\n /**\n * Triggered at an interval of 250ms to indicated that time is passing in the video.\n *\n * @event Tech#timeupdate\n * @type {EventTarget~Event}\n */\n this.trigger({ type: 'timeupdate', target: this, manuallyTriggered: true });\n\n // 42 = 24 fps // 250 is what Webkit uses // FF uses 15\n }, 250);\n };\n\n /**\n * Stop the interval function created in {@link Tech#trackCurrentTime} so that the\n * `timeupdate` event is no longer triggered.\n *\n * @listens {Tech#pause}\n */\n\n\n Tech.prototype.stopTrackingCurrentTime = function stopTrackingCurrentTime() {\n this.clearInterval(this.currentTimeInterval);\n\n // #1002 - if the video ends right before the next timeupdate would happen,\n // the progress bar won't make it all the way to the end\n this.trigger({ type: 'timeupdate', target: this, manuallyTriggered: true });\n };\n\n /**\n * Turn off all event polyfills, clear the `Tech`s {@link AudioTrackList},\n * {@link VideoTrackList}, and {@link TextTrackList}, and dispose of this Tech.\n *\n * @fires Component#dispose\n */\n\n\n Tech.prototype.dispose = function dispose() {\n\n // clear out all tracks because we can't reuse them between techs\n this.clearTracks(NORMAL.names);\n\n // Turn off any manual progress or timeupdate tracking\n if (this.manualProgress) {\n this.manualProgressOff();\n }\n\n if (this.manualTimeUpdates) {\n this.manualTimeUpdatesOff();\n }\n\n _Component.prototype.dispose.call(this);\n };\n\n /**\n * Clear out a single `TrackList` or an array of `TrackLists` given their names.\n *\n * > Note: Techs without source handlers should call this between sources for `video`\n * & `audio` tracks. You don't want to use them between tracks!\n *\n * @param {string[]|string} types\n * TrackList names to clear, valid names are `video`, `audio`, and\n * `text`.\n */\n\n\n Tech.prototype.clearTracks = function clearTracks(types) {\n var _this3 = this;\n\n types = [].concat(types);\n // clear out all tracks because we can't reuse them between techs\n types.forEach(function (type) {\n var list = _this3[type + 'Tracks']() || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n\n if (type === 'text') {\n _this3.removeRemoteTextTrack(track);\n }\n list.removeTrack(track);\n }\n });\n };\n\n /**\n * Remove any TextTracks added via addRemoteTextTrack that are\n * flagged for automatic garbage collection\n */\n\n\n Tech.prototype.cleanupAutoTextTracks = function cleanupAutoTextTracks() {\n var list = this.autoRemoteTextTracks_ || [];\n var i = list.length;\n\n while (i--) {\n var track = list[i];\n\n this.removeRemoteTextTrack(track);\n }\n };\n\n /**\n * Reset the tech, which will removes all sources and reset the internal readyState.\n *\n * @abstract\n */\n\n\n Tech.prototype.reset = function reset() {};\n\n /**\n * Get or set an error on the Tech.\n *\n * @param {MediaError} [err]\n * Error to set on the Tech\n *\n * @return {MediaError|null}\n * The current error object on the tech, or null if there isn't one.\n */\n\n\n Tech.prototype.error = function error(err) {\n if (err !== undefined) {\n this.error_ = new MediaError(err);\n this.trigger('error');\n }\n return this.error_;\n };\n\n /**\n * Returns the `TimeRange`s that have been played through for the current source.\n *\n * > NOTE: This implementation is incomplete. It does not track the played `TimeRange`.\n * It only checks wether the source has played at all or not.\n *\n * @return {TimeRange}\n * - A single time range if this video has played\n * - An empty set of ranges if not.\n */\n\n\n Tech.prototype.played = function played() {\n if (this.hasStarted_) {\n return createTimeRanges(0, 0);\n }\n return createTimeRanges();\n };\n\n /**\n * Causes a manual time update to occur if {@link Tech#manualTimeUpdatesOn} was\n * previously called.\n *\n * @fires Tech#timeupdate\n */\n\n\n Tech.prototype.setCurrentTime = function setCurrentTime() {\n // improve the accuracy of manual timeupdates\n if (this.manualTimeUpdates) {\n /**\n * A manual `timeupdate` event.\n *\n * @event Tech#timeupdate\n * @type {EventTarget~Event}\n */\n this.trigger({ type: 'timeupdate', target: this, manuallyTriggered: true });\n }\n };\n\n /**\n * Turn on listeners for {@link VideoTrackList}, {@link {AudioTrackList}, and\n * {@link TextTrackList} events.\n *\n * This adds {@link EventTarget~EventListeners} for `addtrack`, and `removetrack`.\n *\n * @fires Tech#audiotrackchange\n * @fires Tech#videotrackchange\n * @fires Tech#texttrackchange\n */\n\n\n Tech.prototype.initTrackListeners = function initTrackListeners() {\n var _this4 = this;\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link AudioTrackList}\n *\n * @event Tech#audiotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link VideoTrackList}\n *\n * @event Tech#videotrackchange\n * @type {EventTarget~Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link TextTrackList}\n *\n * @event Tech#texttrackchange\n * @type {EventTarget~Event}\n */\n NORMAL.names.forEach(function (name) {\n var props = NORMAL[name];\n var trackListChanges = function trackListChanges() {\n _this4.trigger(name + 'trackchange');\n };\n\n var tracks = _this4[props.getterName]();\n\n tracks.addEventListener('removetrack', trackListChanges);\n tracks.addEventListener('addtrack', trackListChanges);\n\n _this4.on('dispose', function () {\n tracks.removeEventListener('removetrack', trackListChanges);\n tracks.removeEventListener('addtrack', trackListChanges);\n });\n });\n };\n\n /**\n * Emulate TextTracks using vtt.js if necessary\n *\n * @fires Tech#vttjsloaded\n * @fires Tech#vttjserror\n */\n\n\n Tech.prototype.addWebVttScript_ = function addWebVttScript_() {\n var _this5 = this;\n\n if (window.WebVTT) {\n return;\n }\n\n // Initially, Tech.el_ is a child of a dummy-div wait until the Component system\n // signals that the Tech is ready at which point Tech.el_ is part of the DOM\n // before inserting the WebVTT script\n if (document.body.contains(this.el())) {\n\n // load via require if available and vtt.js script location was not passed in\n // as an option. novtt builds will turn the above require call into an empty object\n // which will cause this if check to always fail.\n if (!this.options_['vtt.js'] && isPlain(vtt) && Object.keys(vtt).length > 0) {\n this.trigger('vttjsloaded');\n return;\n }\n\n // load vtt.js via the script location option or the cdn of no location was\n // passed in\n var script = document.createElement('script');\n\n script.src = this.options_['vtt.js'] || 'https://vjs.zencdn.net/vttjs/0.12.4/vtt.min.js';\n script.onload = function () {\n /**\n * Fired when vtt.js is loaded.\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjsloaded');\n };\n script.onerror = function () {\n /**\n * Fired when vtt.js was not loaded due to an error\n *\n * @event Tech#vttjsloaded\n * @type {EventTarget~Event}\n */\n _this5.trigger('vttjserror');\n };\n this.on('dispose', function () {\n script.onload = null;\n script.onerror = null;\n });\n // but have not loaded yet and we set it to true before the inject so that\n // we don't overwrite the injected window.WebVTT if it loads right away\n window.WebVTT = true;\n this.el().parentNode.appendChild(script);\n } else {\n this.ready(this.addWebVttScript_);\n }\n };\n\n /**\n * Emulate texttracks\n *\n */\n\n\n Tech.prototype.emulateTextTracks = function emulateTextTracks() {\n var _this6 = this;\n\n var tracks = this.textTracks();\n var remoteTracks = this.remoteTextTracks();\n var handleAddTrack = function handleAddTrack(e) {\n return tracks.addTrack(e.track);\n };\n var handleRemoveTrack = function handleRemoveTrack(e) {\n return tracks.removeTrack(e.track);\n };\n\n remoteTracks.on('addtrack', handleAddTrack);\n remoteTracks.on('removetrack', handleRemoveTrack);\n\n this.addWebVttScript_();\n\n var updateDisplay = function updateDisplay() {\n return _this6.trigger('texttrackchange');\n };\n\n var textTracksChanges = function textTracksChanges() {\n updateDisplay();\n\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n\n track.removeEventListener('cuechange', updateDisplay);\n if (track.mode === 'showing') {\n track.addEventListener('cuechange', updateDisplay);\n }\n }\n };\n\n textTracksChanges();\n tracks.addEventListener('change', textTracksChanges);\n tracks.addEventListener('addtrack', textTracksChanges);\n tracks.addEventListener('removetrack', textTracksChanges);\n\n this.on('dispose', function () {\n remoteTracks.off('addtrack', handleAddTrack);\n remoteTracks.off('removetrack', handleRemoveTrack);\n tracks.removeEventListener('change', textTracksChanges);\n tracks.removeEventListener('addtrack', textTracksChanges);\n tracks.removeEventListener('removetrack', textTracksChanges);\n\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n\n track.removeEventListener('cuechange', updateDisplay);\n }\n });\n };\n\n /**\n * Create and returns a remote {@link TextTrack} object.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @return {TextTrack}\n * The TextTrack that gets created.\n */\n\n\n Tech.prototype.addTextTrack = function addTextTrack(kind, label, language) {\n if (!kind) {\n throw new Error('TextTrack kind is required but was not provided');\n }\n\n return createTrackHelper(this, kind, label, language);\n };\n\n /**\n * Create an emulated TextTrack for use by addRemoteTextTrack\n *\n * This is intended to be overridden by classes that inherit from\n * Tech in order to create native or custom TextTracks.\n *\n * @param {Object} options\n * The object should contain the options to initialize the TextTrack with.\n *\n * @param {string} [options.kind]\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata).\n *\n * @param {string} [options.label].\n * Label to identify the text track\n *\n * @param {string} [options.language]\n * Two letter language abbreviation.\n *\n * @return {HTMLTrackElement}\n * The track element that gets created.\n */\n\n\n Tech.prototype.createRemoteTextTrack = function createRemoteTextTrack(options) {\n var track = mergeOptions(options, {\n tech: this\n });\n\n return new REMOTE.remoteTextEl.TrackClass(track);\n };\n\n /**\n * Creates a remote text track object and returns an html track element.\n *\n * > Note: This can be an emulated {@link HTMLTrackElement} or a native one.\n *\n * @param {Object} options\n * See {@link Tech#createRemoteTextTrack} for more detailed properties.\n *\n * @param {boolean} [manualCleanup=true]\n * - When false: the TextTrack will be automatically removed from the video\n * element whenever the source changes\n * - When True: The TextTrack will have to be cleaned up manually\n *\n * @return {HTMLTrackElement}\n * An Html Track Element.\n *\n * @deprecated The default functionality for this function will be equivalent\n * to \"manualCleanup=false\" in the future. The manualCleanup parameter will\n * also be removed.\n */\n\n\n Tech.prototype.addRemoteTextTrack = function addRemoteTextTrack() {\n var _this7 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var manualCleanup = arguments[1];\n\n var htmlTrackElement = this.createRemoteTextTrack(options);\n\n if (manualCleanup !== true && manualCleanup !== false) {\n // deprecation warning\n log.warn('Calling addRemoteTextTrack without explicitly setting the \"manualCleanup\" parameter to `true` is deprecated and default to `false` in future version of video.js');\n manualCleanup = true;\n }\n\n // store HTMLTrackElement and TextTrack to remote list\n this.remoteTextTrackEls().addTrackElement_(htmlTrackElement);\n this.remoteTextTracks().addTrack(htmlTrackElement.track);\n\n if (manualCleanup !== true) {\n // create the TextTrackList if it doesn't exist\n this.ready(function () {\n return _this7.autoRemoteTextTracks_.addTrack(htmlTrackElement.track);\n });\n }\n\n return htmlTrackElement;\n };\n\n /**\n * Remove a remote text track from the remote `TextTrackList`.\n *\n * @param {TextTrack} track\n * `TextTrack` to remove from the `TextTrackList`\n */\n\n\n Tech.prototype.removeRemoteTextTrack = function removeRemoteTextTrack(track) {\n var trackElement = this.remoteTextTrackEls().getTrackElementByTrack_(track);\n\n // remove HTMLTrackElement and TextTrack from remote list\n this.remoteTextTrackEls().removeTrackElement_(trackElement);\n this.remoteTextTracks().removeTrack(track);\n this.autoRemoteTextTracks_.removeTrack(track);\n };\n\n /**\n * Gets available media playback quality metrics as specified by the W3C's Media\n * Playback Quality API.\n *\n * @see [Spec]{@link https://wicg.github.io/media-playback-quality}\n *\n * @return {Object}\n * An object with supported media playback quality metrics\n *\n * @abstract\n */\n\n\n Tech.prototype.getVideoPlaybackQuality = function getVideoPlaybackQuality() {\n return {};\n };\n\n /**\n * A method to set a poster from a `Tech`.\n *\n * @abstract\n */\n\n\n Tech.prototype.setPoster = function setPoster() {};\n\n /**\n * A method to check for the presence of the 'playsinine'