{"version":3,"sources":["../node_modules/@stencil/core/internal/app-data/index.js","../node_modules/@stencil/core/internal/client/index.js","custom-elements/index.js"],"names":["BUILD","scopeId","contentRef","hostTagName","useNativeShadowDom","checkSlotFallbackVisibility","checkSlotRelocate","isSvgMode","renderingRef","queuePending","win","window","doc","document","head","HTMLElement","plt","$flags$","$resourcesUrl$","jmp","h","raf","requestAnimationFrame","ael","el","eventName","listener","opts","addEventListener","rel","removeEventListener","ce","CustomEvent","supportsListenerOptions","Object","defineProperty","[object Object]","e","supportsConstructibleStylesheets","CSSStyleSheet","replace","addHostEventListeners","elm","hostRef","listeners","attachParentListeners","map","flags","name","method","target","getHostListenerTarget","handler","hostListenerProxy","hostListenerOpts","$rmListeners$","push","methodName","ev","$hostElement$","consoleError","body","passive","capture","XLINK_NS","rootAppliedStyles","WeakMap","attachStyles","cmpMeta","$cmpMeta$","endAttachStyles","$tagName$","styleContainerNode","mode","hostElm","getScopeId","style","styles","get","nodeType","styleElm","appliedStyles","set","Set","has","createElement","innerHTML","insertBefore","querySelector","add","adoptedStyleSheets","includes","addStyle","shadowRoot","getRootNode","$modeName$","classList","cmp","EMPTY_OBJ","isComplexType","o","nodeName","vnodeData","children","child","key","slotName","simple","lastSimple","vNodeChildren","walk","c","i","length","Array","isArray","String","$text$","newVNode","classData","className","class","keys","filter","k","join","vdomFnUtils","vnode","$attrs$","$children$","$key$","$name$","tag","text","$tag$","$elm$","Host","forEach","cb","convertToPublic","convertToPrivate","node","vattrs","vchildren","vkey","vname","vtag","vtext","assign","setAccessor","memberName","oldValue","newValue","isSvg","isProp","isMemberInElement","ln","toLowerCase","oldClasses","parseClassList","newClasses","remove","prop","removeProperty","setProperty","__lookupSetter__","isComplex","tagName","n","xlink","getAttribute","removeAttributeNS","removeAttribute","setAttributeNS","setAttribute","slice","parseClassListRegex","value","split","updateElement","oldVnode","newVnode","host","oldVnodeAttrs","newVnodeAttrs","undefined","createElm","oldParentVNode","newParentVNode","childIndex","parentElm","childNode","oldVNode","createTextNode","createElementNS","appendChild","putBackInOriginalLocation","recursive","oldSlotChildNodes","childNodes","parentReferenceNode","referenceNode","addVnodes","before","parentVNode","vnodes","startIdx","endIdx","containerElm","parentNode","removeVnodes","callNodeRefs","isSameVnode","vnode1","vnode2","patch","oldChildren","newChildren","defaultHolder","oldCh","newCh","elmToMove","oldStartIdx","newStartIdx","idxInOld","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","nextSibling","updateChildren","textContent","data","updateFallbackSlotVisibility","ilen","j","slotNameAttr","hidden","trim","relocateNodes","relocateSlotContent","hostContentNodes","relocateNodeData","isNodeLocatedInSlot","find","r","$nodeToRelocate$","$slotRefNode$","relocateNode","some","nodeToRelocate","vNode","ref","renderVdom","renderFnResults","$vnode$","rootVnode","$attrsToReflect$","propName","attribute","relocateData","orgLocationNode","parentNodeRef","insertBeforeNode","refNode","previousSibling","createEvent","emit","detail","emitEvent","bubbles","composed","cancelable","dispatchEvent","scheduleUpdate","isInitialLoad","$ancestorComponent$","writeTask","dispatchHooks","endSchedule","instance","promise","safeCall","then","updateComponent","async","endUpdate","endRender","callRender","postUpdateComponent","render","endPostUpdate","arg","thenFn","setValue","newVal","getHostRef","oldVal","$instanceValues$","propValue","propType","$members$","parseFloat","$watchers$","watchMethods","watchMethodName","componentShouldUpdate","proxyComponent","Cstr","watchers","members","entries","prototype","memberFlags","this","configurable","enumerable","attrNameToPropName","Map","attributeChangedCallback","attrName","_oldValue","hasOwnProperty","observedAttributes","_","m","initializeComponent","hmrVersionId","constructor","customElements","whenDefined","modeResolutionChain","computeMode","endRegisterStyles","cssText","allowCS","registerStyle","setContentReference","contentRefElm","createComment","firstChild","proxyCustomElement","compactMeta","$listeners$","originalConnectedCallback","connectedCallback","originalDisconnectedCallback","disconnectedCallback","registerHost","endConnected","$lazyInstance$","call","rmListener","is","hostRefs","console","error","queueDomReads","queueDomWrites","queueTask","queue","write","nextTick","flush","consume","performance","now","promiseResolve","Promise","resolve","v","Action","ActiveMode","ControlFunction","ControlMode","CssNames","LocalizationId","globalThis","global","self","debounce","func","delay","timeout","clearTimeout","args","from","arguments","setTimeout","apply","isEmpty","val","csvToArray","str","createLocalizedTimeString","time","localeData","t","isNaN","hms","secToHms","hours","parseInt","minutes","seconds","toTimeObject","hasHours","ret","HOURS","MINUTES","SECONDS","getEventPos","event","x","pageX","scrollX","pageXOffset","targetTouches","y","pageY","scrollY","pageYOffset","valueOfTotal","duration","total","input","context","open","close","regex","RegExp","match","token","isUndefined","template","VALUE_OF_TOTAL","toCssPercent","num","len","Math","round","pow","max","zeroFill","toString","mapToRange","fromMin","fromMax","toMin","toMax","clampValue","min","blockEvent","preventDefault","stopPropagation","fn","basedir","module","path","exports","require","base","Error","commonjsRequire","createCommonjsModule","applyFocusVisiblePolyfill","scope","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesAllowlist","search","url","tel","email","password","number","date","month","week","datetime","datetime-local","isValidFocusTarget","focusTriggersKeyboardModality","type","readOnly","isContentEditable","addFocusVisibleClass","contains","removeFocusVisibleClass","hasAttribute","onKeyDown","metaKey","altKey","ctrlKey","activeElement","onPointerDown","onFocus","onBlur","onVisibilityChange","visibilityState","addInitialPointerMoveListeners","onInitialPointerMove","removeInitialPointerMoveListeners","Node","DOCUMENT_FRAGMENT_NODE","DOCUMENT_NODE","documentElement","initCustomEvent","factory","PreviewTimeTransform","DEFAULT","playerTime","contentTime","UTC_TIME","Date","liveStreamUtcTime","toTimeString","UiEvents","LocalizationData","en","PLAY","PAUSE","STOP","MUTE","UNMUTE","VOLUME","CLICK_TO_UNMUTE","TAP_TO_UNMUTE","SEEK","SEEK_BACK","SEEK_FORWARD","LIVE","GO_LIVE","CLOSED_CAPTIONS_OFF","CLOSED_CAPTIONS_ON","FULL_SCREEN_ENTER","FULL_SCREEN_EXIT","SETTINGS","LANGUAGE","QUALITY","BACK","CAPTIONS","AUDIO","CLOSE","AUTO","UNKNOWN","es","AviaUiPlugin","debug","logFmt","player","services","options","handlePlayerEvent","bind","listenToPlayer","getEventInterests","avia","dispatchPluginEvent","flag","events","action","msg","log","initialize","super","defaultSeekInc","accIndicatorDisplayTime","playbackStarted","settingsEngaged","firstProgressReceived","defaultCompactViewBreakpoint","rootElement","previewTimeTransform","aviaUi","hUiAction","accVolUpdater","state","setAccIndicatorState","accSeekUpdater","plugin","onRegister","activeMode","active","setActivityState","_a","destroy","ACTION","POSTER_PLAY","cancelPoster","play","catch","ENTER_FULLSCREEN","enterFullscreen","EXIT_FULLSCREEN","exitFullscreen","muted","unmute","TEXT_ON","TEXT_OFF","isOn","textTrackEnabled","playerSeek","incrementalSeek","volume","PREVIEW","percent","contentDuration","streamDuration","liveStreamUtcDuration","liveStreamUtcStart","streamTime","_b","preview","getThumbnail","SETTINGS_ON","SETTINGS_OFF","setStateForSettings","LANGUAGE_SELECT","selectLanguage","QUALITY_SELECT","selectQuality","GO_TO_LIVE","goLive","ActiveState","PlayerEvent","StreamType","isLive","streamType","isDvr","DVR","READY","setPlayState","setPosterState","AUTOPLAY_BLOCKED","RESOURCE_START","posterActive","setSegmentBreakPositions","AD_CUEPOINTS_AVAILABLE","cuepoints","AD_SEGMENT_START","showAdControlsOnAdSegmentStart","setStateForAdBreakStart","AD_START","setControlMode","AD","enableControls","playing","AD_BREAK_START","AD_PROGRESS","setAdPosition","currentTime","AD_SEGMENT_END","AD_BREAK_COMPLETE","NONE","CONTENT_START","CONTENT_SEGMENT_START","setStateForContentStart","CONTENT_SEGMENT_END","CONTENT_PLAYING","CONTENT","AD_PAUSED","CONTENT_PAUSED","AD_PLAYING","CONTENT_PROGRESS","setLiveState","setTimeAndPosition","FULLSCREEN_ENTER","FULLSCREEN_EXIT","fullscreen","TEXT_TRACK_AVAILABLE","TEXT","enableSettingsButton","TEXT_TRACK_DISPLAY_MODE_CHANGE","enabled","LANGUAGE_CHANGE","setLocalizationData","MUTE_CHANGE","unmuteCtaVisible","VOLUME_CHANGE","vol","ceil","HOTKEY_ACTION","setAccIndicator","ACTIVE_CHANGE","ACTIVE","PRESENTATION_SIZE_CHANGE","respondToSizeChange","QUALITY_CHANGE","QUALITY_INFO_CHANGE","AUDIO_TRACK_INFO_CHANGE","RESOURCE_END","RESOURCE_INTERRUPTED","setIdleState","PLAYBACK_STATE_CHANGE","dir","increment","seekIncrement","recordMetric","MetricType","UI","UiMetric","SEEK_BY","pos","seek","getContentControlMode","controlMode","offsetTimedTextOnControlsVisible","getContainer","toggle","CONTROLS_VISIBLE","MANUAL","settings","newState","AccessibilityAction","INCREASE_VOLUME","DECREASE_VOLUME","TOGGLE_MUTE","volumeKey","seekForward","seekBack","seekTime","position","accIndicatorState","FULLSCREEN","setSeekDisabled","setStateForPlaybackStart","system","isDesktop","useUnmuteCta","playerOptions","autoplay","Autoplay","posterImageUrl","resource","location","posterClicked","pluginName","isPlayingLive","isLiveLinear","live","pausable","seekForwardDisabled","playbackState","isPlaying","PlaybackState","PLAYING","isWaiting","WAITING","playDisabled","PAUSED","waiting","COMPACT","width","dimensions","compactViewBreakpoint","_c","_d","p","textTrackInfo","track","a","audioTrackInfo","q","qualityInfo","qualities","settingsDisabled","browser","Browser","FIREFOX","SETTINGS_NUDGE_LEFT","pauseOnSettings","pause","playPendingAfterSettings","arr","uir","seekDisabled","seekBackDisabled","dur","adPlayheadPosition","ct","timeDisplayValue","getTimeDisplayValue","currentTimeSeconds","durationSeconds","playheadPosition","times","d","segmentBreakPositions","trackType","id","trackId","tracks","tk","textTrack","index","audioTrack","autoQualitySwitching","bitrate","info","Device","exc","device","ANDROID_PHONE","IPHONE","IPOD","KINDLE","IPAD","MOBILE","TABLET","WINDOWS_PHONE","LG_SMART_TV","PLAYSTATION_4","PLAYSTATION_5","SAMSUNG_SMART_TV","VIZIO_SMART_TV","XBOX_ONE","excludedControls","applyTheme","theme","setControlExclusions","initializeState","container","dom","main","displayTime","qualityLabel","isTouch","initialized","lang","values","reduce","acc","localization","localize","pe","registerLocalizationData","createUi","html","cssVars","previous","removeChild","elements","content","createElementsFromString","element","getPrototypeOf","varMap","applyCssVars","create","AviaAccessibility$1","__registerHost","AviaActive$1","AviaAdControlBar$1","openWormhole","Component","props","isBlocking","Proto","componentWillLoad","_this","onOpen","res","consumer","fields","updater","willLoad","multiverse","updateConsumer","field","Universe","creator","initialState","wormholes","universe","delete","connectedCallback_1","disconnectedCallback_1","opening","AviaAdProgressBar$1","pbar","AviaButton$1","actionEvent","toggled","compact","icon","variant","actions","ids","disabled","focused","TAP_THRESHOLD","execAction","touchStartStamp","timeStamp","click","getCsvValue","locId","ariaLabel","attributes","aria-label","title","tabIndex","AviaControlBar$1","getBoundingClientRect","height","AviaControlBarCompact$1","AviaCurrentTime$1","lbl","AviaDuration$1","AviaFullscreenToggle$1","fullscreenDisabled","AviaLiveControl$1","loc-id","AviaMuteToggle$1","muteDisabled","AviaOverlay$1","centered","AviaPlayCta$1","AviaPlayOverlay$1","paused","AviaPlayToggle$1","AviaPoster$1","src","AviaProgressBar$1","hoverDelay","hovering","cursor","imgElement","dragging","hoverTimeoutHandle","onMouseMove","offset","sliderElement","left","slider","parentWidth","offsetWidth","img","canvas","canvasElement","thumbnailToViewportScale","scale","getContext","drawImage","previewElement","margin","marginLeft","top","offsetHeight","ariaValueText","list","aria-valuetext","onChange","onDragging","visibility","display","textElement","AviaSeekBackButton$1","AviaSeekForwardButton$1","AviaSeekIndicator$1","debouncer","INDICATOR_ACTIVE","visible","ACC_FWD","ACC_BACK","LanguageLabel","MenuState","AviaSettings$1","menuState","menuButtonClass","menuButtonSelector","qualityIndex","dataset","selectListItem","menu","closest","items","querySelectorAll","findSibling","start","predicate","item","findIndex","prev","reverse","focus","next","previousElementSibling","back","nextElementSibling","test","MAIN","st","getMainMenu","getLangMenu","getQualityMenu","entry","label","role","aria-haspopup","createDataAttributes","selected","aria-checked","menuItem","data-action","haspopup","renderMenu","renderList","renderSubMenuItem","tInfo","aInfo","aTrk","tTrk","aTracks","tTracks","selText","selAudio","renderListItem","menus","getLangLabel","description","unique","qual","getQualityLabel","sort","b","autoLabel","quality","unshift","language","shift","toUpperCase","category","sel","parentElement","AviaSettingsToggle$1","aria-expanded","AviaSlider$1","changeEvent","inputEvent","draggingEvent","valueInternal","which","button","move","change","keyCode","code","indexOf","toPercent","aria-valuemin","aria-valuemax","aria-valuenow","ariaValuetext","AviaSpinner$1","AviaText$1","AviaTextToggle$1","textDisabled","AviaTimeDisplay$1","AviaUi$1","AviaUnmuteCta$1","muteState","AviaVolumeIndicator$1","ACC_VOL_OFF","ACC_VOL_ON","ACC_VOL","ACC_VOL_METER","ACC_VOL_OVERLAY","AviaVolumeSlider$1","onInput","AviaWaitingOverlay$1","AviaAccessibility","AviaActive","AviaAdControlBar","AviaAdProgressBar","AviaButton","AviaControlBar","AviaControlBarCompact","AviaCurrentTime","AviaDuration","AviaFullscreenToggle","AviaLiveControl","AviaMuteToggle","AviaOverlay","AviaPlayCta","AviaPlayOverlay","AviaPlayToggle","AviaPoster","AviaProgressBar","AviaSeekBackButton","AviaSeekForwardButton","AviaSeekIndicator","AviaSettings","AviaSettingsToggle","AviaSlider","AviaSpinner","AviaText","AviaTextToggle","AviaTimeDisplay","AviaUi","AviaUnmuteCta","AviaVolumeIndicator","AviaVolumeSlider","AviaWaitingOverlay","defineCustomElements","define"],"mappings":"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","sourcesContent":["const BUILD = {\n allRenderFn: false,\n cmpDidLoad: true,\n cmpDidUnload: false,\n cmpDidUpdate: true,\n cmpDidRender: true,\n cmpWillLoad: true,\n cmpWillUpdate: true,\n cmpWillRender: true,\n connectedCallback: true,\n disconnectedCallback: true,\n element: true,\n event: true,\n hasRenderFn: true,\n lifecycle: true,\n hostListener: true,\n hostListenerTargetWindow: true,\n hostListenerTargetDocument: true,\n hostListenerTargetBody: true,\n hostListenerTargetParent: false,\n hostListenerTarget: true,\n member: true,\n method: true,\n mode: true,\n observeAttribute: true,\n prop: true,\n propMutable: true,\n reflect: true,\n scoped: true,\n shadowDom: true,\n slot: true,\n cssAnnotations: true,\n state: true,\n style: true,\n svg: true,\n updatable: true,\n vdomAttribute: true,\n vdomXlink: true,\n vdomClass: true,\n vdomFunctional: true,\n vdomKey: true,\n vdomListener: true,\n vdomRef: true,\n vdomPropOrAttr: true,\n vdomRender: true,\n vdomStyle: true,\n vdomText: true,\n watchCallback: true,\n taskQueue: true,\n hotModuleReplacement: false,\n isDebug: false,\n isDev: false,\n isTesting: false,\n hydrateServerSide: false,\n hydrateClientSide: false,\n lifecycleDOMEvents: false,\n lazyLoad: false,\n profile: false,\n slotRelocation: true,\n appendChildSlotFix: false,\n cloneNodeFix: false,\n hydratedAttribute: false,\n hydratedClass: true,\n safari10: false,\n scriptDataOpts: false,\n scopedSlotTextContentFix: false,\n shadowDomShim: false,\n slotChildNodesFix: false,\n invisiblePrehydration: true,\n propBoolean: true,\n propNumber: true,\n propString: true,\n cssVarShim: false,\n constructableCSS: true,\n cmpShouldUpdate: true,\n devTools: false,\n dynamicImportShim: false,\n shadowDelegatesFocus: true,\n initializeNextTick: false,\n asyncLoading: false,\n asyncQueue: false,\n transformTagName: false,\n attachStyles: true,\n};\nconst Env = {};\nconst NAMESPACE = /* default */ 'app';\n\nexport { BUILD, Env, NAMESPACE };\n","let scopeId;\nlet contentRef;\nlet hostTagName;\nlet customError;\nlet i = 0;\nlet useNativeShadowDom = false;\nlet checkSlotFallbackVisibility = false;\nlet checkSlotRelocate = false;\nlet isSvgMode = false;\nlet renderingRef = null;\nlet queueCongestion = 0;\nlet queuePending = false;\n/*\n Stencil Client Platform v2.9.0 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nconst win = typeof window !== 'undefined' ? window : {};\nconst CSS = BUILD.cssVarShim ? win.CSS : null;\nconst doc = win.document || { head: {} };\nconst H = (win.HTMLElement || class {\n});\nconst plt = {\n $flags$: 0,\n $resourcesUrl$: '',\n jmp: (h) => h(),\n raf: (h) => requestAnimationFrame(h),\n ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),\n rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),\n ce: (eventName, opts) => new CustomEvent(eventName, opts),\n};\nconst setPlatformHelpers = (helpers) => {\n Object.assign(plt, helpers);\n};\nconst supportsShadow = BUILD.shadowDomShim && BUILD.shadowDom\n ? /*@__PURE__*/ (() => (doc.head.attachShadow + '').indexOf('[native') > -1)()\n : true;\nconst supportsListenerOptions = /*@__PURE__*/ (() => {\n let supportsListenerOptions = false;\n try {\n doc.addEventListener('e', null, Object.defineProperty({}, 'passive', {\n get() {\n supportsListenerOptions = true;\n },\n }));\n }\n catch (e) { }\n return supportsListenerOptions;\n})();\nconst promiseResolve = (v) => Promise.resolve(v);\nconst supportsConstructibleStylesheets = BUILD.constructableCSS\n ? /*@__PURE__*/ (() => {\n try {\n new CSSStyleSheet();\n return typeof new CSSStyleSheet().replace === 'function';\n }\n catch (e) { }\n return false;\n })()\n : false;\nconst Context = {};\nconst addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {\n if (BUILD.hostListener && listeners) {\n // this is called immediately within the element's constructor\n // initialize our event listeners on the host element\n // we do this now so that we can listen to events that may\n // have fired even before the instance is ready\n if (BUILD.hostListenerTargetParent) {\n // this component may have event listeners that should be attached to the parent\n if (attachParentListeners) {\n // this is being ran from within the connectedCallback\n // which is important so that we know the host element actually has a parent element\n // filter out the listeners to only have the ones that ARE being attached to the parent\n listeners = listeners.filter(([flags]) => flags & 32 /* TargetParent */);\n }\n else {\n // this is being ran from within the component constructor\n // everything BUT the parent element listeners should be attached at this time\n // filter out the listeners that are NOT being attached to the parent\n listeners = listeners.filter(([flags]) => !(flags & 32 /* TargetParent */));\n }\n }\n listeners.map(([flags, name, method]) => {\n const target = BUILD.hostListenerTarget ? getHostListenerTarget(elm, flags) : elm;\n const handler = hostListenerProxy(hostRef, method);\n const opts = hostListenerOpts(flags);\n plt.ael(target, name, handler, opts);\n (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));\n });\n }\n};\nconst hostListenerProxy = (hostRef, methodName) => (ev) => {\n try {\n if (BUILD.lazyLoad) {\n if (hostRef.$flags$ & 256 /* isListenReady */) {\n // instance is ready, let's call it's member method for this event\n hostRef.$lazyInstance$[methodName](ev);\n }\n else {\n (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);\n }\n }\n else {\n hostRef.$hostElement$[methodName](ev);\n }\n }\n catch (e) {\n consoleError(e);\n }\n};\nconst getHostListenerTarget = (elm, flags) => {\n if (BUILD.hostListenerTargetDocument && flags & 4 /* TargetDocument */)\n return doc;\n if (BUILD.hostListenerTargetWindow && flags & 8 /* TargetWindow */)\n return win;\n if (BUILD.hostListenerTargetBody && flags & 16 /* TargetBody */)\n return doc.body;\n if (BUILD.hostListenerTargetParent && flags & 32 /* TargetParent */)\n return elm.parentElement;\n return elm;\n};\n// prettier-ignore\nconst hostListenerOpts = (flags) => supportsListenerOptions\n ? ({\n passive: (flags & 1 /* Passive */) !== 0,\n capture: (flags & 2 /* Capture */) !== 0,\n })\n : (flags & 2 /* Capture */) !== 0;\nconst CONTENT_REF_ID = 'r';\nconst ORG_LOCATION_ID = 'o';\nconst SLOT_NODE_ID = 's';\nconst TEXT_NODE_ID = 't';\nconst HYDRATE_ID = 's-id';\nconst HYDRATED_STYLE_ID = 'sty-id';\nconst HYDRATE_CHILD_ID = 'c-id';\nconst HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';\nconst XLINK_NS = 'http://www.w3.org/1999/xlink';\nconst createTime = (fnName, tagName = '') => {\n if (BUILD.profile && performance.mark) {\n const key = `st:${fnName}:${tagName}:${i++}`;\n // Start\n performance.mark(key);\n // End\n return () => performance.measure(`[Stencil] ${fnName}() <${tagName}>`, key);\n }\n else {\n return () => {\n return;\n };\n }\n};\nconst uniqueTime = (key, measureText) => {\n if (BUILD.profile && performance.mark) {\n if (performance.getEntriesByName(key).length === 0) {\n performance.mark(key);\n }\n return () => {\n if (performance.getEntriesByName(measureText).length === 0) {\n performance.measure(measureText, key);\n }\n };\n }\n else {\n return () => {\n return;\n };\n }\n};\nconst inspect = (ref) => {\n const hostRef = getHostRef(ref);\n if (!hostRef) {\n return undefined;\n }\n const flags = hostRef.$flags$;\n const hostElement = hostRef.$hostElement$;\n return {\n renderCount: hostRef.$renderCount$,\n flags: {\n hasRendered: !!(flags & 2 /* hasRendered */),\n hasConnected: !!(flags & 1 /* hasConnected */),\n isWaitingForChildren: !!(flags & 4 /* isWaitingForChildren */),\n isConstructingInstance: !!(flags & 8 /* isConstructingInstance */),\n isQueuedForUpdate: !!(flags & 16 /* isQueuedForUpdate */),\n hasInitializedComponent: !!(flags & 32 /* hasInitializedComponent */),\n hasLoadedComponent: !!(flags & 64 /* hasLoadedComponent */),\n isWatchReady: !!(flags & 128 /* isWatchReady */),\n isListenReady: !!(flags & 256 /* isListenReady */),\n needsRerender: !!(flags & 512 /* needsRerender */),\n },\n instanceValues: hostRef.$instanceValues$,\n ancestorComponent: hostRef.$ancestorComponent$,\n hostElement,\n lazyInstance: hostRef.$lazyInstance$,\n vnode: hostRef.$vnode$,\n modeName: hostRef.$modeName$,\n onReadyPromise: hostRef.$onReadyPromise$,\n onReadyResolve: hostRef.$onReadyResolve$,\n onInstancePromise: hostRef.$onInstancePromise$,\n onInstanceResolve: hostRef.$onInstanceResolve$,\n onRenderResolve: hostRef.$onRenderResolve$,\n queuedListeners: hostRef.$queuedListeners$,\n rmListeners: hostRef.$rmListeners$,\n ['s-id']: hostElement['s-id'],\n ['s-cr']: hostElement['s-cr'],\n ['s-lr']: hostElement['s-lr'],\n ['s-p']: hostElement['s-p'],\n ['s-rc']: hostElement['s-rc'],\n ['s-sc']: hostElement['s-sc'],\n };\n};\nconst installDevTools = () => {\n if (BUILD.devTools) {\n const stencil = (win.stencil = win.stencil || {});\n const originalInspect = stencil.inspect;\n stencil.inspect = (ref) => {\n let result = inspect(ref);\n if (!result && typeof originalInspect === 'function') {\n result = originalInspect(ref);\n }\n return result;\n };\n }\n};\nconst rootAppliedStyles = new WeakMap();\nconst registerStyle = (scopeId, cssText, allowCS) => {\n let style = styles.get(scopeId);\n if (supportsConstructibleStylesheets && allowCS) {\n style = (style || new CSSStyleSheet());\n style.replace(cssText);\n }\n else {\n style = cssText;\n }\n styles.set(scopeId, style);\n};\nconst addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {\n let scopeId = getScopeId(cmpMeta, mode);\n let style = styles.get(scopeId);\n if (!BUILD.attachStyles) {\n return scopeId;\n }\n // if an element is NOT connected then getRootNode() will return the wrong root node\n // so the fallback is to always use the document for the root node in those cases\n styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;\n if (style) {\n if (typeof style === 'string') {\n styleContainerNode = styleContainerNode.head || styleContainerNode;\n let appliedStyles = rootAppliedStyles.get(styleContainerNode);\n let styleElm;\n if (!appliedStyles) {\n rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));\n }\n if (!appliedStyles.has(scopeId)) {\n if (BUILD.hydrateClientSide &&\n styleContainerNode.host &&\n (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}=\"${scopeId}\"]`))) {\n // This is only happening on native shadow-dom, do not needs CSS var shim\n styleElm.innerHTML = style;\n }\n else {\n if (BUILD.cssVarShim && plt.$cssShim$) {\n styleElm = plt.$cssShim$.createHostStyle(hostElm, scopeId, style, !!(cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */));\n const newScopeId = styleElm['s-sc'];\n if (newScopeId) {\n scopeId = newScopeId;\n // we don't want to add this styleID to the appliedStyles Set\n // since the cssVarShim might need to apply several different\n // stylesheets for the same component\n appliedStyles = null;\n }\n }\n else {\n styleElm = doc.createElement('style');\n styleElm.innerHTML = style;\n }\n if (BUILD.hydrateServerSide || BUILD.hotModuleReplacement) {\n styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId);\n }\n styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));\n }\n if (appliedStyles) {\n appliedStyles.add(scopeId);\n }\n }\n }\n else if (BUILD.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) {\n styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];\n }\n }\n return scopeId;\n};\nconst attachStyles = (hostRef) => {\n const cmpMeta = hostRef.$cmpMeta$;\n const elm = hostRef.$hostElement$;\n const flags = cmpMeta.$flags$;\n const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);\n const scopeId = addStyle(BUILD.shadowDom && supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta, hostRef.$modeName$, elm);\n if ((BUILD.shadowDom || BUILD.scoped) && BUILD.cssAnnotations && flags & 10 /* needsScopedEncapsulation */) {\n // only required when we're NOT using native shadow dom (slot)\n // or this browser doesn't support native shadow dom\n // and this host element was NOT created with SSR\n // let's pick out the inner content for slot projection\n // create a node to represent where the original\n // content was first placed, which is useful later on\n // DOM WRITE!!\n elm['s-sc'] = scopeId;\n elm.classList.add(scopeId + '-h');\n if (BUILD.scoped && flags & 2 /* scopedCssEncapsulation */) {\n elm.classList.add(scopeId + '-s');\n }\n }\n endAttachStyles();\n};\nconst getScopeId = (cmp, mode) => 'sc-' + (BUILD.mode && mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + '-' + mode : cmp.$tagName$);\nconst convertScopedToShadow = (css) => css.replace(/\\/\\*!@([^\\/]+)\\*\\/[^\\{]+\\{/g, '$1{');\n// Private\nconst computeMode = (elm) => modeResolutionChain.map((h) => h(elm)).find((m) => !!m);\n// Public\nconst setMode = (handler) => modeResolutionChain.push(handler);\nconst getMode = (ref) => getHostRef(ref).$modeName$;\n/**\n * Default style mode id\n */\n/**\n * Reusable empty obj/array\n * Don't add values to these!!\n */\nconst EMPTY_OBJ = {};\n/**\n * Namespaces\n */\nconst SVG_NS = 'http://www.w3.org/2000/svg';\nconst HTML_NS = 'http://www.w3.org/1999/xhtml';\nconst isDef = (v) => v != null;\nconst isComplexType = (o) => {\n // https://jsperf.com/typeof-fn-object/5\n o = typeof o;\n return o === 'object' || o === 'function';\n};\n/**\n * Production h() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https://github.com/developit/preact/blob/master/LICENSE\n *\n * Modified for Stencil's compiler and vdom\n */\n// const stack: any[] = [];\n// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;\n// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;\nconst h = (nodeName, vnodeData, ...children) => {\n let child = null;\n let key = null;\n let slotName = null;\n let simple = false;\n let lastSimple = false;\n let vNodeChildren = [];\n const walk = (c) => {\n for (let i = 0; i < c.length; i++) {\n child = c[i];\n if (Array.isArray(child)) {\n walk(child);\n }\n else if (child != null && typeof child !== 'boolean') {\n if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {\n child = String(child);\n }\n else if (BUILD.isDev && typeof nodeName !== 'function' && child.$flags$ === undefined) {\n consoleDevError(`vNode passed as children has unexpected type.\nMake sure it's using the correct h() function.\nEmpty objects can also be the cause, look for JSX comments that became objects.`);\n }\n if (simple && lastSimple) {\n // If the previous child was simple (string), we merge both\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n }\n else {\n // Append a new vNode, if it's text, we create a text vNode\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n if (BUILD.isDev && nodeName === 'input') {\n validateInputProperties(vnodeData);\n }\n // normalize class / classname attributes\n if (BUILD.vdomKey && vnodeData.key) {\n key = vnodeData.key;\n }\n if (BUILD.slotRelocation && vnodeData.name) {\n slotName = vnodeData.name;\n }\n if (BUILD.vdomClass) {\n const classData = vnodeData.className || vnodeData.class;\n if (classData) {\n vnodeData.class =\n typeof classData !== 'object'\n ? classData\n : Object.keys(classData)\n .filter((k) => classData[k])\n .join(' ');\n }\n }\n }\n if (BUILD.isDev && vNodeChildren.some(isHost)) {\n consoleDevError(`The must be the single root component. Make sure:\n- You are NOT using hostData() and in the same component.\n- is used once, and it's the single root component of the render() function.`);\n }\n if (BUILD.vdomFunctional && typeof nodeName === 'function') {\n // nodeName is a functional component\n return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);\n }\n const vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length > 0) {\n vnode.$children$ = vNodeChildren;\n }\n if (BUILD.vdomKey) {\n vnode.$key$ = key;\n }\n if (BUILD.slotRelocation) {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nconst newVNode = (tag, text) => {\n const vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null,\n };\n if (BUILD.vdomAttribute) {\n vnode.$attrs$ = null;\n }\n if (BUILD.vdomKey) {\n vnode.$key$ = null;\n }\n if (BUILD.slotRelocation) {\n vnode.$name$ = null;\n }\n return vnode;\n};\nconst Host = {};\nconst isHost = (node) => node && node.$tag$ === Host;\nconst vdomFnUtils = {\n forEach: (children, cb) => children.map(convertToPublic).forEach(cb),\n map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),\n};\nconst convertToPublic = (node) => ({\n vattrs: node.$attrs$,\n vchildren: node.$children$,\n vkey: node.$key$,\n vname: node.$name$,\n vtag: node.$tag$,\n vtext: node.$text$,\n});\nconst convertToPrivate = (node) => {\n if (typeof node.vtag === 'function') {\n const vnodeData = Object.assign({}, node.vattrs);\n if (node.vkey) {\n vnodeData.key = node.vkey;\n }\n if (node.vname) {\n vnodeData.name = node.vname;\n }\n return h(node.vtag, vnodeData, ...(node.vchildren || []));\n }\n const vnode = newVNode(node.vtag, node.vtext);\n vnode.$attrs$ = node.vattrs;\n vnode.$children$ = node.vchildren;\n vnode.$key$ = node.vkey;\n vnode.$name$ = node.vname;\n return vnode;\n};\nconst validateInputProperties = (vnodeData) => {\n const props = Object.keys(vnodeData);\n const typeIndex = props.indexOf('type');\n const minIndex = props.indexOf('min');\n const maxIndex = props.indexOf('max');\n const stepIndex = props.indexOf('min');\n const value = props.indexOf('value');\n if (value === -1) {\n return;\n }\n if (value < typeIndex || value < minIndex || value < maxIndex || value < stepIndex) {\n consoleDevWarn(`The \"value\" prop of should be set after \"min\", \"max\", \"type\" and \"step\"`);\n }\n};\n/**\n * Production setAccessor() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https://github.com/developit/preact/blob/master/LICENSE\n *\n * Modified for Stencil's compiler and vdom\n */\nconst setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {\n if (oldValue !== newValue) {\n let isProp = isMemberInElement(elm, memberName);\n let ln = memberName.toLowerCase();\n if (BUILD.vdomClass && memberName === 'class') {\n const classList = elm.classList;\n const oldClasses = parseClassList(oldValue);\n const newClasses = parseClassList(newValue);\n classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));\n classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));\n }\n else if (BUILD.vdomStyle && memberName === 'style') {\n // update style attribute, css properties and values\n if (BUILD.updatable) {\n for (const prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (!BUILD.hydrateServerSide && prop.includes('-')) {\n elm.style.removeProperty(prop);\n }\n else {\n elm.style[prop] = '';\n }\n }\n }\n }\n for (const prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (!BUILD.hydrateServerSide && prop.includes('-')) {\n elm.style.setProperty(prop, newValue[prop]);\n }\n else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n }\n else if (BUILD.vdomKey && memberName === 'key')\n ;\n else if (BUILD.vdomRef && memberName === 'ref') {\n // minifier will clean this up\n if (newValue) {\n newValue(elm);\n }\n }\n else if (BUILD.vdomListener &&\n (BUILD.lazyLoad ? !isProp : !elm.__lookupSetter__(memberName)) &&\n memberName[0] === 'o' &&\n memberName[1] === 'n') {\n // Event Handlers\n // so if the member name starts with \"on\" and the 3rd characters is\n // a capital letter, and it's not already a member on the element,\n // then we're assuming it's an event listener\n if (memberName[2] === '-') {\n // on- prefixed events\n // allows to be explicit about the dom event to listen without any magic\n // under the hood:\n // // listens for \"click\"\n // // listens for \"Click\"\n // // listens for \"ionChange\"\n // // listens for \"EVENTS\"\n memberName = memberName.slice(3);\n }\n else if (isMemberInElement(win, ln)) {\n // standard event\n // the JSX attribute could have been \"onMouseOver\" and the\n // member name \"onmouseover\" is on the window's prototype\n // so let's add the listener \"mouseover\", which is all lowercased\n memberName = ln.slice(2);\n }\n else {\n // custom event\n // the JSX attribute could have been \"onMyCustomEvent\"\n // so let's trim off the \"on\" prefix and lowercase the first character\n // and add the listener \"myCustomEvent\"\n // except for the first character, we keep the event name case\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, false);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, false);\n }\n }\n else if (BUILD.vdomPropOrAttr) {\n // Set property if it exists and it's not a SVG\n const isComplex = isComplexType(newValue);\n if ((isProp || (isComplex && newValue !== null)) && !isSvg) {\n try {\n if (!elm.tagName.includes('-')) {\n let n = newValue == null ? '' : newValue;\n // Workaround for Safari, moving the caret when re-assigning the same valued\n if (memberName === 'list') {\n isProp = false;\n // tslint:disable-next-line: triple-equals\n }\n else if (oldValue == null || elm[memberName] != n) {\n elm[memberName] = n;\n }\n }\n else {\n elm[memberName] = newValue;\n }\n }\n catch (e) { }\n }\n /**\n * Need to manually update attribute if:\n * - memberName is not an attribute\n * - if we are rendering the host element in order to reflect attribute\n * - if it's a SVG, since properties might not work in \n * - if the newValue is null/undefined or 'false'.\n */\n let xlink = false;\n if (BUILD.vdomXlink) {\n if (ln !== (ln = ln.replace(/^xlink\\:?/, ''))) {\n memberName = ln;\n xlink = true;\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === '') {\n if (BUILD.vdomXlink && xlink) {\n elm.removeAttributeNS(XLINK_NS, memberName);\n }\n else {\n elm.removeAttribute(memberName);\n }\n }\n }\n else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {\n newValue = newValue === true ? '' : newValue;\n if (BUILD.vdomXlink && xlink) {\n elm.setAttributeNS(XLINK_NS, memberName, newValue);\n }\n else {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nconst parseClassListRegex = /\\s/;\nconst parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));\nconst updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {\n // if the element passed in is a shadow root, which is a document fragment\n // then we want to be adding attrs/props to the shadow root's \"host\" element\n // if it's not a shadow root, then we add attrs/props to the same element\n const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host\n ? newVnode.$elm$.host\n : newVnode.$elm$;\n const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;\n const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;\n if (BUILD.updatable) {\n // remove attributes no longer present on the vnode by setting them to undefined\n for (memberName in oldVnodeAttrs) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);\n }\n }\n }\n // add new & update changed attributes\n for (memberName in newVnodeAttrs) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);\n }\n};\nconst createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {\n // tslint:disable-next-line: prefer-const\n let newVNode = newParentVNode.$children$[childIndex];\n let i = 0;\n let elm;\n let childNode;\n let oldVNode;\n if (BUILD.slotRelocation && !useNativeShadowDom) {\n // remember for later we need to check to relocate nodes\n checkSlotRelocate = true;\n if (newVNode.$tag$ === 'slot') {\n if (scopeId) {\n // scoped css needs to add its scoped id to the parent element\n parentElm.classList.add(scopeId + '-s');\n }\n newVNode.$flags$ |= newVNode.$children$\n ? // slot element has fallback content\n 2 /* isSlotFallback */\n : // slot element does not have fallback content\n 1 /* isSlotReference */;\n }\n }\n if (BUILD.isDev && newVNode.$elm$) {\n consoleDevError(`The JSX ${newVNode.$text$ !== null ? `\"${newVNode.$text$}\" text` : `\"${newVNode.$tag$}\" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`);\n }\n if (BUILD.vdomText && newVNode.$text$ !== null) {\n // create text node\n elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);\n }\n else if (BUILD.slotRelocation && newVNode.$flags$ & 1 /* isSlotReference */) {\n // create a slot reference node\n elm = newVNode.$elm$ =\n BUILD.isDebug || BUILD.hydrateServerSide ? slotReferenceDebugNode(newVNode) : doc.createTextNode('');\n }\n else {\n if (BUILD.svg && !isSvgMode) {\n isSvgMode = newVNode.$tag$ === 'svg';\n }\n // create element\n elm = newVNode.$elm$ = (BUILD.svg\n ? doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, BUILD.slotRelocation && newVNode.$flags$ & 2 /* isSlotFallback */\n ? 'slot-fb'\n : newVNode.$tag$)\n : doc.createElement(BUILD.slotRelocation && newVNode.$flags$ & 2 /* isSlotFallback */\n ? 'slot-fb'\n : newVNode.$tag$));\n if (BUILD.svg && isSvgMode && newVNode.$tag$ === 'foreignObject') {\n isSvgMode = false;\n }\n // add css classes, attrs, props, listeners, etc.\n if (BUILD.vdomAttribute) {\n updateElement(null, newVNode, isSvgMode);\n }\n if ((BUILD.shadowDom || BUILD.scoped) && isDef(scopeId) && elm['s-si'] !== scopeId) {\n // if there is a scopeId and this is the initial render\n // then let's add the scopeId as a css class\n elm.classList.add((elm['s-si'] = scopeId));\n }\n if (newVNode.$children$) {\n for (i = 0; i < newVNode.$children$.length; ++i) {\n // create the node\n childNode = createElm(oldParentVNode, newVNode, i, elm);\n // return node could have been null\n if (childNode) {\n // append our new node\n elm.appendChild(childNode);\n }\n }\n }\n if (BUILD.svg) {\n if (newVNode.$tag$ === 'svg') {\n // Only reset the SVG context when we're exiting element\n isSvgMode = false;\n }\n else if (elm.tagName === 'foreignObject') {\n // Reenter SVG context when we're exiting element\n isSvgMode = true;\n }\n }\n }\n if (BUILD.slotRelocation) {\n elm['s-hn'] = hostTagName;\n if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {\n // remember the content reference comment\n elm['s-sr'] = true;\n // remember the content reference comment\n elm['s-cr'] = contentRef;\n // remember the slot name, or empty string for default slot\n elm['s-sn'] = newVNode.$name$ || '';\n // check if we've got an old vnode for this slot\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {\n // we've got an old slot vnode and the wrapper is being replaced\n // so let's move the old slot content back to it's original location\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n return elm;\n};\nconst putBackInOriginalLocation = (parentElm, recursive) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const oldSlotChildNodes = parentElm.childNodes;\n for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {\n const childNode = oldSlotChildNodes[i];\n if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {\n // // this child node in the old element is from another component\n // // remove this node from the old slot's parent\n // childNode.remove();\n // and relocate it back to it's original location\n parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));\n // remove the old original location comment entirely\n // later on the patch function will know what to do\n // and move this to the correct spot in need be\n childNode['s-ol'].remove();\n childNode['s-ol'] = undefined;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nconst addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {\n let containerElm = ((BUILD.slotRelocation && parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);\n let childNode;\n if (BUILD.shadowDom && containerElm.shadowRoot && containerElm.tagName === hostTagName) {\n containerElm = containerElm.shadowRoot;\n }\n for (; startIdx <= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx, parentElm);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n containerElm.insertBefore(childNode, BUILD.slotRelocation ? referenceNode(before) : before);\n }\n }\n }\n};\nconst removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {\n for (; startIdx <= endIdx; ++startIdx) {\n if ((vnode = vnodes[startIdx])) {\n elm = vnode.$elm$;\n callNodeRefs(vnode);\n if (BUILD.slotRelocation) {\n // we're removing this element\n // so it's possible we need to show slot fallback content now\n checkSlotFallbackVisibility = true;\n if (elm['s-ol']) {\n // remove the original location comment\n elm['s-ol'].remove();\n }\n else {\n // it's possible that child nodes of the node\n // that's being removed are slot nodes\n putBackInOriginalLocation(elm, true);\n }\n }\n // remove the vnode's element from the dom\n elm.remove();\n }\n }\n};\nconst updateChildren = (parentElm, oldCh, newVNode, newCh) => {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let idxInOld = 0;\n let i = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let node;\n let elmToMove;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n // Vnode might have been moved left\n oldStartVnode = oldCh[++oldStartIdx];\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newStartVnode)) {\n patch(oldStartVnode, newStartVnode);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (isSameVnode(oldEndVnode, newEndVnode)) {\n patch(oldEndVnode, newEndVnode);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newEndVnode)) {\n // Vnode moved right\n if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode);\n parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldEndVnode, newStartVnode)) {\n // Vnode moved left\n if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode);\n parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n // createKeyToOldIdx\n idxInOld = -1;\n if (BUILD.vdomKey) {\n for (i = oldStartIdx; i <= oldEndIdx; ++i) {\n if (oldCh[i] && oldCh[i].$key$ !== null && oldCh[i].$key$ === newStartVnode.$key$) {\n idxInOld = i;\n break;\n }\n }\n }\n if (BUILD.vdomKey && idxInOld >= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);\n }\n else {\n patch(elmToMove, newStartVnode);\n oldCh[idxInOld] = undefined;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n // new element\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n if (BUILD.slotRelocation) {\n parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));\n }\n else {\n oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);\n }\n }\n }\n }\n if (oldStartIdx > oldEndIdx) {\n addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);\n }\n else if (BUILD.updatable && newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nconst isSameVnode = (vnode1, vnode2) => {\n // compare if two vnode to see if they're \"technically\" the same\n // need to have the same element tag, and same key to be the same\n if (vnode1.$tag$ === vnode2.$tag$) {\n if (BUILD.slotRelocation && vnode1.$tag$ === 'slot') {\n return vnode1.$name$ === vnode2.$name$;\n }\n if (BUILD.vdomKey) {\n return vnode1.$key$ === vnode2.$key$;\n }\n return true;\n }\n return false;\n};\nconst referenceNode = (node) => {\n // this node was relocated to a new location in the dom\n // because of some other component's slot\n // but we still have an html comment in place of where\n // it's original location was according to it's original vdom\n return (node && node['s-ol']) || node;\n};\nconst parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;\nconst patch = (oldVNode, newVNode) => {\n const elm = (newVNode.$elm$ = oldVNode.$elm$);\n const oldChildren = oldVNode.$children$;\n const newChildren = newVNode.$children$;\n const tag = newVNode.$tag$;\n const text = newVNode.$text$;\n let defaultHolder;\n if (!BUILD.vdomText || text === null) {\n if (BUILD.svg) {\n // test if we're rendering an svg element, or still rendering nodes inside of one\n // only add this to the when the compiler sees we're using an svg somewhere\n isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;\n }\n // element node\n if (BUILD.vdomAttribute || BUILD.reflect) {\n if (BUILD.slot && tag === 'slot')\n ;\n else {\n // either this is the first render of an element OR it's an update\n // AND we already know it's possible it could have changed\n // this updates the element's css classes, attrs, props, listeners, etc.\n updateElement(oldVNode, newVNode, isSvgMode);\n }\n }\n if (BUILD.updatable && oldChildren !== null && newChildren !== null) {\n // looks like there's child vnodes for both the old and new vnodes\n updateChildren(elm, oldChildren, newVNode, newChildren);\n }\n else if (newChildren !== null) {\n // no old child vnodes, but there are new child vnodes to add\n if (BUILD.updatable && BUILD.vdomText && oldVNode.$text$ !== null) {\n // the old vnode was text, so be sure to clear it out\n elm.textContent = '';\n }\n // add the new vnode children\n addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);\n }\n else if (BUILD.updatable && oldChildren !== null) {\n // no new child vnodes, but there are old child vnodes to remove\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (BUILD.svg && isSvgMode && tag === 'svg') {\n isSvgMode = false;\n }\n }\n else if (BUILD.vdomText && BUILD.slotRelocation && (defaultHolder = elm['s-cr'])) {\n // this element has slotted content\n defaultHolder.parentNode.textContent = text;\n }\n else if (BUILD.vdomText && oldVNode.$text$ !== text) {\n // update the text content for the text only vnode\n // and also only if the text is different than before\n elm.data = text;\n }\n};\nconst updateFallbackSlotVisibility = (elm) => {\n // tslint:disable-next-line: prefer-const\n let childNodes = elm.childNodes;\n let childNode;\n let i;\n let ilen;\n let j;\n let slotNameAttr;\n let nodeType;\n for (i = 0, ilen = childNodes.length; i < ilen; i++) {\n childNode = childNodes[i];\n if (childNode.nodeType === 1 /* ElementNode */) {\n if (childNode['s-sr']) {\n // this is a slot fallback node\n // get the slot name for this slot reference node\n slotNameAttr = childNode['s-sn'];\n // by default always show a fallback slot node\n // then hide it if there are other slots in the light dom\n childNode.hidden = false;\n for (j = 0; j < ilen; j++) {\n nodeType = childNodes[j].nodeType;\n if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {\n // this sibling node is from a different component OR is a named fallback slot node\n if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {\n childNode.hidden = true;\n break;\n }\n }\n else {\n // this is a default fallback slot node\n // any element or text node (with content)\n // should hide the default fallback slot node\n if (nodeType === 1 /* ElementNode */ ||\n (nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) {\n childNode.hidden = true;\n break;\n }\n }\n }\n }\n // keep drilling down\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nconst relocateNodes = [];\nconst relocateSlotContent = (elm) => {\n // tslint:disable-next-line: prefer-const\n let childNode;\n let node;\n let hostContentNodes;\n let slotNameAttr;\n let relocateNodeData;\n let j;\n let i = 0;\n let childNodes = elm.childNodes;\n let ilen = childNodes.length;\n for (; i < ilen; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {\n // first got the content reference comment node\n // then we got it's parent, which is where all the host content is in now\n hostContentNodes = node.parentNode.childNodes;\n slotNameAttr = childNode['s-sn'];\n for (j = hostContentNodes.length - 1; j >= 0; j--) {\n node = hostContentNodes[j];\n if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {\n // let's do some relocating to its new home\n // but never relocate a content reference node\n // that is suppose to always represent the original content location\n if (isNodeLocatedInSlot(node, slotNameAttr)) {\n // it's possible we've already decided to relocate this node\n relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n // made some changes to slots\n // let's make sure we also double check\n // fallbacks are correctly hidden or shown\n checkSlotFallbackVisibility = true;\n node['s-sn'] = node['s-sn'] || slotNameAttr;\n if (relocateNodeData) {\n // previously we never found a slot home for this node\n // but turns out we did, so let's remember it now\n relocateNodeData.$slotRefNode$ = childNode;\n }\n else {\n // add to our list of nodes to relocate\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node,\n });\n }\n if (node['s-sr']) {\n relocateNodes.map((relocateNode) => {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {\n relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n }\n else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {\n // so far this element does not have a slot home, not setting slotRefNode on purpose\n // if we never find a home for this element then we'll need to hide it\n relocateNodes.push({\n $nodeToRelocate$: node,\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 /* ElementNode */) {\n relocateSlotContent(childNode);\n }\n }\n};\nconst isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {\n return true;\n }\n if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate['s-sn'] === slotNameAttr) {\n return true;\n }\n return slotNameAttr === '';\n};\nconst callNodeRefs = (vNode) => {\n if (BUILD.vdomRef) {\n vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);\n vNode.$children$ && vNode.$children$.map(callNodeRefs);\n }\n};\nconst renderVdom = (hostRef, renderFnResults) => {\n const hostElm = hostRef.$hostElement$;\n const cmpMeta = hostRef.$cmpMeta$;\n const oldVNode = hostRef.$vnode$ || newVNode(null, null);\n const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n // runtime check\n if (BUILD.isDev && Array.isArray(renderFnResults) && renderFnResults.some(isHost)) {\n throw new Error(`The must be the single root component.\nLooks like the render() function of \"${hostTagName.toLowerCase()}\" is returning an array that contains the .\n\nThe render() function should look like this instead:\n\nrender() {\n // Do not return an array\n return (\n {content}\n );\n}\n `);\n }\n if (BUILD.reflect && cmpMeta.$attrsToReflect$) {\n rootVnode.$attrs$ = rootVnode.$attrs$ || {};\n cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));\n }\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 /* isHost */;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = (BUILD.shadowDom ? hostElm.shadowRoot || hostElm : hostElm);\n if (BUILD.scoped || BUILD.shadowDom) {\n scopeId = hostElm['s-sc'];\n }\n if (BUILD.slotRelocation) {\n contentRef = hostElm['s-cr'];\n useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;\n // always reset\n checkSlotFallbackVisibility = false;\n }\n // synchronous patch\n patch(oldVNode, rootVnode);\n if (BUILD.slotRelocation) {\n // while we're moving nodes around existing nodes, temporarily disable\n // the disconnectCallback from working\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n if (checkSlotRelocate) {\n relocateSlotContent(rootVnode.$elm$);\n let relocateData;\n let nodeToRelocate;\n let orgLocationNode;\n let parentNodeRef;\n let insertBeforeNode;\n let refNode;\n let i = 0;\n for (; i < relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate['s-ol']) {\n // add a reference node marking this node's original location\n // keep a reference to this node for later lookups\n orgLocationNode =\n BUILD.isDebug || BUILD.hydrateServerSide\n ? originalLocationDebugNode(nodeToRelocate)\n : doc.createTextNode('');\n orgLocationNode['s-nr'] = nodeToRelocate;\n nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);\n }\n }\n for (i = 0; i < relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (relocateData.$slotRefNode$) {\n // by default we're just going to insert it directly\n // after the slot reference node\n parentNodeRef = relocateData.$slotRefNode$.parentNode;\n insertBeforeNode = relocateData.$slotRefNode$.nextSibling;\n orgLocationNode = nodeToRelocate['s-ol'];\n while ((orgLocationNode = orgLocationNode.previousSibling)) {\n refNode = orgLocationNode['s-nr'];\n if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {\n refNode = refNode.nextSibling;\n if (!refNode || !refNode['s-nr']) {\n insertBeforeNode = refNode;\n break;\n }\n }\n }\n if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||\n nodeToRelocate.nextSibling !== insertBeforeNode) {\n // we've checked that it's worth while to relocate\n // since that the node to relocate\n // has a different next sibling or parent relocated\n if (nodeToRelocate !== insertBeforeNode) {\n if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {\n // probably a component in the index.html that doesn't have it's hostname set\n nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;\n }\n // add it back to the dom but in its new home\n parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);\n }\n }\n }\n else {\n // this node doesn't have a slot home to go to, so let's hide it\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n // done moving nodes around\n // allow the disconnect callback to work again\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n // always reset\n relocateNodes.length = 0;\n }\n};\n// slot comment debug nodes only created with the `--debug` flag\n// otherwise these nodes are text nodes w/out content\nconst slotReferenceDebugNode = (slotVNode) => doc.createComment(` (host=${hostTagName.toLowerCase()})`);\nconst originalLocationDebugNode = (nodeToRelocate) => doc.createComment(`org-location for ` +\n (nodeToRelocate.localName\n ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate['s-hn']})`\n : `[${nodeToRelocate.textContent}]`));\nconst getElement = (ref) => (BUILD.lazyLoad ? getHostRef(ref).$hostElement$ : ref);\nconst createEvent = (ref, name, flags) => {\n const elm = getElement(ref);\n return {\n emit: (detail) => {\n if (BUILD.isDev && !elm.isConnected) {\n consoleDevWarn(`The \"${name}\" event was emitted, but the dispatcher node is no longer connected to the dom.`);\n }\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 /* Bubbles */),\n composed: !!(flags & 2 /* Composed */),\n cancelable: !!(flags & 1 /* Cancellable */),\n detail,\n });\n },\n };\n};\n/**\n * Helper function to create & dispatch a custom Event on a provided target\n * @param elm the target of the Event\n * @param name the name to give the custom Event\n * @param opts options for configuring a custom Event\n * @returns the custom Event\n */\nconst emitEvent = (elm, name, opts) => {\n const ev = plt.ce(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\nconst attachToAncestor = (hostRef, ancestorComponent) => {\n if (BUILD.asyncLoading && ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {\n ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));\n }\n};\nconst scheduleUpdate = (hostRef, isInitialLoad) => {\n if (BUILD.taskQueue && BUILD.updatable) {\n hostRef.$flags$ |= 16 /* isQueuedForUpdate */;\n }\n if (BUILD.asyncLoading && hostRef.$flags$ & 4 /* isWaitingForChildren */) {\n hostRef.$flags$ |= 512 /* needsRerender */;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n // there is no ancestor component or the ancestor component\n // has already fired off its lifecycle update then\n // fire off the initial update\n const dispatch = () => dispatchHooks(hostRef, isInitialLoad);\n return BUILD.taskQueue ? writeTask(dispatch) : dispatch();\n};\nconst dispatchHooks = (hostRef, isInitialLoad) => {\n const elm = hostRef.$hostElement$;\n const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n let promise;\n if (isInitialLoad) {\n if (BUILD.lazyLoad && BUILD.hostListener) {\n hostRef.$flags$ |= 256 /* isListenReady */;\n if (hostRef.$queuedListeners$) {\n hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));\n hostRef.$queuedListeners$ = null;\n }\n }\n emitLifecycleEvent(elm, 'componentWillLoad');\n if (BUILD.cmpWillLoad) {\n promise = safeCall(instance, 'componentWillLoad');\n }\n }\n else {\n emitLifecycleEvent(elm, 'componentWillUpdate');\n if (BUILD.cmpWillUpdate) {\n promise = safeCall(instance, 'componentWillUpdate');\n }\n }\n emitLifecycleEvent(elm, 'componentWillRender');\n if (BUILD.cmpWillRender) {\n promise = then(promise, () => safeCall(instance, 'componentWillRender'));\n }\n endSchedule();\n return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));\n};\nconst updateComponent = async (hostRef, instance, isInitialLoad) => {\n // updateComponent\n const elm = hostRef.$hostElement$;\n const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);\n const rc = elm['s-rc'];\n if (BUILD.style && isInitialLoad) {\n // DOM WRITE!\n attachStyles(hostRef);\n }\n const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n if (BUILD.hydrateServerSide) {\n await callRender(hostRef, instance, elm);\n }\n else {\n callRender(hostRef, instance, elm);\n }\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.updateHost(elm);\n }\n if (BUILD.isDev) {\n hostRef.$renderCount$++;\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n if (BUILD.hydrateServerSide) {\n try {\n // manually connected child components during server-side hydrate\n serverSideConnected(elm);\n if (isInitialLoad) {\n // using only during server-side hydrate\n if (hostRef.$cmpMeta$.$flags$ & 1 /* shadowDomEncapsulation */) {\n elm['s-en'] = '';\n }\n else if (hostRef.$cmpMeta$.$flags$ & 2 /* scopedCssEncapsulation */) {\n elm['s-en'] = 'c';\n }\n }\n }\n catch (e) {\n consoleError(e, elm);\n }\n }\n if (BUILD.asyncLoading && rc) {\n // ok, so turns out there are some child host elements\n // waiting on this parent element to load\n // let's fire off all update callbacks waiting\n rc.map((cb) => cb());\n elm['s-rc'] = undefined;\n }\n endRender();\n endUpdate();\n if (BUILD.asyncLoading) {\n const childrenPromises = elm['s-p'];\n const postUpdate = () => postUpdateComponent(hostRef);\n if (childrenPromises.length === 0) {\n postUpdate();\n }\n else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 /* isWaitingForChildren */;\n childrenPromises.length = 0;\n }\n }\n else {\n postUpdateComponent(hostRef);\n }\n};\nconst callRender = (hostRef, instance, elm) => {\n // in order for bundlers to correctly treeshake the BUILD object\n // we need to ensure BUILD is not deoptimized within a try/catch\n // https://rollupjs.org/guide/en/#treeshake tryCatchDeoptimization\n const allRenderFn = BUILD.allRenderFn ? true : false;\n const lazyLoad = BUILD.lazyLoad ? true : false;\n const taskQueue = BUILD.taskQueue ? true : false;\n const updatable = BUILD.updatable ? true : false;\n try {\n renderingRef = instance;\n instance = allRenderFn ? instance.render() : instance.render && instance.render();\n if (updatable && taskQueue) {\n hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;\n }\n if (updatable || lazyLoad) {\n hostRef.$flags$ |= 2 /* hasRendered */;\n }\n if (BUILD.hasRenderFn || BUILD.reflect) {\n if (BUILD.vdomRender || BUILD.reflect) {\n // looks like we've got child nodes to render into this host element\n // or we need to update the css class/attrs on the host element\n // DOM WRITE!\n if (BUILD.hydrateServerSide) {\n return Promise.resolve(instance).then((value) => renderVdom(hostRef, value));\n }\n else {\n renderVdom(hostRef, instance);\n }\n }\n else {\n elm.textContent = instance;\n }\n }\n }\n catch (e) {\n consoleError(e, hostRef.$hostElement$);\n }\n renderingRef = null;\n return null;\n};\nconst getRenderingRef = () => renderingRef;\nconst postUpdateComponent = (hostRef) => {\n const tagName = hostRef.$cmpMeta$.$tagName$;\n const elm = hostRef.$hostElement$;\n const endPostUpdate = createTime('postUpdate', tagName);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const ancestorComponent = hostRef.$ancestorComponent$;\n if (BUILD.cmpDidRender) {\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, 'componentDidRender');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, 'componentDidRender');\n if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {\n hostRef.$flags$ |= 64 /* hasLoadedComponent */;\n if (BUILD.asyncLoading && BUILD.cssAnnotations) {\n // DOM WRITE!\n addHydratedFlag(elm);\n }\n if (BUILD.cmpDidLoad) {\n if (BUILD.isDev) {\n hostRef.$flags$ |= 2048 /* devOnDidLoad */;\n }\n safeCall(instance, 'componentDidLoad');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~2048 /* devOnDidLoad */;\n }\n }\n emitLifecycleEvent(elm, 'componentDidLoad');\n endPostUpdate();\n if (BUILD.asyncLoading) {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad(tagName);\n }\n }\n }\n else {\n if (BUILD.cmpDidUpdate) {\n // we've already loaded this component\n // fire off the user's componentDidUpdate method (if one was provided)\n // componentDidUpdate runs AFTER render() has been called\n // and all child components have finished updating\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, 'componentDidUpdate');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, 'componentDidUpdate');\n endPostUpdate();\n }\n if (BUILD.hotModuleReplacement) {\n elm['s-hmr-load'] && elm['s-hmr-load']();\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstanceResolve$(elm);\n }\n // load events fire from bottom to top\n // the deepest elements load first then bubbles up\n if (BUILD.asyncLoading) {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = undefined;\n }\n if (hostRef.$flags$ & 512 /* needsRerender */) {\n nextTick(() => scheduleUpdate(hostRef, false));\n }\n hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);\n }\n // ( •_•)\n // ( •_•)>⌐■-■\n // (⌐■_■)\n};\nconst forceUpdate = (ref) => {\n if (BUILD.updatable) {\n const hostRef = getHostRef(ref);\n const isConnected = hostRef.$hostElement$.isConnected;\n if (isConnected &&\n (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n scheduleUpdate(hostRef, false);\n }\n // Returns \"true\" when the forced update was successfully scheduled\n return isConnected;\n }\n return false;\n};\nconst appDidLoad = (who) => {\n // on appload\n // we have finish the first big initial render\n if (BUILD.cssAnnotations) {\n addHydratedFlag(doc.documentElement);\n }\n if (BUILD.asyncQueue) {\n plt.$flags$ |= 2 /* appLoaded */;\n }\n nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));\n if (BUILD.profile && performance.measure) {\n performance.measure(`[Stencil] ${NAMESPACE} initial load (by ${who})`, 'st:app:start');\n }\n};\nconst safeCall = (instance, method, arg) => {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n }\n catch (e) {\n consoleError(e);\n }\n }\n return undefined;\n};\nconst then = (promise, thenFn) => {\n return promise && promise.then ? promise.then(thenFn) : thenFn();\n};\nconst emitLifecycleEvent = (elm, lifecycleName) => {\n if (BUILD.lifecycleDOMEvents) {\n emitEvent(elm, 'stencil_' + lifecycleName, {\n bubbles: true,\n composed: true,\n detail: {\n namespace: NAMESPACE,\n },\n });\n }\n};\nconst addHydratedFlag = (elm) => BUILD.hydratedClass\n ? elm.classList.add('hydrated')\n : BUILD.hydratedAttribute\n ? elm.setAttribute('hydrated', '')\n : undefined;\nconst serverSideConnected = (elm) => {\n const children = elm.children;\n if (children != null) {\n for (let i = 0, ii = children.length; i < ii; i++) {\n const childElm = children[i];\n if (typeof childElm.connectedCallback === 'function') {\n childElm.connectedCallback();\n }\n serverSideConnected(childElm);\n }\n }\n};\nconst initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {\n const endHydrate = createTime('hydrateClient', tagName);\n const shadowRoot = hostElm.shadowRoot;\n const childRenderNodes = [];\n const slotNodes = [];\n const shadowRootNodes = BUILD.shadowDom && shadowRoot ? [] : null;\n const vnode = (hostRef.$vnode$ = newVNode(tagName, null));\n if (!plt.$orgLocNodes$) {\n initializeDocumentHydrate(doc.body, (plt.$orgLocNodes$ = new Map()));\n }\n hostElm[HYDRATE_ID] = hostId;\n hostElm.removeAttribute(HYDRATE_ID);\n clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);\n childRenderNodes.map((c) => {\n const orgLocationId = c.$hostId$ + '.' + c.$nodeId$;\n const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);\n const node = c.$elm$;\n if (orgLocationNode && supportsShadow && orgLocationNode['s-en'] === '') {\n orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);\n }\n if (!shadowRoot) {\n node['s-hn'] = tagName;\n if (orgLocationNode) {\n node['s-ol'] = orgLocationNode;\n node['s-ol']['s-nr'] = node;\n }\n }\n plt.$orgLocNodes$.delete(orgLocationId);\n });\n if (BUILD.shadowDom && shadowRoot) {\n shadowRootNodes.map((shadowRootNode) => {\n if (shadowRootNode) {\n shadowRoot.appendChild(shadowRootNode);\n }\n });\n }\n endHydrate();\n};\nconst clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {\n let childNodeType;\n let childIdSplt;\n let childVNode;\n let i;\n if (node.nodeType === 1 /* ElementNode */) {\n childNodeType = node.getAttribute(HYDRATE_CHILD_ID);\n if (childNodeType) {\n // got the node data from the element's attribute\n // `${hostId}.${nodeId}.${depth}.${index}`\n childIdSplt = childNodeType.split('.');\n if (childIdSplt[0] === hostId || childIdSplt[0] === '0') {\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[0],\n $nodeId$: childIdSplt[1],\n $depth$: childIdSplt[2],\n $index$: childIdSplt[3],\n $tag$: node.tagName.toLowerCase(),\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $text$: null,\n };\n childRenderNodes.push(childVNode);\n node.removeAttribute(HYDRATE_CHILD_ID);\n // this is a new child vnode\n // so ensure its parent vnode has the vchildren array\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n // add our child vnode to a specific index of the vnode's children\n parentVNode.$children$[childVNode.$index$] = childVNode;\n // this is now the new parent vnode for all the next child checks\n parentVNode = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n // recursively drill down, end to start so we can remove nodes\n for (i = node.childNodes.length - 1; i >= 0; i--) {\n clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.childNodes[i], hostId);\n }\n if (node.shadowRoot) {\n // keep drilling down through the shadow root nodes\n for (i = node.shadowRoot.childNodes.length - 1; i >= 0; i--) {\n clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.shadowRoot.childNodes[i], hostId);\n }\n }\n }\n else if (node.nodeType === 8 /* CommentNode */) {\n // `${COMMENT_TYPE}.${hostId}.${nodeId}.${depth}.${index}`\n childIdSplt = node.nodeValue.split('.');\n if (childIdSplt[1] === hostId || childIdSplt[1] === '0') {\n // comment node for either the host id or a 0 host id\n childNodeType = childIdSplt[0];\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[1],\n $nodeId$: childIdSplt[2],\n $depth$: childIdSplt[3],\n $index$: childIdSplt[4],\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $tag$: null,\n $text$: null,\n };\n if (childNodeType === TEXT_NODE_ID) {\n childVNode.$elm$ = node.nextSibling;\n if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {\n childVNode.$text$ = childVNode.$elm$.textContent;\n childRenderNodes.push(childVNode);\n // remove the text comment since it's no longer needed\n node.remove();\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n else if (childVNode.$hostId$ === hostId) {\n // this comment node is specifcally for this host id\n if (childNodeType === SLOT_NODE_ID) {\n // `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`;\n childVNode.$tag$ = 'slot';\n if (childIdSplt[5]) {\n node['s-sn'] = childVNode.$name$ = childIdSplt[5];\n }\n else {\n node['s-sn'] = '';\n }\n node['s-sr'] = true;\n if (BUILD.shadowDom && shadowRootNodes) {\n // browser support shadowRoot and this is a shadow dom component\n // create an actual slot element\n childVNode.$elm$ = doc.createElement(childVNode.$tag$);\n if (childVNode.$name$) {\n // add the slot name attribute\n childVNode.$elm$.setAttribute('name', childVNode.$name$);\n }\n // insert the new slot element before the slot comment\n node.parentNode.insertBefore(childVNode.$elm$, node);\n // remove the slot comment since it's not needed for shadow\n node.remove();\n if (childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n slotNodes.push(childVNode);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n }\n else if (childNodeType === CONTENT_REF_ID) {\n // `${CONTENT_REF_ID}.${hostId}`;\n if (BUILD.shadowDom && shadowRootNodes) {\n // remove the content ref comment since it's not needed for shadow\n node.remove();\n }\n else if (BUILD.slotRelocation) {\n hostElm['s-cr'] = node;\n node['s-cn'] = true;\n }\n }\n }\n }\n }\n else if (parentVNode && parentVNode.$tag$ === 'style') {\n const vnode = newVNode(null, node.textContent);\n vnode.$elm$ = node;\n vnode.$index$ = '0';\n parentVNode.$children$ = [vnode];\n }\n};\nconst initializeDocumentHydrate = (node, orgLocNodes) => {\n if (node.nodeType === 1 /* ElementNode */) {\n let i = 0;\n for (; i < node.childNodes.length; i++) {\n initializeDocumentHydrate(node.childNodes[i], orgLocNodes);\n }\n if (node.shadowRoot) {\n for (i = 0; i < node.shadowRoot.childNodes.length; i++) {\n initializeDocumentHydrate(node.shadowRoot.childNodes[i], orgLocNodes);\n }\n }\n }\n else if (node.nodeType === 8 /* CommentNode */) {\n const childIdSplt = node.nodeValue.split('.');\n if (childIdSplt[0] === ORG_LOCATION_ID) {\n orgLocNodes.set(childIdSplt[1] + '.' + childIdSplt[2], node);\n node.nodeValue = '';\n // useful to know if the original location is\n // the root light-dom of a shadow dom component\n node['s-en'] = childIdSplt[3];\n }\n }\n};\nconst parsePropertyValue = (propValue, propType) => {\n // ensure this value is of the correct prop type\n if (propValue != null && !isComplexType(propValue)) {\n if (BUILD.propBoolean && propType & 4 /* Boolean */) {\n // per the HTML spec, any string value means it is a boolean true value\n // but we'll cheat here and say that the string \"false\" is the boolean false\n return propValue === 'false' ? false : propValue === '' || !!propValue;\n }\n if (BUILD.propNumber && propType & 2 /* Number */) {\n // force it to be a number\n return parseFloat(propValue);\n }\n if (BUILD.propString && propType & 1 /* String */) {\n // could have been passed as a number or boolean\n // but we still want it as a string\n return String(propValue);\n }\n // redundant return here for better minification\n return propValue;\n }\n // not sure exactly what type we want\n // so no need to change to a different type\n return propValue;\n};\nconst getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);\nconst setValue = (ref, propName, newVal, cmpMeta) => {\n // check our new property value against our internal value\n const hostRef = getHostRef(ref);\n const elm = BUILD.lazyLoad ? hostRef.$hostElement$ : ref;\n const oldVal = hostRef.$instanceValues$.get(propName);\n const flags = hostRef.$flags$;\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n if ((!BUILD.lazyLoad || !(flags & 8 /* isConstructingInstance */) || oldVal === undefined) && newVal !== oldVal) {\n // gadzooks! the property's value has changed!!\n // set our new value!\n hostRef.$instanceValues$.set(propName, newVal);\n if (BUILD.isDev) {\n if (hostRef.$flags$ & 1024 /* devOnRender */) {\n consoleDevWarn(`The state/prop \"${propName}\" changed during rendering. This can potentially lead to infinite-loops and other bugs.`, '\\nElement', elm, '\\nNew value', newVal, '\\nOld value', oldVal);\n }\n else if (hostRef.$flags$ & 2048 /* devOnDidLoad */) {\n consoleDevWarn(`The state/prop \"${propName}\" changed during \"componentDidLoad()\", this triggers extra re-renders, try to setup on \"componentWillLoad()\"`, '\\nElement', elm, '\\nNew value', newVal, '\\nOld value', oldVal);\n }\n }\n if (!BUILD.lazyLoad || instance) {\n // get an array of method names of watch functions to call\n if (BUILD.watchCallback && cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {\n const watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n // this instance is watching for when this property changed\n watchMethods.map((watchMethodName) => {\n try {\n // fire off each of the watch methods that are watching this property\n instance[watchMethodName](newVal, oldVal, propName);\n }\n catch (e) {\n consoleError(e, elm);\n }\n });\n }\n }\n if (BUILD.updatable &&\n (flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n if (BUILD.cmpShouldUpdate && instance.componentShouldUpdate) {\n if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {\n return;\n }\n }\n // looks like this value actually changed, so we've got work to do!\n // but only if we've already rendered, otherwise just chill out\n // queue that we need to do an update, but don't worry about queuing\n // up millions cuz this function ensures it only runs once\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\nconst proxyComponent = (Cstr, cmpMeta, flags) => {\n if (BUILD.member && cmpMeta.$members$) {\n if (BUILD.watchCallback && Cstr.watchers) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n // It's better to have a const than two Object.entries()\n const members = Object.entries(cmpMeta.$members$);\n const prototype = Cstr.prototype;\n members.map(([memberName, [memberFlags]]) => {\n if ((BUILD.prop || BUILD.state) &&\n (memberFlags & 31 /* Prop */ ||\n ((!BUILD.lazyLoad || flags & 2 /* proxyState */) && memberFlags & 32 /* State */))) {\n // proxyComponent - prop\n Object.defineProperty(prototype, memberName, {\n get() {\n // proxyComponent, get value\n return getValue(this, memberName);\n },\n set(newValue) {\n // only during dev time\n if (BUILD.isDev) {\n const ref = getHostRef(this);\n if (\n // we are proxying the instance (not element)\n (flags & 1 /* isElementConstructor */) === 0 &&\n // the element is not constructing\n (ref.$flags$ & 8 /* isConstructingInstance */) === 0 &&\n // the member is a prop\n (memberFlags & 31 /* Prop */) !== 0 &&\n // the member is not mutable\n (memberFlags & 1024 /* Mutable */) === 0) {\n consoleDevWarn(`@Prop() \"${memberName}\" on <${cmpMeta.$tagName$}> is immutable but was modified from within the component.\\nMore information: https://stenciljs.com/docs/properties#prop-mutability`);\n }\n }\n // proxyComponent, set value\n setValue(this, memberName, newValue, cmpMeta);\n },\n configurable: true,\n enumerable: true,\n });\n }\n else if (BUILD.lazyLoad &&\n BUILD.method &&\n flags & 1 /* isElementConstructor */ &&\n memberFlags & 64 /* Method */) {\n // proxyComponent - method\n Object.defineProperty(prototype, memberName, {\n value(...args) {\n const ref = getHostRef(this);\n return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));\n },\n });\n }\n });\n if (BUILD.observeAttribute && (!BUILD.lazyLoad || flags & 1 /* isElementConstructor */)) {\n const attrNameToPropName = new Map();\n prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {\n plt.jmp(() => {\n const propName = attrNameToPropName.get(attrName);\n // In a webcomponent lifecyle the attributeChangedCallback runs prior to connectedCallback\n // in the case where an attribute was set inline.\n // ```html\n // \n // ```\n //\n // There is an edge case where a developer sets the attribute inline on a custom element and then programatically\n // changes it before it has been upgraded as shown below:\n //\n // ```html\n // \n // \n // \n // ```\n // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback\n // will be called with `newValue = \"some-value\"` and will set the shadowed property (this.someAttribute = \"another-value\")\n // to the value that was set inline i.e. \"some-value\" from above example. When\n // the connectedCallback attempts to unshadow it will use \"some-value\" as the intial value rather than \"another-value\"\n //\n // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed\n // by connectedCallback as this attributeChangedCallback will not fire.\n //\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n //\n // TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to\n // properties here given that this goes against best practices outlined here\n // https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy\n if (this.hasOwnProperty(propName)) {\n newValue = this[propName];\n delete this[propName];\n }\n this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;\n });\n };\n // create an array of attributes to observe\n // and also create a map of html attribute name to js property name\n Cstr.observedAttributes = members\n .filter(([_, m]) => m[0] & 15 /* HasAttribute */) // filter to only keep props that should match attributes\n .map(([propName, m]) => {\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD.reflect && m[0] & 512 /* ReflectAttr */) {\n cmpMeta.$attrsToReflect$.push([propName, attrName]);\n }\n return attrName;\n });\n }\n }\n return Cstr;\n};\nconst initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {\n // initializeComponent\n if ((BUILD.lazyLoad || BUILD.hydrateServerSide || BUILD.style) &&\n (hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n if (BUILD.lazyLoad || BUILD.hydrateClientSide) {\n // we haven't initialized this element yet\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // lazy loaded components\n // request the component's implementation to be\n // wired up with the host element\n Cstr = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (Cstr.then) {\n // Await creates a micro-task avoid if possible\n const endLoad = uniqueTime(`st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`, `[Stencil] Load module for <${cmpMeta.$tagName$}>`);\n Cstr = await Cstr;\n endLoad();\n }\n if ((BUILD.isDev || BUILD.isDebug) && !Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD.member && !Cstr.isProxied) {\n // we've never proxied this Constructor before\n // let's add the getters/setters to its prototype before\n // the first time we create an instance of the implementation\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);\n // ok, time to construct the instance\n // but let's keep track of when we start and stop\n // so that the getters/setters don't incorrectly step on data\n if (BUILD.member) {\n hostRef.$flags$ |= 8 /* isConstructingInstance */;\n }\n // construct the lazy-loaded component implementation\n // passing the hostRef is very important during\n // construction in order to directly wire together the\n // host element and the lazy-loaded instance\n try {\n new Cstr(hostRef);\n }\n catch (e) {\n consoleError(e);\n }\n if (BUILD.member) {\n hostRef.$flags$ &= ~8 /* isConstructingInstance */;\n }\n if (BUILD.watchCallback) {\n hostRef.$flags$ |= 128 /* isWatchReady */;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n else {\n // sync constructor component\n Cstr = elm.constructor;\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // wait for the CustomElementRegistry to mark the component as ready before setting `isWatchReady`. Otherwise,\n // watchers may fire prematurely if `customElements.get()`/`customElements.whenDefined()` resolves _before_\n // Stencil has completed instantiating the component.\n customElements.whenDefined(cmpMeta.$tagName$).then(() => (hostRef.$flags$ |= 128 /* isWatchReady */));\n }\n if (BUILD.style && Cstr.style) {\n // this component has styles but we haven't registered them yet\n let style = Cstr.style;\n if (BUILD.mode && typeof style !== 'string') {\n style = style[(hostRef.$modeName$ = computeMode(elm))];\n if (BUILD.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute('s-mode', hostRef.$modeName$);\n }\n }\n const scopeId = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId)) {\n const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);\n if (!BUILD.hydrateServerSide &&\n BUILD.shadowDom &&\n BUILD.shadowDomShim &&\n cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n style = await import('./shadow-css.js').then((m) => m.scopeCss(style, scopeId, false));\n }\n registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n }\n }\n }\n // we've successfully created a lazy instance\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (BUILD.asyncLoading && ancestorComponent && ancestorComponent['s-rc']) {\n // this is the intial load and this component it has an ancestor component\n // but the ancestor component has NOT fired its will update lifecycle yet\n // so let's just cool our jets and wait for the ancestor to continue first\n // this will get fired off when the ancestor component\n // finally gets around to rendering its lazy self\n // fire off the initial update\n ancestorComponent['s-rc'].push(schedule);\n }\n else {\n schedule();\n }\n};\nconst fireConnectedCallback = (instance) => {\n if (BUILD.lazyLoad && BUILD.connectedCallback) {\n safeCall(instance, 'connectedCallback');\n }\n};\nconst connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);\n if (BUILD.hostListenerTargetParent) {\n // only run if we have listeners being attached to a parent\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n // first time this component has connected\n hostRef.$flags$ |= 1 /* hasConnected */;\n let hostId;\n if (BUILD.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n const scopeId = BUILD.mode\n ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode'))\n : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId + '-h', scopeId + '-s');\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD.slotRelocation && !hostId) {\n // initUpdate\n // if the slot polyfill is required we'll need to put some nodes\n // in here to act as original content anchors as we move nodes around\n // host element has been connected to the DOM\n if (BUILD.hydrateServerSide ||\n ((BUILD.slot || BUILD.shadowDom) &&\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {\n setContentReference(elm);\n }\n }\n if (BUILD.asyncLoading) {\n // find the first ancestor component (if there is one) and register\n // this component as one of the actively loading child components for its ancestor\n let ancestorComponent = elm;\n while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {\n // climb up the ancestors looking for the first\n // component that hasn't finished its lifecycle update yet\n if ((BUILD.hydrateClientSide &&\n ancestorComponent.nodeType === 1 /* ElementNode */ &&\n ancestorComponent.hasAttribute('s-id') &&\n ancestorComponent['s-p']) ||\n ancestorComponent['s-p']) {\n // we found this components first ancestor component\n // keep a reference to this component's ancestor component\n attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));\n break;\n }\n }\n }\n // Lazy properties\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n if (BUILD.prop && !BUILD.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD.initializeNextTick) {\n // connectedCallback, taskQueue, initialLoad\n // angular sets attribute AFTER connectCallback\n // https://github.com/angular/angular/issues/18909\n // https://github.com/angular/angular/issues/19940\n nextTick(() => initializeComponent(elm, hostRef, cmpMeta));\n }\n else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n }\n else {\n // not the first time this has connected\n // reattach any event listeners to the host\n // since they would have been removed when disconnected\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n // fire off connectedCallback() on component instance\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n endConnected();\n }\n};\nconst setContentReference = (elm) => {\n // only required when we're NOT using native shadow dom (slot)\n // or this browser doesn't support native shadow dom\n // and this host element was NOT created with SSR\n // let's pick out the inner content for slot projection\n // create a node to represent where the original\n // content was first placed, which is useful later on\n const contentRefElm = (elm['s-cr'] = doc.createComment(BUILD.isDebug ? `content-ref (host=${elm.localName})` : ''));\n contentRefElm['s-cn'] = true;\n elm.insertBefore(contentRefElm, elm.firstChild);\n};\nconst disconnectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (BUILD.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map((rmListener) => rmListener());\n hostRef.$rmListeners$ = undefined;\n }\n }\n // clear CSS var-shim tracking\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.removeHost(elm);\n }\n if (BUILD.lazyLoad && BUILD.disconnectedCallback) {\n safeCall(instance, 'disconnectedCallback');\n }\n if (BUILD.cmpDidUnload) {\n safeCall(instance, 'componentDidUnload');\n }\n }\n};\nconst defineCustomElement = (Cstr, compactMeta) => {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nconst proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n connectedCallback(this);\n if (BUILD.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */);\n};\nconst forceModeUpdate = (elm) => {\n if (BUILD.style && BUILD.mode && !BUILD.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm['s-sc'];\n const scopeId = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId)) {\n registerStyle(scopeId, style, !!(flags & 1 /* shadowDomEncapsulation */));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + '-h', oldScopeId + '-s');\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\nconst attachShadow = (el) => {\n if (supportsShadow) {\n el.attachShadow({ mode: 'open' });\n }\n else {\n el.shadowRoot = el;\n }\n};\nconst hmrStart = (elm, cmpMeta, hmrVersionId) => {\n // ¯\\_(ツ)_/¯\n const hostRef = getHostRef(elm);\n // reset state flags to only have been connected\n hostRef.$flags$ = 1 /* hasConnected */;\n // TODO\n // detatch any event listeners that may have been added\n // because we're not passing an exact event name it'll\n // remove all of this element's event, which is good\n // create a callback for when this component finishes hmr\n elm['s-hmr-load'] = () => {\n // finished hmr for this element\n delete elm['s-hmr-load'];\n };\n // re-initialize the component\n initializeComponent(elm, hostRef, cmpMeta, hmrVersionId);\n};\nconst patchCloneNode = (HostElementPrototype) => {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function (deep) {\n const srcNode = this;\n const isShadowDom = BUILD.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD.slot && !isShadowDom && deep) {\n let i = 0;\n let slotted, nonStencilNode;\n let stencilPrivates = [\n 's-id',\n 's-cr',\n 's-lr',\n 's-rc',\n 's-sc',\n 's-p',\n 's-cn',\n 's-sr',\n 's-sn',\n 's-hn',\n 's-ol',\n 's-nr',\n 's-si',\n ];\n for (; i < srcNode.childNodes.length; i++) {\n slotted = srcNode.childNodes[i]['s-nr'];\n nonStencilNode = stencilPrivates.every((privateField) => !srcNode.childNodes[i][privateField]);\n if (slotted) {\n if (BUILD.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n }\n else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nconst patchSlotAppendChild = (HostElementPrototype) => {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function (newChild) {\n const slotName = (newChild['s-sn'] = getSlotName(newChild));\n const slotNode = getHostSlotNode(this.childNodes, slotName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n return appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);\n }\n return this.__appendChild(newChild);\n };\n};\n/**\n * Patches the text content of an unnamed slotted node inside a scoped component\n * @param hostElementPrototype the `Element` to be patched\n * @param cmpMeta component runtime metadata used to determine if the component should be patched or not\n */\nconst patchTextContent = (hostElementPrototype, cmpMeta) => {\n if (BUILD.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n const descriptor = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent');\n Object.defineProperty(hostElementPrototype, '__textContent', descriptor);\n Object.defineProperty(hostElementPrototype, 'textContent', {\n get() {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ be found in the next sibling (text) node, depending on how\n // nodes were reordered during the vdom render. first try to get the text content from the sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n return slotNode.nextSibling.textContent;\n }\n else if (slotNode) {\n return slotNode.textContent;\n }\n else {\n // fallback to the original implementation\n return this.__textContent;\n }\n },\n set(value) {\n var _a;\n // get the 'default slot', which would be the first slot in a shadow tree (if we were using one), whose name is\n // the empty string\n const slotNode = getHostSlotNode(this.childNodes, '');\n // when a slot node is found, the textContent _may_ need to be placed in the next sibling (text) node,\n // depending on how nodes were reordered during the vdom render. first try to set the text content on the\n // sibling.\n if (((_a = slotNode === null || slotNode === void 0 ? void 0 : slotNode.nextSibling) === null || _a === void 0 ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n slotNode.nextSibling.textContent = value;\n }\n else if (slotNode) {\n slotNode.textContent = value;\n }\n else {\n // we couldn't find a slot, but that doesn't mean that there isn't one. if this check ran before the DOM\n // loaded, we could have missed it. check for a content reference element on the scoped component and insert\n // it there\n this.__textContent = value;\n const contentRefElm = this['s-cr'];\n if (contentRefElm) {\n this.insertBefore(contentRefElm, this.firstChild);\n }\n }\n },\n });\n }\n};\nconst patchChildSlotNodes = (elm, cmpMeta) => {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n const childNodesFn = elm.__lookupGetter__('childNodes');\n Object.defineProperty(elm, 'children', {\n get() {\n return this.childNodes.map((n) => n.nodeType === 1);\n },\n });\n Object.defineProperty(elm, 'childElementCount', {\n get() {\n return elm.children.length;\n },\n });\n Object.defineProperty(elm, 'childNodes', {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0 &&\n getHostRef(this).$flags$ & 2 /* hasRendered */) {\n const result = new FakeNodeList();\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i]['s-nr'];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n },\n });\n }\n};\nconst getSlotName = (node) => node['s-sn'] || (node.nodeType === 1 && node.getAttribute('slot')) || '';\n/**\n * Recursively searches a series of child nodes for a slot with the provided name.\n * @param childNodes the nodes to search for a slot with a specific name.\n * @param slotName the name of the slot to match on.\n * @returns a reference to the slot node that matches the provided name, `null` otherwise\n */\nconst getHostSlotNode = (childNodes, slotName) => {\n let i = 0;\n let childNode;\n for (; i < childNodes.length; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && childNode['s-sn'] === slotName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nconst getHostSlotChildNodes = (n, slotName) => {\n const childNodes = [n];\n while ((n = n.nextSibling) && n['s-sn'] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\nconst bootstrapLazy = (lazyBundles, options = {}) => {\n if (BUILD.profile && performance.mark) {\n performance.mark('st:app:start');\n }\n installDevTools();\n const endBootstrap = createTime('bootstrapLazy');\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements = win.customElements;\n const head = doc.head;\n const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');\n const visibilityStyle = /*@__PURE__*/ doc.createElement('style');\n const deferredConnectedCallbacks = [];\n const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);\n let appLoadFallback;\n let isBootstrapping = true;\n let i = 0;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;\n if (BUILD.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 /* queueSync */;\n }\n }\n if (BUILD.hydrateClientSide) {\n // If the app is already hydrated there is not point to disable the\n // async queue. This will improve the first input delay\n plt.$flags$ |= 2 /* appLoaded */;\n }\n if (BUILD.hydrateClientSide && BUILD.shadowDom) {\n for (; i < styles.length; i++) {\n registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);\n }\n }\n lazyBundles.map((lazyBundle) => lazyBundle[1].map((compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = {};\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const tagName = BUILD.transformTagName && options.transformTagName\n ? options.transformTagName(cmpMeta.$tagName$)\n : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n // StencilLazyHost\n constructor(self) {\n // @ts-ignore\n super(self);\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD.shadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n // this component is using shadow dom\n // and this browser supports shadow dom\n // add the read-only property \"shadowRoot\" to the host element\n // adding the shadow root build conditionals to minimize runtime\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n self.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */),\n });\n }\n else {\n self.attachShadow({ mode: 'open' });\n }\n }\n else if (!BUILD.hydrateServerSide && !('shadowRoot' in self)) {\n self.shadowRoot = self;\n }\n }\n if (BUILD.slotChildNodesFix) {\n patchChildSlotNodes(self, cmpMeta);\n }\n }\n connectedCallback() {\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n // connectedCallback will be processed once all components have been registered\n deferredConnectedCallbacks.push(this);\n }\n else {\n plt.jmp(() => connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() => disconnectedCallback(this));\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD.hotModuleReplacement) {\n HostElement.prototype['s-hmr'] = function (hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n if (BUILD.scopedSlotTextContentFix) {\n patchTextContent(HostElement.prototype, cmpMeta);\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements.get(tagName)) {\n cmpTags.push(tagName);\n customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */));\n }\n }));\n if (BUILD.invisiblePrehydration && (BUILD.hydratedClass || BUILD.hydratedAttribute)) {\n visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;\n visibilityStyle.setAttribute('data-styles', '');\n head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n // Process deferred connectedCallbacks now all components have been registered\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map((host) => host.connectedCallback());\n }\n else {\n if (BUILD.profile) {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30, 'timeout')));\n }\n else {\n plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));\n }\n }\n // Fallback appLoad event\n endBootstrap();\n};\nconst getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nconst setAssetPath = (path) => (plt.$resourcesUrl$ = path);\nconst getConnect = (_ref, tagName) => {\n const componentOnReady = () => {\n let elm = doc.querySelector(tagName);\n if (!elm) {\n elm = doc.createElement(tagName);\n doc.body.appendChild(elm);\n }\n return typeof elm.componentOnReady === 'function' ? elm.componentOnReady() : Promise.resolve(elm);\n };\n const create = (...args) => {\n return componentOnReady().then((el) => el.create(...args));\n };\n return {\n create,\n componentOnReady,\n };\n};\nconst getContext = (_elm, context) => {\n if (context in Context) {\n return Context[context];\n }\n else if (context === 'window') {\n return win;\n }\n else if (context === 'document') {\n return doc;\n }\n else if (context === 'isServer' || context === 'isPrerender') {\n return BUILD.hydrateServerSide ? true : false;\n }\n else if (context === 'isClient') {\n return BUILD.hydrateServerSide ? false : true;\n }\n else if (context === 'resourcesUrl' || context === 'publicPath') {\n return getAssetPath('.');\n }\n else if (context === 'queue') {\n return {\n write: writeTask,\n read: readTask,\n tick: {\n then(cb) {\n return nextTick(cb);\n },\n },\n };\n }\n return undefined;\n};\nconst insertVdomAnnotations = (doc, staticComponents) => {\n if (doc != null) {\n const docData = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: new Set(staticComponents),\n };\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);\n orgLocationNodes.forEach((orgLocationNode) => {\n if (orgLocationNode != null) {\n const nodeRef = orgLocationNode['s-nr'];\n let hostId = nodeRef['s-host-id'];\n let nodeId = nodeRef['s-node-id'];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 /* ElementNode */) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (nodeRef.nodeType === 3 /* TextNode */) {\n if (hostId === 0) {\n const textContent = nodeRef.nodeValue.trim();\n if (textContent === '') {\n // useless whitespace node at the document root\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode['s-en'] === '') {\n // ending with a \".\" means that the parent element\n // of this node's original location is a SHADOW dom element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.`;\n }\n else if (orgLocationParentNode['s-en'] === 'c') {\n // ending with a \".c\" means that the parent element\n // of this node's original location is a SCOPED element\n // and this node is apart of the root level light dom\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nconst parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {\n if (node == null) {\n return;\n }\n if (node['s-nr'] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 /* ElementNode */) {\n node.childNodes.forEach((childNode) => {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0,\n };\n insertVNodeAnnotations(doc, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc, childNode, docData, orgLocationNodes);\n });\n }\n};\nconst insertVNodeAnnotations = (doc, hostElm, vnode, docData, cmpData) => {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm['s-cr'] != null) {\n hostElm['s-cr'].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) => {\n insertChildVNodeAnnotations(doc, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute('c-id')) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find((node) => node.nodeType === 8 /* CommentNode */ && node['s-sr']);\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(HYDRATE_CHILD_ID, `${comment['s-host-id']}.${comment['s-node-id']}.0.${index}`);\n }\n }\n }\n }\n};\nconst insertChildVNodeAnnotations = (doc, vnodeChild, cmpData, hostId, depth, index) => {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm['s-host-id'] = hostId;\n childElm['s-node-id'] = nodeId;\n if (childElm.nodeType === 1 /* ElementNode */) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (childElm.nodeType === 3 /* TextNode */) {\n const parentNode = childElm.parentNode;\n const nodeName = parentNode.nodeName;\n if (nodeName !== 'STYLE' && nodeName !== 'SCRIPT') {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc.createComment(textNodeId);\n parentNode.insertBefore(commentBeforeTextNode, childElm);\n }\n }\n else if (childElm.nodeType === 8 /* CommentNode */) {\n if (childElm['s-sr']) {\n const slotName = childElm['s-sn'] || '';\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index) => {\n insertChildVNodeAnnotations(doc, vnode, cmpData, hostId, childDepth, index);\n });\n }\n};\nconst setPlatformOptions = (opts) => Object.assign(plt, opts);\nconst Fragment = (_, children) => children;\nconst hostRefs = new WeakMap();\nconst getHostRef = (ref) => hostRefs.get(ref);\nconst registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);\nconst registerHost = (elm, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: elm,\n $cmpMeta$: cmpMeta,\n $instanceValues$: new Map(),\n };\n if (BUILD.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));\n }\n if (BUILD.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));\n elm['s-p'] = [];\n elm['s-rc'] = [];\n }\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n return hostRefs.set(elm, hostRef);\n};\nconst isMemberInElement = (elm, memberName) => memberName in elm;\nconst consoleError = (e, el) => (customError || console.error)(e, el);\nconst STENCIL_DEV_MODE = BUILD.isTesting\n ? ['STENCIL:'] // E2E testing\n : [\n '%cstencil',\n 'color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px',\n ];\nconst consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m);\nconst consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m);\nconst consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m);\nconst setErrorHandler = (handler) => (customError = handler);\nconst cmpModules = /*@__PURE__*/ new Map();\nconst loadModule = (cmpMeta, hostRef, hmrVersionId) => {\n // loadModuleImport\n const exportName = cmpMeta.$tagName$.replace(/-/g, '_');\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD.isDev && typeof bundleId !== 'string') {\n consoleDevError(`Trying to lazily load component <${cmpMeta.$tagName$}> with style mode \"${hostRef.$modeName$}\", but it does not exist.`);\n return undefined;\n }\n const module = !BUILD.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n return import(\n /* webpackInclude: /\\.entry\\.js$/ */\n /* webpackExclude: /\\.system\\.entry\\.js$/ */\n /* webpackMode: \"lazy\" */\n `./${bundleId}.entry.js${BUILD.hotModuleReplacement && hmrVersionId ? '?s-hmr=' + hmrVersionId : ''}`).then((importedModule) => {\n if (!BUILD.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\nconst styles = new Map();\nconst modeResolutionChain = [];\nconst queueDomReads = [];\nconst queueDomWrites = [];\nconst queueDomWritesLow = [];\nconst queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n }\n else {\n plt.raf(flush);\n }\n }\n};\nconst consume = (queue) => {\n for (let i = 0; i < queue.length; i++) {\n try {\n queue[i](performance.now());\n }\n catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nconst consumeTimeout = (queue, timeout) => {\n let i = 0;\n let ts = 0;\n while (i < queue.length && (ts = performance.now()) < timeout) {\n try {\n queue[i++](ts);\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (i === queue.length) {\n queue.length = 0;\n }\n else if (i !== 0) {\n queue.splice(0, i);\n }\n};\nconst flush = () => {\n if (BUILD.asyncQueue) {\n queueCongestion++;\n }\n // always force a bunch of medium callbacks to run, but still have\n // a throttle on how many can run in a certain time\n // DOM READS!!!\n consume(queueDomReads);\n // DOM WRITES!!!\n if (BUILD.asyncQueue) {\n const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */\n ? performance.now() + 14 * Math.ceil(queueCongestion * (1.0 / 10.0))\n : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length > 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if ((queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n else {\n queueCongestion = 0;\n }\n }\n else {\n consume(queueDomWrites);\n if ((queuePending = queueDomReads.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n }\n};\nconst nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);\nconst readTask = /*@__PURE__*/ queueTask(queueDomReads, false);\nconst writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);\nconst Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false,\n};\nexport { BUILD, Env, NAMESPACE } from '@stencil/core/internal/app-data';\nexport { Build, CSS, Context, Fragment, H, H as HTMLElement, Host, STENCIL_DEV_MODE, addHostEventListeners, attachShadow, bootstrapLazy, cmpModules, connectedCallback, consoleDevError, consoleDevInfo, consoleDevWarn, consoleError, createEvent, defineCustomElement, disconnectedCallback, doc, forceModeUpdate, forceUpdate, getAssetPath, getConnect, getContext, getElement, getHostRef, getMode, getRenderingRef, getValue, h, insertVdomAnnotations, isMemberInElement, loadModule, modeResolutionChain, nextTick, parsePropertyValue, plt, postUpdateComponent, promiseResolve, proxyComponent, proxyCustomElement, readTask, registerHost, registerInstance, renderVdom, setAssetPath, setErrorHandler, setMode, setPlatformHelpers, setPlatformOptions, setValue, styles, supportsConstructibleStylesheets, supportsListenerOptions, supportsShadow, win, writeTask };\n","import { h, Host, getElement, getRenderingRef, createEvent, proxyCustomElement } from '@stencil/core/internal/client';\nexport { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, basedir, module) {\n\treturn module = {\n\t\tpath: basedir,\n\t\texports: {},\n\t\trequire: function (path, base) {\n\t\t\treturn commonjsRequire();\n\t\t}\n\t}, fn(module, module.exports), module.exports;\n}\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n\ncreateCommonjsModule(function (module, exports) {\n(function (global, factory) {\n factory() ;\n}(commonjsGlobal, (function () {\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n});\n\nvar Action;\n(function (Action) {\n Action[\"PLAY\"] = \"play\";\n Action[\"PAUSE\"] = \"pause\";\n Action[\"STOP\"] = \"stop\";\n Action[\"ENTER_FULLSCREEN\"] = \"enterfullscreen\";\n Action[\"EXIT_FULLSCREEN\"] = \"exitfullscreen\";\n Action[\"MUTE\"] = \"mute\";\n Action[\"UNMUTE\"] = \"unmute\";\n Action[\"TEXT_ON\"] = \"texton\";\n Action[\"TEXT_OFF\"] = \"textoff\";\n Action[\"GO_TO_LIVE\"] = \"gotolive\";\n Action[\"NONE\"] = \"none\";\n Action[\"SEEK\"] = \"seek\";\n Action[\"SEEK_FORWARD\"] = \"seekforward\";\n Action[\"SEEK_BACK\"] = \"seekback\";\n Action[\"VOLUME\"] = \"volume\";\n Action[\"PREVIEW\"] = \"preview\";\n Action[\"SETTINGS_ON\"] = \"settingson\";\n Action[\"SETTINGS_OFF\"] = \"settingsoff\";\n Action[\"LANGUAGE_SELECT\"] = \"languageselect\";\n Action[\"QUALITY_SELECT\"] = \"qualityselect\";\n Action[\"POSTER_PLAY\"] = \"posterplay\";\n})(Action || (Action = {}));\n\nvar ActiveMode;\n(function (ActiveMode) {\n ActiveMode[\"AUTO\"] = \"auto\";\n ActiveMode[\"MANUAL\"] = \"manual\";\n})(ActiveMode || (ActiveMode = {}));\n\nvar ControlFunction;\n(function (ControlFunction) {\n ControlFunction[\"MUTE\"] = \"mute\";\n ControlFunction[\"PLAY\"] = \"play\";\n ControlFunction[\"FULLSCREEN\"] = \"fullscreen\";\n ControlFunction[\"TEXT\"] = \"text\";\n ControlFunction[\"PLAY_OVERLAY\"] = \"playOverlay\";\n ControlFunction[\"SETTINGS\"] = \"settings\";\n ControlFunction[\"VOLUME\"] = \"volume\";\n})(ControlFunction || (ControlFunction = {}));\n\nvar ControlMode;\n(function (ControlMode) {\n ControlMode[\"NONE\"] = \"none\";\n ControlMode[\"AD\"] = \"ad\";\n ControlMode[\"CONTENT\"] = \"content\";\n ControlMode[\"COMPACT\"] = \"compact\";\n})(ControlMode || (ControlMode = {}));\n\nvar CssNames;\n(function (CssNames) {\n CssNames[\"HIDDEN\"] = \"avia-ui-hidden\";\n CssNames[\"ACC_VOL_ON\"] = \"avia-volume-on\";\n CssNames[\"ACC_VOL_OFF\"] = \"avia-volume-off\";\n CssNames[\"SEGMENT_MARKER\"] = \"avia-segment-marker\";\n CssNames[\"INDICATOR_ACTIVE\"] = \"avia-indicator-active\";\n CssNames[\"ACC_VOL\"] = \"avia-acc-vol\";\n CssNames[\"ACC_VOL_METER\"] = \"avia-acc-vol-meter\";\n CssNames[\"ACC_VOL_OVERLAY\"] = \"avia-vol-meter-overlay\";\n CssNames[\"ACC_FWD\"] = \"avia-acc-fwd\";\n CssNames[\"ACC_BACK\"] = \"avia-acc-back\";\n CssNames[\"ACC_ARROW\"] = \"avia-acc-arrow\";\n CssNames[\"UNMUTE_CTA\"] = \"avia-unmute-cta\";\n CssNames[\"CONTROLS_VISIBLE\"] = \"avia-controls-vis\";\n CssNames[\"SPINNER_ACTIVE\"] = \"avia-spinner\";\n CssNames[\"SPINNER_IDLE\"] = \"avia-spinner-idle\";\n CssNames[\"SETTINGS_NUDGE_LEFT\"] = \"avia-settings-nudge-left\";\n})(CssNames || (CssNames = {}));\n\nvar LocalizationId;\n(function (LocalizationId) {\n LocalizationId[\"PLAY\"] = \"play\";\n LocalizationId[\"PAUSE\"] = \"pause\";\n LocalizationId[\"STOP\"] = \"stop\";\n LocalizationId[\"MUTE\"] = \"mute\";\n LocalizationId[\"UNMUTE\"] = \"unmute\";\n LocalizationId[\"VOLUME\"] = \"volume\";\n LocalizationId[\"CLICK_TO_UNMUTE\"] = \"click-to-unmute\";\n LocalizationId[\"TAP_TO_UNMUTE\"] = \"tap-to-unmute\";\n LocalizationId[\"LIVE\"] = \"live\";\n LocalizationId[\"GO_LIVE\"] = \"go-live\";\n LocalizationId[\"SEEK\"] = \"seek\";\n LocalizationId[\"SEEK_BACK\"] = \"seek-back\";\n LocalizationId[\"SEEK_FORWARD\"] = \"seek-forward\";\n LocalizationId[\"CLOSED_CAPTIONS_OFF\"] = \"closed-captions-off\";\n LocalizationId[\"CLOSED_CAPTIONS_ON\"] = \"closed-captions-on\";\n LocalizationId[\"FULL_SCREEN_ENTER\"] = \"full-screen-enter\";\n LocalizationId[\"FULL_SCREEN_EXIT\"] = \"full-screen-exit\";\n LocalizationId[\"HOURS\"] = \"hours\";\n LocalizationId[\"MINUTES\"] = \"minutes\";\n LocalizationId[\"SECONDS\"] = \"seconds\";\n LocalizationId[\"VALUE_OF_TOTAL\"] = \"value-of-total\";\n LocalizationId[\"UNMUTE_CTA\"] = \"unmute-cta\";\n LocalizationId[\"SETTINGS\"] = \"settings\";\n LocalizationId[\"LANGUAGE\"] = \"language\";\n LocalizationId[\"QUALITY\"] = \"quality\";\n LocalizationId[\"BACK\"] = \"back\";\n LocalizationId[\"CAPTIONS\"] = \"captions\";\n LocalizationId[\"AUDIO\"] = \"audio\";\n LocalizationId[\"CLOSE\"] = \"close\";\n LocalizationId[\"AUTO\"] = \"auto\";\n LocalizationId[\"UNKNOWN\"] = \"unknown\";\n})(LocalizationId || (LocalizationId = {}));\n\nfunction debounce(func, delay) {\n let timeout;\n return function () {\n clearTimeout(timeout);\n const args = Array.from(arguments);\n timeout = setTimeout(() => func.apply(null, args), delay);\n };\n}\nfunction isEmpty(val) {\n return val === null || val === undefined || val == '';\n}\nfunction isUndefined(value) {\n return typeof value === 'undefined';\n}\nfunction csvToArray(str) {\n if (isEmpty(str)) {\n return [];\n }\n return str.split(',').map(v => v.trim());\n}\nfunction toTimeObject(value = 0) {\n if (value == null || isNaN(value)) {\n value = 0;\n }\n const hms = secToHms(value, 3600).split(\":\");\n return {\n hours: parseInt(hms[0]),\n minutes: parseInt(hms[1]),\n seconds: parseInt(hms[2])\n };\n}\nfunction createLocalizedTimeString(time, localeData) {\n const t = toTimeObject(time);\n const hasHours = t.hours > 0;\n let ret = '';\n if (hasHours) {\n ret += `${t.hours} ${localeData[LocalizationId.HOURS]} `;\n }\n if (t.minutes > 0 || hasHours) {\n ret += `${t.minutes} ${localeData[LocalizationId.MINUTES]} `;\n }\n ret += `${t.seconds} ${localeData[LocalizationId.SECONDS]}`;\n return ret;\n}\nfunction getEventPos(event) {\n return {\n // @ts-ignore\n x: (event.pageX - (window.scrollX || window.pageXOffset)) || (event.targetTouches[0].pageX - window.scrollX),\n // @ts-ignore\n y: (event.pageY - (window.scrollY || window.pageYOffset)) || (event.targetTouches[0].pageY - window.scrollY)\n };\n}\nfunction valueOfTotal(time, duration, localeData) {\n const value = createLocalizedTimeString(time, localeData);\n const total = createLocalizedTimeString(duration, localeData);\n return localize(localeData[LocalizationId.VALUE_OF_TOTAL], { value, total });\n}\nfunction toCssPercent(value) {\n return `${roundTo(value * 100, 2)}%`;\n}\n// TODO: The following items are all duplicates from avia.util.Util and should be removed.\nfunction secToHms(seconds, max = 61) {\n // default\n if (seconds == null || isNaN(seconds)) {\n return \"00:00\";\n }\n // logical OR truncation\n seconds = seconds | 0;\n let time = zeroFill(seconds % 60);\n seconds = seconds / 60 | 0;\n time = zeroFill(seconds % 60) + \":\" + time;\n seconds = seconds / 60 | 0;\n if (seconds > 0) {\n time = zeroFill(seconds) + \":\" + time;\n }\n if (max >= 3600 && time.length === 5) {\n time = \"00:\" + time;\n }\n return time;\n}\nfunction localize(message, context) {\n return template(message, context);\n}\nfunction template(input, context, open = \"{{\", close = \"}}\") {\n if (!input) {\n return input;\n }\n const regex = new RegExp(`${open}((?:(?!(${open}|${close})).)+)${close}`, \"g\");\n return input.replace(regex, (match, token) => (!isUndefined(context[token])) ? context[token] : match);\n}\nfunction zeroFill(time) {\n return (time < 10) ? \"0\" + time : time.toString();\n}\nfunction mapToRange(value, fromMin, fromMax, toMin = 0, toMax = 1) {\n return (value - fromMin) * (toMax - toMin) / (fromMax - fromMin) + toMin;\n}\nfunction roundTo(num, len) {\n return Math.round(num * Math.pow(10, len)) / Math.pow(10, len);\n}\nfunction clampValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction blockEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction createElementsFromString(html) {\n try {\n const template = document.createElement('template');\n template.innerHTML = html;\n return Array.from(template.content.children);\n }\n catch (error) {\n throw new Error(`Could not create element from string: ${html}`);\n }\n}\nfunction applyCssVars(varMap) {\n const { style } = document.documentElement;\n Object.keys(varMap).forEach(key => style.setProperty(key, varMap[key]));\n}\n\nconst PreviewTimeTransform = {\n DEFAULT: (playerTime) => secToHms(playerTime.contentTime),\n UTC_TIME: (playerTime) => new Date(playerTime.liveStreamUtcTime).toTimeString().split(' ')[0],\n};\n\nvar UiEvents;\n(function (UiEvents) {\n UiEvents[\"ACTION\"] = \"uiaction\";\n})(UiEvents || (UiEvents = {}));\n\nclass AviaPluginBase {\n constructor() {\n this.debug = false;\n this.logFmt = 'color: #fcf; font-style: italic;';\n this.player = null;\n this.services = null;\n this.options = null;\n this.name = null;\n this.handlePlayerEvent = this.handlePlayerEvent.bind(this);\n }\n destroy() {\n this.listenToPlayer(false, this.getEventInterests());\n this.player = null;\n this.options = null;\n this.services = null;\n this.avia = null;\n }\n handlePlayerEvent(event) {\n }\n // Return a list of events this plugin needs to listen to;\n // implement in subclass\n getEventInterests() {\n return [];\n }\n sendEvent(data) {\n this.services.event.dispatchPluginEvent(data);\n }\n // Add/remove listeners for the given list of player events\n // Invoke with no arg or with TRUE to add listeners, FALSE to remove\n listenToPlayer(flag, events) {\n const action = flag !== false ? 'on' : 'off';\n events.forEach(event => this.player[action](event, this.handlePlayerEvent));\n }\n log(msg) {\n this.debug && (console === null || console === void 0 ? void 0 : console.log(`%c ${msg}`, this.logFmt));\n }\n async onRegister(player, options, services) {\n this.player = player;\n this.services = services;\n this.options = options;\n this.name = options.name;\n this.avia = services.avia;\n this.debug = options.debug === true;\n await this.initialize();\n this.listenToPlayer(true, this.getEventInterests());\n this.log(`Registered ${this.name}`);\n }\n async initialize() {\n }\n}\n\nconst LocalizationData = {\n en: {\n [LocalizationId.PLAY]: 'Play',\n [LocalizationId.PAUSE]: 'Pause',\n [LocalizationId.STOP]: 'Stop',\n [LocalizationId.MUTE]: 'Mute',\n [LocalizationId.UNMUTE]: 'Unmute',\n [LocalizationId.VOLUME]: 'Volume',\n [LocalizationId.CLICK_TO_UNMUTE]: 'Click to unmute',\n [LocalizationId.TAP_TO_UNMUTE]: 'Tap to unmute',\n [LocalizationId.SEEK]: 'Seek',\n [LocalizationId.SEEK_BACK]: 'Seek Backward',\n [LocalizationId.SEEK_FORWARD]: 'Seek Forward',\n [LocalizationId.LIVE]: 'Live',\n [LocalizationId.GO_LIVE]: 'Go Live',\n [LocalizationId.CLOSED_CAPTIONS_OFF]: 'Closed Captions Off',\n [LocalizationId.CLOSED_CAPTIONS_ON]: 'Closed Captions On',\n [LocalizationId.FULL_SCREEN_ENTER]: 'Enter Fullscreen',\n [LocalizationId.FULL_SCREEN_EXIT]: 'Exit Fullscreen',\n [LocalizationId.HOURS]: 'Hours',\n [LocalizationId.MINUTES]: 'Minutes',\n [LocalizationId.SECONDS]: 'Seconds',\n [LocalizationId.VALUE_OF_TOTAL]: '{{value}} of {{total}}',\n [LocalizationId.SETTINGS]: 'Settings',\n [LocalizationId.LANGUAGE]: 'Language',\n [LocalizationId.QUALITY]: 'Quality',\n [LocalizationId.BACK]: 'Back',\n [LocalizationId.CAPTIONS]: 'Captions',\n [LocalizationId.AUDIO]: 'Audio',\n [LocalizationId.CLOSE]: 'Close',\n [LocalizationId.AUTO]: 'Auto',\n [LocalizationId.UNKNOWN]: 'Unknown',\n },\n es: {\n [LocalizationId.PLAY]: 'Reproducir',\n [LocalizationId.PAUSE]: 'Pausa',\n [LocalizationId.STOP]: 'Stop',\n [LocalizationId.MUTE]: 'Silencio',\n [LocalizationId.UNMUTE]: 'Dejar de silenciar',\n [LocalizationId.VOLUME]: 'Volumen',\n [LocalizationId.CLICK_TO_UNMUTE]: 'Haz clic para dejar de silenciar',\n [LocalizationId.TAP_TO_UNMUTE]: 'Toca para dejar de silenciar',\n [LocalizationId.SEEK]: 'Buscar',\n [LocalizationId.SEEK_BACK]: 'Buscar hacia atrás',\n [LocalizationId.SEEK_FORWARD]: 'Buscar adelante',\n [LocalizationId.LIVE]: 'En Vivo',\n [LocalizationId.GO_LIVE]: 'Ir a Vivir',\n [LocalizationId.CLOSED_CAPTIONS_OFF]: 'Subtítulos cerrados',\n [LocalizationId.CLOSED_CAPTIONS_ON]: 'Subtítulos cerrados en',\n [LocalizationId.FULL_SCREEN_ENTER]: 'Ir a pantalla completa',\n [LocalizationId.FULL_SCREEN_EXIT]: 'Salir de pantalla completa',\n [LocalizationId.HOURS]: 'Horas',\n [LocalizationId.MINUTES]: 'Minutos',\n [LocalizationId.SECONDS]: 'Segundos',\n [LocalizationId.VALUE_OF_TOTAL]: '{{value}} de {{total}}',\n [LocalizationId.SETTINGS]: 'Configuraciones',\n [LocalizationId.LANGUAGE]: 'Lengua',\n [LocalizationId.QUALITY]: 'Calidad',\n [LocalizationId.BACK]: 'Volver',\n [LocalizationId.CAPTIONS]: 'Subtítulos',\n [LocalizationId.AUDIO]: 'Audio',\n [LocalizationId.CLOSE]: 'Cerrar',\n [LocalizationId.AUTO]: 'Auto',\n [LocalizationId.UNKNOWN]: 'Desconocida',\n }\n};\n\nclass AviaUiPlugin extends AviaPluginBase {\n constructor() {\n super();\n this.defaultSeekInc = 10;\n this.accIndicatorDisplayTime = 1500;\n this.playbackStarted = false;\n this.settingsEngaged = false;\n this.firstProgressReceived = false;\n this.defaultCompactViewBreakpoint = 520;\n this.rootElement = 'avia-ui';\n this.previewTimeTransform = PreviewTimeTransform.DEFAULT;\n this.aviaUi = null;\n this.hUiAction = this.hUiAction.bind(this);\n this.accVolUpdater = debounce((state) => {\n this.setAccIndicatorState(state);\n }, this.accIndicatorDisplayTime);\n this.accSeekUpdater = debounce((state) => {\n this.setAccIndicatorState(state);\n }, this.accIndicatorDisplayTime);\n }\n static async create(services, options) {\n const plugin = new AviaUiPlugin();\n await plugin.onRegister(services.player, options, services);\n return plugin;\n }\n get activeMode() {\n return this.aviaUi.activeMode || ActiveMode.AUTO;\n }\n set activeMode(value) {\n this.aviaUi.activeMode = value;\n }\n get active() {\n return this.aviaUi.active;\n }\n set active(value) {\n this.setActivityState(value);\n }\n destroy() {\n var _a;\n super.destroy();\n (_a = this.aviaUi) === null || _a === void 0 ? void 0 : _a.removeEventListener(UiEvents.ACTION, this.hUiAction);\n this.aviaUi = null;\n }\n // events from UI\n hUiAction(e) {\n const action = e.detail.action;\n this.services.event.dispatchPluginEvent({\n name: this.name,\n action,\n value: e.detail.value || null\n });\n switch (action) {\n case Action.POSTER_PLAY:\n case Action.PLAY:\n case Action.PAUSE:\n case Action.STOP:\n if (!this.playbackStarted) {\n this.cancelPoster(action === Action.POSTER_PLAY);\n action !== Action.STOP && this.player.play().catch(() => { });\n }\n else {\n // @ts-ignore\n this.player[action]();\n }\n break;\n case Action.ENTER_FULLSCREEN:\n this.player.enterFullscreen();\n break;\n case Action.EXIT_FULLSCREEN:\n this.player.exitFullscreen();\n break;\n case Action.MUTE:\n this.player.muted = true;\n this.aviaUi.muted = true;\n break;\n case Action.UNMUTE:\n this.unmute();\n break;\n case Action.TEXT_ON:\n case Action.TEXT_OFF:\n const isOn = action === Action.TEXT_ON;\n this.player.textTrackEnabled = isOn;\n this.aviaUi.textTrackEnabled = isOn;\n break;\n case Action.SEEK:\n this.playerSeek(e.detail.value);\n break;\n case Action.SEEK_FORWARD:\n this.incrementalSeek(1);\n break;\n case Action.SEEK_BACK:\n this.incrementalSeek(-1);\n break;\n case Action.VOLUME:\n this.player.volume = e.detail.value;\n break;\n case Action.PREVIEW:\n const { time, percent } = e.detail.value;\n const { contentDuration, streamDuration, liveStreamUtcDuration, liveStreamUtcStart } = this.player;\n const streamTime = percent * streamDuration;\n Promise\n .resolve(this.previewTimeTransform({\n contentTime: time,\n streamTime,\n liveStreamUtcTime: Math.round((streamTime * 1000) + liveStreamUtcStart),\n contentDuration: contentDuration,\n streamDuration: streamDuration,\n liveStreamUtcDuration: liveStreamUtcDuration,\n }))\n .then(value => {\n var _a, _b;\n this.aviaUi.preview = {\n value,\n data: (_b = (_a = this.player) === null || _a === void 0 ? void 0 : _a.getThumbnail(time)) === null || _b === void 0 ? void 0 : _b.data,\n };\n });\n break;\n case Action.SETTINGS_ON:\n case Action.SETTINGS_OFF:\n this.setStateForSettings(action === Action.SETTINGS_ON);\n break;\n case Action.LANGUAGE_SELECT:\n this.selectLanguage(e.detail.value);\n break;\n case Action.QUALITY_SELECT:\n this.selectQuality(e.detail.value);\n break;\n case Action.GO_TO_LIVE:\n this.player.goLive();\n break;\n }\n }\n handlePlayerEvent(event) {\n const { ActiveState, PlayerEvent, StreamType } = this.avia;\n const isLive = this.player.streamType === StreamType.LIVE;\n const isDvr = this.player.streamType === StreamType.DVR;\n const { type, data } = event;\n switch (type) {\n case PlayerEvent.READY:\n this.setPlayState();\n this.setPosterState();\n break;\n case PlayerEvent.AUTOPLAY_BLOCKED:\n this.setPosterState(true);\n break;\n case PlayerEvent.RESOURCE_START:\n this.setPosterState(this.aviaUi.posterActive);\n this.setSegmentBreakPositions([]);\n break;\n case PlayerEvent.AD_CUEPOINTS_AVAILABLE:\n this.setSegmentBreakPositions(data.cuepoints);\n break;\n case PlayerEvent.AD_SEGMENT_START:\n if (this.options.showAdControlsOnAdSegmentStart !== false) {\n this.setStateForAdBreakStart();\n }\n break;\n case PlayerEvent.AD_START:\n this.setControlMode(ControlMode.AD);\n this.enableControls([ControlFunction.PLAY], true);\n this.aviaUi.playing = true;\n break;\n case PlayerEvent.AD_BREAK_START:\n this.setStateForAdBreakStart();\n break;\n case PlayerEvent.AD_PROGRESS:\n this.setAdPosition(data.currentTime, data.duration);\n break;\n case PlayerEvent.AD_SEGMENT_END:\n case PlayerEvent.AD_BREAK_COMPLETE:\n this.setControlMode(ControlMode.NONE);\n break;\n case PlayerEvent.CONTENT_START:\n case PlayerEvent.CONTENT_SEGMENT_START:\n this.setStateForContentStart(isLive, isDvr);\n break;\n case PlayerEvent.CONTENT_SEGMENT_END:\n this.firstProgressReceived = false;\n this.setControlMode(ControlMode.NONE);\n break;\n case PlayerEvent.CONTENT_PLAYING:\n this.setControlMode(ControlMode.CONTENT);\n this.setPlayState();\n break;\n case PlayerEvent.AD_PAUSED:\n case PlayerEvent.CONTENT_PAUSED:\n this.aviaUi.playing = false;\n break;\n case PlayerEvent.AD_PLAYING:\n case PlayerEvent.CONTENT_PLAYING:\n this.aviaUi.playing = true;\n break;\n case PlayerEvent.CONTENT_PROGRESS:\n if (!this.firstProgressReceived) {\n this.firstProgressReceived = true;\n this.setPlayState();\n this.setLiveState(isLive, isDvr);\n }\n if (!isLive) {\n this.setTimeAndPosition();\n }\n if (isLive || isDvr) {\n this.setLiveState(isLive, isDvr);\n }\n break;\n case PlayerEvent.FULLSCREEN_ENTER:\n case PlayerEvent.FULLSCREEN_EXIT:\n this.aviaUi.fullscreen = type === PlayerEvent.FULLSCREEN_ENTER;\n break;\n case PlayerEvent.TEXT_TRACK_AVAILABLE:\n this.enableControls(ControlFunction.TEXT, true);\n this.enableSettingsButton();\n break;\n case PlayerEvent.TEXT_TRACK_DISPLAY_MODE_CHANGE:\n this.aviaUi.textTrackEnabled = data.enabled;\n break;\n case PlayerEvent.LANGUAGE_CHANGE:\n this.setLocalizationData(data.value || 'en');\n break;\n case PlayerEvent.MUTE_CHANGE:\n this.aviaUi.muted = data;\n if (!this.player.muted) {\n this.aviaUi.unmuteCtaVisible = false;\n }\n break;\n case PlayerEvent.VOLUME_CHANGE:\n const vol = data;\n const muted = this.player.muted;\n if (this.aviaUi.volume == vol) {\n break;\n }\n if (!this.aviaUi.muted) {\n this.aviaUi.muted = Math.ceil(vol) ? false : true;\n }\n else if (this.aviaUi.muted && vol > 0) {\n this.unmute();\n }\n this.aviaUi.volume = vol;\n if (!muted) {\n this.aviaUi.unmuteCtaVisible = false;\n }\n break;\n case PlayerEvent.HOTKEY_ACTION:\n this.playbackStarted && this.setAccIndicator(data.action, data);\n break;\n case PlayerEvent.ACTIVE_CHANGE:\n if (this.activeMode === ActiveMode.AUTO) {\n this.active = data.value === ActiveState.ACTIVE;\n }\n break;\n case PlayerEvent.PRESENTATION_SIZE_CHANGE:\n this.respondToSizeChange();\n break;\n case PlayerEvent.QUALITY_CHANGE:\n this.setStateForSettings();\n break;\n case PlayerEvent.QUALITY_INFO_CHANGE:\n case PlayerEvent.AUDIO_TRACK_INFO_CHANGE:\n this.enableSettingsButton();\n this.setStateForSettings();\n break;\n case PlayerEvent.RESOURCE_END:\n case PlayerEvent.RESOURCE_INTERRUPTED:\n this.setIdleState();\n break;\n case PlayerEvent.PLAYBACK_STATE_CHANGE:\n this.setPlayState();\n break;\n }\n }\n ////////////\n incrementalSeek(dir) {\n const inc = this.options.seekIncrement || this.defaultSeekInc;\n const increment = dir * inc;\n this.playerSeek(this.player.contentTime + increment);\n this.player.recordMetric(this.avia.MetricType.UI, this.avia.UiMetric.SEEK_BY, increment);\n }\n playerSeek(pos) {\n this.player.seek(pos).then(() => { });\n }\n unmute() {\n this.player.muted = false;\n this.aviaUi.muted = false;\n }\n setControlMode(mode) {\n if (mode === ControlMode.CONTENT) {\n const m = this.getContentControlMode();\n this.aviaUi.controlMode = m;\n }\n else {\n this.aviaUi.controlMode = mode;\n }\n }\n setActivityState(active) {\n var _a, _b;\n if (!this.playbackStarted) {\n return;\n }\n if (this.options.offsetTimedTextOnControlsVisible) {\n const c = this.getContainer();\n c.classList.toggle(CssNames.CONTROLS_VISIBLE, active);\n }\n this.aviaUi.active = this.activeMode === ActiveMode.MANUAL ? active : ((_b = (_a = this.aviaUi) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.active) ? true : active;\n }\n setAccIndicator(action, data) {\n const newState = {};\n const { AccessibilityAction } = this.avia;\n switch (action) {\n case AccessibilityAction.INCREASE_VOLUME:\n case AccessibilityAction.DECREASE_VOLUME:\n case AccessibilityAction.TOGGLE_MUTE:\n newState.volumeKey = true;\n this.accVolUpdater({ volumeKey: false });\n if (!this.player.muted)\n this.aviaUi.unmuteCtaVisible = false;\n break;\n case AccessibilityAction.SEEK_FORWARD:\n case AccessibilityAction.SEEK_BACK:\n newState.seekForward = action === AccessibilityAction.SEEK_FORWARD;\n newState.seekBack = action === AccessibilityAction.SEEK_BACK;\n newState.seekTime = (data === null || data === void 0 ? void 0 : data.position) || 0;\n this.accSeekUpdater({ seekForward: false, seekBack: false, seekTime: null });\n break;\n }\n this.setAccIndicatorState(newState);\n }\n setAccIndicatorState(state) {\n this.aviaUi.accIndicatorState = Object.assign(Object.assign({}, this.aviaUi.accIndicatorState), state);\n }\n setStateForContentStart(isLive, isDvr) {\n this.cancelPoster(false);\n this.setControlMode(ControlMode.CONTENT);\n this.setLiveState(isLive, isDvr);\n this.enableControls([ControlFunction.MUTE, ControlFunction.PLAY, ControlFunction.FULLSCREEN], true);\n this.aviaUi.muted = this.player.muted;\n this.setSeekDisabled(false);\n this.setStateForPlaybackStart();\n this.aviaUi.volume = this.player.volume;\n this.enableSettingsButton();\n }\n setStateForAdBreakStart() {\n const enabled = [ControlFunction.MUTE, ControlFunction.PLAY];\n if (this.services.system.isDesktop) {\n enabled.push(ControlFunction.FULLSCREEN);\n }\n else {\n this.enableControls([ControlFunction.FULLSCREEN], false);\n }\n this.cancelPoster(false);\n this.setControlMode(ControlMode.AD);\n this.enableControls(enabled, true);\n this.aviaUi.playing = true;\n this.aviaUi.muted = this.player.muted;\n this.setStateForPlaybackStart();\n }\n setStateForPlaybackStart() {\n if (this.options.useUnmuteCta && !this.playbackStarted && this.player.muted) {\n this.aviaUi.unmuteCtaVisible = true;\n }\n this.playbackStarted = true;\n this.setPlayState();\n }\n setPosterState(active = this.services.playerOptions.autoplay === this.avia.Autoplay.NONE) {\n var _a;\n this.aviaUi.posterImageUrl = ((_a = this.player.resource) === null || _a === void 0 ? void 0 : _a.location.posterImageUrl) || this.options.posterImageUrl;\n this.aviaUi.posterActive = active;\n }\n cancelPoster(posterClicked) {\n this.aviaUi.posterActive = false;\n if (posterClicked) {\n this.services.event.dispatchPluginEvent({\n pluginName: this.name,\n type: Action.POSTER_PLAY\n });\n }\n }\n setIdleState() {\n this.setControlMode(ControlMode.NONE);\n this.aviaUi.unmuteCtaVisible = false;\n this.enableControls([\n ControlFunction.MUTE,\n ControlFunction.PLAY,\n ControlFunction.FULLSCREEN,\n ControlFunction.TEXT\n ], false);\n this.aviaUi.active = false;\n this.playbackStarted = false;\n }\n setLiveState(isLive, isDvr) {\n const isPlayingLive = this.player.isPlayingLive;\n this.aviaUi.isLiveLinear = isLive;\n this.aviaUi.isDvr = isDvr;\n this.aviaUi.live = isLive || (isDvr && isPlayingLive);\n this.aviaUi.pausable = this.player.pausable;\n if (isDvr) {\n this.aviaUi.seekForwardDisabled = isPlayingLive;\n }\n }\n setPlayState() {\n const { playbackState } = this.player;\n const isPlaying = playbackState === this.avia.PlaybackState.PLAYING;\n const isWaiting = playbackState === this.avia.PlaybackState.WAITING;\n this.aviaUi.playing = isWaiting || isPlaying ? true : false;\n this.aviaUi.playDisabled = !isPlaying && playbackState !== this.avia.PlaybackState.PAUSED;\n this.aviaUi.waiting = isWaiting;\n }\n respondToSizeChange() {\n const m = this.aviaUi.controlMode;\n if (m == ControlMode.CONTENT || m == ControlMode.COMPACT) {\n this.aviaUi.controlMode = this.getContentControlMode();\n }\n }\n getContentControlMode() {\n const { width } = this.player.dimensions;\n const brk = this.options.compactViewBreakpoint || this.defaultCompactViewBreakpoint;\n return width > brk ? ControlMode.CONTENT : ControlMode.COMPACT;\n }\n enableSettingsButton() {\n var _a, _b, _c, _d;\n const p = this.player;\n const t = (_a = p.textTrackInfo) === null || _a === void 0 ? void 0 : _a.track;\n const a = (_b = p.audioTrackInfo) === null || _b === void 0 ? void 0 : _b.track;\n const q = ((_d = (_c = p.qualityInfo) === null || _c === void 0 ? void 0 : _c.qualities) === null || _d === void 0 ? void 0 : _d.length) > 1;\n this.aviaUi.settingsDisabled = !(t || a || q);\n }\n setStateForSettings(active = this.settingsEngaged) {\n const p = this.player;\n if (this.services.system.browser === this.avia.Browser.FIREFOX && active) {\n this.aviaUi.classList.add(CssNames.SETTINGS_NUDGE_LEFT);\n }\n this.aviaUi.settings = {\n active,\n textTrackInfo: p.textTrackInfo,\n audioTrackInfo: p.audioTrackInfo,\n qualityInfo: p.qualityInfo,\n };\n this.settingsEngaged = active;\n this.pauseOnSettings(active);\n }\n pauseOnSettings(active) {\n if (this.options.pauseOnSettings) {\n const playing = this.player.playbackState === this.avia.PlaybackState.PLAYING;\n if (active && playing) {\n this.player.pause();\n this.playPendingAfterSettings = true;\n }\n if (!active && this.playPendingAfterSettings) {\n this.playPendingAfterSettings = false;\n this.player.play();\n }\n }\n }\n enableControls(name, flag) {\n const arr = !Array.isArray(name) ? [name] : name;\n const uir = this.aviaUi;\n arr.forEach((n) => uir[`${n}Disabled`] = !flag);\n }\n setSeekDisabled(flag) {\n this.aviaUi.seekDisabled = flag;\n this.aviaUi.seekBackDisabled = flag;\n this.aviaUi.seekForwardDisabled = flag;\n }\n setAdPosition(time, dur) {\n this.aviaUi.adPlayheadPosition = time / dur;\n }\n setTimeAndPosition() {\n if (this.aviaUi.waiting) {\n return;\n }\n const ct = this.player.contentTime;\n const dur = this.player.contentDuration;\n this.aviaUi.timeDisplayValue = this.getTimeDisplayValue(ct, dur);\n this.aviaUi.currentTimeSeconds = ct;\n this.aviaUi.durationSeconds = dur;\n this.aviaUi.playheadPosition = ct / dur;\n }\n setSegmentBreakPositions(times) {\n const d = this.player.contentDuration;\n this.aviaUi.segmentBreakPositions = times.filter(t => t > 0 && t != d).join(',');\n }\n selectLanguage(data) {\n var _a, _b;\n const t = data.trackType;\n const id = data.trackId;\n if (t == 'text') {\n const track = (_a = this.player.textTrackInfo.tracks) === null || _a === void 0 ? void 0 : _a.find((tk) => tk.id == id);\n if (track)\n this.player.textTrack = track;\n }\n else if (t == 'audio') {\n const track = (_b = this.player.audioTrackInfo.tracks) === null || _b === void 0 ? void 0 : _b.find((tk) => tk.index == id);\n if (track)\n this.player.audioTrack = track;\n }\n }\n selectQuality(data) {\n var _a, _b;\n const { index } = data;\n if (index == -1) {\n this.player.autoQualitySwitching = true;\n return;\n }\n const bitrate = (_b = (_a = this.player.qualityInfo.qualities) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b.bitrate;\n if (bitrate) {\n this.player.bitrate = bitrate;\n }\n }\n getTimeDisplayValue(ct, dur) {\n if (dur > 86400)\n return '';\n return `${secToHms(ct)} / ${secToHms(dur)}`;\n }\n ////////////////////////\n // initialization & util\n setControlExclusions() {\n var _a, _b;\n const info = (_b = (_a = this.services) === null || _a === void 0 ? void 0 : _a.system) === null || _b === void 0 ? void 0 : _b.info;\n const { Device } = this.avia;\n let exc = [];\n switch (info.device) {\n case Device.ANDROID_PHONE:\n case Device.IPHONE:\n case Device.IPOD:\n case Device.KINDLE:\n case Device.IPAD:\n case Device.MOBILE:\n case Device.TABLET:\n case Device.UNKNOWN:\n case Device.WINDOWS_PHONE:\n exc = [ControlFunction.VOLUME, ControlFunction.TEXT, ControlFunction.SETTINGS];\n break;\n case Device.LG_SMART_TV:\n case Device.PLAYSTATION_4:\n case Device.PLAYSTATION_5:\n case Device.SAMSUNG_SMART_TV:\n case Device.VIZIO_SMART_TV:\n case Device.XBOX_ONE:\n exc = [ControlFunction.VOLUME];\n break;\n }\n this.aviaUi.excludedControls = exc;\n }\n createUi() {\n var _a;\n this.applyTheme((_a = this.options) === null || _a === void 0 ? void 0 : _a.theme);\n return customElements.whenDefined(this.rootElement).then(() => {\n this.setControlExclusions();\n this.initializeState();\n });\n }\n getContainer() {\n var _a;\n let container = this.options.container;\n if (container) {\n container = document.querySelector(container);\n }\n return container || ((_a = this.services) === null || _a === void 0 ? void 0 : _a.dom.main);\n }\n initializeState() {\n var _a, _b, _c, _d;\n this.aviaUi.accIndicatorState = {\n displayTime: this.accIndicatorDisplayTime,\n volumeKey: false,\n muted: false,\n seekForward: false,\n seekBack: false,\n seekTime: null\n };\n this.aviaUi.qualityLabel = (_a = this.options) === null || _a === void 0 ? void 0 : _a.qualityLabel;\n if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.activeMode) {\n this.aviaUi.activeMode = this.options.activeMode;\n }\n if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.previewTimeTransform) {\n this.previewTimeTransform = (_d = this.options) === null || _d === void 0 ? void 0 : _d.previewTimeTransform;\n }\n this.aviaUi.isTouch = 'ontouchstart' in document.documentElement;\n this.aviaUi.initialized = true;\n }\n setLocalizationData(lang) {\n const localeData = Object.values(LocalizationId).reduce((acc, id) => {\n acc[id] = this.services.localization.localize(id, lang);\n return acc;\n }, {});\n this.aviaUi.localeData = localeData;\n }\n getEventInterests() {\n const pe = this.avia.PlayerEvent;\n return Object.values(pe);\n }\n async initialize() {\n this.services.localization.registerLocalizationData(LocalizationData);\n await this.createUi();\n }\n applyTheme(theme = {}) {\n const container = this.getContainer();\n const { html, cssVars } = theme;\n let aviaUi = container.querySelector(this.rootElement);\n let previous;\n if (html && aviaUi) {\n previous = container.removeChild(aviaUi);\n previous.removeEventListener(UiEvents.ACTION, this.hUiAction);\n aviaUi = null;\n this.aviaUi = null;\n }\n if (!aviaUi) {\n const elements = (html) ? createElementsFromString(html) : [document.createElement(this.rootElement)];\n aviaUi = elements.find(element => element.nodeName.toLowerCase() === this.rootElement);\n if (!aviaUi) {\n throw new Error(`Avia UI theme HTML must contain the root element ${this.rootElement}`);\n }\n elements.forEach(element => container.appendChild(element));\n if (previous) {\n // @ts-ignore\n Object.keys(Object.getPrototypeOf(previous)).forEach(key => {\n const value = previous[key];\n if (typeof value === 'function') {\n return;\n }\n aviaUi[key] = previous[key];\n });\n }\n }\n if (!this.aviaUi) {\n this.aviaUi = aviaUi;\n this.aviaUi.addEventListener(UiEvents.ACTION, this.hUiAction);\n }\n if (cssVars) {\n applyCssVars(cssVars);\n }\n }\n}\n\nconst createUi = AviaUiPlugin.create;\nconst create = AviaUiPlugin.create;\n\nconst aviaAccessibilityCss = \"avia-accessibility{display:block}\";\n\nlet AviaAccessibility$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n render() {\n return (h(Host, null, h(\"avia-volume-indicator\", null), h(\"avia-seek-indicator\", null)));\n }\n static get style() { return aviaAccessibilityCss; }\n};\n\nconst aviaActiveCss = \"avia-active{display:block;transition:var(--avia-active-transition-in)}avia-ui:not([active]) avia-active{opacity:0;transition:var(--avia-active-transition-out)}\";\n\nlet AviaActive$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n render() {\n return (h(Host, null, h(\"slot\", null)));\n }\n static get style() { return aviaActiveCss; }\n};\n\nconst aviaAdControlBarCss = \"avia-ad-control-bar{position:absolute;height:56px;width:100%;left:0;bottom:0;right:0;pointer-events:none;flex-direction:row;justify-content:center;display:none;transition:var(--avia-active-transition-in)}avia-ui[control-mode=\\\"ad\\\"] avia-ad-control-bar{display:flex}.avia-ad-control-container{pointer-events:auto;display:flex;width:calc(3 * var(--avia-control-bar-btn-width) + (2 * var(--avia-default-spacing)));height:var(--avia-control-bar-btn-height);justify-content:space-between;background-color:var(--avia-ad-control-bg-color);border-radius:var(--avia-ad-control-border-radius)}avia-ui:not([active]) avia-ad-control-bar{opacity:0;transition:var(--avia-active-transition-out)}\";\n\nlet AviaAdControlBar$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n render() {\n return (h(Host, null, h(\"div\", { class: \"avia-ad-control-container\" }, h(\"avia-mute-toggle\", null), h(\"avia-play-toggle\", null), h(\"avia-fullscreen-toggle\", null)), h(\"avia-ad-progress-bar\", null)));\n }\n static get style() { return aviaAdControlBarCss; }\n};\n\nvar createDeferredPromise = function () {\n var resolve;\n var promise = new Promise(function (res) { resolve = res; });\n return { promise: promise, resolve: resolve };\n};\n\nvar openWormhole = function (Component, props, isBlocking) {\n if (isBlocking === void 0) { isBlocking = true; }\n var isConstructor = (Component.constructor.name === 'Function');\n var Proto = isConstructor ? Component.prototype : Component;\n var componentWillLoad = Proto.componentWillLoad;\n Proto.componentWillLoad = function () {\n var _this = this;\n var el = getElement(this);\n var onOpen = createDeferredPromise();\n var event = new CustomEvent('openWormhole', {\n bubbles: true,\n composed: true,\n detail: {\n consumer: this,\n fields: props,\n updater: function (prop, value) {\n var target = (prop in el) ? el : _this;\n target[prop] = value;\n },\n onOpen: onOpen,\n },\n });\n el.dispatchEvent(event);\n var willLoad = function () {\n if (componentWillLoad) {\n return componentWillLoad.call(_this);\n }\n };\n return isBlocking ? onOpen.promise.then(function () { return willLoad(); }) : (willLoad());\n };\n};\n\nvar multiverse = new Map();\nvar updateConsumer = function (_a, state) {\n var fields = _a.fields, updater = _a.updater;\n fields.forEach(function (field) { updater(field, state[field]); });\n};\nvar Universe = {\n create: function (creator, initialState) {\n var el = getElement(creator);\n var wormholes = new Map();\n var universe = { wormholes: wormholes, state: initialState };\n multiverse.set(creator, universe);\n var connectedCallback = creator.connectedCallback;\n creator.connectedCallback = function () {\n multiverse.set(creator, universe);\n if (connectedCallback) {\n connectedCallback.call(creator);\n }\n };\n var disconnectedCallback = creator.disconnectedCallback;\n creator.disconnectedCallback = function () {\n multiverse.delete(creator);\n if (disconnectedCallback) {\n disconnectedCallback.call(creator);\n }\n };\n el.addEventListener('openWormhole', function (event) {\n event.stopPropagation();\n var _a = event.detail, consumer = _a.consumer, onOpen = _a.onOpen;\n if (wormholes.has(consumer))\n return;\n if (typeof consumer !== 'symbol') {\n var connectedCallback_1 = consumer.connectedCallback, disconnectedCallback_1 = consumer.disconnectedCallback;\n consumer.connectedCallback = function () {\n wormholes.set(consumer, event.detail);\n if (connectedCallback_1) {\n connectedCallback_1.call(consumer);\n }\n };\n consumer.disconnectedCallback = function () {\n wormholes.delete(consumer);\n if (disconnectedCallback_1) {\n disconnectedCallback_1.call(consumer);\n }\n };\n }\n wormholes.set(consumer, event.detail);\n updateConsumer(event.detail, universe.state);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen.resolve(function () { wormholes.delete(consumer); });\n });\n el.addEventListener('closeWormhole', function (event) {\n var consumer = event.detail;\n wormholes.delete(consumer);\n });\n },\n Provider: function (_a, children) {\n var state = _a.state;\n var creator = getRenderingRef();\n if (multiverse.has(creator)) {\n var universe = multiverse.get(creator);\n universe.state = state;\n universe.wormholes.forEach(function (opening) { updateConsumer(opening, state); });\n }\n return children;\n }\n};\n\nconst aviaAdProgressBarCss = \"avia-ad-progress-bar{display:block;position:absolute;background:var(--avia-ad-progress-track-color);position:absolute;height:3px;bottom:0;left:0;right:0;user-select:none}.avia-ad-prog-bar{height:3px;user-select:none;background-color:var(--avia-ad-progress-color);width:0%}\";\n\nlet AviaAdProgressBar$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.adPlayheadPosition = 0;\n this.isLiveLinear = false;\n }\n adPlayheadPositionHandler(val) {\n if (!this.pbar || val === null || val === undefined || isNaN(val) || val < 0)\n return;\n this.pbar.style.width = `${val * 100}%`;\n }\n render() {\n return (h(\"div\", { class: 'avia-ad-prog-bar', ref: (el) => this.pbar = el }));\n }\n static get watchers() { return {\n \"adPlayheadPosition\": [\"adPlayheadPositionHandler\"]\n }; }\n static get style() { return aviaAdProgressBarCss; }\n};\nopenWormhole(AviaAdProgressBar$1, ['adPlayheadPosition', 'isLiveLinear']);\n\nconst aviaButtonCss = \"avia-button{display:inline-block;background-color:transparent;height:var(--avia-control-bar-btn-height);width:var(--avia-control-bar-btn-width);color:var(--avia-control-bar-btn-text-color);border:var(--avia-control-bar-btn-border);border-width:var(--avia-control-bar-btn-border-width);border-radius:var(--avia-control-bar-btn-border-radius);outline:var(--avia-control-bar-btn-border-outline);cursor:var(--avia-control-bar-btn-border-cursor);pointer-events:all}avia-button:hover{color:var(--avia-control-bar-btn-text-color-hover)}avia-button[disabled]{cursor:var(--avia-control-bar-btn-disabled-cursor);opacity:var(--avia-control-bar-btn-disabled-opacity);pointer-events:none}avia-button[icon]{padding:0;margin:0;background-position:center;background-size:var(--avia-icon-btn-bg-size);background-repeat:no-repeat;user-select:none}avia-button[compact]{width:var(--avia-compact-button-width);height:var(--avia-compact-button-height);border-radius:var(--avia-compact-button-border-radius);background-color:var(--avia-compact-button-background-color)}\";\n\nlet AviaButton$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.actionEvent = createEvent(this, \"action\", 7);\n this.toggled = false;\n this.compact = false;\n this.icon = false;\n this.variant = false;\n this.actions = '';\n this.ids = '';\n this.disabled = false;\n this.focused = false;\n this.TAP_THRESHOLD = 300;\n this.isTouch = 'ontouchstart' in document.documentElement;\n }\n onClick(event) {\n if (this.isTouch) {\n blockEvent(event);\n return;\n }\n this.execAction();\n }\n onTouchStart(event) {\n blockEvent(event);\n this.touchStartStamp = event.timeStamp;\n }\n onTouchEnd(event) {\n if (this.touchStartStamp && ((event.timeStamp - this.touchStartStamp) <= this.TAP_THRESHOLD)) {\n this.touchStartStamp = null;\n this.execAction();\n }\n }\n onFocus() {\n if (!this.element.classList.contains(\"focus-visible\")) {\n return;\n }\n this.focused = true;\n }\n onBlur() {\n if (!this.focused) {\n return;\n }\n this.focused = false;\n }\n onKeyDown(event) {\n switch (event.key) {\n case \"Enter\":\n case \" \":\n this.element.click();\n blockEvent(event);\n return;\n }\n }\n getCsvValue(state, index = +this.toggled) {\n return csvToArray(state)[index];\n }\n execAction() {\n const action = this.getCsvValue(this.actions);\n if (!action) {\n return;\n }\n this.actionEvent.emit({ action });\n }\n render() {\n var _a;\n const id = this.getCsvValue(this.ids) || this.locId;\n const ariaLabel = (_a = this.localeData) === null || _a === void 0 ? void 0 : _a[id];\n const attributes = {\n 'aria-label': ariaLabel,\n };\n if (!this.focused && ariaLabel) {\n attributes.title = ariaLabel;\n }\n return (h(Host, Object.assign({ disabled: this.disabled, tabIndex: 0 }, attributes), h(\"slot\", null)));\n }\n get element() { return this; }\n static get style() { return aviaButtonCss; }\n};\nopenWormhole(AviaButton$1, ['localeData']);\n\nconst aviaControlBarCss = \"avia-control-bar{box-sizing:border-box;position:absolute;bottom:0;left:0;width:100%;height:var(--avia-control-bar-height);padding:0 var(--avia-default-spacing);background:var(--avia-control-bar-bg);display:none;transition:var(--avia-active-transition-in)}avia-control-bar.avia-live-linear{padding-top:var(--avia-live-padding-top)}avia-ui[control-mode=\\\"content\\\"] avia-control-bar{display:block}avia-ui:not([active]) avia-control-bar{opacity:0;transition:var(--avia-active-transition-out)}.avia-control-container{display:flex;justify-content:space-between;align-items:center;height:var(--avia-control-bar-btn-height);flex-wrap:nowrap}.avia-control-container avia-button{height:var(--avia-control-bar-btn-height)}avia-control-bar.avia-layout-c-30 .avia-control-group-left,avia-control-bar.avia-layout-c-30 .avia-control-group-right{width:35%}avia-control-bar.avia-layout-c-30 .avia-control-group-center{width:30%}avia-control-bar.avia-layout-c-40 .avia-control-group-left,avia-control-bar.avia-layout-c-40 .avia-control-group-right{width:30%}avia-control-bar.avia-layout-c-40 .avia-control-group-center{width:40%}avia-control-bar.avia-layout-c-50 .avia-control-group-left,avia-control-bar.avia-layout-c-50 .avia-control-group-right{width:25%}avia-control-bar.avia-layout-c-50 .avia-control-group-center{width:50%}avia-control-bar.avia-layout-c-60 .avia-control-group-left,avia-control-bar.avia-layout-c-60 .avia-control-group-right{width:20%}avia-control-bar.avia-layout-c-60 .avia-control-group-center{width:60%}avia-control-bar.avia-layout-c-70 .avia-control-group-left,avia-control-bar.avia-layout-c-70 .avia-control-group-right{width:15%}avia-control-bar.avia-layout-c-70 .avia-control-group-center{width:70%}avia-control-bar[avia-layout=default] .avia-control-group-left,avia-control-bar[avia-layout=default] .avia-control-group-right{display:flex;height:var(--avia-control-bar-btn-height);flex-basis:auto}avia-control-bar[avia-layout=default] .avia-control-group-left{flex-grow:1}.avia-control-group-left,.avia-control-group-right,.avia-control-group-center,.avia-control-group-left>*,.avia-control-group-right>*,.avia-control-group-center>*{display:flex;height:var(--avia-control-bar-btn-height);flex-basis:auto;align-items:center}.avia-control-group-center>*{flex-grow:1}.avia-control-group-right,.avia-control-group-right>*{justify-content:flex-end}.avia-control-group-left>*{justify-content:flex-start}.avia-control-group-center>*{justify-content:space-evenly}.avia-control-group-left>*>*{margin-right:var(--avia-half-spacing)}.avia-control-group-right>*>*{margin-left:var(--avia-half-spacing)}avia-control-bar>avia-progress-seek:empty{display:none}.avia-control-group-left>*:empty,.avia-control-group-right>*:empty,.avia-control-group-center>*:empty{display:none}\";\n\nlet AviaControlBar$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.isLiveLinear = false;\n this.controlMode = ControlMode.NONE;\n }\n async getHeight() {\n return this.el.getBoundingClientRect().height;\n }\n render() {\n return (h(Host, { class: this.isLiveLinear ? 'avia-live-linear' : '' }, h(\"slot\", { name: \"top\" }, !this.isLiveLinear ? h(\"avia-progress-bar\", null) : ''), h(\"div\", { class: \"avia-control-container\" }, h(\"div\", { class: \"avia-control-group-left\" }, h(\"slot\", { name: \"left\" }, h(\"avia-play-toggle\", null), h(\"avia-mute-toggle\", null), h(\"avia-volume-slider\", null))), h(\"div\", { class: \"avia-control-group-center\" }, h(\"slot\", { name: \"center\" })), h(\"div\", { class: \"avia-control-group-right\" }, h(\"slot\", { name: \"right\" }, h(\"avia-time-display\", null), h(\"avia-live-control\", null), h(\"avia-text-toggle\", null), h(\"avia-settings-toggle\", null), h(\"avia-fullscreen-toggle\", null))))));\n }\n get el() { return this; }\n static get style() { return aviaControlBarCss; }\n};\nopenWormhole(AviaControlBar$1, ['isLiveLinear', 'controlMode']);\n\nconst aviaControlBarCompactCss = \"avia-control-bar-compact{display:none;position:absolute;top:50%;left:50%;width:var(--avia-compact-control-bar-width);height:var(--avia-compact-button-height);border-radius:var(--avia-compact-button-border-radius);margin-left:var(--avia-compact-control-bar-margin-left);margin-top:var(--avia-compact-control-bar-margin-top)}avia-control-bar-compact avia-mute-toggle,avia-control-bar-compact avia-play-toggle{margin-right:var(--avia-default-spacing)}avia-ui[control-mode=\\\"compact\\\"][active] avia-control-bar-compact,avia-ui[control-mode=\\\"compact\\\"][active] avia-control-bar-compact>*{display:block}\";\n\nlet AviaControlBarCompact$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n render() {\n return (h(Host, null, h(\"slot\", null, h(\"avia-mute-toggle\", { compact: true }), h(\"avia-play-toggle\", { compact: true }), h(\"avia-fullscreen-toggle\", { compact: true }))));\n }\n static get style() { return aviaControlBarCompactCss; }\n};\n\nconst aviaCurrentTimeCss = \":host{display:inline-block}.avia-current-time{display:inline-block;user-select:none;height:var(--avia-time-height);line-height:var(--avia-time-line-height);font-size:var(--avia-time-font-size);color:var(--avia-time-color);font-family:var(--avia-time-font-family)}.avia-control-group-right .avia-current-time{text-align:right}\";\n\nlet AviaCurrentTime$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.isLiveLinear = false;\n this.isDvr = false;\n }\n render() {\n const inactive = this.isLiveLinear || this.isDvr;\n if (inactive) {\n return '';\n }\n const t = this.currentTimeSeconds || 0;\n const lbl = this.localeData ? createLocalizedTimeString(t, this.localeData) : '';\n return (h(\"div\", { class: 'avia-current-time', \"aria-label\": lbl, title: lbl }, secToHms(t)));\n }\n static get style() { return aviaCurrentTimeCss; }\n};\nopenWormhole(AviaCurrentTime$1, ['currentTimeSeconds', 'localeData', 'isLiveLinear', 'isDvr']);\n\nconst aviaDurationCss = \":host{display:inline-block}.avia-duration{display:inline-block;user-select:none;height:var(--avia-time-height);line-height:var(--avia-time-line-height);font-size:var(--avia-time-font-size);color:var(--avia-time-color);font-family:var(--avia-time-font-family)}.avia-control-group-right .avia-duration{text-align:right}\";\n\nlet AviaDuration$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.isLiveLinear = false;\n this.isDvr = false;\n }\n render() {\n const inactive = this.isLiveLinear || this.isDvr;\n if (inactive) {\n return '';\n }\n const t = this.durationSeconds || 0;\n const lbl = this.localeData ? createLocalizedTimeString(t, this.localeData) : '';\n return (h(\"div\", { class: 'avia-duration', \"aria-label\": lbl, title: lbl }, secToHms(this.durationSeconds || 0)));\n }\n static get style() { return aviaDurationCss; }\n};\nopenWormhole(AviaDuration$1, ['durationSeconds', 'localeData', 'isLiveLinear', 'isDvr']);\n\nconst aviaFullscreenToggleCss = \"avia-fullscreen-toggle{display:inline-block}avia-fullscreen-toggle avia-button{background-image:var(--avia-fs-icon)}avia-fullscreen-toggle avia-button:hover{background-image:var(--avia-fs-icon-hover)}avia-fullscreen-toggle avia-button[toggled]{background-image:var(--avia-fs-exit-icon)}avia-fullscreen-toggle avia-button[toggled]:hover{background-image:var(--avia-fs-exit-icon-hover)}\";\n\nlet AviaFullscreenToggle$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.fullscreen = false;\n this.fullscreenDisabled = true;\n this.compact = false;\n }\n render() {\n return (h(\"avia-button\", { ids: `${LocalizationId.FULL_SCREEN_ENTER}, ${LocalizationId.FULL_SCREEN_EXIT}`, actions: `${Action.ENTER_FULLSCREEN}, ${Action.EXIT_FULLSCREEN}`, disabled: this.fullscreenDisabled, toggled: this.fullscreen, compact: this.compact, icon: true }));\n }\n static get style() { return aviaFullscreenToggleCss; }\n};\nopenWormhole(AviaFullscreenToggle$1, ['fullscreen', 'fullscreenDisabled']);\n\nconst aviaLiveControlCss = \"avia-live-control{display:inline-block;margin-right:var(--avia-default-spacing)}avia-live-control avia-button{width:auto;height:auto !important;font-size:0.9em;text-align:right;overflow:hidden}avia-live-control avia-button[disabled]{opacity:1;cursor:default}avia-live-control avia-button::before,avia-live-control avia-button[disabled]::before{content:'• ';color:red;font-size:0.9em}\";\n\nlet AviaLiveControl$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.isLiveLinear = false;\n this.isDvr = false;\n this.live = false;\n }\n render() {\n if (!(this.isLiveLinear || this.isDvr)) {\n return;\n }\n const isLive = this.live || this.isLiveLinear;\n const locId = isLive ? LocalizationId.LIVE : LocalizationId.GO_LIVE;\n return (h(\"avia-button\", { actions: `${Action.NONE}, ${Action.GO_TO_LIVE}`, toggled: this.live, disabled: isLive }, h(\"avia-text\", { \"loc-id\": locId })));\n }\n static get style() { return aviaLiveControlCss; }\n};\nopenWormhole(AviaLiveControl$1, ['isLiveLinear', 'live', 'isDvr']);\n\nconst aviaMuteToggleCss = \"avia-mute-toggle{display:inline-block}avia-mute-toggle avia-button{background-image:var(--avia-unmuted-icon)}avia-mute-toggle avia-button:hover{background-image:var(--avia-unmuted-icon-hover)}avia-mute-toggle avia-button[toggled]{background-image:var(--avia-mute-icon)}avia-mute-toggle avia-button[toggled]:hover{background-image:var(--avia-mute-icon-hover)}\";\n\nlet AviaMuteToggle$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.muted = false;\n this.muteDisabled = true;\n this.compact = false;\n }\n render() {\n return (h(\"avia-button\", { ids: `${LocalizationId.MUTE}, ${LocalizationId.UNMUTE}`, actions: `${Action.MUTE}, ${Action.UNMUTE}`, toggled: this.muted, disabled: this.muteDisabled, compact: this.compact, icon: true }));\n }\n static get style() { return aviaMuteToggleCss; }\n};\nopenWormhole(AviaMuteToggle$1, ['muted', 'muteDisabled']);\n\nconst aviaOverlayCss = \"avia-overlay{background:transparent;position:absolute;width:100%;height:100%;top:0;left:0;border:none;padding:0;margin:0}avia-overlay[centered]{justify-content:center;align-items:center;display:flex;cursor:pointer}\";\n\nlet AviaOverlay$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.centered = false;\n }\n render() {\n return (h(Host, { centered: this.centered }, h(\"slot\", null)));\n }\n static get style() { return aviaOverlayCss; }\n};\n\nconst aviaPlayCtaCss = \"avia-play-cta avia-button{width:var(--avia-play-cta-width);height:var(--avia-play-cta-height);border-radius:var(--avia-play-cta-border-radius);background-image:var(--avia-play-cta-bg-image);background-color:var(--avia-play-cta-bg-color);background-repeat:no-repeat;background-position-x:calc(var(--avia-play-cta-bg-position) + 6%);background-position-y:var(--avia-play-cta-bg-position);background-size:var(--avia-play-cta-bg-size);cursor:pointer}\";\n\nlet AviaPlayCta$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n render() {\n return (h(\"avia-button\", { disabled: false, \"loc-id\": LocalizationId.PLAY }));\n }\n static get style() { return aviaPlayCtaCss; }\n};\n\nconst aviaPlayOverlayCss = \"avia-play-overlay{background-color:var(--avia-play-overlay-bg-color)}avia-play-overlay.focus-visible avia-play-cta{box-shadow:var(--avia-focus-box-shadow-inner)}\";\n\nlet AviaPlayOverlay$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.actionEvent = createEvent(this, \"action\", 7);\n this.playing = false;\n this.controlMode = ControlMode.NONE;\n this.playDisabled = true;\n this.pausable = true;\n this.isTouch = false;\n }\n onClick() {\n const action = this.playing ? Action.PAUSE : Action.PLAY;\n this.actionEvent.emit({ action });\n }\n render() {\n const paused = !this.playing;\n const noTouch = !paused && this.isTouch;\n if (noTouch || this.playDisabled || !this.pausable || this.controlMode !== ControlMode.CONTENT) {\n return;\n }\n return (h(\"avia-overlay\", { centered: true }, paused && h(\"avia-play-cta\", null)));\n }\n static get style() { return aviaPlayOverlayCss; }\n};\nopenWormhole(AviaPlayOverlay$1, ['playing', 'playDisabled', 'pausable', 'controlMode', 'isTouch']);\n\nconst aviaPlayToggleCss = \"avia-play-toggle{display:inline-block}avia-play-toggle avia-button{background-image:var(--avia-play-icon)}avia-play-toggle avia-button:hover{background-image:var(--avia-play-icon-hover)}avia-play-toggle avia-button[toggled]{background-image:var(--avia-pause-icon)}avia-play-toggle avia-button[toggled]:hover{background-image:var(--avia-pause-icon-hover)}avia-play-toggle avia-button[toggled][variant]{background-image:var(--avia-stop-icon)}avia-play-toggle avia-button[toggled][variant]:hover{background-image:var(--avia-stop-icon-hover)}\";\n\nlet AviaPlayToggle$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.playing = false;\n this.playDisabled = true;\n this.compact = false;\n }\n render() {\n const paused = !this.playing;\n const ids = [LocalizationId.PLAY, this.pausable ? LocalizationId.PAUSE : LocalizationId.STOP];\n const actions = [Action.PLAY, this.pausable ? Action.PAUSE : Action.STOP];\n const locId = paused ? this.pausable ? LocalizationId.PAUSE : LocalizationId.STOP : LocalizationId.PLAY;\n return (h(\"avia-button\", { ids: ids.join(','), actions: actions.join(','), disabled: this.playDisabled, \"loc-id\": locId, toggled: this.playing, compact: this.compact, variant: !this.pausable, icon: true }));\n }\n static get style() { return aviaPlayToggleCss; }\n};\nopenWormhole(AviaPlayToggle$1, ['playing', 'playDisabled', 'pausable']);\n\nconst aviaPosterCss = \"avia-poster img{width:100%;height:auto}\";\n\nlet AviaPoster$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.actionEvent = createEvent(this, \"action\", 7);\n this.posterActive = false;\n }\n handleAction(event) {\n this.actionEvent.emit({ action: Action.POSTER_PLAY });\n blockEvent(event);\n }\n render() {\n if (!this.posterActive) {\n return;\n }\n return (h(\"avia-overlay\", null, !isEmpty(this.posterImageUrl) ? h(\"img\", { src: this.posterImageUrl }) : '', h(\"div\", { class: \"\" }, h(\"slot\", null)), h(\"avia-overlay\", { centered: true }, h(\"avia-play-cta\", null))));\n }\n static get style() { return aviaPosterCss; }\n};\nopenWormhole(AviaPoster$1, ['posterActive', 'posterImageUrl']);\n\nconst aviaProgressBarCss = \":root{--avia-progress-preview-height:24px;--avia-progress-preview-width:50px;--avia-progress-preview-line-height:24px;--avia-progress-preview-top:-34px;--avia-progress-preview-bg-color:rgba(44, 44, 44, 0.7);--avia-progress-preview-color:rgb(220, 220, 220);--avia-progress-preview-font-size:13px;--avia-progress-preview-border-radius:4px}.avia-progress-preview{position:absolute;line-height:var(--avia-progress-preview-line-height);background:var(--avia-progress-preview-bg-color);color:var(--avia-progress-preview-color);font-size:var(--avia-progress-preview-font-size);text-align:center;border-radius:var(--avia-progress-preview-border-radius);user-select:none;overflow:hidden}.avia-progress-text{padding:0 0.5em 0 0.5em;white-space:nowrap}\";\n\nlet AviaProgressBar$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.actionEvent = createEvent(this, \"action\", 7);\n this.increment = 15;\n this.hoverDelay = 250;\n this.hovering = false;\n this.cursor = 0;\n this.imgElement = document.createElement('img');\n this.dragging = false;\n }\n onMouseEnter(event) {\n clearTimeout(this.hoverTimeoutHandle);\n this.hoverTimeoutHandle = setTimeout(() => {\n this.hovering = true;\n this.onMouseMove(event);\n }, this.hoverDelay);\n }\n onMouseLeave() {\n clearTimeout(this.hoverTimeoutHandle);\n this.hovering = false;\n }\n onMouseMove(event) {\n if (!this.active) {\n return;\n }\n const offset = this.sliderElement.getBoundingClientRect();\n const pos = getEventPos(event).x - offset.left;\n const percent = clampValue(pos / offset.width, 0, 1);\n this.actionEvent.emit({ action: 'preview', value: { time: percent * this.durationSeconds, percent } });\n this.cursor = clampValue(pos, 0, offset.width);\n }\n get active() {\n return this.hovering || this.dragging;\n }\n onChange(e) {\n this.actionEvent.emit({ action: 'seek', value: e.detail.value });\n }\n onDragging(e) {\n this.dragging = e.detail.value;\n }\n componentDidRender() {\n if (!this.preview) {\n return;\n }\n const data = this.preview.data;\n const slider = this.sliderElement;\n const parentWidth = slider.offsetWidth;\n if (data) {\n const img = this.imgElement;\n if (img.src != data.url) {\n img.src = data.url;\n }\n const canvas = this.canvasElement;\n // TODO: Make this configurable\n const thumbnailToViewportScale = 0.25;\n const scale = Math.min((parentWidth * thumbnailToViewportScale) / data.width, 1);\n const context = canvas.getContext('2d');\n const width = data.width * scale;\n const height = data.height * scale;\n canvas.width = width;\n canvas.height = height;\n context.drawImage(img, data.x, data.y, data.width, data.height, 0, 0, width, height);\n }\n const preview = this.previewElement;\n const margin = preview.offsetWidth / 2;\n const max = parentWidth - margin;\n const offset = (this.cursor < margin) ? margin - this.cursor : (this.cursor > max) ? max - this.cursor : 0;\n preview.style.marginLeft = `${offset - margin}px`;\n preview.style.top = `-${preview.offsetHeight + slider.offsetHeight / 2}px`;\n }\n render() {\n var _a, _b;\n const ariaValueText = (this.localeData) ? valueOfTotal(this.currentTimeSeconds, this.durationSeconds, this.localeData) : '';\n const list = csvToArray(this.segmentBreakPositions).map(i => ({ value: parseFloat(i) }));\n return (h(\"avia-slider\", { ref: e => this.sliderElement = e, \"loc-id\": LocalizationId.SEEK, \"aria-valuetext\": ariaValueText, list: list, value: this.currentTimeSeconds, max: this.durationSeconds, increment: this.increment, onChange: (e) => this.onChange(e), onDragging: (e) => this.onDragging(e) }, h(\"div\", { ref: e => this.previewElement = e, class: \"avia-progress-preview\", style: {\n visibility: this.active ? \"visible\" : \"hidden\",\n left: `${this.cursor}px`,\n } }, h(\"canvas\", { ref: e => this.canvasElement = e, class: \"avia-progress-img\", style: { display: ((_a = this.preview) === null || _a === void 0 ? void 0 : _a.data) ? \"block\" : \"none\" } }), h(\"div\", { ref: e => this.textElement = e, class: \"avia-progress-text\" }, (_b = this.preview) === null || _b === void 0 ? void 0 : _b.value))));\n }\n static get style() { return aviaProgressBarCss; }\n};\nopenWormhole(AviaProgressBar$1, [\n 'currentTimeSeconds',\n 'durationSeconds',\n 'localeData',\n 'seekDisabled',\n 'segmentBreakPositions',\n 'preview'\n]);\n\nconst aviaSeekBackButtonCss = \"avia-seek-back-button{display:inline-block}avia-seek-back-button avia-button{background-image:var(--avia-seek-back-icon)}avia-seek-back-button avia-button:hover{background-image:var(--avia-seek-back-icon-hover)}\";\n\nlet AviaSeekBackButton$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.seekBackDisabled = false;\n this.isLiveLinear = false;\n }\n render() {\n if (this.isLiveLinear) {\n return '';\n }\n return (h(\"avia-button\", { actions: Action.SEEK_BACK, disabled: this.seekBackDisabled, \"loc-id\": LocalizationId.SEEK_BACK, icon: true }));\n }\n static get style() { return aviaSeekBackButtonCss; }\n};\nopenWormhole(AviaSeekBackButton$1, ['seekBackDisabled', 'isLiveLinear']);\n\nconst aviaSeekForwardButtonCss = \"avia-seek-forward-button{display:inline-block}avia-seek-forward-button avia-button{background-image:var(--avia-seek-forward-icon)}avia-seek-forward-button avia-button:hover{background-image:var(--avia-seek-forward-icon-hover)}\";\n\nlet AviaSeekForwardButton$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.seekForwardDisabled = false;\n this.isLiveLinear = false;\n }\n render() {\n if (this.isLiveLinear) {\n return '';\n }\n return (h(\"avia-button\", { actions: Action.SEEK_FORWARD, disabled: this.seekForwardDisabled, \"loc-id\": LocalizationId.SEEK_FORWARD, icon: true }));\n }\n static get style() { return aviaSeekForwardButtonCss; }\n};\nopenWormhole(AviaSeekForwardButton$1, ['seekForwardDisabled', 'isLiveLinear']);\n\nconst aviaSeekIndicatorCss = \"avia-seek-indicator{position:absolute;display:inline-block;box-sizing:border-box;border-radius:var(--avia-seek-indicator-border-radius);background-color:var(--avia-seek-indicator-background-color);color:var(--avia-seek-indicator-color);height:var(--avia-seek-indicator-height);font-size:var(--avia-seek-indicator-font-size);font-family:var(--avia-seek-indicator-font-family);line-height:var(--avia-seek-indicator-line-height);top:calc(50% - 24px);opacity:0;transition-property:opacity;transition-duration:300ms;transition-timing-function:ease-in}avia-seek-indicator.avia-indicator-active{opacity:1}avia-seek-indicator:empty{opacity:0}.avia-acc-fwd{right:12px;padding-left:48px;padding-right:12px;text-align:right}.avia-acc-back{left:12px;padding-right:48px;padding-left:12px}avia-seek-indicator .avia-acc-arrow{width:24px;height:18px;position:absolute;top:calc(50% - 9px);background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2017.81%2024%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22Layer_2%22%20data-name%3D%22Layer%202%22%3E%3Cg%20id%3D%22Layer_2-2%22%20data-name%3D%22Layer%202%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M0%2C6.55V17.79a.54.54%2C0%2C0%2C0%2C.54.54l5.15-.08a.54.54%2C0%2C0%2C1%2C.54.54v4.67a.54.54%2C0%2C0%2C0%2C.92.38l10.51-11.2a.56.56%2C0%2C0%2C0%2C0-.76L7.25.17a.54.54%2C0%2C0%2C0-.93.37V5.39a.54.54%2C0%2C0%2C1-.54.54L.54%2C6A.54.54%2C0%2C0%2C0%2C0%2C6.55Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E');background-repeat:no-repeat;background-size:24px 18px}.avia-acc-fwd .avia-acc-arrow{left:12px}.avia-acc-back .avia-acc-arrow{transform:rotate(180deg);right:12px}\";\n\nlet AviaSeekIndicator$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n componentDidRender() {\n if (!this.debouncer && this.accIndicatorState.displayTime > 0) {\n this.debouncer = debounce(() => {\n var _a;\n (_a = this.el) === null || _a === void 0 ? void 0 : _a.classList.remove(CssNames.INDICATOR_ACTIVE);\n this.visible = false;\n }, this.accIndicatorState.displayTime);\n }\n if (this.visible) {\n setTimeout(() => this.el.classList.add(CssNames.INDICATOR_ACTIVE), 0);\n this.debouncer && this.debouncer();\n }\n }\n render() {\n const acc = this.accIndicatorState;\n if (!acc.seekForward && !acc.seekBack) {\n this.visible = false;\n return '';\n }\n this.visible = true;\n const t = this.accIndicatorState.seekTime;\n const d = this.durationSeconds;\n const hasD = d && !isNaN(d);\n let str = '';\n if (hasD) {\n const dur = secToHms(d);\n if (!isNaN(t) && t >= 0) {\n const p = secToHms(t);\n str = p + ' / ' + dur;\n }\n }\n return (h(Host, { class: acc.seekForward ? CssNames.ACC_FWD : CssNames.ACC_BACK }, h(\"span\", null, str), h(\"div\", { class: 'avia-acc-arrow' })));\n }\n get el() { return this; }\n static get style() { return aviaSeekIndicatorCss; }\n};\nopenWormhole(AviaSeekIndicator$1, ['durationSeconds', 'accIndicatorState']);\n\nvar LanguageLabel;\n(function (LanguageLabel) {\n LanguageLabel[\"AB\"] = \"Abkhaz\";\n LanguageLabel[\"AE\"] = \"Avesta\";\n LanguageLabel[\"AF\"] = \"Afrikaans\";\n LanguageLabel[\"AK\"] = \"Akan\";\n LanguageLabel[\"AM\"] = \"\\u12A0\\u121B\\u122D\\u129B\";\n LanguageLabel[\"AN\"] = \"Aragon\\u00E9s\";\n LanguageLabel[\"AR\"] = \"\\u0627\\u0644\\u0639\\u0631\\u0628\\u064A\\u0629\";\n LanguageLabel[\"AV\"] = \"A\\u0432\\u0430\\u0440 \\u043C\\u0430\\u0446\\u04C0\";\n LanguageLabel[\"AY\"] = \"Aymar aru\";\n LanguageLabel[\"AZ\"] = \"az\\u0259rbaycan dili\";\n LanguageLabel[\"BA\"] = \"\\u0431\\u0430\\u0448\\u04A1\\u043E\\u0440\\u0442 \\u0442\\u0435\\u043B\\u0435\";\n LanguageLabel[\"BE\"] = \"\\u0431\\u0435\\u043B\\u0430\\u0440\\u0443\\u0441\\u043A\\u0430\\u044F \\u043C\\u043E\\u0432\\u0430\";\n LanguageLabel[\"BG\"] = \"\\u0431\\u044A\\u043B\\u0433\\u0430\\u0440\\u0441\\u043A\\u0438 \\u0435\\u0437\\u0438\\u043A\";\n LanguageLabel[\"BH\"] = \"\\u092D\\u094B\\u091C\\u092A\\u0941\\u0930\\u0940\";\n LanguageLabel[\"BI\"] = \"Bislama\";\n LanguageLabel[\"BM\"] = \"Bamanankan\";\n LanguageLabel[\"BN\"] = \"\\u09AC\\u09BE\\u0982\\u09B2\\u09BE\";\n LanguageLabel[\"BO\"] = \"\\u0F56\\u0F7C\\u0F51\\u0F0B\\u0F61\\u0F72\\u0F42\";\n LanguageLabel[\"BR\"] = \"Brezhoneg\";\n LanguageLabel[\"BS\"] = \"Bosanski jezik\";\n LanguageLabel[\"CA\"] = \"catal\\u00E0\";\n LanguageLabel[\"CE\"] = \"\\u043D\\u043E\\u0445\\u0447\\u0438\\u0439\\u043D \\u043C\\u043E\\u0442\\u0442\";\n LanguageLabel[\"CH\"] = \"Chamoru\";\n LanguageLabel[\"CO\"] = \"Corsu\";\n LanguageLabel[\"CR\"] = \"\\u14C0\\u1426\\u1403\\u152D\\u140D\\u140F\\u1423\";\n LanguageLabel[\"CS\"] = \"\\u010De\\u0161tina\";\n LanguageLabel[\"CU\"] = \"\\u0469\\u0437\\u044B\\u043A\\u044A \\u0441\\u043B\\u043E\\u0432\\u0463\\u043D\\u044C\\u0441\\u043A\\u044A\";\n LanguageLabel[\"CV\"] = \"\\u0447\\u04D1\\u0432\\u0430\\u0448 \\u0447\\u04D7\\u043B\\u0445\\u0438\";\n LanguageLabel[\"CY\"] = \"Cymraeg\";\n LanguageLabel[\"DA\"] = \"Dansk\";\n LanguageLabel[\"DE\"] = \"Deutsch\";\n LanguageLabel[\"DZ\"] = \"\\u0F62\\u0FAB\\u0F7C\\u0F44\\u0F0B\\u0F41\";\n LanguageLabel[\"EE\"] = \"E\\u028Begbe\";\n LanguageLabel[\"EL\"] = \"\\u03B5\\u03BB\\u03BB\\u03B7\\u03BD\\u03B9\\u03BA\\u03AC\";\n LanguageLabel[\"EN\"] = \"English\";\n LanguageLabel[\"EO\"] = \"Esperanto\";\n LanguageLabel[\"ES\"] = \"Espa\\u00F1ol\";\n LanguageLabel[\"ET\"] = \"Eesti\";\n LanguageLabel[\"EU\"] = \"Euskara\";\n LanguageLabel[\"FA\"] = \"\\u0641\\u0627\\u0631\\u0633\\u06CC\";\n LanguageLabel[\"FF\"] = \"Fulfulde\";\n LanguageLabel[\"FI\"] = \"Suomi\";\n LanguageLabel[\"FJ\"] = \"Vosa Vakaviti\";\n LanguageLabel[\"FO\"] = \"F\\u00F8royskt\";\n LanguageLabel[\"FR\"] = \"Fran\\u00E7ais\";\n LanguageLabel[\"FY\"] = \"Frysk\";\n LanguageLabel[\"GA\"] = \"Gaeilge\";\n LanguageLabel[\"GD\"] = \"G\\u00E0idhlig\";\n LanguageLabel[\"GL\"] = \"Galego\";\n LanguageLabel[\"GN\"] = \"Ava\\u00F1e'\\u1EBD\";\n LanguageLabel[\"GU\"] = \"\\u0A97\\u0AC1\\u0A9C\\u0AB0\\u0ABE\\u0AA4\\u0AC0\";\n LanguageLabel[\"GV\"] = \"Gaelg\";\n LanguageLabel[\"HA\"] = \"(Hausa) \\u0647\\u064E\\u0648\\u064F\\u0633\\u064E\";\n LanguageLabel[\"HE\"] = \"\\u05E2\\u05D1\\u05E8\\u05D9\\u05EA\";\n LanguageLabel[\"HI\"] = \"\\u0939\\u093F\\u0928\\u094D\\u0926\\u0940\";\n LanguageLabel[\"HO\"] = \"Hiri Motu\";\n LanguageLabel[\"HR\"] = \"hrvatski jezik\";\n LanguageLabel[\"HT\"] = \"Krey\\u00F2l ayisyen\";\n LanguageLabel[\"HU\"] = \"Magyar\";\n LanguageLabel[\"HY\"] = \"\\u0540\\u0561\\u0575\\u0565\\u0580\\u0565\\u0576\";\n LanguageLabel[\"HZ\"] = \"Otjiherero\";\n LanguageLabel[\"IA\"] = \"Interlingua\";\n LanguageLabel[\"ID\"] = \"Bahasa Indonesia\";\n LanguageLabel[\"IE\"] = \"Interlingue\";\n LanguageLabel[\"IG\"] = \"As\\u1EE5s\\u1EE5 Igbo\";\n LanguageLabel[\"II\"] = \"\\uA188\\uA320\\uA4BF Nuosuhxop\";\n LanguageLabel[\"IK\"] = \"I\\u00F1upiaq\";\n LanguageLabel[\"IO\"] = \"Ido\";\n LanguageLabel[\"IS\"] = \"\\u00CDslenska\";\n LanguageLabel[\"IT\"] = \"Italiano\";\n LanguageLabel[\"IU\"] = \"\\u1403\\u14C4\\u1483\\u144E\\u1450\\u1466\";\n LanguageLabel[\"JA\"] = \"\\u65E5\\u672C\\u4EBA\";\n LanguageLabel[\"JV\"] = \"Basa Jawa\";\n LanguageLabel[\"KA\"] = \"\\u10E5\\u10D0\\u10E0\\u10D7\\u10E3\\u10DA\\u10D8\";\n LanguageLabel[\"KG\"] = \"Kikongo\";\n LanguageLabel[\"KI\"] = \"G\\u0129k\\u0169y\\u0169\";\n LanguageLabel[\"KJ\"] = \"Kuanyama\";\n LanguageLabel[\"KK\"] = \"\\u049B\\u0430\\u0437\\u0430\\u049B \\u0442\\u0456\\u043B\\u0456\";\n LanguageLabel[\"KL\"] = \"kalaallisut\";\n LanguageLabel[\"KM\"] = \"\\u1781\\u17D2\\u1798\\u17C2\\u179A\";\n LanguageLabel[\"KN\"] = \"\\u0C95\\u0CA8\\u0CCD\\u0CA8\\u0CA1\";\n LanguageLabel[\"KO\"] = \"\\uD55C\\uAD6D\\uC5B4\";\n LanguageLabel[\"KR\"] = \"Kanuri\";\n LanguageLabel[\"KS\"] = \"\\u0915\\u0936\\u094D\\u092E\\u0940\\u0930\\u0940,\";\n LanguageLabel[\"KU\"] = \"Kurd\\u00EE\\u200E\";\n LanguageLabel[\"KV\"] = \"\\u043A\\u043E\\u043C\\u0438 \\u043A\\u044B\\u0432\";\n LanguageLabel[\"KW\"] = \"Kernewek\";\n LanguageLabel[\"KY\"] = \"\\u041A\\u044B\\u0440\\u0433\\u044B\\u0437\\u0447\\u0430\";\n LanguageLabel[\"LA\"] = \"Latine\";\n LanguageLabel[\"LB\"] = \"L\\u00EBtzebuergesch\";\n LanguageLabel[\"LG\"] = \"Luganda\";\n LanguageLabel[\"LI\"] = \"Limburgs\";\n LanguageLabel[\"LN\"] = \"Ling\\u00E1la\";\n LanguageLabel[\"LO\"] = \"\\u0E9E\\u0EB2\\u0EAA\\u0EB2\\u0EA5\\u0EB2\\u0EA7\";\n LanguageLabel[\"LT\"] = \"Lietuvi\\u0173 kalba\";\n LanguageLabel[\"LU\"] = \"Kiluba\";\n LanguageLabel[\"LV\"] = \"latvie\\u0161u valoda\";\n LanguageLabel[\"MG\"] = \"fiteny malagasy\";\n LanguageLabel[\"MH\"] = \"Kajin M\\u0327aje\\u013C\";\n LanguageLabel[\"MI\"] = \"te reo M\\u0101ori\";\n LanguageLabel[\"MK\"] = \"\\u043C\\u0430\\u043A\\u0435\\u0434\\u043E\\u043D\\u0441\\u043A\\u0438 \\u0458\\u0430\\u0437\\u0438\\u043A\";\n LanguageLabel[\"ML\"] = \"\\u0D2E\\u0D32\\u0D2F\\u0D3E\\u0D33\\u0D02\";\n LanguageLabel[\"MN\"] = \"\\u041C\\u043E\\u043D\\u0433\\u043E\\u043B \\u0445\\u044D\\u043B\";\n LanguageLabel[\"MR\"] = \"\\u092E\\u0930\\u093E\\u0920\\u0940\";\n LanguageLabel[\"MS\"] = \"Bahasa Melayu\\u200E\";\n LanguageLabel[\"MT\"] = \"Malti\";\n LanguageLabel[\"MY\"] = \"\\u1017\\u1019\\u102C\\u1005\\u102C\";\n LanguageLabel[\"NA\"] = \"Dorerin Naoero\";\n LanguageLabel[\"NB\"] = \"Norsk Bokm\\u00E5l\";\n LanguageLabel[\"NE\"] = \"\\u0928\\u0947\\u092A\\u093E\\u0932\\u0940\";\n LanguageLabel[\"NG\"] = \"Owambo\";\n LanguageLabel[\"NL\"] = \"Nederlands\";\n LanguageLabel[\"NN\"] = \"Norsk Nynorsk\";\n LanguageLabel[\"NO\"] = \"Norsk\";\n LanguageLabel[\"NR\"] = \"IsiNdebele\";\n LanguageLabel[\"NV\"] = \"Din\\u00E9 bizaad\";\n LanguageLabel[\"NY\"] = \"ChiChe\\u0175a\";\n LanguageLabel[\"OC\"] = \"Occitan\";\n LanguageLabel[\"OJ\"] = \"\\u140A\\u14C2\\u1511\\u14C8\\u142F\\u14A7\\u140E\\u14D0\";\n LanguageLabel[\"OM\"] = \"Afaan Oromoo\";\n LanguageLabel[\"OR\"] = \"\\u0B13\\u0B21\\u0B3C\\u0B3F\\u0B06\";\n LanguageLabel[\"OS\"] = \"\\u0438\\u0440\\u043E\\u043D \\u00E6\\u0432\\u0437\\u0430\\u0433\";\n LanguageLabel[\"PA\"] = \"\\u0A2A\\u0A70\\u0A1C\\u0A3E\\u0A2C\\u0A40\";\n LanguageLabel[\"PI\"] = \"\\u092A\\u093E\\u0932\\u093F, \\u092A\\u093E\\u0933\\u093F\";\n LanguageLabel[\"PL\"] = \"J\\u0119zyk polski\";\n LanguageLabel[\"PS\"] = \"\\u067E\\u069A\\u062A\\u0648\";\n LanguageLabel[\"PT\"] = \"Portugu\\u00EAs\";\n LanguageLabel[\"QU\"] = \"Runa Simi\";\n LanguageLabel[\"RM\"] = \"Rumantsch Grischun\";\n LanguageLabel[\"RN\"] = \"Ikirundi\";\n LanguageLabel[\"RO\"] = \"Rom\\u00E2n\\u0103\";\n LanguageLabel[\"RU\"] = \"\\u0440\\u0443\\u0441\\u0441\\u043A\\u0438\\u0439\";\n LanguageLabel[\"RW\"] = \"Ikinyarwanda\";\n LanguageLabel[\"SA\"] = \"\\u0938\\u0902\\u0938\\u094D\\u0915\\u0943\\u0924\\u092E\\u094D\";\n LanguageLabel[\"SC\"] = \"sardu\";\n LanguageLabel[\"SD\"] = \"\\u0938\\u093F\\u0928\\u094D\\u0927\\u0940\\u200E\";\n LanguageLabel[\"SE\"] = \"Davvis\\u00E1megiella\";\n LanguageLabel[\"SG\"] = \"Y\\u00E2ng\\u00E2 t\\u00EE s\\u00E4ng\\u00F6\";\n LanguageLabel[\"SI\"] = \"\\u0DC3\\u0DD2\\u0D82\\u0DC4\\u0DBD\";\n LanguageLabel[\"SK\"] = \"Sloven\\u010Dina\";\n LanguageLabel[\"SL\"] = \"Slovenski jezik\";\n LanguageLabel[\"SM\"] = \"Gagana fa'a Samoa\";\n LanguageLabel[\"SN\"] = \"chiShona\";\n LanguageLabel[\"SO\"] = \"Soomaaliga\";\n LanguageLabel[\"SQ\"] = \"Shqip\";\n LanguageLabel[\"SR\"] = \"\\u0441\\u0440\\u043F\\u0441\\u043A\\u0438 \\u0458\\u0435\\u0437\\u0438\\u043A\";\n LanguageLabel[\"SS\"] = \"SiSwati\";\n LanguageLabel[\"ST\"] = \"Sesotho\";\n LanguageLabel[\"SU\"] = \"Basa Sunda\";\n LanguageLabel[\"SV\"] = \"Svenska\";\n LanguageLabel[\"SW\"] = \"Kiswahili\";\n LanguageLabel[\"TA\"] = \"\\u0BA4\\u0BAE\\u0BBF\\u0BB4\\u0BCD\";\n LanguageLabel[\"TE\"] = \"\\u0C24\\u0C46\\u0C32\\u0C41\\u0C17\\u0C41\";\n LanguageLabel[\"TG\"] = \"\\u0442\\u043E\\u04B7\\u0438\\u043A\\u04E3\\u200E\";\n LanguageLabel[\"TH\"] = \"\\u0E44\\u0E17\\u0E22\";\n LanguageLabel[\"TI\"] = \"\\u1275\\u130D\\u122D\\u129B\";\n LanguageLabel[\"TK\"] = \"T\\u00FCrkmen\";\n LanguageLabel[\"TL\"] = \"Wikang Tagalog\";\n LanguageLabel[\"TN\"] = \"Setswana\";\n LanguageLabel[\"TO\"] = \"Faka Tonga\";\n LanguageLabel[\"TR\"] = \"T\\u00FCrk\\u00E7e\";\n LanguageLabel[\"TS\"] = \"Xitsonga\";\n LanguageLabel[\"TT\"] = \"\\u0442\\u0430\\u0442\\u0430\\u0440 \\u0442\\u0435\\u043B\\u0435\";\n LanguageLabel[\"TW\"] = \"Twi\";\n LanguageLabel[\"TY\"] = \"Reo Tahiti\";\n LanguageLabel[\"UG\"] = \"\\u0626\\u06C7\\u064A\\u063A\\u06C7\\u0631\\u0686\\u06D5\\u200E\";\n LanguageLabel[\"UK\"] = \"\\u0423\\u043A\\u0440\\u0430\\u0457\\u043D\\u0441\\u044C\\u043A\\u0430\";\n LanguageLabel[\"UR\"] = \"\\u0627\\u0631\\u062F\\u0648\";\n LanguageLabel[\"UZ\"] = \"O\\u02BBzbek\\u200E\";\n LanguageLabel[\"VE\"] = \"Tshiven\\u1E13a\";\n LanguageLabel[\"VI\"] = \"Ti\\u1EBFng Vi\\u1EC7t\";\n LanguageLabel[\"VO\"] = \"Volap\\u00FCk\";\n LanguageLabel[\"WA\"] = \"Walon\";\n LanguageLabel[\"WO\"] = \"Wollof\";\n LanguageLabel[\"XH\"] = \"IsiXhosa\";\n LanguageLabel[\"YI\"] = \"\\u05D9\\u05D9\\u05B4\\u05D3\\u05D9\\u05E9\";\n LanguageLabel[\"YO\"] = \"Yor\\u00F9b\\u00E1\";\n LanguageLabel[\"ZA\"] = \"Sa\\u026F cue\\u014B\\u0185\";\n LanguageLabel[\"ZH\"] = \"\\u4E2D\\u6587 (Zh\\u014Dngw\\u00E9n)\";\n LanguageLabel[\"ZU\"] = \"IsiZulu\";\n})(LanguageLabel || (LanguageLabel = {}));\n\nconst aviaSettingsCss = \":root{--avia-chevron-right:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22white%22%3E%3Cpath%20id%3D%22Arrow_2_1%22%20d%3D%22M0%2C24L14.4%2C11.556%2C0%2C0%2C6.74%2C0%2C24%2C11.556%2C6.74%2C24Z%22%2F%3E%3C%2Fsvg%3E');--avia-x-symbol:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012%2012%22%20width%3D%2212%22%20height%3D%2212%22%3E%3Cstyle%3Etspan%20%7B%20white-space%3Apre%20%7D%3C%2Fstyle%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0.07%202.19L2.26%200L5.91%203.65L9.56%200L11.75%202.19L8.1%205.84L11.75%209.49L9.56%2011.68L5.91%208.03L2.26%2011.68L0.07%209.49L3.72%205.84L0.07%202.19Z%22%20%2F%3E%3C%2Fsvg%3E');--avia-menu-text-color:var(--avia-text-color);--avia-menu-text-color-hover:var(--avia-text-color-hover)}avia-settings{display:block;position:absolute;pointer-events:none}avia-settings>*{pointer-events:auto}.avia-settings-menu{min-width:180px;height:auto;background-color:rgba(0, 0, 0, 0.65);position:absolute;bottom:64px;right:var(--avia-default-spacing);display:flex;flex-direction:column;max-height:calc(100% - 1em - var(--avia-control-bar-height));border-radius:0.25em;overflow:hidden}avia-ui.avia-settings-nudge-left .avia-settings-menu{right:calc(var(--avia-default-spacing) + 48px)}.avia-settings-menu-header{padding:0.5em 0.25em 0.5em 0.75em;color:var(--avia-accent-color);background-color:black;border-bottom:1px solid #444;display:flex;align-items:center;justify-content:center;font-weight:bold}.avia-menu-button{background-color:transparent;border:none;outline:none;cursor:pointer;width:100%;text-align:left;color:var(--avia-menu-text-color);padding:1em;font-size:1em;background-position:right center;background-repeat:no-repeat;background-size:20% 20%;margin:0}.avia-menu-button:hover{color:var(--avia-menu-text-color-hover);background-color:rgba(0, 0, 0, 0.65)}.avia-menu-button[aria-haspopup=true]{background-image:var(--avia-chevron-right)}.avia-menu-button[disabled]{cursor:default;opacity:0.75}.avia-menu-button[disabled]:hover{background-color:transparent;color:var(--avia-menu-text-color)}.avia-menu-close{width:1.75em;height:2em;background-image:var(--avia-x-symbol);background-repeat:no-repeat;padding:0px}.avia-settings-back{width:1.75em;height:1.75em;background-image:var(--avia-chevron-right);background-repeat:no-repeat;background-size:100% 100%;transform:rotate(180deg);margin-right:1em}.avia-spacer{flex-grow:1}.avia-settings-menu.avia-language-menu{min-width:180px}.avia-menu-content{display:flex;flex-direction:row;overflow:hidden}.avia-menu-content>div{width:180px;color:var(--avia-menu-text-color)}.avia-menu-content>div:first-child{border-right:1px solid #888}.avia-menu-content>div:only-child{border-right:none}.avia-list{display:flex;flex-direction:column;font-size:0.95em}.avia-list-title{padding-left:1em;color:var(--avia-accent-color);font-size:0.9em;font-weight:bold;height:2em;line-height:2em;background-color:black;border-bottom:1px solid #444}.avia-list .avia-menu-button[aria-checked=true]{font-weight:bold;cursor:default;background-position:94% center;background-repeat:no-repeat;background-size:0.9em;background-image:var(--avia-selected-icon)}.avia-list .avia-list-container{overflow:scroll}.avia-settings-menu.avia-quality-menu{max-width:180px}.avia-menu-button[data-description]:after{content:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAVCAYAAABc6S4mAAACG0lEQVQ4jZ2Vz0tVQRTHP89QKJ9lm6ikzN6zJAlxJ1E8CJO27oo2IdKmRdBWwRZhkH9A4kJoI7ppIUWkibRsERpILpQCF9lPLPpBQc+vTJ0Lh+lduc8Dw8z9zJlz5sw5MzcniR1IAegDDgJrwCjwvqKZ4CBDa5VUkrTf6YbNnZc0JemHpHFJtbGtrBF0AOeAI8AxYAp44OYvAo+BT0AJeFVtBEnbI2lI/+RZtOPDxsuSmnwEd4FG4E+06xxQa2c8DSy6uSKwYufeBnwxfgGYAZaBU0kEWeWJpONux822bjWK8qHx63+PX9J6FU5+SWp3xm4av+PYSWMh8XXhiNat3IIMA5+BGqAM1ANX7BgSCfotwG/T+wrkgV3AptMJNrviCNKSOxlF0ufm7hu77NiIsVs1UWJbUsr0EvDBffe48YL1JcdeW98bO9hO5lI28tb63Y6VrS9U48Dn4Z0b563fdCyX6MUONlKMXwU63fdzNy5Y/8axpGgexUnukLRPUqOkvZKKkgYqlOtRl9AlY82OLRvrjh38lPTdavhbyl245gy1G1t07IDTzWNvR1a5EZXviq1rdeyesZHkJr+QtLZNeylpzG6oNz5R4U4UjYXo6xIH1bYGSfNmqD9a+9H42YRlNV4v6bSkQUkLkp5KanPzh5zxXr82i/HwXoX3vdsS3Bm9qLetKEI1ndjpHy2W8P84Y09GEzAGzP6nBWwBc7kMbCgO6BoAAAAASUVORK5CYII=');left:0.4em;top:0.25em;position:relative}\";\n\nvar MenuState;\n(function (MenuState) {\n MenuState[\"MAIN\"] = \"main\";\n MenuState[\"LANGUAGE\"] = \"language\";\n MenuState[\"QUALITY\"] = \"quality\";\n MenuState[\"NONE\"] = \"none\";\n})(MenuState || (MenuState = {}));\nlet AviaSettings$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.actionEvent = createEvent(this, \"action\", 7);\n this.settings = null;\n this.localeData = null;\n this.qualityLabel = 0;\n this.menuState = MenuState.NONE;\n this.menuButtonClass = 'avia-menu-button';\n this.menuButtonSelector = '.avia-menu-button:not([disabled])';\n this.qualityIndex = -1;\n }\n onClick(event) {\n const el = event.target;\n const action = el.dataset.action;\n const key = el.dataset.key;\n const value = el.dataset.value;\n if (action) {\n this.menuState = action;\n }\n if (key) {\n this.selectListItem(el);\n }\n if (key && value) {\n if (key == 'quality') {\n this.qualityIndex = parseInt(value);\n }\n this.actionEvent.emit({\n action: key == 'quality' ? Action.QUALITY_SELECT : Action.LANGUAGE_SELECT,\n value: key == 'quality' ? { index: value } : { trackType: key, trackId: value },\n });\n }\n }\n onKeyDown(event) {\n var _a, _b, _c;\n if (!((_a = this.settings) === null || _a === void 0 ? void 0 : _a.active) || this.menuState == MenuState.NONE) {\n return;\n }\n const active = document.activeElement;\n const menu = active.closest('.avia-list');\n if (!menu) {\n return;\n }\n const items = Array.from(menu.querySelectorAll(this.menuButtonSelector));\n if (!items) {\n return;\n }\n const findSibling = (items, start, predicate = (item) => item) => {\n const index = items.findIndex(item => item === start) + 1;\n const list = [...items.slice(index), ...items.slice(0, index)];\n return list.find(item => predicate(item));\n };\n const key = event.key;\n switch (key) {\n case 'Escape':\n this.close();\n break;\n case 'ArrowUp':\n const prev = findSibling(items.reverse(), active);\n prev === null || prev === void 0 ? void 0 : prev.focus();\n break;\n case 'ArrowDown':\n const next = findSibling(items, active);\n next === null || next === void 0 ? void 0 : next.focus();\n break;\n case 'ArrowLeft':\n if ((_b = menu.previousElementSibling) === null || _b === void 0 ? void 0 : _b.classList.contains('avia-list')) {\n const item = menu.previousElementSibling.querySelector(this.menuButtonSelector);\n item === null || item === void 0 ? void 0 : item.focus();\n return;\n }\n const back = document.querySelector('.avia-settings-back');\n if (back === null || back === void 0 ? void 0 : back.dataset.action) {\n this.menuState = back.dataset.action;\n }\n break;\n case 'ArrowRight':\n if ((_c = menu.nextElementSibling) === null || _c === void 0 ? void 0 : _c.classList.contains('avia-list')) {\n const item = menu.nextElementSibling.querySelector(this.menuButtonSelector);\n item === null || item === void 0 ? void 0 : item.focus();\n return;\n }\n if (active.dataset.action) {\n this.menuState = active.dataset.action;\n }\n break;\n default:\n if (/^[A-Za-z0-9]$/.test(key)) {\n const regex = new RegExp(`^${key}`, 'i');\n const item = findSibling(items, active, (item) => regex.test(item === null || item === void 0 ? void 0 : item.textContent));\n item === null || item === void 0 ? void 0 : item.focus();\n }\n }\n }\n async close() {\n this.actionEvent.emit({ action: Action.SETTINGS_OFF });\n this.menuState = MenuState.NONE;\n }\n componentWillRender() {\n var _a;\n if (((_a = this.settings) === null || _a === void 0 ? void 0 : _a.active) && this.menuState === MenuState.NONE) {\n this.menuState = MenuState.MAIN;\n }\n }\n disconnectedCallback() {\n clearTimeout(this.timeout);\n }\n render() {\n var _a;\n const st = this.menuState;\n if (!((_a = this.settings) === null || _a === void 0 ? void 0 : _a.active) || st === MenuState.NONE || !this.localeData) {\n return;\n }\n switch (this.menuState) {\n case MenuState.MAIN:\n return this.getMainMenu();\n case MenuState.LANGUAGE:\n return this.getLangMenu();\n case MenuState.QUALITY:\n return this.getQualityMenu();\n }\n }\n createDataAttributes(data) {\n return Object.entries(data).reduce((acc, entry) => {\n acc[`data-${entry[0]}`] = entry[1];\n return acc;\n }, {});\n }\n renderSubMenuItem({ label, data = {}, disabled = false }) {\n return (h(\"button\", Object.assign({ class: this.menuButtonClass, type: \"button\", disabled: disabled, role: \"menuitem\", \"aria-haspopup\": \"true\" }, this.createDataAttributes(data)), label));\n }\n renderListItem({ label, data = {}, selected = false, disabled = false }) {\n return (h(\"button\", Object.assign({ class: this.menuButtonClass, type: \"button\", disabled: disabled, role: \"menuitemradio\", \"aria-checked\": String(selected) }, this.createDataAttributes(data)), label));\n }\n renderList(name, title, items, factory) {\n return (h(\"div\", { class: `avia-list avia-${name}-list` }, title && h(\"div\", { class: \"avia-list-title\" }, title), h(\"div\", { class: \"avia-list-container\" }, items.map(item => factory(item)))));\n }\n renderMenu(name, title, content) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n const menu = document.querySelector(`.avia-${name}-menu`);\n const menuItem = menu === null || menu === void 0 ? void 0 : menu.querySelector(this.menuButtonSelector);\n menuItem === null || menuItem === void 0 ? void 0 : menuItem.focus();\n }, 0);\n return (h(\"div\", { class: `avia-settings-menu avia-${name}-menu`, role: \"menu\" }, h(\"div\", { class: \"avia-settings-menu-header\" }, name !== MenuState.MAIN && h(\"avia-button\", { \"loc-id\": LocalizationId.BACK, class: \"avia-settings-back\", disabled: false, \"data-action\": MenuState.MAIN, icon: true }), h(\"span\", null, title), h(\"span\", { class: \"avia-spacer\" }), h(\"avia-button\", { \"loc-id\": LocalizationId.CLOSE, class: \"avia-menu-close\", actions: Action.SETTINGS_OFF, disabled: false, icon: true })), h(\"div\", { class: \"avia-menu-content\" }, content)));\n }\n getMainMenu() {\n var _a, _b, _c, _d;\n const items = [\n {\n label: this.localeData[LocalizationId.LANGUAGE],\n data: { action: MenuState.LANGUAGE },\n haspopup: true,\n disabled: !(((_a = this.settings.textTrackInfo) === null || _a === void 0 ? void 0 : _a.track) || ((_b = this.settings.audioTrackInfo) === null || _b === void 0 ? void 0 : _b.track)),\n }, {\n label: this.localeData[LocalizationId.QUALITY],\n data: { action: MenuState.QUALITY },\n haspopup: true,\n disabled: !(((_d = (_c = this.settings.qualityInfo) === null || _c === void 0 ? void 0 : _c.qualities) === null || _d === void 0 ? void 0 : _d.length) > 0),\n },\n ];\n return this.renderMenu(MenuState.MAIN, this.localeData[LocalizationId.SETTINGS], this.renderList('settings', null, items, this.renderSubMenuItem.bind(this)));\n }\n getLangMenu() {\n const tInfo = this.settings.textTrackInfo;\n const aInfo = this.settings.audioTrackInfo;\n const aTrk = aInfo === null || aInfo === void 0 ? void 0 : aInfo.track;\n const tTrk = tInfo === null || tInfo === void 0 ? void 0 : tInfo.track;\n const aTracks = aInfo === null || aInfo === void 0 ? void 0 : aInfo.tracks;\n const tTracks = tInfo === null || tInfo === void 0 ? void 0 : tInfo.tracks;\n const selText = tTrk === null || tTrk === void 0 ? void 0 : tTrk.id;\n const selAudio = aTrk === null || aTrk === void 0 ? void 0 : aTrk.index;\n const factory = this.renderListItem.bind(this);\n const menus = [];\n if (tTracks && tTracks.length) {\n menus.push(this.renderList('text', this.localeData[LocalizationId.CAPTIONS], tTracks.map((track) => ({\n selected: track.id === selText,\n disabled: tTracks.length === 1,\n label: this.getLangLabel(track),\n data: {\n key: 'text',\n value: track.id,\n },\n })), factory));\n }\n if (aTracks && aTracks.length) {\n menus.push(this.renderList('audio', this.localeData[LocalizationId.AUDIO], aTracks.map((track) => ({\n selected: track.index === selAudio,\n disabled: aTracks.length === 1,\n label: this.getLangLabel(track),\n data: {\n key: 'audio',\n value: track.index,\n description: track.type === 'description',\n },\n })), factory));\n }\n return this.renderMenu(MenuState.LANGUAGE, this.localeData[LocalizationId.LANGUAGE], menus);\n }\n getQualityMenu() {\n const qualities = this.settings.qualityInfo.qualities;\n const unique = qualities.reduce((acc, qual) => {\n const label = this.getQualityLabel(qual);\n const item = acc.find(i => i.label == label);\n if (!item) {\n acc.push({\n label,\n data: {\n key: 'quality',\n value: qual.index,\n bitrate: qual.bitrate,\n },\n });\n }\n else if (qual.bitrate > item.data.bitrate) {\n item.data.value = qual.index;\n item.data.bitrate = qual.bitrate;\n }\n return acc;\n }, []);\n const disabled = unique.length === 1;\n const items = unique\n .map((qual) => (Object.assign(Object.assign({}, qual), { selected: disabled || qual.data.index === this.qualityIndex, disabled })))\n .sort((a, b) => b.data.bitrate - a.data.bitrate);\n if (items.length > 1) {\n const autoLabel = this.getQualityLabel(this.settings.qualityInfo.quality);\n items.unshift({\n selected: this.qualityIndex === -1,\n disabled: false,\n label: `${this.localeData[LocalizationId.AUTO]} (${autoLabel})`,\n data: {\n key: 'quality',\n value: -1,\n },\n });\n }\n return this.renderMenu(MenuState.QUALITY, this.localeData[LocalizationId.QUALITY], this.renderList('quality', null, items, this.renderListItem.bind(this)));\n }\n getLangLabel(track) {\n const lang = track.language || track.lang || '';\n const tag = lang.split('-').shift().slice(0, 2).toUpperCase();\n const lbl = LanguageLabel[tag];\n return lbl || this.localeData[LocalizationId.UNKNOWN];\n }\n getQualityLabel(quality) {\n var _a;\n if ((_a = quality.category) === null || _a === void 0 ? void 0 : _a.length) {\n return quality.category[this.qualityLabel || 0];\n }\n }\n selectListItem(el) {\n const sel = el.parentElement.querySelector('[aria-checked=true]');\n if (sel) {\n // @ts-ignore\n sel.setAttribute('aria-checked', false);\n }\n // @ts-ignore\n el.setAttribute('aria-checked', true);\n }\n get el() { return this; }\n static get style() { return aviaSettingsCss; }\n};\nopenWormhole(AviaSettings$1, ['settings', 'localeData', 'qualityLabel']);\n\nconst aviaSettingsToggleCss = \"avia-settings-toggle{display:inline-block;position:relative}avia-settings-toggle avia-button{background-image:var(--avia-settings-icon)}avia-settings-toggle avia-button:hover{background-image:var(--avia-settings-icon-hover)}\";\n\nlet AviaSettingsToggle$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.settingsDisabled = true;\n this.excludedControls = null;\n }\n render() {\n var _a, _b;\n if ((_a = this.excludedControls) === null || _a === void 0 ? void 0 : _a.includes(ControlFunction.SETTINGS)) {\n return;\n }\n const toggled = ((_b = this.settings) === null || _b === void 0 ? void 0 : _b.active) === true;\n return (h(\"avia-button\", { actions: `${Action.SETTINGS_ON},${Action.SETTINGS_OFF}`, disabled: this.settingsDisabled, \"loc-id\": LocalizationId.SETTINGS, \"aria-haspopup\": 'true', \"aria-expanded\": toggled ? 'true' : 'false', toggled: toggled, icon: true }));\n }\n static get style() { return aviaSettingsToggleCss; }\n};\nopenWormhole(AviaSettingsToggle$1, ['settings', 'settingsDisabled', 'excludedControls']);\n\nconst aviaSliderCss = \":root{--avia-slider-height:12px;--avia-slider-color:var(--avia-accent-color);--avia-slider-handle-color:var(--avia-accent-color);--avia-slider-track-color:#444;--avia-slider-track-radius:2px;--avia-slider-value-height:4px;--avia-slider-handle-width:12px;--avia-slider-handle-height:12px;--avia-slider-handle-radius:12px}avia-slider{display:block;height:var(--avia-slider-height);cursor:pointer;position:relative}.avia-slider-track{position:absolute;width:100%;height:var(--avia-slider-value-height);top:calc( (var(--avia-slider-height) - var(--avia-slider-value-height)) * 0.5);background:var(--avia-slider-track-color);border-radius:var(--avia-slider-track-radius)}.avia-slider-value{position:absolute;height:var(--avia-slider-value-height);top:calc( (var(--avia-slider-height) - var(--avia-slider-value-height)) * 0.5);background-color:var(--avia-slider-color);border-radius:var(--avia-slider-track-radius)}.avia-slider-handle{position:absolute;top:calc((var(--avia-slider-handle-height) - var(--avia-slider-height)) / -2);width:var(--avia-slider-handle-width);height:var(--avia-slider-handle-height);margin-left:calc(var(--avia-slider-handle-width) / -2);background-color:var(--avia-slider-handle-color);border-radius:var(--avia-slider-handle-radius);cursor:pointer;border:0;padding:0;outline:none}.avia-slider-list{position:absolute;width:100%;height:var(--avia-slider-value-height);top:calc( (var(--avia-slider-height) - var(--avia-slider-value-height)) * 0.5);background:transparent}.avia-slider-list-item{background-color:var(--avia-segment-marker-color);width:var(--avia-segment-marker-width);height:var(--avia-segment-marker-height);position:absolute;top:0}avia-slider:focus,avia-slider.focus-visible{outline:none}avia-slider.focus-visible .avia-slider-handle{box-shadow:var(--avia-focus-box-shadow)}avia-slider:focus,avia-slider .focus-visible{box-shadow:none}\";\n\nlet AviaSlider$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.changeEvent = createEvent(this, \"change\", 7);\n this.inputEvent = createEvent(this, \"input\", 7);\n this.draggingEvent = createEvent(this, \"dragging\", 7);\n /**\n * The minimum slider value\n */\n this.min = 0;\n /**\n * The maximum slider value\n */\n this.max = 1;\n /**\n * The slider value\n */\n this.value = 1;\n /**\n * A list of data points to be rendered in the slider.\n */\n this.list = [];\n /**\n * The increment value used when changing the slider via the keyboard.\n */\n this.increment = 0.1;\n this.valueInternal = this.value;\n this.dragging = false;\n this.focused = false;\n }\n onValueChange(value) {\n if (this.dragging) {\n return;\n }\n if (value < this.min) {\n this.value = this.min;\n return;\n }\n if (value > this.max) {\n this.value = this.max;\n return;\n }\n this.valueInternal = value;\n }\n onMinChange(value) {\n this.value = mapToRange(this.value, 0, 1, value, this.max);\n }\n onMaxChange(value) {\n this.value = mapToRange(this.value, 0, 1, this.min, value);\n }\n onListChange(value) {\n if (value) {\n return;\n }\n this.list = [];\n }\n onMouseDown(event) {\n // @ts-ignore\n if (event.which > 1 || event.button > 0) {\n return;\n }\n blockEvent(event);\n this.dragging = true;\n this.draggingEvent.emit({ value: true });\n this.move(event);\n }\n onMouseMove(event) {\n if (!this.dragging) {\n return;\n }\n blockEvent(event);\n this.move(event);\n }\n onMouseUp(event) {\n if (this.dragging) {\n blockEvent(event);\n this.dragging = false;\n this.draggingEvent.emit({ value: false });\n this.move(event);\n this.change(this.valueInternal);\n }\n }\n onFocus() {\n if (!this.el.classList.contains(\"focus-visible\")) {\n return;\n }\n this.focused = true;\n }\n onBlur() {\n if (!this.focused) {\n return;\n }\n this.focused = false;\n }\n onKeydown(event) {\n const code = event.keyCode;\n const action = (v) => {\n const value = this.value += v;\n this.input(value);\n this.change(value);\n blockEvent(event);\n };\n switch (code) {\n case 38:\n case 39:\n case 33: // page up\n action(this.increment);\n break;\n case 37:\n case 40:\n case 34: // page down\n action(-this.increment);\n break;\n }\n }\n onKeyup(event) {\n // block player level key commands\n const code = event.keyCode;\n if ([33, 34, 37, 38, 39, 40].indexOf(code) != -1) {\n blockEvent(event);\n }\n }\n move(event) {\n const offset = this.el.getBoundingClientRect();\n const pos = getEventPos(event);\n const percent = clampValue((pos.x - offset.left) / offset.width, 0, 1);\n const value = mapToRange(percent, 0, 1, this.min, this.max);\n this.input(value);\n }\n toPercent(value) {\n return toCssPercent(mapToRange(value, this.min, this.max));\n }\n input(v) {\n const previous = this.valueInternal;\n const value = clampValue(v, this.min, this.max);\n this.valueInternal = value;\n this.inputEvent.emit({ value, previous });\n }\n change(v) {\n const previous = this.value;\n const value = clampValue(v, this.min, this.max);\n this.valueInternal = value;\n this.value = value;\n this.changeEvent.emit({ value, previous });\n }\n render() {\n var _a;\n const percent = this.toPercent(this.valueInternal);\n const ariaLabel = (_a = this.localeData) === null || _a === void 0 ? void 0 : _a[this.locId];\n return (h(Host, { className: \"avia-slider\", role: \"slider\", \"aria-label\": ariaLabel, \"aria-valuemin\": this.min, \"aria-valuemax\": this.max, \"aria-valuenow\": this.value, \"aria-valuetext\": this.ariaValuetext || percent, tabIndex: 0 }, h(\"div\", { class: \"avia-slider-track\" }), h(\"div\", { class: \"avia-slider-value\", style: { width: percent } }), h(\"div\", { class: \"avia-slider-list\" }, this.list.map((item) => h(\"div\", { class: \"avia-slider-list-item\", style: { left: this.toPercent(item.value) } }))), h(\"slot\", null), h(\"button\", { class: \"avia-slider-handle\", type: \"button\", style: { left: percent }, tabIndex: -1 })));\n }\n get el() { return this; }\n static get watchers() { return {\n \"value\": [\"onValueChange\"],\n \"min\": [\"onMinChange\"],\n \"max\": [\"onMaxChange\"],\n \"list\": [\"onListChange\"]\n }; }\n static get style() { return aviaSliderCss; }\n};\nopenWormhole(AviaSlider$1, ['localeData']);\n\nconst aviaSpinnerCss = \"avia-spinner{display:block;width:var(--avia-spinner-diameter);height:var(--avia-spinner-diameter);overflow:visible;background-size:var(--avia-spinner-diameter);background-repeat:no-repeat;background-image:var(--avia-spinner-image);animation:avia-rotate 2s linear infinite}@keyframes avia-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}\";\n\nlet AviaSpinner$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n render() {\n return (h(Host, null));\n }\n static get style() { return aviaSpinnerCss; }\n};\n\nconst aviaTextCss = \"avia-text{color:var(--avia-control-bar-btn-text-color)}\";\n\nlet AviaText$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n render() {\n var _a;\n return (h(Host, null, (_a = this.localeData) === null || _a === void 0 ? void 0 : _a[this.locId]));\n }\n static get style() { return aviaTextCss; }\n};\nopenWormhole(AviaText$1, ['localeData']);\n\nconst aviaTextToggleCss = \"avia-text-toggle{display:inline-block}avia-text-toggle avia-button{background-image:var(--avia-text-on-icon)}avia-text-toggle avia-button:hover{background-image:var(--avia-text-on-icon-hover)}avia-text-toggle avia-button[toggled]{background-image:var(--avia-text-off-icon)}avia-text-toggle avia-button[toggled]:hover{background-image:var(--avia-text-off-icon-hover)}\";\n\nlet AviaTextToggle$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.textTrackEnabled = false;\n this.textDisabled = true;\n this.excludedControls = null;\n }\n render() {\n var _a;\n if ((_a = this.excludedControls) === null || _a === void 0 ? void 0 : _a.includes(ControlFunction.TEXT)) {\n return;\n }\n return (h(\"avia-button\", { ids: `${LocalizationId.CLOSED_CAPTIONS_ON}, ${LocalizationId.CLOSED_CAPTIONS_OFF}`, actions: `${Action.TEXT_ON}, ${Action.TEXT_OFF}`, disabled: this.textDisabled, toggled: this.textTrackEnabled, icon: true }));\n }\n static get style() { return aviaTextToggleCss; }\n};\nopenWormhole(AviaTextToggle$1, [\n 'textTrackEnabled',\n 'textDisabled',\n 'excludedControls',\n]);\n\nconst aviaTimeDisplayCss = \"avia-time-display{display:inline-block;margin-right:var(--avia-default-spacing)}.avia-time-display{display:inline-block;user-select:none;height:var(--avia-time-height);line-height:var(--avia-time-line-height);font-size:var(--avia-time-font-size);color:var(--avia-time-color);font-family:var(--avia-time-font-family)}.avia-control-group-right .avia-time-display{text-align:right}\";\n\nlet AviaTimeDisplay$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.isLiveLinear = false;\n this.isDvr = false;\n }\n render() {\n const inactive = this.isLiveLinear || this.isDvr;\n if (inactive) {\n return '';\n }\n return (h(\"div\", { class: 'avia-time-display' }, this.timeDisplayValue));\n }\n static get style() { return aviaTimeDisplayCss; }\n};\nopenWormhole(AviaTimeDisplay$1, [\n 'timeDisplayValue',\n 'currentTimeSeconds',\n 'durationSeconds',\n 'isLiveLinear',\n 'isDvr'\n]);\n\nconst aviaUiCss = \":root{--avia-accent-color:#3aacff;--avia-text-color:#dedede;--avia-text-color-hover:#ffffff;--avia-font-family:Arial, sans-serif;--avia-control-bar-bg:linear-gradient(to top, rgba(2,0,36,0.8) 0%, rgba(1,0,10,0.5029586834733894) 62%, rgba(0,0,0,0) 100%);--avia-control-bar-height:64px;--avia-default-spacing:12px;--avia-half-spacing:6px;--avia-live-padding-top:12px;--avia-compact-button-width:48px;--avia-compact-button-height:48px;--avia-compact-button-border-radius:calc(var(--avia-compact-button-width) / 2);--avia-compact-button-background-color:rgba(64, 64, 64, 0.5);--avia-compact-control-bar-width:calc( (var(--avia-compact-button-width) * 3) + (var(--avia-default-spacing) * 2));--avia-compact-control-bar-margin-left:calc(var(--avia-compact-control-bar-width) / -2);--avia-compact-control-bar-margin-top:calc(var(--avia-compact-button-height) / -2);--avia-play-overlay-bg-color:rgba(0, 0, 0, 0.35);--avia-play-cta-width:66px;--avia-play-cta-height:66px;--avia-play-cta-border-radius:calc(var(--avia-play-cta-width) / 2);--avia-play-cta-bg-image:var(--avia-play-icon);--avia-play-cta-bg-position:50%;--avia-play-cta-bg-color:rgba(64, 64, 64, 0.5);--avia-play-cta-bg-size:calc(var(--avia-play-cta-width) / 2) calc(var(--avia-play-cta-height) / 2);--avia-control-bar-btn-height:48px;--avia-control-bar-btn-width:48px;--avia-control-bar-btn-text-color:var(--avia-text-color);--avia-control-bar-btn-text-color-hover:var(--avia-text-color-hover);--avia-control-bar-btn-border:none;--avia-control-bar-btn-border-width:0;--avia-control-bar-btn-border-radius:0;--avia-control-bar-btn-border-outline:none;--avia-control-bar-btn-border-cursor:pointer;--avia-control-bar-btn-disabled-cursor:not-allowed;--avia-control-bar-btn-disabled-opacity:0.5;--avia-icon-btn-bg-width:50%;--avia-icon-btn-bg-height:37.5%;--avia-icon-btn-bg-size:var(--avia-icon-btn-bg-width) var(--avia-icon-btn-bg-height);--avia-fs-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22white%22%20viewBox%3D%220%200%2024%2018%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h24v18H0z%22%2F%3E%3Cpath%20d%3D%22M1%207a1%201%200%200%201-1-1V1a1%201%200%200%201%201-1h5a1%201%200%200%201%200%202H2.5a.5.5%200%200%200-.5.5V6a1%201%200%200%201-1%201zM6%2018H1a1%201%200%200%201-1-1v-5a1%201%200%200%201%202%200v3.5a.5.5%200%200%200%20.5.5H6a1%201%200%200%201%200%202zM23%2018h-5a1%201%200%200%201%200-2h3.5a.5.5%200%200%200%20.5-.5V12a1%201%200%200%201%202%200v5a1%201%200%200%201-1%201zM23%207a1%201%200%200%201-1-1V2.5a.5.5%200%200%200-.5-.5H18a1%201%200%200%201%200-2h5a1%201%200%200%201%201%201v5a1%201%200%200%201-1%201z%22%2F%3E%3C%2Fsvg%3E');--avia-fs-icon-hover:var(--avia-fs-icon);--avia-fs-exit-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22white%22%20viewBox%3D%220%200%2024%2018%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h24v18H0z%22%2F%3E%3Cpath%20d%3D%22M4%206H1a1%201%200%200%201%200-2h2.5a.5.5%200%200%200%20.5-.5V1a1%201%200%200%201%202%200v3a2%202%200%200%201-2%202zM23%206h-4a1%201%200%200%201-1-1V1a1%201%200%200%201%202%200v2.5a.5.5%200%200%200%20.5.5H23a1%201%200%200%201%200%202zM19%2018a1%201%200%200%201-1-1v-3a2%202%200%200%201%202-2h3a1%201%200%200%201%200%202h-2.5a.5.5%200%200%200-.5.5V17a1%201%200%200%201-1%201zM5%2018a1%201%200%200%201-1-1v-2.5a.5.5%200%200%200-.5-.5H1a1%201%200%200%201%200-2h3a2%202%200%200%201%202%202v3a1%201%200%200%201-1%201z%22%2F%3E%3C%2Fsvg%3E');--avia-fs-exit-icon-hover:var(--avia-fs-exit-icon);--avia-play-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22white%22%20viewBox%3D%220%200%2024%2018%22%3E%3Ctitle%3EPlay%3C%2Ftitle%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h24v18H0z%22%2F%3E%3Cpath%20d%3D%22M19%2010L6.84%2017.81a1.19%201.19%200%200%201-1.84-1V1.19a1.19%201.19%200%200%201%201.83-1L19%208a1.19%201.19%200%200%201%200%202z%22%2F%3E%3C%2Fsvg%3E');--avia-play-icon-hover:var(--avia-play-icon);--avia-pause-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22white%22%20viewBox%3D%220%200%2024%2018%22%3E%3Ctitle%3EPause%3C%2Ftitle%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h24v18H0z%22%2F%3E%3Crect%20x%3D%226%22%20width%3D%224%22%20height%3D%2218%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20width%3D%224%22%20height%3D%2218%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E');--avia-pause-icon-hover:var(--avia-pause-icon);--avia-stop-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22white%22%20viewBox%3D%220%200%2024%2018%22%3E%3Ctitle%3EStop%3C%2Ftitle%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h24v18H0z%22%2F%3E%3Crect%20x%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E');--avia-stop-icon-hover:var(--avia-stop-icon);--avia-mute-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22white%22%20viewBox%3D%220%200%2024%2018%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h24v18H0z%22%2F%3E%3Cpath%20d%3D%22M3.58%206H2a1%201%200%200%200-1%201v4a1%201%200%200%200%201%201h1.58a1%201%200%200%201%20.72.3l5%205a1%201%200%200%200%201.7-.74V1.44A1%201%200%200%200%209.27.73l-5%205a1%201%200%200%201-.69.27zM19.77%209.33a.5.5%200%200%201%200-.71l.94-.94a1%201%200%200%200%200-1.41%201%201%200%200%200-1.42%200l-.94.94a.5.5%200%200%201-.7%200l-.94-.94a1%201%200%200%200-1.42%200%201%201%200%200%200%200%201.41l.94.94a.5.5%200%200%201%200%20.71l-.94.94a1%201%200%200%200%200%201.41%201%201%200%200%200%201.42%200l.94-.94a.5.5%200%200%201%20.7%200l.94.94a1%201%200%200%200%201.42%200%201%201%200%200%200%200-1.41z%22%2F%3E%3C%2Fsvg%3E');--avia-mute-icon-hover:var(--avia-mute-icon);--avia-unmuted-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22white%22%20viewBox%3D%220%200%2024%2018%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h24v18H0z%22%2F%3E%3Cpath%20d%3D%22M3.59%206H2a1%201%200%200%200-1%201v4a1%201%200%200%200%201%201h1.59a1%201%200%200%201%20.7.29l5%205a1%201%200%200%200%201.71-.7V1.41a1%201%200%200%200-1.71-.7l-5%205a1%201%200%200%201-.7.29zM14%2018a1%201%200%200%201%200-2%207%207%200%200%200%200-14%201%201%200%200%201%200-2%209%209%200%200%201%200%2018z%22%2F%3E%3Cpath%20d%3D%22M14%2014a1%201%200%200%201%200-2%203%203%200%200%200%200-6%201%201%200%200%201%200-2%205%205%200%200%201%200%2010z%22%2F%3E%3C%2Fsvg%3E');--avia-unmuted-icon-hover:var(--avia-unmuted-icon);--avia-text-on-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2018%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M23%200H1a1%201%200%2000-1%201v12a1%201%200%20001%201h2.5a.5.5%200%2001.5.5V17a1%201%200%2000.62.92A.84.84%200%20005%2018a1%201%200%2000.71-.29l3.56-3.56a.47.47%200%2001.35-.15H23a1%201%200%20001-1V1a1%201%200%2000-1-1zm-1%2011a1%201%200%2001-1%201H9a1%201%200%2000-.71.29L6%2014.59V13a1%201%200%2000-1-1H3a1%201%200%2001-1-1V3a1%201%200%20011-1h18a1%201%200%20011%201z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20class%3D%22b%22%20d%3D%22M4.5%206.5h5M16.5%206.5h3M12.5%206.5h1M4.5%209.5h3M18.5%209.5h1M10.5%209.5h5%22%2F%3E%3C%2Fsvg%3E');--avia-text-on-icon-hover:var(--avia-text-on-icon);--avia-text-off-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2018%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%23231f20%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M23%200H1a1%201%200%2000-1%201v12a1%201%200%20001%201h2.5a.5.5%200%2001.5.5V17a1%201%200%2000.62.92A.84.84%200%20005%2018a1%201%200%2000.71-.29l3.56-3.56a.47.47%200%2001.35-.15H23a1%201%200%20001-1V1a1%201%200%2000-1-1z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20class%3D%22b%22%20d%3D%22M4.5%206.5h5M16.5%206.5h3M12.5%206.5h1M4.5%209.5h3M18.5%209.5h1M10.5%209.5h5%22%2F%3E%3C%2Fsvg%3E');--avia-text-off-icon-hover:var(--avia-text-off-icon);--avia-text-icon-disabled:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2018%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M23%200H1a1%201%200%2000-1%201v12a1%201%200%20001%201h2.5a.5.5%200%2001.5.5V17a1%201%200%2000.62.92A.84.84%200%20005%2018a1%201%200%2000.71-.29l3.56-3.56a.47.47%200%2001.35-.15H23a1%201%200%20001-1V1a1%201%200%2000-1-1zm-1%2011a1%201%200%2001-1%201H9a1%201%200%2000-.71.29L6%2014.59V13a1%201%200%2000-1-1H3a1%201%200%2001-1-1V3a1%201%200%20011-1h18a1%201%200%20011%201z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20class%3D%22b%22%20d%3D%22M4.5%206.5h5M16.5%206.5h3M12.5%206.5h1M4.5%209.5h3M18.5%209.5h1M10.5%209.5h5%22%2F%3E%3C%2Fsvg%3E');--avia-seek-forward-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015.52%2017.29%22%3E%3Cpath%20d%3D%22M14.69%2C1.16%2C14%2C1.8A8.76%2C8.76%2C0%2C0%2C0%2C1.81%2C3.37%2C8.59%2C8.59%2C0%2C0%2C0%2C3.39%2C15.49a8.77%2C8.77%2C0%2C0%2C0%2C11.5-.74A1%2C1%2C0%2C0%2C0%2C15%2C13.4a1%2C1%2C0%2C0%2C0-1.36-.11l-.11.11a6.81%2C6.81%2C0%2C0%2C1-9.58%2C0%2C6.69%2C6.69%2C0%2C0%2C1-.06-9.51%2C6.82%2C6.82%2C0%2C0%2C1%2C8.73-.77L11.8%2C4a.47.47%2C0%2C0%2C0%2C0%2C.67.5.5%2C0%2C0%2C0%2C.37.15H15a.49.49%2C0%2C0%2C0%2C.49-.48V1.49a.47.47%2C0%2C0%2C0-.83-.33Z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E');--avia-seek-forward-icon-hover:var(--avia-seek-forward-icon);--avia-seek-back-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015.52%2017.29%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22Layer_2%22%20data-name%3D%22Layer%202%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.46%2C1A.48.48%2C0%2C0%2C0%2C0%2C1.49V4.33a.49.49%2C0%2C0%2C0%2C.48.48h2.9a.51.51%2C0%2C0%2C0%2C.37-.15.48.48%2C0%2C0%2C0%2C0-.67L2.9%2C3.17a6.82%2C6.82%2C0%2C0%2C1%2C8.73.77%2C6.69%2C6.69%2C0%2C0%2C1-.05%2C9.51A6.82%2C6.82%2C0%2C0%2C1%2C2%2C13.4a.52.52%2C0%2C0%2C0-.1-.11%2C1%2C1%2C0%2C0%2C0-1.37.11%2C1%2C1%2C0%2C0%2C0%2C.11%2C1.35%2C8.76%2C8.76%2C0%2C0%2C0%2C11.49.74A8.59%2C8.59%2C0%2C0%2C0%2C13.7%2C3.37%2C8.76%2C8.76%2C0%2C0%2C0%2C1.48%2C1.8L.82%2C1.16A.45.45%2C0%2C0%2C0%2C.46%2C1Z%22%20transform%3D%22translate(0%200)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');--avia-seek-back-icon-hover:var(--avia-seek-back-icon);--avia-settings-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22white%22%20viewBox%3D%220%200%2024%2018%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h24v18H0z%22%2F%3E%3Cpath%20d%3D%22M20.43%2010.4l-.93-.53a1%201%200%200%201%200-1.74l.93-.53a1%201%200%200%200%20.36-1.37l-2-3.46a1%201%200%200%200-1.36-.37l-.93.54a1%201%200%200%201-1.5-.87V1a1%201%200%200%200-1-1h-4a1%201%200%200%200-1%201v1.07a1%201%200%200%201-1.5.87l-.93-.54a1%201%200%200%200-1.36.37l-2%203.46a1%201%200%200%200%20.36%201.37l.93.53a1%201%200%200%201%200%201.74l-.93.53a1%201%200%200%200-.36%201.37l2%203.46a1%201%200%200%200%201.36.37l.93-.54a1%201%200%200%201%201.5.87V17a1%201%200%200%200%201%201h4a1%201%200%200%200%201-1v-1.07a1%201%200%200%201%201.5-.87l.93.54a1%201%200%200%200%201.36-.37l2-3.46a1%201%200%200%200-.36-1.37zM12%2012a3%203%200%201%201%203-3%203%203%200%200%201-3%203z%22%2F%3E%3C%2Fsvg%3E');--avia-settings-icon-hover:var(--avia-settings-icon);--avia-selected-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M20.285%202l-11.285%2011.567-5.286-5.011-3.714%203.716%209%208.728%2015-15.285z%22%2F%3E%3C%2Fsvg%3E');--avia-time-height:48px;--avia-time-width:86px;--avia-time-line-height:48px;--avia-time-font-size:13px;--avia-time-color:var(--avia-text-color);--avia-time-font-family:var(--avia-font-family);--avia-segment-marker-color:var(--avia-text-color);--avia-segment-marker-height:4px;--avia-segment-marker-width:2px;--avia-ad-progress-color:#ffe83a;--avia-ad-progress-track-color:transparent;--avia-ad-control-bg-color:rgba(0, 0, 0, 0.7);--avia-ad-control-border-radius:4px;--avia-seek-indicator-border-radius:4px;--avia-seek-indicator-background-color:rgba(0, 0, 0, 0.5);--avia-seek-indicator-color:var(--avia-text-color);--avia-seek-indicator-height:48px;--avia-seek-indicator-font-size:20px;--avia-seek-indicator-font-family:var(--avia-font-family);--avia-seek-indicator-line-height:48px;--avia-volume-indicator-border-radius:6px;--avia-volume-indicator-background-color:rgba(0, 0, 0, 0.5);--avia-volume-indicator-width:64px;--avia-volume-indicator-height:64px;--avia-volume-indicator-right:12px;--avia-volume-indicator-bottom:72px;--avia-focus-box-shadow:0 0 2px 3px rgba(247, 228, 85, 0.85);--avia-focus-box-shadow-inner:inset 0 0 2px 3px rgba(247, 228, 85, 0.85);--avia-spinner-image:url('data:image/svg+xml,');--avia-spinner-diameter:48px;--avia-active-transition-in:opacity 0.5s ease 0s;--avia-active-transition-out:opacity 0.5s ease 0s}avia-ui{color:var(--avia-text-color);font-family:var(--avia-font-family)}avia-ui>*{pointer-events:auto;-webkit-user-select:none;user-select:none}avia-ui,avia-ui avia-accessibility,avia-ui avia-settings,.avia-layer{pointer-events:none;position:absolute;top:0;left:0;bottom:0;right:0}slot-fb[hidden]{display:none}.avia-ui-hidden{display:none}img.avia-poster-img{width:100%;height:auto}.avia-container,avia-ui:focus,avia-ui button:focus{outline:none}avia-ui.focus-visible,avia-ui .focus-visible{box-shadow:var(--avia-focus-box-shadow)}avia-ui.focus-visible .avia-menu-button,avia-ui .focus-visible.avia-menu-button{box-shadow:var(--avia-focus-box-shadow-inner)}avia-ui:not([active])[fullscreen]{cursor:none}.avia-container.avia-controls-vis video::-webkit-media-text-track-container{bottom:calc(var(--avia-control-bar-height) + 4px);height:auto}\";\n\nlet AviaUi$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.actionEvent = createEvent(this, \"uiaction\", 7);\n this.controlMode = ControlMode.NONE;\n this.fullscreen = false;\n this.active = null;\n this.activeMode = ActiveMode.AUTO;\n this.excludedControls = null;\n this.fullscreenDisabled = true;\n this.muted = false;\n this.muteDisabled = true;\n this.volume = 1;\n this.playing = false;\n this.playDisabled = true;\n this.textTrackEnabled = false;\n this.textDisabled = true;\n this.timeDisplayValue = '';\n this.isLiveLinear = false;\n this.isDvr = false;\n this.live = false;\n this.playheadPosition = 0;\n this.durationSeconds = 0;\n this.currentTimeSeconds = 0;\n this.seekDisabled = true;\n this.seekBackDisabled = true;\n this.seekForwardDisabled = true;\n this.settingsDisabled = true;\n this.adPlayheadPosition = 0;\n this.localeData = null;\n this.preview = null;\n this.unmuteCtaVisible = false;\n this.settings = null;\n this.posterActive = false;\n this.posterImageUrl = '';\n this.qualityLabel = 0;\n this.waiting = false;\n this.initialized = false;\n this.pausable = true;\n this.isTouch = false;\n }\n handleAction(e) {\n this.actionEvent.emit(e.detail);\n }\n componentWillLoad() {\n // @ts-ignore\n Universe.create(this, this);\n }\n render() {\n if (!this.initialized) {\n return;\n }\n return (h(Host, null, h(Universe.Provider, { state: this }, h(\"div\", { class: \"avia-layer\" }, h(\"slot\", { name: \"underlay\" })), h(\"slot\", { name: \"play-overlay\" }, h(\"avia-play-overlay\", null)), h(\"slot\", { name: \"waiting-overlay\" }, h(\"avia-waiting-overlay\", null)), h(\"slot\", { name: \"unmute-cta\" }, h(\"avia-unmute-cta\", null)), h(\"slot\", { name: \"accessibility\" }, h(\"avia-accessibility\", null)), h(\"slot\", { name: \"settings\" }, h(\"avia-settings\", null)), h(\"slot\", { name: \"poster\" }, h(\"avia-poster\", null)), h(\"slot\", { name: \"control-bar\" }, h(\"avia-control-bar\", null)), h(\"slot\", { name: \"ad-control-bar\" }, h(\"avia-ad-control-bar\", null)), h(\"slot\", { name: \"compact-control-bar\" }, h(\"avia-control-bar-compact\", null)), h(\"div\", { class: \"avia-layer\" }, h(\"slot\", { name: \"overlay\" })))));\n }\n static get style() { return aviaUiCss; }\n};\n\nconst aviaUnmuteCtaCss = \"avia-unmute-cta{box-sizing:border-box;display:inline-block;position:absolute;top:64px;height:var(--avia-control-bar-btn-height);left:var(--avia-default-spacing);pointer-events:auto;background-color:rgba(0, 0, 0, 0.415);border-radius:4px;opacity:1}avia-unmute-cta avia-button{background-image:var(--avia-mute-icon);background-position:-31px center;background-repeat:no-repeat;background-size:60% 45%;line-height:var(--avia-control-bar-btn-height);padding-right:var(--avia-default-spacing);padding-left:50px;font-size:1.1em;text-align:left;width:auto;height:var(--avia-control-bar-btn-height);color:white;cursor:pointer;opacity:0.85}avia-unmute-cta avia-button:hover{background-image:var(--avia-mute-icon-hover)}\";\n\nlet AviaUnmuteCta$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.muteState = false;\n this.unmuteCtaVisible = false;\n }\n render() {\n if (!this.unmuteCtaVisible || !this.muteState) {\n return '';\n }\n return (h(\"avia-button\", { actions: Action.UNMUTE }, h(\"avia-text\", { \"loc-id\": LocalizationId.CLICK_TO_UNMUTE })));\n }\n static get style() { return aviaUnmuteCtaCss; }\n};\nopenWormhole(AviaUnmuteCta$1, ['muteState', 'unmuteCtaVisible']);\n\nconst aviaVolumeIndicatorCss = \"avia-volume-indicator{position:absolute;display:block;box-sizing:border-box;border-radius:var(--avia-volume-indicator-border-radius);background-color:var(--avia-volume-indicator-background-color);width:0;height:0;right:var(--avia-volume-indicator-right);bottom:var(--avia-volume-indicator-bottom);visibility:hidden;padding-top:48px;opacity:0;transition-property:opacity;transition-duration:300ms;transition-timing-function:ease-in;box-shadow:0px 0px 1px 1px rgba(0, 0, 0, 0.3)}avia-volume-indicator:empty{opacity:0}.avia-acc-vol{width:48px;margin:0 auto;background-color:black;height:4px;position:relative}.avia-acc-vol-meter{height:4px;background-color:#fff}.avia-vol-meter-overlay{position:absolute;top:0;left:0;height:4px;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAFElEQVQImWNAA/+Z0EUICDAwMAAANNwBBuf8FlcAAAAASUVORK5CYII=');width:100%}avia-volume-indicator.avia-indicator-active{width:var(--avia-volume-indicator-width);height:var(--avia-volume-indicator-height);opacity:1.0}avia-volume-indicator.avia-volume-on::before,avia-volume-indicator.avia-volume-off::before{content:\\\"\\\";position:absolute;top:0px;right:0px;bottom:0px;left:0px;opacity:0.85;background-repeat:no-repeat;background-position:center 12px;background-size:40% 30%}avia-volume-indicator.avia-volume-on::before{background-image:var(--avia-unmuted-icon)}avia-volume-indicator.avia-volume-on::before:hover{background-image:var(--avia-unmuted-icon-hover)}avia-volume-indicator.avia-volume-off::before{background-image:var(--avia-mute-icon)}avia-volume-indicator.avia-volume-off::before:hover{background-image:var(--avia-mute-icon-hover)}\";\n\nlet AviaVolumeIndicator$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n }\n componentDidRender() {\n var _a;\n if (!this.debouncer && this.accIndicatorState.displayTime > 0) {\n this.debouncer = debounce(() => {\n var _a;\n (_a = this.el) === null || _a === void 0 ? void 0 : _a.classList.remove(CssNames.INDICATOR_ACTIVE);\n this.visible = false;\n }, this.accIndicatorState.displayTime);\n }\n if (this.visible) {\n setTimeout(() => this.el.classList.add(CssNames.INDICATOR_ACTIVE), 0);\n (_a = this.debouncer) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n }\n render() {\n var _a;\n const acc = this.accIndicatorState;\n if (!acc.volumeKey) {\n (_a = this.el) === null || _a === void 0 ? void 0 : _a.classList.remove(CssNames.INDICATOR_ACTIVE);\n this.visible = false;\n return '';\n }\n this.visible = true;\n const vol = this.volume === 0 ? 0 : clampValue(this.volume, 0, 1);\n return (h(Host, { class: acc.muted || this.volume == 0 ? CssNames.ACC_VOL_OFF : CssNames.ACC_VOL_ON }, h(\"div\", { class: CssNames.ACC_VOL }, h(\"div\", { class: CssNames.ACC_VOL_METER, style: { width: toCssPercent(vol) } }), h(\"div\", { class: CssNames.ACC_VOL_OVERLAY }))));\n }\n get el() { return this; }\n static get style() { return aviaVolumeIndicatorCss; }\n};\nopenWormhole(AviaVolumeIndicator$1, ['volume', 'accIndicatorState']);\n\nconst aviaVolumeSliderCss = \"avia-volume-slider{display:flex;width:100px;margin-left:var(--avia-default-spacing)}avia-volume-slider avia-slider{width:100%;margin-top:-4px}\";\n\nlet AviaVolumeSlider$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.changeEvent = createEvent(this, \"action\", 7);\n this.excludedControls = null;\n }\n onInput(e) {\n this.changeEvent.emit({ action: Action.VOLUME, value: e.detail.value });\n }\n onDragging(e) {\n if (e.detail.value !== true) {\n return;\n }\n this.changeEvent.emit({ action: Action.UNMUTE, value: true });\n }\n render() {\n var _a;\n if ((_a = this.excludedControls) === null || _a === void 0 ? void 0 : _a.includes(ControlFunction.VOLUME)) {\n return;\n }\n return (h(\"avia-slider\", { \"loc-id\": LocalizationId.VOLUME, value: this.volume, onInput: (e) => this.onInput(e), onDragging: (e) => this.onDragging(e) }));\n }\n static get style() { return aviaVolumeSliderCss; }\n};\nopenWormhole(AviaVolumeSlider$1, [\n 'volume',\n 'excludedControls',\n]);\n\nconst aviaWaitingOverlayCss = \"avia-waiting-overlay{display:block;justify-content:center;align-items:center;display:flex}avia-waiting-overlay slot-fb:not(:empty)~avia-spinner{display:none}\";\n\nlet AviaWaitingOverlay$1 = class extends HTMLElement {\n constructor() {\n super();\n this.__registerHost();\n this.waiting = false;\n }\n render() {\n if (!this.waiting) {\n return;\n }\n return (h(\"avia-overlay\", { centered: true }, h(\"avia-spinner\", null)));\n }\n static get style() { return aviaWaitingOverlayCss; }\n};\nopenWormhole(AviaWaitingOverlay$1, ['waiting']);\n\nconst AviaAccessibility = /*@__PURE__*/proxyCustomElement(AviaAccessibility$1, [0,\"avia-accessibility\"]);\nconst AviaActive = /*@__PURE__*/proxyCustomElement(AviaActive$1, [4,\"avia-active\"]);\nconst AviaAdControlBar = /*@__PURE__*/proxyCustomElement(AviaAdControlBar$1, [0,\"avia-ad-control-bar\"]);\nconst AviaAdProgressBar = /*@__PURE__*/proxyCustomElement(AviaAdProgressBar$1, [0,\"avia-ad-progress-bar\",{\"adPlayheadPosition\":[2,\"ad-playhead-position\"],\"isLiveLinear\":[4,\"is-live-linear\"]}]);\nconst AviaButton = /*@__PURE__*/proxyCustomElement(AviaButton$1, [4,\"avia-button\",{\"locId\":[513,\"loc-id\"],\"toggled\":[516],\"compact\":[516],\"icon\":[516],\"variant\":[516],\"actions\":[1],\"ids\":[513],\"disabled\":[4],\"localeData\":[16],\"focused\":[32]},[[0,\"click\",\"onClick\"],[1,\"touchstart\",\"onTouchStart\"],[1,\"touchend\",\"onTouchEnd\"],[0,\"focus\",\"onFocus\"],[0,\"blur\",\"onBlur\"],[0,\"keyup\",\"onKeyDown\"]]]);\nconst AviaControlBar = /*@__PURE__*/proxyCustomElement(AviaControlBar$1, [4,\"avia-control-bar\",{\"isLiveLinear\":[4,\"is-live-linear\"],\"controlMode\":[1,\"control-mode\"]}]);\nconst AviaControlBarCompact = /*@__PURE__*/proxyCustomElement(AviaControlBarCompact$1, [4,\"avia-control-bar-compact\"]);\nconst AviaCurrentTime = /*@__PURE__*/proxyCustomElement(AviaCurrentTime$1, [0,\"avia-current-time\",{\"currentTimeSeconds\":[2,\"current-time-seconds\"],\"localeData\":[16],\"isLiveLinear\":[4,\"is-live-linear\"],\"isDvr\":[4,\"is-dvr\"]}]);\nconst AviaDuration = /*@__PURE__*/proxyCustomElement(AviaDuration$1, [0,\"avia-duration\",{\"durationSeconds\":[2,\"duration-seconds\"],\"localeData\":[16],\"isLiveLinear\":[4,\"is-live-linear\"],\"isDvr\":[4,\"is-dvr\"]}]);\nconst AviaFullscreenToggle = /*@__PURE__*/proxyCustomElement(AviaFullscreenToggle$1, [0,\"avia-fullscreen-toggle\",{\"fullscreen\":[4],\"fullscreenDisabled\":[4,\"fullscreen-disabled\"],\"compact\":[516]}]);\nconst AviaLiveControl = /*@__PURE__*/proxyCustomElement(AviaLiveControl$1, [0,\"avia-live-control\",{\"isLiveLinear\":[4,\"is-live-linear\"],\"isDvr\":[4,\"is-dvr\"],\"live\":[4]}]);\nconst AviaMuteToggle = /*@__PURE__*/proxyCustomElement(AviaMuteToggle$1, [0,\"avia-mute-toggle\",{\"muted\":[4],\"muteDisabled\":[4,\"mute-disabled\"],\"compact\":[516]}]);\nconst AviaOverlay = /*@__PURE__*/proxyCustomElement(AviaOverlay$1, [4,\"avia-overlay\",{\"centered\":[516]}]);\nconst AviaPlayCta = /*@__PURE__*/proxyCustomElement(AviaPlayCta$1, [0,\"avia-play-cta\"]);\nconst AviaPlayOverlay = /*@__PURE__*/proxyCustomElement(AviaPlayOverlay$1, [0,\"avia-play-overlay\",{\"playing\":[4],\"controlMode\":[1,\"control-mode\"],\"playDisabled\":[4,\"play-disabled\"],\"pausable\":[4],\"isTouch\":[4,\"is-touch\"]},[[2,\"click\",\"onClick\"]]]);\nconst AviaPlayToggle = /*@__PURE__*/proxyCustomElement(AviaPlayToggle$1, [0,\"avia-play-toggle\",{\"playing\":[4],\"playDisabled\":[4,\"play-disabled\"],\"pausable\":[4],\"compact\":[516]}]);\nconst AviaPoster = /*@__PURE__*/proxyCustomElement(AviaPoster$1, [4,\"avia-poster\",{\"posterActive\":[4,\"poster-active\"],\"posterImageUrl\":[1,\"poster-image-url\"]},[[2,\"click\",\"handleAction\"]]]);\nconst AviaProgressBar = /*@__PURE__*/proxyCustomElement(AviaProgressBar$1, [0,\"avia-progress-bar\",{\"currentTimeSeconds\":[2,\"current-time-seconds\"],\"durationSeconds\":[2,\"duration-seconds\"],\"localeData\":[16],\"segmentBreakPositions\":[1,\"segment-break-positions\"],\"preview\":[16],\"increment\":[2],\"hovering\":[32],\"cursor\":[32]},[[1,\"mouseenter\",\"onMouseEnter\"],[1,\"mouseleave\",\"onMouseLeave\"],[9,\"mousemove\",\"onMouseMove\"]]]);\nconst AviaSeekBackButton = /*@__PURE__*/proxyCustomElement(AviaSeekBackButton$1, [0,\"avia-seek-back-button\",{\"seekBackDisabled\":[4,\"seek-back-disabled\"],\"isLiveLinear\":[4,\"is-live-linear\"]}]);\nconst AviaSeekForwardButton = /*@__PURE__*/proxyCustomElement(AviaSeekForwardButton$1, [0,\"avia-seek-forward-button\",{\"seekForwardDisabled\":[4,\"seek-forward-disabled\"],\"isLiveLinear\":[4,\"is-live-linear\"]}]);\nconst AviaSeekIndicator = /*@__PURE__*/proxyCustomElement(AviaSeekIndicator$1, [0,\"avia-seek-indicator\",{\"durationSeconds\":[2,\"duration-seconds\"],\"accIndicatorState\":[16]}]);\nconst AviaSettings = /*@__PURE__*/proxyCustomElement(AviaSettings$1, [0,\"avia-settings\",{\"settings\":[16],\"localeData\":[16],\"qualityLabel\":[2,\"quality-label\"],\"menuState\":[32]},[[0,\"click\",\"onClick\"],[4,\"keydown\",\"onKeyDown\"]]]);\nconst AviaSettingsToggle = /*@__PURE__*/proxyCustomElement(AviaSettingsToggle$1, [0,\"avia-settings-toggle\",{\"settings\":[16],\"settingsDisabled\":[4,\"settings-disabled\"],\"excludedControls\":[16]}]);\nconst AviaSlider = /*@__PURE__*/proxyCustomElement(AviaSlider$1, [4,\"avia-slider\",{\"locId\":[513,\"loc-id\"],\"min\":[2],\"max\":[2],\"value\":[1026],\"list\":[16],\"ariaValuetext\":[1,\"aria-valuetext\"],\"increment\":[2],\"localeData\":[16],\"valueInternal\":[32]},[[1,\"touchstart\",\"onMouseDown\"],[0,\"mousedown\",\"onMouseDown\"],[8,\"touchmove\",\"onMouseMove\"],[8,\"mousemove\",\"onMouseMove\"],[9,\"touchend\",\"onMouseUp\"],[8,\"mouseup\",\"onMouseUp\"],[0,\"focus\",\"onFocus\"],[0,\"blur\",\"onBlur\"],[0,\"keydown\",\"onKeydown\"],[0,\"keyup\",\"onKeyup\"]]]);\nconst AviaSpinner = /*@__PURE__*/proxyCustomElement(AviaSpinner$1, [0,\"avia-spinner\"]);\nconst AviaText = /*@__PURE__*/proxyCustomElement(AviaText$1, [0,\"avia-text\",{\"locId\":[513,\"loc-id\"],\"localeData\":[16]}]);\nconst AviaTextToggle = /*@__PURE__*/proxyCustomElement(AviaTextToggle$1, [0,\"avia-text-toggle\",{\"textTrackEnabled\":[4,\"text-track-enabled\"],\"textDisabled\":[4,\"text-disabled\"],\"excludedControls\":[16]}]);\nconst AviaTimeDisplay = /*@__PURE__*/proxyCustomElement(AviaTimeDisplay$1, [0,\"avia-time-display\",{\"timeDisplayValue\":[1,\"time-display-value\"],\"currentTimeSeconds\":[2,\"current-time-seconds\"],\"durationSeconds\":[2,\"duration-seconds\"],\"isLiveLinear\":[4,\"is-live-linear\"],\"isDvr\":[4,\"is-dvr\"]}]);\nconst AviaUi = /*@__PURE__*/proxyCustomElement(AviaUi$1, [4,\"avia-ui\",{\"controlMode\":[513,\"control-mode\"],\"fullscreen\":[516],\"active\":[516],\"activeMode\":[513,\"active-mode\"],\"excludedControls\":[16],\"fullscreenDisabled\":[4,\"fullscreen-disabled\"],\"muted\":[4],\"muteDisabled\":[4,\"mute-disabled\"],\"volume\":[2],\"playing\":[4],\"playDisabled\":[4,\"play-disabled\"],\"textTrackEnabled\":[4,\"text-track-enabled\"],\"textDisabled\":[4,\"text-disabled\"],\"timeDisplayValue\":[1,\"time-display-value\"],\"isLiveLinear\":[4,\"is-live-linear\"],\"isDvr\":[4,\"is-dvr\"],\"live\":[4],\"playheadPosition\":[2,\"playhead-position\"],\"durationSeconds\":[2,\"duration-seconds\"],\"currentTimeSeconds\":[2,\"current-time-seconds\"],\"seekDisabled\":[4,\"seek-disabled\"],\"seekBackDisabled\":[4,\"seek-back-disabled\"],\"seekForwardDisabled\":[4,\"seek-forward-disabled\"],\"settingsDisabled\":[4,\"settings-disabled\"],\"adPlayheadPosition\":[2,\"ad-playhead-position\"],\"segmentBreakPositions\":[1,\"segment-break-positions\"],\"localeData\":[16],\"preview\":[16],\"accIndicatorState\":[16],\"unmuteCtaVisible\":[4,\"unmute-cta-visible\"],\"settings\":[16],\"posterActive\":[4,\"poster-active\"],\"posterImageUrl\":[1,\"poster-image-url\"],\"qualityLabel\":[2,\"quality-label\"],\"waiting\":[4],\"initialized\":[4],\"pausable\":[4],\"isTouch\":[4,\"is-touch\"]},[[0,\"action\",\"handleAction\"]]]);\nconst AviaUnmuteCta = /*@__PURE__*/proxyCustomElement(AviaUnmuteCta$1, [0,\"avia-unmute-cta\",{\"muteState\":[4,\"mute-state\"],\"unmuteCtaVisible\":[4,\"unmute-cta-visible\"]}]);\nconst AviaVolumeIndicator = /*@__PURE__*/proxyCustomElement(AviaVolumeIndicator$1, [0,\"avia-volume-indicator\",{\"volume\":[2],\"accIndicatorState\":[16]}]);\nconst AviaVolumeSlider = /*@__PURE__*/proxyCustomElement(AviaVolumeSlider$1, [0,\"avia-volume-slider\",{\"volume\":[2],\"excludedControls\":[16]}]);\nconst AviaWaitingOverlay = /*@__PURE__*/proxyCustomElement(AviaWaitingOverlay$1, [0,\"avia-waiting-overlay\",{\"waiting\":[4]}]);\nconst defineCustomElements = (opts) => {\n if (typeof customElements !== 'undefined') {\n [\n AviaAccessibility,\n AviaActive,\n AviaAdControlBar,\n AviaAdProgressBar,\n AviaButton,\n AviaControlBar,\n AviaControlBarCompact,\n AviaCurrentTime,\n AviaDuration,\n AviaFullscreenToggle,\n AviaLiveControl,\n AviaMuteToggle,\n AviaOverlay,\n AviaPlayCta,\n AviaPlayOverlay,\n AviaPlayToggle,\n AviaPoster,\n AviaProgressBar,\n AviaSeekBackButton,\n AviaSeekForwardButton,\n AviaSeekIndicator,\n AviaSettings,\n AviaSettingsToggle,\n AviaSlider,\n AviaSpinner,\n AviaText,\n AviaTextToggle,\n AviaTimeDisplay,\n AviaUi,\n AviaUnmuteCta,\n AviaVolumeIndicator,\n AviaVolumeSlider,\n AviaWaitingOverlay\n ].forEach(cmp => {\n if (!customElements.get(cmp.is)) {\n customElements.define(cmp.is, cmp, opts);\n }\n });\n }\n};\n\nexport { ActiveMode, AviaAccessibility, AviaActive, AviaAdControlBar, AviaAdProgressBar, AviaButton, AviaControlBar, AviaControlBarCompact, AviaCurrentTime, AviaDuration, AviaFullscreenToggle, AviaLiveControl, AviaMuteToggle, AviaOverlay, AviaPlayCta, AviaPlayOverlay, AviaPlayToggle, AviaPoster, AviaProgressBar, AviaSeekBackButton, AviaSeekForwardButton, AviaSeekIndicator, AviaSettings, AviaSettingsToggle, AviaSlider, AviaSpinner, AviaText, AviaTextToggle, AviaTimeDisplay, AviaUi, AviaUiPlugin, AviaUnmuteCta, AviaVolumeIndicator, AviaVolumeSlider, AviaWaitingOverlay, LocalizationId, PreviewTimeTransform, create, createUi, defineCustomElements };\n"]}