PageSourceSearch

https://www.deccaclassics.com/_next/static/chunks/aa286dc4-18a7369706117ff7.js

js deccaclassics.com collected 2026-10-02 02:34:08 UTC 140,732 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8920],{52674:(e,t,i)=>{i.d(t,{$c:()=>g,BU:()=>tZ,CN:()=>tj,Dz:()=>t1,FK:()=>D,HL:()=>tc,Ip:()=>t5,Lu:()=>t7,N5:()=>t3,NQ:()=>t_,OM:()=>t8,OR:()=>tD,Of:()=>m,P:()=>F,P4:()=>tz,PZ:()=>tJ,Q2:()=>p,SY:()=>tQ,Th:()=>tM,VP:()=>t6,V_:()=>tK,WW:()=>eX,W_:()=>tF,Zg:()=>t0,a3:()=>tL,as:()=>tX,f:()=>tO,hW:()=>tV,jc:()=>tW,kW:()=>tH,kZ:()=>h,kk:()=>tB,mf:()=>t2,nV:()=>io,rW:()=>tP,ri:()=>tN,sG:()=>is,sz:()=>tG,tH:()=>tY,tN:()=>t9,wg:()=>tU});var s=i(55135),a=i(79263),r=i(42827),n=i(60004);function o(e){return!(0,s.isString)(e)&&"width"in e&&"height"in e&&(0,s.isNumber)(e.width)&&(0,s.isNumber)(e.height)}let h=new s.State({artist:"",artwork:null,audioTrack:null,audioTracks:[],autoPlay:!1,autoPlayError:null,audioGain:null,buffered:new a.TimeRange,canLoad:!1,canLoadPoster:!1,canFullscreen:!1,canOrientScreen:(0,a.canOrientScreen)(),canPictureInPicture:!1,canPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,get iOSControls(){return a.IS_IPHONE&&"video"===this.mediaType&&(!this.playsInline||!s.fscreen.fullscreenEnabled&&this.fullscreen)}
1,get nativeControls(){return this.controls||this.iOSControls},controlsVisible:!1,get controlsHidden(){return!this.controlsVisible},crossOrigin:null,ended:!1,error:null,fullscreen:!1,get loop(){return this.providedLoop||this.userPrefersLoop},logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new a.TimeRange,playing:!1,playsInline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,canSetPlaybackRate:!0,canSetVolume:!1,canSetAudioGain:!1,seekable:new a.TimeRange,seeking:!1,source:{src:"",type:""},sources:[],started:!1,textTracks:[],textTrack:null,get hasCaptions(){return this.textTracks.filter(a.isTrackCaptionKind).length>0},volume:1,waiting:!1,realCurrentTime:0,get currentTime(){return this.ended?this.duration:this.clipStartTime>0?Math.max(0,Math.min(this.realCurrentTime-this.clipStartTime,this.duration)):this.realCurrentTime},providedDuration:-1,intrinsicDuration:0,get duration(){return this.seekableWindow},get title(){return this.providedTitle||this.inferredTitle},get poster(){return this.providedPoster||this.inferredPoster},get viewType(){return"unknown"!==this.providedViewType?this.providedViewType:this.inferredViewType},get streamType(){return"unknown"!==this.providedStreamType?this.providedStreamType:this.inferredStreamType},get currentSrc(){return this.source},get bufferedStart(){return Math.max((0,a.getTimeRangesStart)(this.buffered)??0,this.clipStartTime)},get bufferedEnd(){let e=(0,a.getTimeRangesEnd)(this.buffered)??0;return Math.min(this.seekableEnd,Math.max(0,e-this.clipStartTime))},get bufferedWindow(){return Math.max(0,this.bufferedEnd-this.bufferedStart)}
1,get seekableStart(){if(this.isLiveDVR&&this.liveDVRWindow>0)return Math.max(0,this.seekableEnd-this.liveDVRWindow);return Math.max((0,a.getTimeRangesStart)(this.seekable)??0,this.clipStartTime)},get seekableEnd(){if(this.providedDuration>0)return this.providedDuration;let e=this.liveSyncPosition>0?this.liveSyncPosition:this.canPlay?(0,a.getTimeRangesEnd)(this.seekable)??1/0:0;return this.clipEndTime>0?Math.min(this.clipEndTime,e):e},get seekableWindow(){let e=this.seekableEnd-this.seekableStart;return isNaN(e)?1/0:Math.max(0,e)},canAirPlay:!1,canGoogleCast:!1,remotePlaybackState:"disconnected",remotePlaybackType:"none",remotePlaybackLoader:null,remotePlaybackInfo:null,get isAirPlayConnected(){return"airplay"===this.remotePlaybackType&&"connected"===this.remotePlaybackState},get isGoogleCastConnected(){return"google-cast"===this.remotePlaybackType&&"connected"===this.remotePlaybackState},pointer:"fine",orientation:"landscape",width:0,height:0,mediaWidth:0,mediaHeight:0,lastKeyboardAction:null,userBehindLiveEdge:!1,liveEdgeTolerance:10,minLiveDVRWindow:60,get canSeek(){return/unknown|on-demand|:dvr/.test(this.streamType)&&Number.isFinite(this.duration)&&(!this.isLiveDVR||this.duration>=this.liveDVRWindow)},get live(){return this.streamType.includes("live")||!Number.isFinite(this.duration)},get liveEdgeStart(){return this.live&&Number.isFinite(this.seekableEnd)?Math.max(0,this.seekableEnd-this.liveEdgeTolerance):0},get liveEdge(){return this.live&&(!this.canSeek||!this.userBehindLiveEdge&&this.currentTime>=this.liveEdgeStart)},get liveEdgeWindow(){return this.live&&Number.isFinite(this.seekableEnd)?this.seekableEnd-this.liveEdgeStart:0},get isLiveDVR(){return/:dvr/.test(this.streamType)},get liveDVRWindow(){return Math.max(this.inferredLiveDVRWindow,this.minLiveDVRWindow)},autoPlaying:!1,providedTitle:"",inferredTitle:"",providedLoop:!1,userPrefersLoop:!1,providedPoster:"",inferredPoster:"",inferredViewType:"unknown",providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null,inferredLiveDVRWindow:0,savedState:null}),l=new Set(["autoPlayError","autoPlaying","buffered","canPlay","error","paused","played","playing","seekable","seeking","waiting"]),d=new Set([...l,"ended","inferredPoster","inferredStreamType","inferredTitle","intrinsicDuration","inferredLiveDVRWindow","liveSyncPosition","realCurrentTime","savedState","started","userBehindLiveEdge"]);function u(e,t=!1){let i=t?l:d;h.reset(e,e=>i.has(e)),(0,s.tick)()}function c(e,t){let i=e+t.clipStartTime(),s=i<=t.seekableStart(),a=i>=t.seekableEnd();return s?t.seekableStart():a?t.seekableEnd():t.isLiveDVR()&&t.liveDVRWindow()>0&&i<t.seekableEnd()-t.liveDVRWindow()?t.bufferedStart():Math.min(Math.max(t.seekableStart()+.1,i),t.seekableEnd()-.1)}let p=(0,s.createContext)();function g(){return(0,s.useContext)(p)}Symbol(0);var m=class{#e=null;#t=null;#i=-1;#s;constructor(e){this.#s=e}setTarget(e){this.#e=e}getPlayer(e){return this.#t||(e??this.#e)?.dispatchEvent(new s.DOMEvent("find-media-player",{detail:e=>void(this.#t=e),bubbles:!0,composed:!0})),this.#t}setPlayer(e){this.#t=e}startLoading(e){this.#a("media-start-loading",e)}startLoadingPoster(e){this.#a("media-poster-start-loading",e)}requestAirPlay(e){this.#a("media-airplay-request",e)}requestGoogleCast(e){this.#a("media-google-cast-request",e)}play(e){this.#a("media-play-request",e)}pause(e){this.#a("media-pause-request",e)}mute(e){this.#a("media-mute-request",e)}unmute(e){this.#a("media-unmute-request",e)}enterFullscreen(e,t){this.#a("media-enter-fullscreen-request",t,e)}exitFullscreen(e,t){this.#a("media-exit-fullscreen-request",t,e)}lockScreenOrientation(e,t){this.#a("media-orientation-lock-request",t,e)}unlockScreenOrientation(e){this.#a("media-orientation-unlock-request",e)}enterPictureInPicture(e){this.#a("media-enter-pip-request",e)}exitPictureInPicture(e){this.#a("media-exit-pip-request",e)}seeking(e,t){this.#a("media-seeking-request",t,e)}seek(e,t){this.#a("media-seek-request",t,e)}seekToLiveEdge(e){this.#a("media-live-edge-request",e)}changeDuration(e,t){this.#a("media-duration-change-request",t,e)}changeClipStart(e,t){this.#a("media-clip-start-change-request",t,e)}changeClipEnd(e,t){this.#a("media-clip-end-change-request",t,e)}changeVolume(e,t){this.#a("media-volume-change-request",t,Math.max(0,Math.min(1,e)))}changeAudioTrack(e,t){this.#a("media-audio-track-change-request",t,e)}changeQuality(e,t){this.#a("media-quality-change-request",t,e)}requestAutoQuality(e){this.changeQuality(-1,e)}changeTextTrackMode(e,t,i){this.#a("media-text-track-change-request",i,{index:e,mode:t})}changePlaybackRate(e,t){this.#a("media-rate-change-request",t,e)}changeAudioGain(e,t){this.#a("media-audio-gain-change-request",t,e)}
1resumeControls(e){this.#a("media-resume-controls-request",e)}pauseControls(e){this.#a("media-pause-controls-request",e)}togglePaused(e){let t=this.getPlayer(e?.target);t&&(t.state.paused?this.play(e):this.pause(e))}toggleControls(e){let t=this.getPlayer(e?.target);t&&(t.controls.showing?t.controls.hide(0,e):t.controls.show(0,e))}toggleMuted(e){let t=this.getPlayer(e?.target);t&&(t.state.muted?this.unmute(e):this.mute(e))}toggleFullscreen(e,t){let i=this.getPlayer(t?.target);i&&(i.state.fullscreen?this.exitFullscreen(e,t):this.enterFullscreen(e,t))}togglePictureInPicture(e){let t=this.getPlayer(e?.target);t&&(t.state.pictureInPicture?this.exitPictureInPicture(e):this.enterPictureInPicture(e))}showCaptions(e){let t=this.getPlayer(e?.target);if(!t)return;let i=t.state.textTracks,s=this.#i;i[s]&&(0,a.isTrackCaptionKind)(i[s])||(s=-1),-1===s&&(s=i.findIndex(e=>(0,a.isTrackCaptionKind)(e)&&e.default)),-1===s&&(s=i.findIndex(e=>(0,a.isTrackCaptionKind)(e))),s>=0&&this.changeTextTrackMode(s,"showing",e),this.#i=-1}disableCaptions(e){let t=this.getPlayer(e?.target);if(!t)return;let i=t.state.textTracks,s=t.state.textTrack;if(s){let t=i.indexOf(s);this.changeTextTrackMode(t,"disabled",e),this.#i=t}}toggleCaptions(e){let t=this.getPlayer(e?.target);t&&(t.state.textTrack?this.disableCaptions():this.showCaptions())}userPrefersLoopChange(e,t){this.#a("media-user-loop-change-request",t,e)}#a(e,t,i){let a=new s.DOMEvent(e,{bubbles:!0,composed:!0,cancelable:!0,detail:i,trigger:t}),r=t?.target||null;r&&r instanceof s.Component&&(r=r.el),r=!r||r===document||r===window||r===document.body||this.#t?.el&&r instanceof Node&&!this.#t.el.contains(r)?this.#e??this.getPlayer()?.el:r??this.#e,this.#t&&("media-play-request"!==e||this.#t.state.canLoad)?this.#t.canPlayQueue.enqueue(e,()=>r?.dispatchEvent(a)):r?.dispatchEvent(a)}#r(e){}},f=class{playerId="vds-player";mediaId=null;#n={volume:null,muted:null,audioGain:null,time:null,lang:null,captions:null,rate:null,quality:null};async getVolume(){return this.#n.volume}async setVolume(e){this.#n.volume=e,this.save()}async getMuted(){return this.#n.muted}async setMuted(e){this.#n.muted=e,this.save()}async getTime(){return this.#n.time}async setTime(e,t){let i=e<0;this.#n.time=i?null:e,i||t?this.saveTime():this.saveTimeThrottled()}async getLang(){return this.#n.lang}async setLang(e){this.#n.lang=e,this.save()}async getCaptions(){return this.#n.captions}async setCaptions(e){this.#n.captions=e,this.save()}async getPlaybackRate(){return this.#n.rate}async setPlaybackRate(e){this.#n.rate=e,this.save()}async getAudioGain(){return this.#n.audioGain}async setAudioGain(e){this.#n.audioGain=e,this.save()}async getVideoQuality(){return this.#n.quality}async setVideoQuality(e){this.#n.quality=e,this.save()}onChange(e,t,i="vds-player"){let s=i?localStorage.getItem(i):null,a=t?localStorage.getItem(t):null;this.playerId=i,this.mediaId=t,this.#n={volume:null,muted:null,audioGain:null,lang:null,captions:null,rate:null,quality:null,...s?JSON.parse(s):{},time:a?+a:null}}save(){if(a.IS_SERVER||!this.playerId)return;let e=JSON.stringify({...this.#n,time:void 0});localStorage.setItem(this.playerId,e)}saveTimeThrottled=(0,s.functionThrottle)(this.saveTime.bind(this),1e3);saveTime(){if(a.IS_SERVER||!this.mediaId)return;let e=(this.#n.time??0).toString();localStorage.setItem(this.mediaId,e)}},y=class extends s.EventsTarget{items=[];[a.ListSymbol.readonly]=!1;get length(){return this.items.length}get readonly(){return this[a.ListSymbol.readonly]}indexOf(e){return this.items.indexOf(e)}getById(e){return""===e?null:this.items.find(t=>t.id===e)??null}toArray(){return[...this.items]}[Symbol.iterator](){return this.items.values()}[a.ListSymbol.add](e,t){let i=this.items.length;""+i in this||Object.defineProperty(this,i,{get(){return this.items[i]}}),this.items.includes(e)||(this.items.push(e),this.dispatchEvent(new s.DOMEvent("add",{detail:e,trigger:t})))}[a.ListSymbol.remove](e,t){let i=this.items.indexOf(e);i>=0&&(this[a.ListSymbol.onRemove]?.(e,t),this.items.splice(i,1),this.dispatchEvent(new s.DOMEvent("remove",{detail:e,trigger:t})))}[a.ListSymbol.reset](e){for(let t of[...this.items])this[a.ListSymbol.remove](t,e);this.items=[],this[a.ListSymbol.setReadonly](!1,e),this[a.ListSymbol.onReset]?.()}[a.ListSymbol.setReadonly](e,t){this[a.ListSymbol.readonly]!==e&&(this[a.ListSymbol.readonly]=e,this.dispatchEvent(new s.DOMEvent("readonly-change",{detail:e,trigger:t})))}};let b=Symbol(0);var v=class extends y{get selected(){return this.items.find(e=>e.selected)??null}get selectedIndex(){return this.items.findIndex(e=>e.selected)}[a.ListSymbol.onRemove](e,t){this[a.ListSymbol.select](e,!1,t)}[a.ListSymbol.add](e,t){e[b]=!1,Object.defineProperty(e,"selected",{get(){return this[b]},set:t=>
1{this.readonly||(this[a.ListSymbol.onUserSelect]?.(),this[a.ListSymbol.select](e,t))}}),super[a.ListSymbol.add](e,t)}[a.ListSymbol.select](e,t,i){if(t===e?.[b])return;let a=this.selected;e&&(e[b]=t),(t?a!==e:a===e)&&(a&&(a[b]=!1),this.dispatchEvent(new s.DOMEvent("change",{detail:{prev:a,current:this.selected},trigger:i})))}},w=class extends v{};function k(e,t){let i=t.composedPath()[0];return(0,s.isDOMNode)(i)&&e.contains(i)}let S=new Set;function T(e,t,i){e.hasAttribute(t)||e.setAttribute(t,i)}function $(e,t){if(!(e.hasAttribute("aria-label")||e.hasAttribute("data-no-label"))){if(!(0,s.isFunction)(t))return void(0,s.setAttribute)(e,"aria-label",t);a.IS_SERVER?i():(0,s.effect)(i)}function i(){(0,s.setAttribute)(e,"aria-label",t())}}function P(e){let t=getComputedStyle(e);return"none"!==t.display&&parseInt(t.opacity)>0}function C(e,t){var i;return i=()=>t(!!e&&("checkVisibility"in e?e.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}):P(e))),S.add(i),()=>S.delete(i)}function x(e,t,i){for(;t;)if(t===e)return!0;else if(i?.(t))break;else t=t.parentElement;return!1}function E(e,t){return new s.EventsController(e).add("pointerup",e=>{0!==e.button||e.defaultPrevented||t(e)}).add("keydown",e=>{(0,s.isKeyboardClick)(e)&&t(e)})}function q(e){return(0,s.isTouchEvent)(e)&&(e.touches.length>1||e.changedTouches.length>1)}a.IS_SERVER||function e(){for(let e of S)try{e()}catch(e){}window.requestAnimationFrame(e)}();function A(e){return e instanceof HTMLElement}var R=class{priority=0;#o=!0;#h=null;#l=null;#d=new Set;canRender(e,t){return!!t}attach(e){this.#h=e,e&&(e.textTracks.onchange=this.#u.bind(this))}addTrack(e){this.#d.add(e),this.#c(e)}removeTrack(e){e[a.TextTrackSymbol.native]?.remove?.(),e[a.TextTrackSymbol.native]=null,this.#d.delete(e)}changeTrack(e){let t=e?.[a.TextTrackSymbol.native];t&&"showing"!==t.track.mode&&(t.track.mode="showing"),this.#l=e}setDisplay(e){this.#o=e,this.#u()}detach(){for(let e of(this.#h&&(this.#h.textTracks.onchange=null),this.#d))this.removeTrack(e);this.#d.clear(),this.#h=null,this.#l=null}#c(e){if(!this.#h)return;let t=e[a.TextTrackSymbol.native]??=this.#p(e);A(t)&&(this.#h.append(t),t.track.mode=t.default?"showing":"disabled")}#p(e){let t=document.createElement("track"),i=e.default||"showing"===e.mode,s=e.src&&"vtt"===e.type;return t.id=e.id,t.src=s?e.src:"",t.label=e.label,t.kind=e.kind,t.default=i,e.language&&(t.srclang=e.language),i&&!s&&this.#g(e,t.track),t}#g(e,t){if(!(e.src&&"vtt"===e.type||t.cues?.length))for(let i of e.cues)t.addCue(i)}#u(e){for(let t of this.#d){let i=t[a.TextTrackSymbol.native];if(!i)continue;if(!this.#o){i.track.mode=i.managed?"hidden":"disabled";continue}let s="showing"===i.track.mode;s&&this.#g(t,i.track),t.setMode(s?"showing":"disabled",e)}}},I=class{#h=null;#m;#f=[];#y;#b=!1;#v=null;#w=null;constructor(e){this.#y=e;const t=e.textTracks;this.#m=t,(0,s.effect)(this.#k.bind(this)),(0,s.onDispose)(this.#S.bind(this)),new s.EventsController(t).add("add",this.#T.bind(this)).add("remove",this.#$.bind(this)).add("mode-change",this.#P.bind(this))}#k(){let{nativeControls:e}=this.#y.$state;this.#b=e(),this.#P()}add(e){this.#f.push(e),(0,s.untrack)(this.#P.bind(this))}remove(e){e.detach(),this.#f.splice(this.#f.indexOf(e),1),(0,s.untrack)(this.#P.bind(this))}attachVideo(e){requestAnimationFrame(()=>{if(this.#h=e,e)for(let t of(this.#v=new R,this.#v.attach(e),this.#m))this.#C(t);this.#P()})}#C(e){(0,a.isTrackCaptionKind)(e)&&this.#v?.addTrack(e)}#x(e){(0,a.isTrackCaptionKind)(e)&&this.#v?.removeTrack(e)}#T(e){this.#C(e.detail)}#$(e){this.#x(e.detail)}#P(){let e=this.#m.selected;if(this.#h&&(this.#b||e?.[a.TextTrackSymbol.nativeHLS])){this.#w?.changeTrack(null),this.#v?.setDisplay(!0),this.#v?.changeTrack(e);return}if(this.#v?.setDisplay(!1),this.#v?.changeTrack(null),!e)return void this.#w?.changeTrack(null);let t=this.#f.sort((e,t)=>e.priority-t.priority).find(t=>t.canRender(e,this.#h));this.#w!==t&&(this.#w?.detach(),t?.attach(this.#h),this.#w=t??null),t?.changeTrack(e)}#S(){this.#v?.detach(),this.#v=null,this.#w?.detach(),this.#w=null}},M=class extends y{#E=!1;#q={};#A=null;#R=null;[a.TextTrackSymbol.crossOrigin];constructor(){super()}get selected(){return this.items.find(e=>"showing"===e.mode&&(0,a.isTrackCaptionKind)(e))??null}get selectedIndex(){let e=this.selected;return e?this.indexOf(e):-1}
1get preferredLang(){return this.#R}set preferredLang(e){this.#R=e,this.#I(e)}add(e,t){let i=e instanceof a.TextTrack?e:new a.TextTrack(e),s="captions"===e.kind||"subtitles"===e.kind?"captions":e.kind;return this.#q[s]&&e.default&&delete e.default,i.addEventListener("mode-change",this.#M),this[a.ListSymbol.add](i,t),i[a.TextTrackSymbol.crossOrigin]=this[a.TextTrackSymbol.crossOrigin],this.#E&&i[a.TextTrackSymbol.canLoad](),e.default&&(this.#q[s]=i),this.#V(),this}remove(e,t){if(this.#D=e,this.items.includes(e))return e===this.#q[e.kind]&&delete this.#q[e.kind],e.mode="disabled",e[a.TextTrackSymbol.onModeChange]=null,e.removeEventListener("mode-change",this.#M),this[a.ListSymbol.remove](e,t),this.#D=null,this}clear(e){for(let t of[...this.items])this.remove(t,e);return this}getByKind(e){let t=Array.isArray(e)?e:[e];return this.items.filter(e=>t.includes(e.kind))}[a.TextTrackSymbol.canLoad](){if(!this.#E){for(let e of this.items)e[a.TextTrackSymbol.canLoad]();this.#E=!0,this.#V()}}#V=(0,s.functionDebounce)(async()=>{if(!this.#E)return;!this.#R&&this.#A&&(this.#R=await this.#A.getLang());let e=await this.#A?.getCaptions();for(let t of[["captions","subtitles"],"chapters","descriptions","metadata"]){let i=this.getByKind(t);if(i.find(e=>"showing"===e.mode))continue;let r=this.#R?i.find(e=>e.language===this.#R):null,n=(0,s.isArray)(t)?this.#q[t.find(e=>this.#q[e])||""]:this.#q[t],o=r??n,h=o&&(0,a.isTrackCaptionKind)(o);o&&(!h||!1!==e)&&(o.mode="showing",h&&this.#L(o))}},300);#D=null;#M=this.#O.bind(this);#O(e){let t=e.detail;if(this.#A&&(0,a.isTrackCaptionKind)(t)&&t!==this.#D&&this.#L(t),"showing"===t.mode){let e=(0,a.isTrackCaptionKind)(t)?["captions","subtitles"]:[t.kind];for(let i of this.items)"showing"===i.mode&&i!=t&&e.includes(i.kind)&&(i.mode="disabled")}this.dispatchEvent(new s.DOMEvent("mode-change",{detail:e.detail,trigger:e}))}#L(e){"disabled"!==e.mode&&this.#I(e.language),this.#A?.setCaptions?.("showing"===e.mode)}#I(e){this.#A?.setLang?.(this.#R=e)}setStorage(e){this.#A=e}},V=class extends v{#F=!1;switch="current";get auto(){return this.#F||this.readonly}[a.QualitySymbol.enableAuto];[a.ListSymbol.onUserSelect](){this[a.QualitySymbol.setAuto](!1)}[a.ListSymbol.onReset](e){this[a.QualitySymbol.enableAuto]=void 0,this[a.QualitySymbol.setAuto](!1,e)}autoSelect(e){this.readonly||this.#F||!this[a.QualitySymbol.enableAuto]||(this[a.QualitySymbol.enableAuto]?.(e),this[a.QualitySymbol.setAuto](!0,e))}getBySrc(e){return this.items.find(t=>t.src===e)}[a.QualitySymbol.setAuto](e,t){this.#F!==e&&(this.#F=e,this.dispatchEvent(new s.DOMEvent("auto-change",{detail:e,trigger:t})))}};function D(e,t){return[...e].sort(t?O:L)}function L(e,t){return e.height===t.height?(e.bitrate??0)-(t.bitrate??0):e.height-t.height}function O(e,t){return t.height===e.height?(t.bitrate??0)-(e.bitrate??0):t.height-e.height}function F(e){return e?.$$PROVIDER_TYPE==="HLS"}var N=class extends s.ViewController{};let K=new Set(["Shift","Alt","Meta","Ctrl"]),Q='input, textarea, select, [contenteditable], [role^="menuitem"], [role="timer"]';var U=class extends N{#y;constructor(e){super(),this.#y=e}onConnect(){(0,s.effect)(this.#N.bind(this))}#N(){let{keyDisabled:e,keyTarget:t}=this.$props;if(e())return;let i="player"===t()?this.el:document,a=(0,s.signal)(!1);i===this.el?new s.EventsController(this.el).add("focusin",()=>a.set(!0)).add("focusout",e=>{this.el.contains(e.target)||a.set(!1)}):((0,s.peek)(a)||a.set(document.querySelector("[data-media-player]")===this.el),(0,s.listenEvent)(document,"focusin",e=>{let t=e.composedPath().find(e=>e instanceof Element&&"media-player"===e.localName);void 0!==t&&a.set(this.el===t)})),(0,s.effect)(()=>{a()&&new s.EventsController(i).add("keyup",this.#K.bind(this)).add("keydown",this.#Q.bind(this)).add("keydown",this.#U.bind(this),{capture:!0})})}#K(e){let t=document.activeElement;if(!e.key||!this.$state.canSeek()||t?.matches(Q))return;let{method:i,value:a}=this.#B(e);if(!(0,s.isString)(a)&&!(0,s.isArray)(a)){a?.onKeyUp?.({event:e,player:this.#y.player,remote:this.#y.remote}),a?.callback?.(e,this.#y.remote);return}i?.startsWith("seek")&&(e.preventDefault(),e.stopPropagation(),this.#W?(this.#H(e,"seekForward"===i),this.#W=null):(this.#y.remote.seek(this.#_,e),this.#_=void 0)),i?.startsWith("volume")&&this.el.querySelector("[data-media-volume-slider]")?.dispatchEvent(new KeyboardEvent("keyup",{key:"volumeUp"===i?"Up":"Down",shiftKey:e.shiftKey,trigger:e}))}
1#Q(e){if(!e.key||K.has(e.key))return;let t=document.activeElement;if(t?.matches(Q)||(0,s.isKeyboardClick)(e)&&t?.matches('button, [role="button"]'))return;let{method:i,value:a}=this.#B(e),r=!e.metaKey&&/^[0-9]$/.test(e.key);if(!(0,s.isString)(a)&&!(0,s.isArray)(a)&&!r){a?.onKeyDown?.({event:e,player:this.#y.player,remote:this.#y.remote}),a?.callback?.(e,this.#y.remote);return}if(!i&&r&&!function(e){for(let t of K)if(e[t.toLowerCase()+"Key"])return!0;return!1}(e)){e.preventDefault(),e.stopPropagation(),this.#y.remote.seek(this.$state.duration()/10*Number(e.key),e);return}if(i){switch(e.preventDefault(),e.stopPropagation(),i){case"seekForward":case"seekBackward":this.#G(e,i,"seekForward"===i);break;case"volumeUp":case"volumeDown":let t=this.el.querySelector("[data-media-volume-slider]");if(t)t.dispatchEvent(new KeyboardEvent("keydown",{key:"volumeUp"===i?"Up":"Down",shiftKey:e.shiftKey,trigger:e}));else{let t=e.shiftKey?.1:.05;this.#y.remote.changeVolume(this.$state.volume()+("volumeUp"===i?+t:-t),e)}break;case"toggleFullscreen":this.#y.remote.toggleFullscreen("prefer-media",e);break;case"speedUp":case"slowDown":let s=this.$state.playbackRate();this.#y.remote.changePlaybackRate(Math.max(.25,Math.min(2,s+("speedUp"===i?.25:-.25))),e);break;default:this.#y.remote[i]?.(e)}this.$state.lastKeyboardAction.set({action:i,event:e})}}#U(e){var t,i;i=t=e.target,(!a.IS_SERVER&&i instanceof HTMLAudioElement||!a.IS_SERVER&&t instanceof HTMLVideoElement)&&this.#B(e).method&&e.preventDefault()}#B(e){let t={...this.$props.keyShortcuts(),...this.#y.ariaKeys},i=Object.keys(t).find(i=>{let a=t[i],r=(0,s.isArray)(a)?a.join(" "):(0,s.isString)(a)?a:a?.keys;return((0,s.isArray)(r)?r:r?.split(" "))?.map(e=>e.replace(/Shift\+(\d)/g,(e,t)=>B[t-1]).replace(/Control/g,"Ctrl").split("+"))?.some(t=>{let i=new Set(t.filter(e=>K.has(e)));for(let t of("<>".includes(e.key)&&i.add("Shift"),K)){let s=t.toLowerCase()+"Key";if(!i.has(t)&&e[s])return!1}return t.every(t=>K.has(t)?e[t.toLowerCase()+"Key"]:e.key===t.replace("Space"," "))})});return{method:i,value:i?t[i]:null}}#_;#z(e,t){let i=e.shiftKey?10:5;return this.#_=Math.max(0,Math.min((this.#_??this.$state.currentTime())+("seekForward"===t?+i:-i),this.$state.duration()))}#W=null;#H(e,t){this.#W?.dispatchEvent(new KeyboardEvent(e.type,{key:t?"Right":"Left",shiftKey:e.shiftKey,trigger:e}))}#G(e,t,i){this.$state.canSeek()&&(this.#W||(this.#W=this.el.querySelector("[data-media-time-slider]")),this.#W?this.#H(e,i):this.#y.remote.seeking(this.#z(e,t),e))}};let B=["!","@","#","$","%","^","&","*","(",")"];var W=class extends s.ViewController{#j;constructor(e){super(),this.#j=e}onAttach(e){let{$props:t,ariaKeys:i}=g(),r=e.getAttribute("aria-keyshortcuts");if(r){i[this.#j]=r,a.IS_SERVER||(0,s.onDispose)(()=>{delete i[this.#j]});return}let n=t.keyShortcuts()[this.#j];if(n){let t=(0,s.isArray)(n)?n.join(" "):(0,s.isString)(n)?n:n?.keys;e.setAttribute("aria-keyshortcuts",(0,s.isArray)(t)?t.join(" "):t)}}},H=class extends N{#X=-2;#Y=!1;#J=(0,s.signal)(!1);#Z=(0,s.signal)(!1);#ee=null;#et=(0,s.signal)(!0);defaultDelay=2e3;get canIdle(){return this.#et()}set canIdle(e){this.#et.set(e)}get hideOnMouseLeave(){let{hideControlsOnMouseLeave:e}=this.$props;return this.#J()||e()}set hideOnMouseLeave(e){this.#J.set(e)}get showing(){return this.$state.controlsVisible()}show(e=0,t){this.#ei(),this.#Y||this.#es(!0,e,t)}hide(e=this.defaultDelay,t){this.#ei(),this.#Y||this.#es(!1,e,t)}pause(e){this.#Y=!0,this.#ei(),this.#es(!0,0,e)}resume(e){this.#Y=!1,this.$state.paused()||this.#es(!1,this.defaultDelay,e)}onConnect(){(0,s.effect)(this.#ea.bind(this))}#ea(){let{viewType:e}=this.$state;if(!this.el||!this.#et())return;if("audio"===e())return void this.show();(0,s.effect)(this.#er.bind(this)),(0,s.effect)(this.#en.bind(this));let t=this.#eo.bind(this),i=this.#eh.bind(this),a=this.#el.bind(this);new s.EventsController(this.el).add("can-play",e=>this.show(0,e)).add("play",t).add("pause",i).add("end",a).add("auto-play-fail",i)}#er(){if(!this.el)return;let{started:e,pointer:t,paused:i}=this.$state;if(!e()||"fine"!==t())return;let a=new s.EventsController(this.el),r=this.hideOnMouseLeave;r&&this.#Z()||(0,s.effect)(()=>{i()||a.add("pointermove",this.#ed.bind(this))}),r&&a.add("mouseenter",this.#eu.bind(this)).add("mouseleave",this.#ec.bind(this))}#en(){let{paused:e,started:t,autoPlayError:i}=this.$state;if(e()||i()&&!t())return;let a=this.#ed.bind(this);(0,s.effect)(()=>
1{if(!this.el)return;let e="coarse"===this.$state.pointer(),t=new s.EventsController(this.el);for(let i of[e?"touchend":"pointerup","keydown"])t.add(i,a,{passive:!1})})}#eo(e){e.triggers.hasType("ended")||(this.show(0,e),this.hide(void 0,e))}#eh(e){this.show(0,e)}#el(e){let{loop:t}=this.$state;t()&&this.hide(0,e)}#eu(e){this.#Z.set(!1),this.show(0,e),this.hide(void 0,e)}#ec(e){this.#Z.set(!0),this.hide(0,e)}#ei(){window.clearTimeout(this.#X),this.#X=-1}#ed(e){e.MEDIA_GESTURE||this.#Y||q(e)||((0,s.isKeyboardEvent)(e)&&("Escape"===e.key?(this.el?.focus(),this.#ee=null):this.#ee&&(e.preventDefault(),requestAnimationFrame(()=>{this.#ee?.focus(),this.#ee=null}))),this.show(0,e),this.hide(this.defaultDelay,e))}#es(e,t,i){0===t?this.#u(e,i):this.#X=window.setTimeout(()=>{this.scope&&this.#u(e&&!this.#Y,i)},t)}#u(e,t){this.$state.controlsVisible()!==e&&(this.$state.controlsVisible.set(e),!e&&document.activeElement&&this.el?.contains(document.activeElement)&&(this.#ee=document.activeElement,requestAnimationFrame(()=>{this.el?.focus({preventScroll:!0})}
1)),this.dispatch("controls-change",{detail:e,trigger:t}))}};let _=s.fscreen.fullscreenEnabled;var G=class extends s.ViewController{#ep=!1;#eg=!1;get active(){return this.#eg}get supported(){return _}onConnect(){new s.EventsController(s.fscreen).add("fullscreenchange",this.#u.bind(this)).add("fullscreenerror",this.#em.bind(this)),(0,s.onDispose)(this.#ef.bind(this))}#ef(){_&&this.exit().catch(s.noop)}#u(e){let t=z(this.el);t!==this.#eg&&(t||(this.#ep=!1),this.#eg=t,this.dispatch("fullscreen-change",{detail:t,trigger:e}))}#em(e){this.#ep&&(this.dispatch("fullscreen-error",{detail:null,trigger:e}),this.#ep=!1)}async enter(){try{if(this.#ep=!0,!this.el||z(this.el))return;return j(),s.fscreen.requestFullscreen(this.el)}catch(e){throw this.#ep=!1,e}}async exit(){if(this.el&&z(this.el))return j(),s.fscreen.exitFullscreen()}};function z(e){if(s.fscreen.fullscreenElement===e)return!0;try{return e.matches(s.fscreen.fullscreenPseudoClass)}catch(e){return!1}}function j(){if(!_)throw Error("[vidstack] no fullscreen API")}var X=class e extends s.ViewController{#ey=(0,s.signal)(this.#eb());#ev=(0,s.signal)(!1);#ew;get type(){return this.#ey()}get locked(){return this.#ev()}get portrait(){return this.#ey().startsWith("portrait")}get landscape(){return this.#ey().startsWith("landscape")}static supported=(0,a.canOrientScreen)();get supported(){return e.supported}onConnect(){if(this.supported)(0,s.listenEvent)(screen.orientation,"change",this.#ek.bind(this));else{let e=window.matchMedia("(orientation: landscape)");e.onchange=this.#ek.bind(this),(0,s.onDispose)(()=>e.onchange=null)}(0,s.onDispose)(this.#ef.bind(this))}async #ef(){this.supported&&this.#ev()&&await this.unlock()}#ek(e){this.#ey.set(this.#eb()),this.dispatch("orientation-change",{detail:{orientation:(0,s.peek)(this.#ey),lock:this.#ew},trigger:e})}async lock(e){(0,s.peek)(this.#ev)||this.#ew===e||(this.#eS(),await screen.orientation.lock(e),this.#ev.set(!0),this.#ew=e)}async unlock(){(0,s.peek)(this.#ev)&&(this.#eS(),this.#ew=void 0,await screen.orientation.unlock(),this.#ev.set(!1))}#eS(){if(!this.supported)throw Error("[vidstack] no orientation API")}#eb(){return a.IS_SERVER?"portrait-primary":this.supported?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}},Y=class{name="audio";target;canPlay(e){return!!(0,a.isAudioSrc)(e)&&(a.IS_SERVER||!(0,s.isString)(e.src)||"?"===e.type||(0,a.canPlayAudioType)(this.target,e.type))}mediaType(){return"audio"}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load audio provider server-side");return new(await i.e(3959).then(i.bind(i,33959))).AudioProvider(this.target,e)}},J=class{name="video";target;canPlay(e){return!!(0,a.isVideoSrc)(e)&&(a.IS_SERVER||!(0,s.isString)(e.src)||"?"===e.type||(0,a.canPlayVideoType)(this.target,e.type))}mediaType(){return"video"}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load video provider server-side");return new(await Promise.resolve().then(i.bind(i,79263)).then(e=>e.provider_exports$1)).VideoProvider(this.target,e)}},Z=class e extends J{static supported=(0,a.isHLSSupported)();name="hls";canPlay(t){return e.supported&&(0,a.isHLSSrc)(t)}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load hls provider server-side");return new(await i.e(85).then(i.bind(i,80085))).HLSProvider(this.target,e)}},ee=class e extends J{static supported=(0,a.isDASHSupported)();name="dash";canPlay(t){return e.supported&&(0,a.isDASHSrc)(t)}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load dash provider server-side");return new(await Promise.resolve().then(i.bind(i,79263)).then(e=>e.provider_exports)).DASHProvider(this.target,e)}},et=class{name="vimeo";target;preconnect(){for(let e of["https://i.vimeocdn.com","https://f.vimeocdn.com","https://fresnel.vimeocdn.com"])(0,a.preconnect)(e)}canPlay(e){return(0,s.isString)(e.src)&&"video/vimeo"===e.type}mediaType(){return"video"}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load vimeo provider server-side");return new(await i.e(8669).then(i.bind(i,48669))).VimeoProvider(this.target,e)}async loadPoster(e,t,a){let{resolveVimeoVideoId:r,getVimeoVideoInfo:n}=await i.e(2952).then(i.bind(i,52952));if(!(0,s.isString)(e.src))return null;let{videoId:o,hash:h}=r(e.src);return o?n(o,a,h).then(e=>e?e.poster:null):null}},ei=class{name="youtube";target;
1preconnect(){for(let e of["https://www.google.com","https://i.ytimg.com","https://googleads.g.doubleclick.net","https://static.doubleclick.net"])(0,a.preconnect)(e)}canPlay(e){return(0,s.isString)(e.src)&&"video/youtube"===e.type}mediaType(){return"video"}async load(e){if(a.IS_SERVER)throw Error("[vidstack] can not load youtube provider server-side");return new(await i.e(395).then(i.bind(i,90395))).YouTubeProvider(this.target,e)}async loadPoster(e,t,a){let{findYouTubePoster:r,resolveYouTubeVideoId:n}=await i.e(8269).then(i.bind(i,38269)),o=(0,s.isString)(e.src)&&n(e.src);return o?r(o,a):null}};function es(e,t){let i=String(e),s=i.length;return s<t?`${"0".repeat(t-s)}${e}`:i}function ea(e){return{hours:Math.trunc(e/3600),minutes:Math.trunc(e%3600/60),seconds:Math.trunc(e%60),fraction:Number((e-Math.trunc(e)).toPrecision(3))}}function er(e,{padHrs:t=null,padMins:i=null,showHrs:a=!1,showMs:r=!1}={}){let{hours:n,minutes:o,seconds:h,fraction:l}=ea(e),d=t?es(n,2):n,u=`${i||(0,s.isNull)(i)&&e>=3600?es(o,2):o}:${es(h,2)}${r&&l>0?`.${String(l).replace(/^0?\./,"")}`:""}`;return n>0||a?`${d}:${u}`:u}function en(e){let t=[],{hours:i,minutes:s,seconds:a}=ea(e);return i>0&&t.push(`${i} hour`),s>0&&t.push(`${s} min`),(a>0||0===t.length)&&t.push(`${a} sec`),t.join(" ")}let eo=Symbol(0),eh=["autoPlay","canAirPlay","canFullscreen","canGoogleCast","canLoad","canLoadPoster","canPictureInPicture","canPlay","canSeek","ended","fullscreen","isAirPlayConnected","isGoogleCastConnected","live","liveEdge","loop","mediaType","muted","paused","pictureInPicture","playing","playsInline","remotePlaybackState","remotePlaybackType","seeking","started","streamType","viewType","waiting"],el={artist:"",artwork:null,ariaLabel:"",autoplay:!1,autoPlay:!1,clipStartTime:0,clipEndTime:0,controls:!1,currentTime:0,crossorigin:null,crossOrigin:null,duration:-1,fullscreenOrientation:"landscape",googleCast:{},load:"visible",posterLoad:"visible",logLevel:"silent",loop:!1,muted:!1,paused:!0,playsinline:!1,playsInline:!1,playbackRate:1,poster:"",preload:"metadata",preferNativeHLS:!1,src:"",title:"",controlsDelay:2e3,hideControlsOnMouseLeave:!1,viewType:"unknown",streamType:"unknown",volume:1,liveEdgeTolerance:10,minLiveDVRWindow:60,keyDisabled:!1,keyTarget:"player",keyShortcuts:{togglePaused:"k Space",toggleMuted:"m",toggleFullscreen:"f",togglePictureInPicture:"i",toggleCaptions:"c",seekBackward:"j J ArrowLeft",seekForward:"l L ArrowRight",volumeUp:"ArrowUp",volumeDown:"ArrowDown",speedUp:">",slowDown:"<"},storage:null};var ed=class extends N{#ey;#eT;constructor(e,t){super(),this.#ey=e,this.#eT=t}async onAttach(e){if(a.IS_SERVER)return;let t=this.$props[this.#ey]();if("eager"===t)requestAnimationFrame(this.#eT);else if("idle"===t)(0,s.waitIdlePeriod)(this.#eT);else if("visible"===t){let t,i=new IntersectionObserver(e=>{this.scope&&e[0].isIntersecting&&(t?.(),t=void 0,this.#eT())});i.observe(e),t=(0,s.onDispose)(()=>i.disconnect())}}},eu=class{#e$;#y;constructor(e,t){this.#e$=e,this.#y=t}notify(e,...t){a.IS_SERVER||this.#e$(new s.DOMEvent(e,{detail:t?.[0],trigger:t?.[1]}))}async ready(e,t){if(!a.IS_SERVER)return(0,s.untrack)(async()=>{let{logger:i}=this.#y,{autoPlay:a,canPlay:r,started:n,duration:o,seekable:h,buffered:l,remotePlaybackInfo:d,playsInline:u,savedState:c,source:p}=this.#y.$state;if(r())return;let g={duration:e?.duration??o(),seekable:e?.seekable??h(),buffered:e?.buffered??l(),provider:this.#y.$provider()};this.notify("can-play",g,t),(0,s.tick)();let m=this.#y.$provider(),{storage:f,qualities:y}=this.#y,{muted:b,volume:v,clipStartTime:w,playbackRate:k}=this.#y.$props;await f?.onLoad?.(p());let S=c()?.currentTime,T=c()?.paused,$=await f?.getTime(),P=S??$??w(),C=!1===T||!0!==T&&!n()&&a();if(m){m.setVolume(await f?.getVolume()??v()),m.setMuted(b()||!!await f?.getMuted());let e=await f?.getAudioGain()??1;e>1&&m.audioGain?.setGain?.(e),m.setPlaybackRate?.(await f?.getPlaybackRate()??k()),m.setPlaysInline?.(u()),P>0&&m.setCurrentTime(P)}let x=await f?.getVideoQuality();if(x&&y.length){let e=null,t=1/0;for(let i of y){let s=Math.abs(x.width-i.width)+Math.abs(x.height-i.height)+(x.bitrate?Math.abs(x.bitrate-(i.bitrate??0)):0);s<t&&(e=i,t=s)}e&&(e.selected=!0)}r()&&C?await this.#eP(t):$&&$>0&&this.notify("started",void 0,t),d.set(null)})}async #eP(e){let{player:t,$state:{autoPlaying:i,muted:a}}=this.#y;i.set(!0);let r=new s.DOMEvent("auto-play-attempt",{trigger:e});try{await t.play(r)}catch(e){}}},ec=class{#eC=new Map;enqueue(e,t){this.#eC.set(e,t)}serve(e){let t=this.peek(e);return this.#eC.delete(e),t}peek(e){return this.#eC.get(e)}delete(e){this.#eC.delete(e)}clear(){this.#eC.clear()}},ep=class{#ex=!1;#eE=(0,s.deferredPromise)();#eC=new Map;get size(){return this.#eC.size}get isServing(){return this.#ex}async waitForFlush(){this.#ex||await this.#eE.promise}enqueue(e,t){this.#ex?t():(this.#eC.delete(e),this.#eC.set(e,t))}serve(e){this.#eC.get(e)?.(),this.#eC.delete(e)}start(){this.#eq(),this.#ex=!0,this.#eC.size>0&&this.#eq()}stop(){this.#ex=!1}reset(){this.stop(),this.#eC.clear(),this.#eA()}#eq(){for(let e of this.#eC.keys())this.serve(e);this.#eA()}#eA(){this.#eE.resolve(),this.#eE=(0,s.deferredPromise)()}};function eg(e){return()=>e()?"true":"false"}var em=class extends N{#eR;#eI;#y;controls;#eM;#eV;#eD;#eL=new ep;constructor(e,t,i){super(),this.#eR=e,this.#eI=t,this.#y=i,this.#eD=i.$provider,this.controls=new H,this.#eM=new G,this.#eV=new X}onAttach(){this.listen("fullscreen-change",this.#eO.bind(this))}onConnect(e){let t=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),i=new s.EventsController(e),a=this.#eF.bind(this);for(let e of t)e.startsWith("media-")&&i.add(e,a);this.#eN(),(0,s.effect)(this.#eK.bind(this)),(0,s.effect)(this.#eQ.bind(this)),(0,s.effect)(this.#eU.bind(this)),(0,s.effect)(this.#eB.bind(this)),(0,s.effect)(this.#eW.bind(this)),(0,s.effect)(this.#eH.bind(this)),(0,s.effect)(this.#e_.bind(this))}onDestroy(){try{let e=this.createEvent("destroy"),{pictureInPicture:t,fullscreen:i}=this.$state;i()&&this.exitFullscreen("prefer-media",e),t()&&this.exitPictureInPicture(e)}catch(e){}this.#eL.reset()}#eN(){let{load:e}=this.$props,{canLoad:t}=this.$state;if("play"!==e()||t())return;let i=this.listen("media-play-request",e=>{this.#eG(e),i()})}#eK(){let e=this.#eD(),t=this.$state.canPlay();return e&&t&&this.#eL.start(),()=>{this.#eL.stop()}}#eF(e){e.stopPropagation(),e.defaultPrevented||this[e.type]&&((0,s.peek)(this.#eD)?this[e.type](e):this.#eL.enqueue(e.type,()=>{(0,s.peek)(this.#eD)&&this[e.type](e)}))}async play(e){if(a.IS_SERVER)return;let{canPlay:t,paused:i,autoPlaying:r}=this.$state;if(this.#eG(e)||!(0,s.peek)(i))return;e&&this.#eI.queue.enqueue("media-play-request",e);let n=(0,s.peek)(r);try{let e=(0,s.peek)(this.#eD);return ef(e,(0,s.peek)(t)),function(e){if(!("u"<typeof window)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches&&e)throw Error("[vidstack] autoplay blocked")}(n),await e.play()}catch(i){let t=this.createEvent("play-fail",{detail:(0,a.coerceToError)(i),trigger:e});throw t.autoPlay=n,this.#eR.handle(t),i}}#eG(e){let{load:t}=this.$props,{canLoad:i}=this.$state;if("play"===t()&&!i()){let t=this.createEvent("media-start-loading",{trigger:e});return this.dispatchEvent(t),this.#eL.enqueue("media-play-request",async()=>{try{await this.play(t)}catch(e){}}),!0}return!1}async pause(e){if(a.IS_SERVER)return;let{canPlay:t,paused:i}=this.$state;if(!(0,s.peek)(i)){e&&this.#eI.queue.enqueue("media-pause-request",e);try{let e=(0,s.peek)(this.#eD);return ef(e,(0,s.peek)(t)),await e.pause()}catch(e){throw this.#eI.queue.delete("media-pause-request"),e}}}setAudioGain(e,t){let{audioGain:i,canSetAudioGain:s}=this.$state;if(i()===e)return;let a=this.#eD();if(!a?.audioGain||!s())throw Error("[vidstack] audio gain api not available");t&&this.#eI.queue.enqueue("media-audio-gain-change-request",t),a.audioGain.setGain(e)}seekToLiveEdge(e){if(a.IS_SERVER)return;let{canPlay:t,live:i,liveEdge:r,canSeek:n,liveSyncPosition:o,seekableEnd:h,userBehindLiveEdge:l}=this.$state;if(l.set(!1),(0,s.peek)(()=>!i()||n()&&r()))return;let d=(0,s.peek)(this.#eD);ef(d,(0,s.peek)(t));let u=h()-2,c=Math.min(u,o()??u);Number.isFinite(c)&&(e&&this.#eI.queue.enqueue("media-seek-request",e),d.setCurrentTime(c))}#ez=!1;async enterFullscreen(e="prefer-media",t){if(a.IS_SERVER)return;let i=this.#ej(e);if(ey(e,i),!i.active)return(0,s.peek)(this.$state.pictureInPicture)&&(this.#ez=!0,await this.exitPictureInPicture(t)),t&&this.#eI.queue.enqueue("media-enter-fullscreen-request",t),i.enter()}async exitFullscreen(e="prefer-media",t){if(a.IS_SERVER)return;let i=this.#ej(e);if(ey(e,i),i.active){t&&this.#eI.queue.enqueue("media-exit-fullscreen-request",t);try{let e=await i.exit();return this.#ez&&(0,s.peek)(this.$state.canPictureInPicture)&&await this.enterPictureInPicture(),e}finally{this.#ez=!1}}}#ej(e){let t=(0,s.peek)(this.#eD);return"prefer-media"===e&&this.#eM.supported||"media"===e?this.#eM:t?.fullscreen}async enterPictureInPicture(e){if(!a.IS_SERVER&&(this.#eX(),!this.$state.pictureInPicture()))return e&&this.#eI.queue.enqueue("media-enter-pip-request",e),await this.#eD().pictureInPicture.enter()}async exitPictureInPicture(e){if(!a.IS_SERVER&&(this.#eX(),this.$state.pictureInPicture())){e&&this.#eI.queue.enqueue("media-exit-pip-request",e);try{if(document?.pictureInPictureElement&&document.exitPictureInPicture)return void await document.exitPictureInPicture();let e=this.#eD();if(e?.pictureInPicture)return void await e.pictureInPicture.exit();for(let e of document?.querySelectorAll?.("video")||[]){if(e===document.pictureInPictureElement&&document.exitPictureInPicture)return void await document.exitPictureInPicture();if("picture-in-picture"===e.webkitPresentationMode)return void e.webkitSetPresentationMode("inline")}}catch(e){}}}#eX(){if(!this.$state.canPictureInPicture())throw Error("[vidstack] no pip support")}#eQ(){this.controls.defaultDelay=this.$props.controlsDelay()}#eU(){let{canSetAudioGain:e}=this.$state,t=!!this.#eD()?.audioGain?.supported;e.set(t)}#eB(){let{canAirPlay:e}=this.$state,t=!!this.#eD()?.airPlay?.supported;e.set(t)}#eW(){let{canGoogleCast:e,source:t}=this.$state,i=a.IS_CHROME&&!a.IS_IOS&&(0,a.canGoogleCastSrc)(t());e.set(i)}#eH(){let{canFullscreen:e}=this.$state,t=this.#eM.supported||!!this.#eD()?.fullscreen?.supported;e.set(t)}#e_(){let{canPictureInPicture:e}=this.$state,t=!!this.#eD()?.pictureInPicture?.supported;e.set(t)}async "media-airplay-request"(e){try{await this.requestAirPlay(e)}catch(e){}}async requestAirPlay(e){try{let t=this.#eD()?.airPlay;if(!t?.supported)throw Error("No AirPlay adapter.");return e&&this.#eI.queue.enqueue("media-airplay-request",e),await t.prompt()}catch(e){throw this.#eI.queue.delete("media-airplay-request"),e}}async "media-google-cast-request"(e){try{await this.requestGoogleCast(e)}catch(e){}}#eY;async requestGoogleCast(e){try{let{canGoogleCast:t}=this.$state;if(!(0,s.peek)(t)){let e=Error("Cast not available.");throw e.code="CAST_NOT_AVAILABLE",e}
1if((0,a.preconnect)("https://www.gstatic.com"),!this.#eY){let e=await i.e(9255).then(i.bind(i,9255));this.#eY=new e.GoogleCastLoader}await this.#eY.prompt(this.#y),e&&this.#eI.queue.enqueue("media-google-cast-request",e);let r="disconnected"!==(0,s.peek)(this.$state.remotePlaybackState);r&&this.$state.savedState.set({paused:(0,s.peek)(this.$state.paused),currentTime:(0,s.peek)(this.$state.currentTime)}),this.$state.remotePlaybackLoader.set(r?this.#eY:null)}catch(e){throw this.#eI.queue.delete("media-google-cast-request"),e}}"media-clip-start-change-request"(e){let{clipStartTime:t}=this.$state;t.set(e.detail)}"media-clip-end-change-request"(e){let{clipEndTime:t}=this.$state;t.set(e.detail),this.dispatch("duration-change",{detail:e.detail,trigger:e})}"media-duration-change-request"(e){let{providedDuration:t,clipEndTime:i}=this.$state;t.set(e.detail),0>=i()&&this.dispatch("duration-change",{detail:e.detail,trigger:e})}"media-audio-track-change-request"(e){let{logger:t,audioTracks:i}=this.#y;if(i.readonly)return;let s=i[e.detail];if(s){let t=e.type;this.#eI.queue.enqueue(t,e),s.selected=!0}}async "media-enter-fullscreen-request"(e){try{await this.enterFullscreen(e.detail,e)}catch(t){this.#eJ(t,e)}}async "media-exit-fullscreen-request"(e){try{await this.exitFullscreen(e.detail,e)}catch(t){this.#eJ(t,e)}}async #eO(e){let t=(0,s.peek)(this.$props.fullscreenOrientation),i=e.detail;if(!(0,s.isUndefined)(t)&&"none"!==t&&this.#eV.supported)if(i){if(this.#eV.locked)return;this.dispatch("media-orientation-lock-request",{detail:t,trigger:e})}else this.#eV.locked&&this.dispatch("media-orientation-unlock-request",{trigger:e})}#eJ(e,t){this.#eR.handle(this.createEvent("fullscreen-error",{detail:(0,a.coerceToError)(e)}))}async "media-orientation-lock-request"(e){let t=e.type;try{this.#eI.queue.enqueue(t,e),await this.#eV.lock(e.detail)}catch(e){this.#eI.queue.delete(t)}}async "media-orientation-unlock-request"(e){let t=e.type;try{this.#eI.queue.enqueue(t,e),await this.#eV.unlock()}catch(e){this.#eI.queue.delete(t)}}async "media-enter-pip-request"(e){try{await this.enterPictureInPicture(e)}catch(t){this.#eZ(t,e)}}async "media-exit-pip-request"(e){try{await this.exitPictureInPicture(e)}catch(t){this.#eZ(t,e)}}#eZ(e,t){this.#eR.handle(this.createEvent("picture-in-picture-error",{detail:(0,a.coerceToError)(e)}))}"media-live-edge-request"(e){let{live:t,liveEdge:i,canSeek:s}=this.$state;if(!(!t()||s()&&i()))try{this.seekToLiveEdge(e)}catch(e){this.#eI.queue.delete("media-seek-request")}}async "media-loop-request"(e){try{this.#eI.looping=!0,this.#eI.replaying=!0,await this.play(e)}catch(e){this.#eI.looping=!1}}"media-user-loop-change-request"(e){this.$state.userPrefersLoop.set(e.detail)}async "media-pause-request"(e){if(!this.$state.paused())try{await this.pause(e)}catch(e){}}async "media-play-request"(e){if(this.$state.paused())try{await this.play(e)}catch(e){}}"media-rate-change-request"(e){let{playbackRate:t,canSetPlaybackRate:i}=this.$state;if(t()===e.detail||!i())return;let s=this.#eD();s?.setPlaybackRate&&(this.#eI.queue.enqueue("media-rate-change-request",e),s.setPlaybackRate(e.detail))}"media-audio-gain-change-request"(e){try{this.setAudioGain(e.detail,e)}catch(e){}}"media-quality-change-request"(e){let{qualities:t,storage:i,logger:s}=this.#y;if(t.readonly)return;this.#eI.queue.enqueue("media-quality-change-request",e);let a=e.detail;if(a<0)t.autoSelect(e),e.isOriginTrusted&&i?.setVideoQuality?.(null);else{let s=t[a];s&&(s.selected=!0,e.isOriginTrusted&&i?.setVideoQuality?.({id:s.id,width:s.width,height:s.height,bitrate:s.bitrate}))}}"media-pause-controls-request"(e){let t=e.type;this.#eI.queue.enqueue(t,e),this.controls.pause(e)}"media-resume-controls-request"(e){let t=e.type;this.#eI.queue.enqueue(t,e),this.controls.resume(e)}"media-seek-request"(e){let{canSeek:t,ended:i,live:s,seekableEnd:a,userBehindLiveEdge:r}=this.$state,n=e.detail;i()&&(this.#eI.replaying=!0);let o=e.type;this.#eI.seeking=!1,this.#eI.queue.delete(o);let h=c(n,this.$state);Number.isFinite(h)&&t()&&(this.#eI.queue.enqueue(o,e),this.#eD().setCurrentTime(h),s()&&e.isOriginTrusted&&Math.abs(a()-h)>=2&&r.set(!0))}"media-seeking-request"(e){let t=e.type;this.#eI.queue.enqueue(t,e),this.$state.seeking.set(!0),this.#eI.seeking=!0}"media-start-loading"(e){if(this.$state.canLoad())return;let t=e.type;this.#eI.queue.enqueue(t,e),this.#eR.handle(this.createEvent("can-load"))}"media-poster-start-loading"(e){if(this.$state.canLoadPoster())return;let t=e.type;this.#eI.queue.enqueue(t,e),this.#eR.handle(this.createEvent("can-load-poster"))}"media-text-track-change-request"(e){let{index:t,mode:i}=e.detail,s=this.#y.textTracks[t];if(s){let t=e.type;this.#eI.queue.enqueue(t,e),s.setMode(i,e)}}"media-mute-request"(e){if(this.$state.muted())return;let t=e.type;this.#eI.queue.enqueue(t,e),this.#eD().setMuted(!0)}"media-unmute-request"(e){let{muted:t,volume:i}=this.$state;if(!t())return;let s=e.type;this.#eI.queue.enqueue(s,e),this.#y.$provider().setMuted(!1),0===i()&&(this.#eI.queue.enqueue(s,e),this.#eD().setVolume(.25))}"media-volume-change-request"(e){let{muted:t,volume:i}=this.$state,s=e.detail;if(i()===s)return;let a=e.type;this.#eI.queue.enqueue(a,e),this.#eD().setVolume(s),s>0&&t()&&(this.#eI.queue.enqueue(a,e),this.#eD().setMuted(!1))}#e0(e,t,i){}};function ef(e,t){if(!e||!t)throw Error("[vidstack] media not ready")}function ey(e,t){if(!t?.supported)throw Error("[vidstack] no fullscreen support")}var eb=class{seeking=!1;looping=!1;replaying=!1;queue=new ec};let ev=new Set(["auto-play","auto-play-fail","can-load","sources-change","source-change","load-start","abort","error","loaded-metadata","loaded-data","can-play","play","play-fail","pause","playing","seeking","seeked","waiting"]);var ew=class extends N{#eI;#y;#e1=new Map;#e2=!1;#e5=[];#e3=[-1,-1];#e9=!1;#e6;constructor(e,t){super(),this.#eI=e,this.#y=t}onAttach(e){e.setAttribute("aria-busy","true"),new s.EventsController(this).add("fullscreen-change",this["fullscreen-change"].bind(this)).add("fullscreen-error",this["fullscreen-error"].bind(this)).add("orientation-change",this["orientation-change"].bind(this))}onConnect(e){(0,s.effect)(this.#e8.bind(this)),this.#e7(),this.#e4(),this.#te(),this.#tt(),(0,s.onDispose)(this.#ti.bind(this))}onDestroy(){let{audioTracks:e,qualities:t,textTracks:i}=this.#y;e[a.ListSymbol.reset](),t[a.ListSymbol.reset](),i[a.ListSymbol.reset](),this.#ts()}handle(e){if(!this.scope)return;let t=e.type;(0,s.untrack)(()=>this[e.type]?.(e)),a.IS_SERVER||(ev.has(t)&&this.#e1.set(t,e),this.dispatch(e))}#ta=!1;#tt(){this.#ta&&(requestAnimationFrame(()=>{this.scope&&this.#y.remote.play(new s.DOMEvent("dom-connect"))}),this.#ta=!1)}#ti(){this.#ta||(this.#ta=!this.$state.paused(),this.#y.$provider()?.pause())}#tr(){this.#tn(),this.#e2=!1,this.#eI.replaying=!1,this.#eI.looping=!1,this.#e9=!1,this.#e6=void 0,this.#e1.clear()}#to(e,t){let i=this.#eI.queue.serve(e);
1i&&(t.request=i,t.triggers.add(i))}#e7(){this.#th(),this.#tl();let e=this.#y.textTracks;new s.EventsController(e).add("add",this.#th.bind(this)).add("remove",this.#th.bind(this)).add("mode-change",this.#tl.bind(this))}#e4(){let e=this.#y.qualities;new s.EventsController(e).add("add",this.#td.bind(this)).add("remove",this.#td.bind(this)).add("change",this.#tu.bind(this)).add("auto-change",this.#tc.bind(this)).add("readonly-change",this.#tp.bind(this))}#te(){let e=this.#y.audioTracks;new s.EventsController(e).add("add",this.#tg.bind(this)).add("remove",this.#tg.bind(this)).add("change",this.#tm.bind(this))}#th(e){let{textTracks:t}=this.$state;t.set(this.#y.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:t(),trigger:e})}#tl(e){e&&this.#to("media-text-track-change-request",e);let t=this.#y.textTracks.selected,{textTrack:i}=this.$state;i()!==t&&(i.set(t),this.dispatch("text-track-change",{detail:t,trigger:e}))}#tg(e){let{audioTracks:t}=this.$state;t.set(this.#y.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:t(),trigger:e})}#tm(e){let{audioTrack:t}=this.$state;t.set(this.#y.audioTracks.selected),e&&this.#to("media-audio-track-change-request",e),this.dispatch("audio-track-change",{detail:t(),trigger:e})}#td(e){let{qualities:t}=this.$state;t.set(this.#y.qualities.toArray()),this.dispatch("qualities-change",{detail:t(),trigger:e})}#tu(e){let{quality:t}=this.$state;t.set(this.#y.qualities.selected),e&&this.#to("media-quality-change-request",e),this.dispatch("quality-change",{detail:t(),trigger:e})}#tc(){let{qualities:e}=this.#y,t=e.auto;this.$state.autoQuality.set(t),t||this.#ts()}#tf=null;#ty(){this.#ts(),this.#tf=(0,s.effect)(()=>{let{qualities:e}=this.#y,{mediaWidth:t,mediaHeight:i}=this.$state,r=t(),n=i();if(0===r||0===n)return;let o=null,h=1/0;for(let t of e){let e=Math.abs(t.width-r)+Math.abs(t.height-n);e<h&&(h=e,o=t)}o&&e[a.ListSymbol.select](o,!0,new s.DOMEvent("resize",{detail:{width:r,height:n}}))})}#ts(){this.#tf?.(),this.#tf=null}#tp(){this.$state.canSetQuality.set(!this.#y.qualities.readonly)}#e8(){let{canSetVolume:e,isGoogleCastConnected:t}=this.$state;t()?e.set(!1):(0,a.canChangeVolume)().then(e.set)}"provider-change"(e){let t=this.#y.$provider(),i=e.detail;t?.type!==i?.type&&(t?.destroy?.(),t?.scope?.dispose(),this.#y.$provider.set(e.detail),t&&null===e.detail&&this.#tb(e))}"provider-loader-change"(e){}"auto-play"(e){this.$state.autoPlayError.set(null)}"auto-play-fail"(e){this.$state.autoPlayError.set(e.detail),this.#tr()}"can-load"(e){this.$state.canLoad.set(!0),this.#e1.set("can-load",e),this.#y.textTracks[a.TextTrackSymbol.canLoad](),this.#to("media-start-loading",e)}"can-load-poster"(e){this.$state.canLoadPoster.set(!0),this.#e1.set("can-load-poster",e),this.#to("media-poster-start-loading",e)}"media-type-change"(e){let t=this.#e1.get("source-change");t&&e.triggers.add(t);let i=this.$state.viewType();this.$state.mediaType.set(e.detail);let s=this.$state.providedViewType(),r="unknown"===s?e.detail:s;i!==r&&(a.IS_SERVER?this.$state.inferredViewType.set(r):setTimeout(()=>{requestAnimationFrame(()=>{this.scope&&(this.$state.inferredViewType.set(e.detail),this.dispatch("view-type-change",{detail:r,trigger:e}))})},0))}"stream-type-change"(e){let t=this.#e1.get("source-change");t&&e.triggers.add(t);let{streamType:i,inferredStreamType:s}=this.$state;s.set(e.detail),e.detail=i()}"rate-change"(e){let{storage:t}=this.#y,{canPlay:i}=this.$state;this.$state.playbackRate.set(e.detail),this.#to("media-rate-change-request",e),i()&&t?.setPlaybackRate?.(e.detail)}"remote-playback-change"(e){let{remotePlaybackState:t,remotePlaybackType:i}=this.$state,{type:s,state:a}=e.detail,r="connected"===a;i.set(s),t.set(a);let n="airplay"===s?"media-airplay-request":"media-google-cast-request";if(r)this.#to(n,e);else{let t=this.#eI.queue.peek(n);t&&(e.request=t,e.triggers.add(t))}}"sources-change"(e){let t=this.$state.sources(),i=e.detail;this.$state.sources.set(i),this.#tv(t,i,e)}#tv(e,t,i){let{qualities:s}=this.#y,r=!1,n=!1;for(let r of e)if(o(r)&&!t.some(e=>e.src===r.src)){let e=s.getBySrc(r.src);e&&(s[a.ListSymbol.remove](e,i),n=!0)}for(let e of(n&&!s.length&&(this.$state.savedState.set(null),s[a.ListSymbol.reset](i)),t)){if(!o(e)||s.getBySrc(e.src))continue;let t={id:e.id??e.height+"p",bitrate:null,codec:null,...e,selected:!1};s[a.ListSymbol.add](t,i),r=!0}r&&!s[a.QualitySymbol.enableAuto]&&(this.#ty(),s[a.QualitySymbol.enableAuto]=this.#ty.bind(this),s[a.QualitySymbol.setAuto](!0,i))}"source-change"(e){e.isQualityChange=e.originEvent?.type==="quality-change";let t=e.detail;this.#tb(e,e.isQualityChange),this.#e1.set(e.type,e),this.$state.source.set(t),this.el?.setAttribute("aria-busy","true")}#tb(e,t=!1){let{audioTracks:i,qualities:s}=this.#y;if(!t){this.#e5=[],this.#e3=[-1,-1],i[a.ListSymbol.reset](e),s[a.ListSymbol.reset](e),u(this.$state,t),this.#tr();return}u(this.$state,t),this.#tr()}abort(e){let t=this.#e1.get("source-change");t&&e.triggers.add(t);let i=this.#e1.get("can-load");i&&!e.triggers.hasType("can-load")&&e.triggers.add(i)}"load-start"(e){let t=this.#e1.get("source-change");t&&e.triggers.add(t)}error(e){this.$state.error.set(e.detail);let t=this.#e1.get("abort");t&&e.triggers.add(t)}"loaded-metadata"(e){let t=this.#e1.get("load-start");t&&e.triggers.add(t)}"loaded-data"(e){let t=this.#e1.get("load-start");t&&e.triggers.add(t)}"can-play"(e){let t=this.#e1.get("loaded-metadata");t&&e.triggers.add(t),this.#tw(e.detail),this.el?.setAttribute("aria-busy","false")}
1"can-play-through"(e){this.#tw(e.detail);let t=this.#e1.get("can-play");t&&e.triggers.add(t)}#tw(e){let{seekable:t,buffered:i,intrinsicDuration:s,canPlay:r}=this.$state;r.set(!0),i.set(e.buffered),t.set(e.seekable);let n=(0,a.getTimeRangesEnd)(e.seekable)??1/0;s.set(n)}"duration-change"(e){let{live:t,intrinsicDuration:i,providedDuration:s,clipEndTime:a,ended:r}=this.$state,n=e.detail;if(!t()){let t=Number.isNaN(n)?0:n;i.set(t),r()&&this.#tk(e)}(s()>0||a()>0)&&e.stopImmediatePropagation()}progress(e){let{buffered:t,seekable:i}=this.$state,{buffered:s,seekable:r}=e.detail,n=(0,a.getTimeRangesEnd)(s),o=s.length!==t().length,h=n!==(0,a.getTimeRangesEnd)(t()),l=(0,a.getTimeRangesEnd)(r),d=r.length!==i().length,u=l!==(0,a.getTimeRangesEnd)(i());(o||h)&&t.set(s),(d||u)&&i.set(r)}play(e){let{paused:t,autoPlayError:i,ended:s,autoPlaying:a,playsInline:r,pointer:n,muted:o,viewType:h,live:l,userBehindLiveEdge:d}=this.$state;if(this.#tS(),!t())return void e.stopImmediatePropagation();e.autoPlay=a();let u=this.#e1.get("waiting");u&&e.triggers.add(u),this.#to("media-play-request",e),this.#e1.set("play",e),t.set(!1),i.set(null),e.autoPlay&&(this.handle(this.createEvent("auto-play",{detail:{muted:o()},trigger:e})),a.set(!1)),(s()||this.#eI.replaying)&&(this.#eI.replaying=!1,s.set(!1),this.handle(this.createEvent("replay",{trigger:e}))),r()||"video"!==h()||"coarse"!==n()||this.#y.remote.enterFullscreen("prefer-media",e),l()&&!d()&&this.#y.remote.seekToLiveEdge(e)}#tS(e){if(!(0,s.peek)(this.#y.$provider))return;let{ended:t,seekableStart:i,clipEndTime:a,currentTime:r,realCurrentTime:n,duration:o}=this.$state,h=t()||n()<i()||a()>0&&n()>=a()||.1>Math.abs(r()-o());return h&&this.dispatch("media-seek-request",{detail:i(),trigger:e}),h}"play-fail"(e){let{muted:t,autoPlaying:i}=this.$state,s=this.#e1.get("play");s&&e.triggers.add(s),this.#to("media-play-request",e);let{paused:a,playing:r}=this.$state;a.set(!0),r.set(!1),this.#tr(),this.#e1.set("play-fail",e),e.autoPlay&&(this.handle(this.createEvent("auto-play-fail",{detail:{muted:t(),error:e.detail},trigger:e})),i.set(!1))}playing(e){let t=this.#e1.get("play"),i=this.#e1.get("seeked");t?e.triggers.add(t):i&&e.triggers.add(i),setTimeout(()=>this.#tr(),0);let{paused:s,playing:a,live:r,liveSyncPosition:n,seekableEnd:o,started:h,currentTime:l,seeking:d,ended:u}=this.$state;if(s.set(!1),a.set(!0),d.set(!1),u.set(!1),this.#eI.looping){this.#eI.looping=!1;return}if(r()&&!h()&&0===l()){let e=n()??o()-2;Number.isFinite(e)&&this.#y.$provider().setCurrentTime(e)}this.started(e)}started(e){let{started:t}=this.$state;t()||(t.set(!0),this.handle(this.createEvent("started",{trigger:e})))}pause(e){this.el?.isConnected||(this.#ta=!0),this.#to("media-pause-request",e);let t=this.#e1.get("seeked");t&&e.triggers.add(t);let{paused:i,playing:s}=this.$state;i.set(!0),s.set(!1),this.#e2&&setTimeout(()=>{this.handle(this.createEvent("end",{trigger:e})),this.#e2=!1},0),this.#tr()}"time-change"(e){if(this.#eI.looping)return void e.stopImmediatePropagation();let{waiting:t,played:i,clipEndTime:s,realCurrentTime:r,currentTime:n}=this.$state,o=e.detail,h=s();for(let i of(r.set(o),this.#tT(),t.set(!1),this.#y.textTracks))i[a.TextTrackSymbol.updateActiveCues](o,e);h>0&&o>=h&&(this.#e2=!0,this.dispatch("media-pause-request",{trigger:e})),this.#t$(),this.dispatch("time-update",{detail:{currentTime:n(),played:i()},trigger:e})}#tT(){let{currentTime:e,played:t,paused:i}=this.$state;i()||(this.#e3=(0,a.updateTimeIntervals)(this.#e5,this.#e3,e()),t.set(new a.TimeRange(this.#e5)))}#tk(e){let{clipStartTime:t,clipEndTime:i,duration:s}=this.$state;t()>0||i()>0||this.handle(this.createEvent("time-change",{detail:s(),trigger:e}))}#t$(){let{storage:e}=this.#y,{canPlay:t,realCurrentTime:i}=this.$state;t()&&e?.setTime?.(i())}"audio-gain-change"(e){let{storage:t}=this.#y,{canPlay:i,audioGain:s}=this.$state;s.set(e.detail),this.#to("media-audio-gain-change-request",e),i()&&t?.setAudioGain?.(s())}"volume-change"(e){let{storage:t}=this.#y,{volume:i,muted:s,canPlay:a}=this.$state,r=e.detail;i.set(r.volume),s.set(r.muted||0===r.volume),this.#to("media-volume-change-request",e),this.#to(r.muted?"media-mute-request":"media-unmute-request",e),a()&&(t?.setVolume?.(i()),t?.setMuted?.(s()))}seeking=(0,s.functionThrottle)(e=>{let{seeking:t,realCurrentTime:i,paused:s}=this.$state;t.set(!0),i.set(e.detail),this.#to("media-seeking-request",e),s()&&(this.#e6=e,this.#tP()),this.#e3=[-1,-1]},150,{leading:!0});seeked(e){let{seeking:t,currentTime:i,realCurrentTime:s,paused:a,seekableEnd:r,ended:n,live:o}=this.$state;if(this.#eI.seeking)t.set(!0),e.stopImmediatePropagation();else if(t()){let i=this.#e1.get("waiting");i&&e.triggers.add(i);let r=this.#e1.get("seeking");r&&!e.triggers.has(r)&&e.triggers.add(r),a()&&this.#tn(),t.set(!1),s.set(e.detail),this.#to("media-seek-request",e);let n=e?.originEvent;!n?.isTrusted||n instanceof MessageEvent||/seek/.test(n.type)||this.started(e)}o()||(Math.floor(i())!==Math.floor(r())?n.set(!1):this.end(e))}waiting(e){this.#e9||this.#eI.seeking||(e.stopImmediatePropagation(),this.#e6=e,this.#tP())}#tP=(0,s.functionDebounce)(()=>
1{if(!this.#e6)return;this.#e9=!0;let{waiting:e,playing:t}=this.$state;e.set(!0),t.set(!1);let i=this.createEvent("waiting",{trigger:this.#e6});this.#e1.set("waiting",i),this.dispatch(i),this.#e6=void 0,this.#e9=!1},300);end(e){let{loop:t,ended:i}=this.$state;if(!(!t()&&i())){if(t())return void setTimeout(()=>{requestAnimationFrame(()=>{this.#tS(e),this.dispatch("media-loop-request",{trigger:e})})},10);setTimeout(()=>this.#tC(e),0)}}#tC(e){let{storage:t}=this.#y,{paused:i,seeking:s,ended:a,duration:r}=this.$state;this.#tk(e),i()||this.dispatch("pause",{trigger:e}),s()&&this.dispatch("seeked",{detail:r(),trigger:e}),a.set(!0),this.#tr(),t?.setTime?.(r(),!0),this.dispatch("ended",{trigger:e})}#tn(){this.#tP.cancel(),this.$state.waiting.set(!1)}"fullscreen-change"(e){let t=e.detail;this.$state.fullscreen.set(t),this.#to(t?"media-enter-fullscreen-request":"media-exit-fullscreen-request",e)}"fullscreen-error"(e){this.#to("media-enter-fullscreen-request",e),this.#to("media-exit-fullscreen-request",e)}"orientation-change"(e){let t=e.detail.lock;this.#to(t?"media-orientation-lock-request":"media-orientation-unlock-request",e)}"picture-in-picture-change"(e){let t=e.detail;this.$state.pictureInPicture.set(t),this.#to(t?"media-enter-pip-request":"media-exit-pip-request",e)}"picture-in-picture-error"(e){this.#to("media-enter-pip-request",e),this.#to("media-exit-pip-request",e)}"title-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredTitle.set(e.detail))}"poster-change"(e){e.trigger&&(e.stopImmediatePropagation(),this.$state.inferredPoster.set(e.detail))}},ek=class extends N{onSetup(){if(this.#ea(),!a.IS_SERVER)for(let e of[this.#tx,this.#tE,this.#tq,this.#tA,this.#k,this.#tR,this.#tI,this.#tM,this.#tV,this.#tD,this.#tL,this.#tO,this.#tF,this.#tN,this.#tK])(0,s.effect)(e.bind(this))}#ea(){let e={duration:"providedDuration",loop:"providedLoop",poster:"providedPoster",streamType:"providedStreamType",title:"providedTitle",viewType:"providedViewType"},t=new Set(["currentTime","paused","playbackRate","volume"]);for(let i of Object.keys(this.$props))t.has(i)||this.$state[e[i]??i]?.set(this.$props[i]());this.$state.muted.set(this.$props.muted()||0===this.$props.volume())}#tN(){let{viewType:e,streamType:t,title:i,poster:s,loop:a}=this.$props,r=this.$state;r.providedPoster.set(s()),r.providedStreamType.set(t()),r.providedViewType.set(e()),r.providedTitle.set(i()),r.providedLoop.set(a())}#tQ(){}#tx(){let{artist:e,artwork:t}=this.$props;this.$state.artist.set(e()),this.$state.artwork.set(t())}#tK(){let{title:e}=this.$state;this.dispatch("title-change",{detail:e()})}#tE(){let e=this.$props.autoPlay()||this.$props.autoplay();this.$state.autoPlay.set(e),this.dispatch("auto-play-change",{detail:e})}#tL(){let e=this.$state.loop();this.dispatch("loop-change",{detail:e})}#k(){let e=this.$props.controls();this.$state.controls.set(e)}#tF(){let{poster:e}=this.$state;this.dispatch("poster-change",{detail:e()})}#tR(){let e=this.$props.crossOrigin()??this.$props.crossorigin();this.$state.crossOrigin.set(!0===e?"":e)}#tI(){let{duration:e}=this.$props;this.dispatch("media-duration-change-request",{detail:e()})}#tO(){let e=this.$props.playsInline()||this.$props.playsinline();this.$state.playsInline.set(e),this.dispatch("plays-inline-change",{detail:e})}#tq(){let{clipStartTime:e}=this.$props;this.dispatch("media-clip-start-change-request",{detail:e()})}#tA(){let{clipEndTime:e}=this.$props;this.dispatch("media-clip-end-change-request",{detail:e()})}#tM(){this.dispatch("live-change",{detail:this.$state.live()})}#tD(){this.$state.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$state.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}#tV(){this.dispatch("live-edge-change",{detail:this.$state.liveEdge()})}};let eS=["play","pause","seekforward","seekbackward","seekto"];var eT=class extends N{onConnect(){(0,s.effect)(this.#tU.bind(this)),(0,s.effect)(this.#tB.bind(this));let e=this.#tW.bind(this);for(let t of eS)navigator.mediaSession.setActionHandler(t,e);(0,s.onDispose)(this.#ef.bind(this))}#ef(){for(let e of eS)navigator.mediaSession.setActionHandler(e,null)}#tU(){let{title:e,artist:t,artwork:i,poster:s}=this.$state;
1navigator.mediaSession.metadata=new MediaMetadata({title:e(),artist:t(),artwork:i()??[{src:s()}]})}#tB(){let{canPlay:e,paused:t}=this.$state;navigator.mediaSession.playbackState=e()?t()?"paused":"playing":"none"}#tW(e){let t=new s.DOMEvent("media-session-action",{detail:e});switch(e.action){case"play":this.dispatch("media-play-request",{trigger:t});break;case"pause":this.dispatch("media-pause-request",{trigger:t});break;case"seekto":case"seekforward":case"seekbackward":this.dispatch("media-seek-request",{detail:(0,s.isNumber)(e.seekTime)?e.seekTime:this.$state.currentTime()+(e.seekOffset??("seekforward"===e.action?10:-10)),trigger:t})}}};let e$=(0,s.signal)(!1);a.IS_SERVER||((0,s.listenEvent)(document,"pointerdown",()=>{e$.set(!1)}),(0,s.listenEvent)(document,"keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||e$.set(!0)}));var eP=class extends s.ViewController{#tH=(0,s.signal)(!1);onConnect(e){(0,s.effect)(()=>{let t=new s.EventsController(e);if(!e$()){this.#tH.set(!1),eC(e,!1),t.add("pointerenter",this.#t_.bind(this)).add("pointerleave",this.#tG.bind(this));return}let i=document.activeElement===e;this.#tH.set(i),eC(e,i),t.add("focus",this.#tz.bind(this)).add("blur",this.#tj.bind(this))})}focused(){return this.#tH()}#tz(){this.#tH.set(!0),eC(this.el,!0)}#tj(){this.#tH.set(!1),eC(this.el,!1)}#t_(){ex(this.el,!0)}#tG(){ex(this.el,!1)}};function eC(e,t){(0,s.setAttribute)(e,"data-focus",t),(0,s.setAttribute)(e,"data-hocus",t)}function ex(e,t){(0,s.setAttribute)(e,"data-hocus",t),(0,s.setAttribute)(e,"data-hover",t)}var eE=class e extends s.Component{static props=el;static state=h;#y;#eR;#tX;canPlayQueue=new ep;remoteControl;get #tY(){return this.#y.$provider()}get #tJ(){return this.$props}constructor(){super(),new ek;const e={player:this,qualities:new V,audioTracks:new w,storage:null,$provider:(0,s.signal)(null),$providerSetup:(0,s.signal)(!1),$props:this.$props,$state:this.$state};e.remote=this.remoteControl=new m(void 0),e.remote.setPlayer(this),e.textTracks=new M,e.textTracks[a.TextTrackSymbol.crossOrigin]=this.$state.crossOrigin,e.textRenderers=new I(e),e.ariaKeys={},this.#y=e,(0,s.provideContext)(p,e),this.orientation=new X,new eP,new U(e);const t=new eb;this.#eR=new ew(t,e),this.#tX=new em(this.#eR,t,e),e.delegate=new eu(this.#eR.handle.bind(this.#eR),e),e.notify=e.delegate.notify.bind(e.delegate),"u">typeof navigator&&"mediaSession"in navigator&&new eT,new ed("load",this.startLoading.bind(this)),new ed("posterLoad",this.startLoadingPoster.bind(this))}onSetup(){this.#tZ(),(0,s.effect)(this.#t0.bind(this)),(0,s.effect)(this.#t1.bind(this)),(0,s.effect)(this.#en.bind(this)),(0,s.effect)(this.#t2.bind(this)),(0,s.effect)(this.#t5.bind(this)),(0,s.effect)(this.#tO.bind(this)),(0,s.effect)(this.#t3.bind(this))}onAttach(e){e.setAttribute("data-media-player",""),T(e,"tabindex","0"),T(e,"role","region"),(0,s.effect)(this.#t9.bind(this)),a.IS_SERVER?this.#tK():(0,s.effect)(this.#tK.bind(this)),a.IS_SERVER?this.#t6():(0,s.effect)(this.#t6.bind(this)),(0,s.listenEvent)(e,"find-media-player",this.#t8.bind(this))}onConnect(e){a.IS_IPHONE&&(0,s.setAttribute)(e,"data-iphone","");let t=window.matchMedia("(pointer: coarse)");this.#t7(t),t.onchange=this.#t7.bind(this);let i=new ResizeObserver((0,s.animationFrameThrottle)(this.#t4.bind(this)));i.observe(e),(0,s.effect)(this.#t4.bind(this)),this.dispatch("media-player-connect",{detail:this,bubbles:!0,composed:!0}),(0,s.onDispose)(()=>{i.disconnect(),t.onchange=null})}onDestroy(){this.#y.player=null,this.canPlayQueue.reset()}#ie=!1;#tK(){let e=this.$el,{ariaLabel:t}=this.$props,{title:i,live:r,viewType:n,providedTitle:o}=this.$state,h=r(),l=(0,s.uppercaseFirstChar)(n()),d="Unknown"!==l?`${h?"Live ":""}${l}`:h?"Live":"Media",u=i(),c=t()||`${d} Player`+(u?` - ${u}`:"");(0,s.setAttribute)(this.el,"aria-label",c),!a.IS_SERVER&&e?.hasAttribute("title")&&(this.#ie=!0,e?.removeAttribute("title"))}#t6(){let e=this.orientation.landscape?"landscape":"portrait";this.$state.orientation.set(e),(0,s.setAttribute)(this.el,"data-orientation",e),this.#t4()}#t0(){this.$state.canPlay()&&this.#tY?this.canPlayQueue.start():this.canPlayQueue.stop()}#tZ(){if(e[eo])return void this.setAttributes(e[eo]);let t={"data-load":function(){return this.$props.load()},"data-captions":function(){let e=this.$state.textTrack();return!!e&&(0,a.isTrackCaptionKind)(e)}
1,"data-ios-controls":function(){return this.$state.iOSControls()},"data-controls":function(){return this.controls.showing},"data-buffering":function(){let{canLoad:e,canPlay:t,waiting:i}=this.$state;return e()&&(!t()||i())},"data-error":function(){let{error:e}=this.$state;return!!e()},"data-autoplay-error":function(){let{autoPlayError:e}=this.$state;return!!e()}},i={autoPlay:"autoplay",canAirPlay:"can-airplay",canPictureInPicture:"can-pip",pictureInPicture:"pip",playsInline:"playsinline",remotePlaybackState:"remote-state",remotePlaybackType:"remote-type",isAirPlayConnected:"airplay",isGoogleCastConnected:"google-cast"};for(let e of eh)t["data-"+(i[e]??(0,s.camelToKebabCase)(e))]=function(){return this.$state[e]()};delete t.title,e[eo]=t,this.setAttributes(t)}#t8(e){e.detail(this)}#t4(){if(a.IS_SERVER||!this.el)return;let e=this.el.clientWidth,t=this.el.clientHeight;this.$state.width.set(e),this.$state.height.set(t),(0,s.setStyle)(this.el,"--player-width",e+"px"),(0,s.setStyle)(this.el,"--player-height",t+"px")}#t7(e){if(a.IS_SERVER)return;let t=e.matches?"coarse":"fine";(0,s.setAttribute)(this.el,"data-pointer",t),this.$state.pointer.set(t),this.#t4()}get provider(){return this.#tY}get controls(){return this.#tX.controls}set controls(e){this.#tJ.controls.set(e)}orientation;get title(){return(0,s.peek)(this.$state.title)}set title(e){if(this.#ie){this.#ie=!1;return}this.#tJ.title.set(e)}get qualities(){return this.#y.qualities}get audioTracks(){return this.#y.audioTracks}get textTracks(){return this.#y.textTracks}get textRenderers(){return this.#y.textRenderers}get duration(){return this.$state.duration()}set duration(e){this.#tJ.duration.set(e)}get paused(){return(0,s.peek)(this.$state.paused)}set paused(e){this.#it(e)}#en(){this.#it(this.$props.paused())}#it(e){e?this.canPlayQueue.enqueue("paused",()=>this.#tX.pause()):this.canPlayQueue.enqueue("paused",()=>this.#tX.play())}get muted(){return(0,s.peek)(this.$state.muted)}set muted(e){this.#ii(e)}#t1(){this.#ii(this.$props.muted())}#ii(e){this.canPlayQueue.enqueue("muted",()=>{(0,s.peek)(()=>{this.#tY&&this.#tY.setMuted(e)})})}get currentTime(){return(0,s.peek)(this.$state.currentTime)}set currentTime(e){this.#is(e)}#t5(){this.#is(this.$props.currentTime())}#is(e){this.canPlayQueue.enqueue("currentTime",()=>{let{currentTime:t}=this.$state;e!==(0,s.peek)(t)&&(0,s.peek)(()=>{if(!this.#tY)return;let t=c(e,this.$state);Number.isFinite(t)&&this.#tY.setCurrentTime(t)})})}get volume(){return(0,s.peek)(this.$state.volume)}set volume(e){this.#ia(e)}#t2(){this.#ia(this.$props.volume())}#ia(e){let t=(0,a.clampNumber)(0,e,1);this.canPlayQueue.enqueue("volume",()=>{this.#tY&&this.#tY.setVolume(t)})}get playbackRate(){return(0,s.peek)(this.$state.playbackRate)}set playbackRate(e){this.#ir(e)}#t3(){this.#ir(this.$props.playbackRate())}#ir(e){this.canPlayQueue.enqueue("rate",()=>{this.#tY&&this.#tY.setPlaybackRate?.(e)})}#tO(){this.#io(this.$props.playsInline())}#io(e){this.canPlayQueue.enqueue("playsinline",()=>{this.#tY&&this.#tY.setPlaysInline?.(e)})}#t9(){let e=this.$props.storage(),t=(0,s.isString)(e)?new f:e;if(t?.onChange){let{source:i}=this.$state,a=(0,s.isString)(e)?e:this.el?.id,r=(0,s.computed)(this.#ih.bind(this));(0,s.effect)(()=>t.onChange(i(),r(),a||void 0))}this.#y.storage=t,this.#y.textTracks.setStorage(t),(0,s.onDispose)(()=>{t?.onDestroy?.(),this.#y.storage=null,this.#y.textTracks.setStorage(null)})}#ih(){let{clipStartTime:e,clipEndTime:t}=this.$props,{source:i}=this.$state,s=i();return s.src?`${s.src}:${e()}:${t()}`:null}async play(e){return this.#tX.play(e)}async pause(e){return this.#tX.pause(e)}async enterFullscreen(e,t){return this.#tX.enterFullscreen(e,t)}async exitFullscreen(e,t){return this.#tX.exitFullscreen(e,t)}enterPictureInPicture(e){return this.#tX.enterPictureInPicture(e)}exitPictureInPicture(e){return this.#tX.exitPictureInPicture(e)}seekToLiveEdge(e){this.#tX.seekToLiveEdge(e)}startLoading(e){this.#y.notify("can-load",void 0,e)}startLoadingPoster(e){this.#y.notify("can-load-poster",void 0,e)}requestAirPlay(e){return this.#tX.requestAirPlay(e)}requestGoogleCast(e){return this.#tX.requestGoogleCast(e)}setAudioGain(e,t){return this.#tX.setAudioGain(e,t)}destroy(){super.destroy(),this.#y.remote.setPlayer(null),this.dispatch("destroy")}};let eq=eE.prototype;(0,s.prop)(eq,"canPlayQueue"),(0,s.prop)(eq,"remoteControl"),(0,s.prop)(eq,"provider"),(0,s.prop)(eq,"controls"),(0,s.prop)(eq,"orientation"),(0,s.prop)(eq,"title"),
1(0,s.prop)(eq,"qualities"),(0,s.prop)(eq,"audioTracks"),(0,s.prop)(eq,"textTracks"),(0,s.prop)(eq,"textRenderers"),(0,s.prop)(eq,"duration"),(0,s.prop)(eq,"paused"),(0,s.prop)(eq,"muted"),(0,s.prop)(eq,"currentTime"),(0,s.prop)(eq,"volume"),(0,s.prop)(eq,"playbackRate"),(0,s.method)(eq,"play"),(0,s.method)(eq,"pause"),(0,s.method)(eq,"enterFullscreen"),(0,s.method)(eq,"exitFullscreen"),(0,s.method)(eq,"enterPictureInPicture"),(0,s.method)(eq,"exitPictureInPicture"),(0,s.method)(eq,"seekToLiveEdge"),(0,s.method)(eq,"startLoading"),(0,s.method)(eq,"startLoadingPoster"),(0,s.method)(eq,"requestAirPlay"),(0,s.method)(eq,"requestGoogleCast"),(0,s.method)(eq,"setAudioGain");let eA=new Map;var eR=class{#il=!1;#id;#iu;#y;#ic;constructor(e,t,i,a=[]){this.#iu=e,this.#y=t,this.#ic=i;const r=new ee,n=new Z,o=new J,h=new Y,l=[new ei,new et];this.#id=(0,s.computed)(()=>{let e=t.$state.remotePlaybackLoader(),i=t.$props.preferNativeHLS()?[o,h,r,n,...l,...a]:[n,o,h,r,...l,...a];return e?[e,...i]:i});const{$state:d}=t;for(const e of(d.sources.set(eI(t.$props.src())),d.sources())){const i=this.#id().find(t=>t.canPlay(e));if(!i)continue;const s=i.mediaType(e);t.$state.source.set(e),t.$state.mediaType.set(s),t.$state.inferredViewType.set(s),this.#ic.set(i),this.#il=!0;break}}connect(){let e=this.#ic();this.#il&&(this.#ip(this.#y.$state.source(),e),this.#ig(e),this.#il=!1),(0,s.effect)(this.#im.bind(this)),(0,s.effect)(this.#iy.bind(this)),(0,s.effect)(this.#ib.bind(this)),(0,s.effect)(this.#iv.bind(this)),(0,s.effect)(this.#iw.bind(this))}#im(){this.#y.notify("sources-change",[...eI(this.#y.$props.src()),...this.#iu()])}#iy(){let{$state:e}=this.#y,t=e.sources(),i=(0,s.peek)(e.source),r=this.#ik(i,t);if(t[0]?.src&&!r.src&&!r.type){let{crossOrigin:i}=e,r=(0,a.getRequestCredentials)(i()),n=new AbortController;return Promise.all(t.map(e=>(0,s.isString)(e.src)&&"?"===e.type?fetch(e.src,{method:"HEAD",credentials:r,signal:n.signal}).then(t=>(e.type=t.headers.get("content-type")||"??",eA.set(e.src,e.type),e)).catch(()=>e):e)).then(t=>{if(n.signal.aborted)return;let i=this.#ik((0,s.peek)(e.source),t);(0,s.tick)(),i.src||this.#y.notify("error",{message:"Failed to load resource.",code:4})}),()=>n.abort()}(0,s.tick)()}#ik(e,t){let i={src:"",type:""},a=null,r=new s.DOMEvent("sources-change",{detail:{sources:t}}),n=this.#id(),{started:h,paused:l,currentTime:d,quality:u,savedState:c}=this.#y.$state;for(let e of t){let t=n.find(t=>t.canPlay(e));if(t){i=e,a=t;break}}if(o(i)){let e=u(),a=t.find(t=>t.src===e?.src);(0,s.peek)(h)?c.set({paused:(0,s.peek)(l),currentTime:(0,s.peek)(d)}):c.set(null),a&&(i=a,r=new s.DOMEvent("quality-change",{detail:{quality:e}}))}return eV(e,i)||this.#ip(i,a,r),a!==(0,s.peek)(this.#ic)&&this.#ig(a,r),i}#ip(e,t,i){this.#y.notify("source-change",e,i),this.#y.notify("media-type-change",t?.mediaType(e)||"unknown",i)}#ig(e,t){this.#y.$providerSetup.set(!1),this.#y.notify("provider-change",null,t),e&&(0,s.peek)(()=>e.preconnect?.(this.#y)),this.#ic.set(e),this.#y.notify("provider-loader-change",e,t)}#ib(){let e=this.#y.$provider();if(!(!e||(0,s.peek)(this.#y.$providerSetup))){if(this.#y.$state.canLoad()){(0,s.scoped)(()=>e.setup(),e.scope),this.#y.$providerSetup.set(!0);return}(0,s.peek)(()=>e.preconnect?.())}}
1#iv(){if(!this.#y.$providerSetup())return;let e=this.#y.$provider(),t=this.#y.$state.source(),i=(0,s.peek)(this.#y.$state.crossOrigin),r=(0,s.peek)(this.#y.$props.preferNativeHLS);if(!eV(e?.currentSrc,t)){if(this.#y.$state.canLoad()){let n=new AbortController;if((0,a.isHLSSrc)(t))(r||!(0,a.isHLSSupported)())&&(function e(t,i){return fetch(t,i).then(e=>e.text()).then(s=>{let a,r=(a=s.match(/#EXT-X-STREAM-INF:[^\n]+(\n[^\n]+)*/g))?a[0].split("\n")[1].trim():null;if(r)return e(/^https?:/.test(r)?r:new URL(r,t).href,i);let n=/EXT-X-PLAYLIST-TYPE:\s*VOD/.test(s)?"on-demand":"live";return"live"===n&&function(e){for(let t of e.split("\n"))if(t.startsWith("#EXT-X-TARGETDURATION")){let e=parseFloat(t.split(":")[1]);if(!isNaN(e))return e}return -1}(s)>=10&&(/#EXT-X-DVR-ENABLED:\s*true/.test(s)||s.includes("#EXT-X-DISCONTINUITY"))?"live:dvr":n})})(t.src,{credentials:(0,a.getRequestCredentials)(i),signal:n.signal}).then(e=>{this.#y.notify("stream-type-change",e)}).catch(s.noop);else if((0,a.isDASHSrc)(t))fetch(t.src,{credentials:(0,a.getRequestCredentials)(i),signal:n.signal}).then(e=>e.text()).then(e=>/type="static"/.test(e)?"on-demand":"live").then(e=>{this.#y.notify("stream-type-change",e)}).catch(s.noop);else this.#y.notify("stream-type-change","on-demand");return(0,s.peek)(()=>{let i=(0,s.peek)(this.#y.$state.preload);return e?.loadSource(t,i).catch(e=>{})}),()=>n.abort()}try{(0,s.isString)(t.src)&&(0,a.preconnect)(new URL(t.src).origin)}catch(e){}}}#iw(){let e=this.#ic(),{providedPoster:t,source:i,canLoadPoster:a}=this.#y.$state;if(!e||!e.loadPoster||!i()||!a()||t())return;let r=new AbortController,n=new s.DOMEvent("source-change",{detail:i});return e.loadPoster(i(),this.#y,r).then(e=>{this.#y.notify("poster-change",e||"",n)}).catch(()=>{this.#y.notify("poster-change","",n)}),()=>{r.abort()}}};function eI(e){return((0,s.isArray)(e)?e:[e]).map(e=>(0,s.isString)(e)?{src:e,type:eM(e)}:{...e,type:eM(e.src,e.type)})}function eM(e,t){if((0,s.isString)(t)&&t.length)return t;if((0,s.isString)(e)&&eA.has(e))return eA.get(e);if(!t&&(0,a.isHLSSrc)({src:e,type:""}))return"application/x-mpegurl";if(!t&&(0,a.isDASHSrc)({src:e,type:""}))return"application/dash+xml";if(!(0,s.isString)(e)||e.startsWith("blob:"))return"video/object";else if(e.includes("youtube")||e.includes("youtu.be"))return"video/youtube";else if(e.includes("vimeo")&&!e.includes("progressive_redirect")&&!e.includes(".m3u8"))return"video/vimeo";return"?"}function eV(e,t){return e?.src===t?.src&&e?.type===t?.type}var eD=class{#iS;#y;#iT=[];constructor(e,t){this.#iS=e,this.#y=t,(0,s.effect)(this.#i$.bind(this))}#i$(){let e=this.#iS();for(let t of this.#iT)if(!e.some(e=>e.id===t.id)){let e=t.id&&this.#y.textTracks.getById(t.id);e&&this.#y.textTracks.remove(e)}for(let t of e){let e=t.id||a.TextTrack.createId(t);this.#y.textTracks.getById(e)||(t.id=e,this.#y.textTracks.add(t))}this.#iT=e}},eL=class extends s.Component{static props={loaders:[]};static state=new s.State({loader:null});#y;#iP;#iu=(0,s.signal)([]);#iS=(0,s.signal)([]);#ic=null;#e=null;#iC=!1;onSetup(){this.#y=g(),this.#iP=new eR(this.#iu,this.#y,this.$state.loader,this.$props.loaders())}onAttach(e){e.setAttribute("data-media-provider","")}onConnect(e){this.#iC=!0,this.#iP.connect(),new eD(this.#iS,this.#y);let t=new ResizeObserver((0,s.animationFrameThrottle)(this.#t4.bind(this)));t.observe(e);let i=new MutationObserver(this.#ix.bind(this));i.observe(e,{attributes:!0,childList:!0}),this.#t4(),this.#ix(),this.#e&&this.load(this.#e),(0,s.onDispose)(()=>{this.#iC=!1,t.disconnect(),i.disconnect()})}#iE=-1;load(e){this.#e=e||null,e?.setAttribute("aria-hidden","true"),this.#iC&&(window.cancelAnimationFrame(this.#iE),this.#iE=requestAnimationFrame(()=>this.#iq(e)),(0,s.onDispose)(()=>{window.cancelAnimationFrame(this.#iE)}))}#iq(e){if(!this.scope)return;let t=this.$state.loader(),{$provider:i}=this.#y;this.#ic===t&&t?.target===e&&(0,s.peek)(i)||(this.#iA(),this.#ic=t,t&&(t.target=e||null),t&&e&&t.load(this.#y).then(e=>{this.scope&&(0,s.peek)(this.$state.loader)===t&&this.#y.notify("provider-change",e)}))}onDestroy(){this.#ic=null,this.#iA()}#iA(){this.#y?.notify("provider-change",null)}#t4(){if(!this.el)return;let{player:e,$state:t}=this.#y,i=this.el.offsetWidth,a=this.el.offsetHeight;
1e&&(t.mediaWidth.set(i),t.mediaHeight.set(a),e.el&&((0,s.setStyle)(e.el,"--media-width",i+"px"),(0,s.setStyle)(e.el,"--media-height",a+"px")))}#ix(){let e=[],t=[];for(let i of this.el.children)if(!i.hasAttribute("data-vds")){if(i instanceof HTMLSourceElement){let t={id:i.id,src:i.src,type:i.type};for(let e of["id","src","width","height","bitrate","codec"]){let a=i.getAttribute(`data-${e}`);(0,s.isString)(a)&&(t[e]=/id|src|codec/.test(e)?a:Number(a))}e.push(t)}else if(i instanceof HTMLTrackElement){let e={src:i.src,kind:i.track.kind,language:i.srclang,label:i.label,default:i.default,type:i.getAttribute("data-type")};t.push({id:i.id||a.TextTrack.createId(e),...e})}}this.#iu.set(e),this.#iS.set(t),(0,s.tick)()}};let eO=eL.prototype;(0,s.method)(eO,"load"),s.Component,new s.State({label:null,busy:!1}),s.Component;var eF=class extends s.ViewController{#iR;constructor(e){super(),this.#iR=e,(0,s.effect)(this.#iI.bind(this))}onDestroy(){this.#iM?.(),this.#iM=null}#iI(){let e=this.#iR.trigger();if(!e)return void this.hide();let t=this.show.bind(this),i=this.hide.bind(this);this.#iR.listen(e,t,i)}#iV=-1;#iD=-1;#iM=null;show(e){this.#iL(),window.cancelAnimationFrame(this.#iD),this.#iD=-1,this.#iM?.(),this.#iM=null,this.#iV=window.setTimeout(()=>{this.#iV=-1;let t=this.#iR.content();t&&t.style.removeProperty("display"),(0,s.peek)(()=>this.#iR.onChange(!0,e))},this.#iR.showDelay?.()??0)}hide(e){this.#iL(),(0,s.peek)(()=>this.#iR.onChange(!1,e)),this.#iD=requestAnimationFrame(()=>{this.#iL(),this.#iD=-1;let e=this.#iR.content();if(e){let t=()=>{e.style.display="none",this.#iM=null};if("none"!==getComputedStyle(e).animationName){this.#iM?.();let i=(0,s.listenEvent)(e,"animationend",t,{once:!0});this.#iM=i}else t()}})}#iL(){window.clearTimeout(this.#iV),this.#iV=-1}};(0,s.createContext)(),s.Component,s.Component,s.Component;var eN=class extends s.ViewController{static props={disabled:!1};#iR;constructor(e){super(),this.#iR=e,new eP,e.keyShortcut&&new W(e.keyShortcut)}onSetup(){let{disabled:e}=this.$props;this.setAttributes({"data-pressed":this.#iR.isPresssed,"aria-pressed":this.#iO.bind(this),"aria-disabled":()=>e()?"true":null})}onAttach(e){T(e,"tabindex","0"),T(e,"role","button"),T(e,"type","button")}onConnect(e){let t=E(e,this.#iF.bind(this));for(let e of["click","touchstart"])t.add(e,this.#iN.bind(this),{passive:!0})}#iO(){return(0,s.ariaBool)(this.#iR.isPresssed())}#iK(e){(0,s.isWriteSignal)(this.#iR.isPresssed)&&this.#iR.isPresssed.set(e=>!e)}#iF(e){if(this.$props.disabled()||this.el.hasAttribute("data-disabled")){e.preventDefault(),e.stopImmediatePropagation();return}e.preventDefault(),(this.#iR.onPress??this.#iK).call(this,e)}#iN(e){this.$props.disabled()&&(e.preventDefault(),e.stopImmediatePropagation())}},eK=class extends s.Component{static props={disabled:!1,defaultPressed:!1};#iQ=(0,s.signal)(!1);get pressed(){return this.#iQ()}constructor(){super(),new eN({isPresssed:this.#iQ})}};let eQ=eK.prototype;(0,s.prop)(eQ,"pressed");var eU=class extends s.Component{static props=eN.props;#y;constructor(){super(),new eN({isPresssed:this.#iU.bind(this),onPress:this.#iB.bind(this)})}onSetup(){this.#y=g();let{canAirPlay:e,isAirPlayConnected:t}=this.#y.$state;this.setAttributes({"data-active":t,"data-supported":e,"data-state":this.#iW.bind(this),"aria-hidden":eg(()=>!e())})}onAttach(e){e.setAttribute("data-media-tooltip","airplay"),$(e,this.#iH.bind(this))}#iB(e){this.#y.remote.requestAirPlay(e)}#iU(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#y.$state;return"airplay"===e()&&"disconnected"!==t()}#iW(){let{remotePlaybackType:e,remotePlaybackState:t}=this.#y.$state;return"airplay"===e()&&t()}#iH(){let{remotePlaybackState:e}=this.#y.$state;return`AirPlay ${e()}`}};s.Component,eN.props;var eB=class extends s.Component{static props=eN.props;#y;constructor(){super(),new eN({isPresssed:this.#iU.bind(this),keyShortcut:"togglePaused",onPress:this.#iB.bind(this)})}onSetup(){this.#y=g();let{paused:e,ended:t}=this.#y.$state;this.setAttributes({"data-paused":e,"data-ended":t})}onAttach(e){e.setAttribute("data-media-tooltip","play"),$(e,"Play")}#iB(e){let t=this.#y.remote;this.#iU()?t.pause(e):t.play(e)}#iU(){let{paused:e}=this.#y.$state;return!e()}},eW=class extends s.Component{static props=eN.props;#y;constructor(){super(),new eN({isPresssed:this.#iU.bind(this),keyShortcut:"toggleCaptions",onPress:this.#iB.bind(this)})}onSetup(){this.#y=g(),this.setAttributes({"data-active":this.#iU.bind(this),"data-supported":()=>!this.#i_(),"aria-hidden":eg(this.#i_.bind(this))})}onAttach(e){e.setAttribute("data-media-tooltip","caption"),$(e,"Captions")}#iB(e){this.#y.remote.toggleCaptions(e)}#iU(){let{textTrack:e}=this.#y.$state,t=e();return!!t&&(0,a.isTrackCaptionKind)(t)}#i_(){let{hasCaptions:e}=this.#y.$state;return!e()}},eH=class extends s.Component{static props={...eN.props,target:"prefer-media"};#y;constructor(){super(),new eN({isPresssed:this.#iU.bind(this),keyShortcut:"toggleFullscreen",onPress:this.#iB.bind(this)})}onSetup(){this.#y=g();let{fullscreen:e}=this.#y.$state,t=this.#iG.bind(this);this.setAttributes({"data-active":e,"data-supported":t,"aria-hidden":eg(()=>!t())})}onAttach(e){e.setAttribute("data-media-tooltip","fullscreen"),$(e,"Fullscreen")}#iB(e){let t=this.#y.remote,i=this.$props.target();this.#iU()?t.exitFullscreen(i,e):t.enterFullscreen(i,e)}#iU(){let{fullscreen:e}=this.#y.$state;return e()}#iG(){let{canFullscreen:e}=this.#y.$state;return e()}},e_=class extends s.Component{static props=eN.props;#y;constructor(){super(),new eN({isPresssed:this.#iU.bind(this),keyShortcut:"toggleMuted",onPress:this.#iB.bind(this)})}onSetup(){this.#y=g(),this.setAttributes({"data-muted":this.#iU.bind(this),"data-state":this.#iW.bind(this)})}onAttach(e){e.setAttribute("data-media-mute-button",""),e.setAttribute("data-media-tooltip","mute"),$(e,"Mute")}#iB(e){let t=this.#y.remote;this.#iU()?t.unmute(e):t.mute(e)}#iU(){let{muted:e,volume:t}=this.#y.$state;return e()||0===t()}#iW(){let{muted:e,volume:t}=this.#y.$state,i=t();return e()||0===i?"muted":i>=.5?"high":i<.5?"low":void 0}},eG=class extends s.Component{static props=eN.props;#y;constructor(){super(),new eN({isPresssed:this.#iU.bind(this),keyShortcut:"togglePictureInPicture",onPress:this.#iB.bind(this)})}onSetup(){this.#y=g();let{pictureInPicture:e}=this.#y.$state,t=this.#iG.bind(this);this.setAttributes({"data-active":e,"data-supported":t,"aria-hidden":eg(()=>!t())})}onAttach(e){e.setAttribute("data-media-tooltip","pip"),$(e,"PiP")}#iB(e){let t=this.#y.remote;this.#iU()?t.exitPictureInPicture(e):t.enterPictureInPicture(e)}#iU(){let{pictureInPicture:e}=this.#y.$state;return e()}#iG(){let{canPictureInPicture:e}=this.#y.$state;return e()}},ez=class extends s.Component{static props={disabled:!1,seconds:30};#y;constructor(){super(),new eP}onSetup(){this.#y=g();let{seeking:e}=this.#y.$state,{seconds:t}=this.$props,i=this.#iG.bind(this);this.setAttributes({seconds:t,"data-seeking":e,"data-supported":i,"aria-hidden":eg(()=>!i())})}onAttach(e){T(e,"tabindex","0"),T(e,"role","button"),T(e,"type","button"),e.setAttribute("data-media-tooltip","seek"),$(e,this.#iH.bind(this))}onConnect(e){E(e,this.#iB.bind(this))}#iG(){let{canSeek:e}=this.#y.$state;return e()}#iH(){let{seconds:e}=this.$props;return`Seek ${e()>0?"forward":"backward"} ${e()} seconds`}#iB(e){let{seconds:t,disabled:i}=this.$props;if(i())return;let{currentTime:s}=this.#y.$state,a=s()+t();this.#y.remote.seek(a,e)}},ej=class extends s.Component{static props={disabled:!1};#y;constructor(){super(),new eP}onSetup(){this.#y=g();let{disabled:e}=this.$props,{live:t,liveEdge:i}=this.#y.$state,s=()=>!t();this.setAttributes({"data-edge":i,"data-hidden":s,"aria-disabled":eg(()=>e()||i()),"aria-hidden":eg(s)})}onAttach(e){T(e,"tabindex","0"),T(e,"role","button"),T(e,"type","button"),e.setAttribute("data-media-tooltip","live")}onConnect(e){E(e,this.#iB.bind(this))}#iB(e){let{disabled:t}=this.$props,{liveEdge:i}=this.#y.$state;t()||i()||this.#y.remote.seekToLiveEdge(e)}};let eX=new s.State({min:0,max:100,value:0,step:1,pointerValue:0,focused:!1,dragging:!1,pointing:!1,hidden:!1,get active(){return this.dragging||this.focused||this.pointing},get fillRate(){return eY(this.min,this.max,this.value)},get fillPercent(){return 100*this.fillRate},get pointerRate(){return eY(this.min,this.max,this.pointerValue)},get pointerPercent(){return 100*this.pointerRate}});function eY(e,t,i){let s=t-e;return s>0?(i-e)/s:0}var eJ=class extends s.ViewController{#ea;#iz;
1constructor(e){super(),this.#ea=e}onConnect(e){this.#iz=new IntersectionObserver(e=>{this.#ea.callback?.(e,this.#iz)},this.#ea),this.#iz.observe(e),(0,s.onDispose)(this.#ef.bind(this))}#ef(){this.#iz?.disconnect(),this.#iz=void 0}};let eZ=(0,s.createContext)(),e0=(0,s.createContext)(),e1={Left:-1,ArrowLeft:-1,Up:1,ArrowUp:1,Right:1,ArrowRight:1,Down:-1,ArrowDown:-1};var e2=class extends s.ViewController{#iR;#y;#iz;constructor(e,t){super(),this.#iR=e,this.#y=t}onSetup(){(0,s.hasProvidedContext)(e0)&&(this.#iz=(0,s.useContext)(e0))}onConnect(e){(0,s.effect)(this.#ij.bind(this,e)),(0,s.effect)(this.#iX.bind(this,e)),this.#iR.swipeGesture&&(0,s.effect)(this.#iY.bind(this))}#iY(){let{pointer:e}=this.#y.$state;if("coarse"!==e()||!this.#iR.swipeGesture()){this.#tY=null,this.#iJ();return}(this.#tY=this.#y.player.el?.querySelector("media-provider,[data-media-provider]"),this.#tY)?new s.EventsController(this.#tY).add("touchstart",this.#iZ.bind(this),{passive:!0}).add("touchmove",this.#i0.bind(this),{passive:!1}):this.#iJ()}#tY=null;#i1=null;#i2=null;#iJ(){this.#i1=null,this.#i2=null}#iZ(e){this.#i1=e.touches[0]}#i0(e){if((0,s.isNull)(this.#i1)||q(e))return;let t=e.touches[0],i=t.clientX-this.#i1.clientX,a=t.clientY-this.#i1.clientY,r=this.$state.dragging();!r&&Math.abs(a)>5||!r&&(e.preventDefault(),Math.abs(i)>20&&(this.#i1=t,this.#i2=this.$state.value(),this.#i5(this.#i2,e)))}#ij(e){let{hidden:t}=this.$props;(0,s.listenEvent)(e,"focus",this.#tz.bind(this)),t()||this.#iR.isDisabled()||new s.EventsController(e).add("keyup",this.#K.bind(this)).add("keydown",this.#Q.bind(this)).add("pointerenter",this.#t_.bind(this)).add("pointermove",this.#i3.bind(this)).add("pointerleave",this.#tG.bind(this)).add("pointerdown",this.#i9.bind(this))}#iX(e){!this.#iR.isDisabled()&&this.$state.dragging()&&new s.EventsController(document).add("pointerup",this.#i6.bind(this),{capture:!0}).add("pointermove",this.#i8.bind(this)).add("touchmove",this.#i7.bind(this),{passive:!1})}#tz(){this.#i4(this.$state.value())}#se(e,t){let{value:i,min:s,max:a,dragging:r}=this.$state,n=Math.max(s(),Math.min(e,a()));i.set(n);let o=this.createEvent("value-change",{detail:n,trigger:t});if(this.dispatch(o),this.#iR.onValueChange?.(o),r()){let e=this.createEvent("drag-value-change",{detail:n,trigger:t});this.dispatch(e),this.#iR.onDragValueChange?.(e)}}#i4(e,t){let{pointerValue:i,dragging:s}=this.$state;i.set(e),this.dispatch("pointer-value-change",{detail:e,trigger:t}),s()&&this.#se(e,t)}#st(e){var t,i,r,n;let o,h=this.el.getBoundingClientRect(),{min:l,max:d}=this.$state;if("vertical"===this.$props.orientation()){let{bottom:t,height:i}=h;o=(t-e.clientY)/i}else if(this.#i1&&(0,s.isNumber)(this.#i2)&&this.#tY){let{width:t}=this.#tY.getBoundingClientRect(),i=(e.clientX-this.#i1.clientX)/t,s=d()-l(),a=s*Math.abs(i);o=(i<0?this.#i2-a:this.#i2+a)/s}else{this.#i1&&(0,s.isNumber)(this.#i2)&&this.#iJ();let{left:t,width:i}=h;o=(e.clientX-t)/i}return Math.max(l(),Math.min(d(),this.#iR.roundValue((t=l(),i=d(),r=o,t+(n=this.#iR.getStep())*Math.round((i-t)*(0,a.clampNumber)(0,r,1)/n)))))}#t_(e){this.$state.pointing.set(!0)}#i3(e){let{dragging:t}=this.$state;t()||this.#i4(this.#st(e),e)}#tG(e){this.$state.pointing.set(!1)}#i9(e){if(0!==e.button)return;let t=this.#st(e);this.#i5(t,e),this.#i4(t,e)}#i5(e,t){let{dragging:i}=this.$state;if(i())return;i.set(!0),this.#y.remote.pauseControls(t);let s=this.createEvent("drag-start",{detail:e,trigger:t});this.dispatch(s),this.#iR.onDragStart?.(s),this.#iz?.onDragStart?.()}#si(e,t){let{dragging:i}=this.$state;if(!i())return;i.set(!1),this.#y.remote.resumeControls(t);let s=this.createEvent("drag-end",{detail:e,trigger:t});this.dispatch(s),this.#iR.onDragEnd?.(s),this.#iJ(),this.#iz?.onDragEnd?.()}#ss;#sa=!1;#Q(e){if(!Object.keys(e1).includes(e.key))return;let{key:t}=e,i=this.#sr(e);if(!(0,s.isNull)(i)){this.#i4(i,e),this.#se(i,e);return}let a=this.#sn(e);this.#sa||(this.#sa=t===this.#ss,!this.$state.dragging()&&this.#sa&&this.#i5(a,e)),this.#i4(a,e),this.#ss=t}#K(e){if(!Object.keys(e1).includes(e.key)||!(0,s.isNull)(this.#sr(e)))return;let t=this.#sa?this.$state.pointerValue():this.#sn(e);this.#se(t,e),this.#si(t,e),this.#ss="",this.#sa=!1}#sr(e){let t=e.key,{min:i,max:s}=this.$state;return"Home"===t||"PageUp"===t?i():"End"===t||"PageDown"===t?s():!e.metaKey&&/^[0-9]$/.test(t)?(s()-i())/10*Number(t):null}#sn(e){let{key:t,shiftKey:i}=e;e.preventDefault(),e.stopPropagation();let{shiftKeyMultiplier:s}=this.$props,{min:a,max:r,value:n,pointerValue:o}=this.$state,h=this.#iR.getStep(),l=this.#iR.getKeyStep(),d=(i?l*s():l)*Number(e1[t]),u=((this.#sa?o():this.#iR.getValue?.()??n())+d)/h;return Math.max(a(),Math.min(r(),Number((h*u).toFixed(3))))}#i6(e){if(0!==e.button)return;e.preventDefault(),e.stopImmediatePropagation();let t=this.#st(e);this.#i4(t,e),this.#si(t,e)}#i7(e){e.preventDefault()}#i8=(0,s.functionThrottle)(e=>{this.#i4(this.#st(e),e)},20,{leading:!0})};let e5=(0,s.createContext)(()=>({}));var e3=class extends s.ViewController{static props={hidden:!1,disabled:!1,step:1,keyStep:1,orientation:"horizontal",shiftKeyMultiplier:5};#y;#iR;#so=(0,s.signal)(!0);#sh=(0,s.signal)(!0);constructor(e){super(),this.#iR=e}onSetup(){this.#y=g();let e=new eP;e.attach(this),this.$state.focused=e.focused.bind(e),(0,s.hasProvidedContext)(e5)||(0,s.provideContext)(e5,{default:"value"}),(0,s.provideContext)(eZ,{orientation:this.$props.orientation,disabled:this.#iR.isDisabled,preview:(0,s.signal)(null)}),(0,s.effect)(this.#sl.bind(this)),(0,s.effect)(this.#sd.bind(this)),(0,s.effect)(this.#su.bind(this)),this.#sc(),new e2(this.#iR,this.#y).attach(this),new eJ({callback:this.#sp.bind(this)}).attach(this)}onAttach(e){T(e,"role","slider"),T(e,"tabindex","0"),T(e,"autocomplete","off"),a.IS_SERVER?this.#sg():(0,s.effect)(this.#sg.bind(this))}onConnect(e){(0,s.onDispose)(C(e,this.#so.set)),(0,s.effect)(this.#sm.bind(this))}#sp(e){this.#sh.set(e[0].isIntersecting)}#sm(){let{hidden:e}=this.$props;this.$state.hidden.set(e()||!this.#so()||!this.#sh())}#sl(){let{dragging:e,value:t,min:i,max:r}=this.$state;if(!(0,s.peek)(e)){var n,o,h,l;t.set((n=i(),o=r(),h=t(),l=this.#iR.getStep(),(0,a.clampNumber)(n,(0,a.round)(
1h,(0,a.getNumberOfDecimalPlaces)(l)),o)))}}#sd(){this.$state.step.set(this.#iR.getStep())}#su(){if(!this.#iR.isDisabled())return;let{dragging:e,pointing:t}=this.$state;e.set(!1),t.set(!1)}#sf(){return(0,s.ariaBool)(this.#iR.isDisabled())}#sc(){let{orientation:e}=this.$props,{dragging:t,active:i,pointing:s}=this.$state;this.setAttributes({"data-dragging":t,"data-pointing":s,"data-active":i,"aria-disabled":this.#sf.bind(this),"aria-valuemin":this.#iR.aria.valueMin??this.$state.min,"aria-valuemax":this.#iR.aria.valueMax??this.$state.max,"aria-valuenow":this.#iR.aria.valueNow,"aria-valuetext":this.#iR.aria.valueText,"aria-orientation":e})}#sg(){let{fillPercent:e,pointerPercent:t}=this.$state;this.#sy((0,a.round)(e(),3),(0,a.round)(t(),3))}#sy=(0,s.animationFrameThrottle)((e,t)=>{this.el?.style.setProperty("--slider-fill",e+"%"),this.el?.style.setProperty("--slider-pointer",t+"%")})},e9=class extends s.Component{static props={...e3.props,min:0,max:100,value:0};static state=eX;constructor(){super(),new e3({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.$props.disabled,aria:{valueNow:this.#sb.bind(this),valueText:this.#sv.bind(this)}})}onSetup(){(0,s.effect)(this.#sl.bind(this)),(0,s.effect)(this.#sw.bind(this))}#sb(){let{value:e}=this.$state;return Math.round(e())}#sv(){let{value:e,max:t}=this.$state;return(0,a.round)(e()/t()*100,2)+"%"}#sl(){let{value:e}=this.$props;this.$state.value.set(e())}#sw(){let{min:e,max:t}=this.$props;this.$state.min.set(e()),this.$state.max.set(t())}};let e6=new Map,e8=new Map;var e7=class e{#y;#sk;#sS;$images=(0,s.signal)([]);static create(t,i){return new e(t,i,g())}constructor(e,t,i){this.#sk=e,this.#sS=t,this.#y=i,(0,s.effect)(this.#sT.bind(this))}#sT(){let{canLoad:e}=this.#y.$state;if(!e())return;let t=this.#sk();if(t){if((0,s.isString)(t)&&e6.has(t)){let e=e6.get(t);if(e6.delete(t),e6.set(t,e),e6.size>99){let e=e6.keys().next().value;e6.delete(e)}this.$images.set(e6.get(t))}else if((0,s.isString)(t)){let e=this.#sS(),r=t+"::"+e;if(!e8.has(r)){let n=new Promise(async(r,n)=>{try{let o=await fetch(t,{credentials:(0,a.getRequestCredentials)(e)});if("application/json"===o.headers.get("content-type")){let e=await o.json();if((0,s.isArray)(e))if(e[0]&&"text"in e[0])r(this.#s$(e));else{for(let t=0;t<e.length;t++){let i=e[t];(0,a.assert)((0,s.isObject)(i),!1),(0,a.assert)("url"in i&&(0,s.isString)(i.url),!1),(0,a.assert)("startTime"in i&&(0,s.isNumber)(i.startTime),!1)}r(e)}else r(this.#sP(e));return}i.e(9725).then(i.bind(i,9725)).then(async({parseResponse:e})=>{try{let{cues:t}=await e(o);r(this.#s$(t))}catch(e){n(e)}})}catch(e){n(e)}}).then(e=>(e6.set(r,e),e)).catch(e=>{this.#em(t,e)}).finally(()=>{(0,s.isString)(r)&&e8.delete(r)});e8.set(r,n)}e8.get(r)?.then(e=>{this.$images.set(e||[])})}else if((0,s.isArray)(t))try{this.$images.set(this.#sC(t))}catch(e){this.#em(t,e)}else try{this.$images.set(this.#sP(t))}catch(e){this.#em(t,e)}return()=>{this.$images.set([])}}}#sC(e){let t=this.#sx();return e.map((e,i)=>((0,a.assert)(e.url&&(0,s.isString)(e.url),!1),(0,a.assert)("startTime"in e&&(0,s.isNumber)(e.startTime),!1),{...e,url:(0,s.isString)(e.url)?this.#sE(e.url,t):e.url}))}#sP(e){(0,a.assert)((0,s.isString)(e.url),!1),(0,a.assert)((0,s.isArray)(e.tiles)&&e.tiles?.length,!1);let t=new URL(e.url),i=[],r="tile_width"in e?e.tile_width:e.tileWidth,n="tile_height"in e?e.tile_height:e.tileHeight;for(let s of e.tiles)i.push({url:t,startTime:"start"in s?s.start:s.startTime,width:r,height:n,coords:{x:s.x,y:s.y}});return i}#s$(e){for(let t=0;t<e.length;t++){let i=e[t];(0,a.assert)("startTime"in i&&(0,s.isNumber)(i.startTime),!1),(0,a.assert)("text"in i&&(0,s.isString)(i.text),!1)}let t=[],i=this.#sx();for(let a of e){let[e,r]=a.text.split("#"),n=this.#sq(r);t.push({url:this.#sE(e,i),startTime:a.startTime,endTime:a.endTime,width:n?.w,height:n?.h,coords:n&&(0,s.isNumber)(n.x)&&(0,s.isNumber)(n.y)?{x:n.x,y:n.y}:void 0})}return t}#sx(){let e=(0,s.peek)(this.#sk);return(0,s.isString)(e)&&/^https?:/.test(e)?e:location.href}#sE(e,t){return/^https?:/.test(e)?new URL(e):new URL(e,t)}#sq(e){if(!e)return{};let[t,i]=e.split("="),s=i?.split(","),a={};if(!t||!s)return null;for(let e=0;e<t.length;e++){let i=+s[e];isNaN(i)||(a[t[e]]=i)}return a}#em(e,t){}};let e4=new Map;var te=class extends s.Component{static props={src:null,time:0,crossOrigin:null};static state=new s.State({src:"",img:null,thumbnails:[],activeThumbn
1ail:null,crossOrigin:null,loading:!1,error:null,hidden:!1});media;#ic;#sA=[];onSetup(){this.media=g(),this.#ic=e7.create(this.$props.src,this.$state.crossOrigin),this.#tR(),this.setAttributes({"data-loading":this.#sR.bind(this),"data-error":this.#sI.bind(this),"data-hidden":this.$state.hidden,"aria-hidden":eg(this.$state.hidden)})}onConnect(e){(0,s.effect)(this.#sM.bind(this)),(0,s.effect)(this.#sm.bind(this)),(0,s.effect)(this.#tR.bind(this)),(0,s.effect)(this.#sV.bind(this)),(0,s.effect)(this.#sD.bind(this)),(0,s.effect)(this.#sL.bind(this)),(0,s.effect)(this.#sO.bind(this))}#sM(){let e=this.$state.img();e&&new s.EventsController(e).add("load",this.#sF.bind(this)).add("error",this.#em.bind(this))}#tR(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i}=this.media.$state,s=null!==e()?e():i();t.set(!0===s?"anonymous":s)}#sV(){let{src:e,loading:t,error:i}=this.$state;return e()&&(t.set(!0),i.set(null)),()=>{this.#sN(),t.set(!1),i.set(null)}}#sF(){let{loading:e,error:t}=this.$state;this.#sO(),e.set(!1),t.set(null)}#em(e){let{loading:t,error:i}=this.$state;t.set(!1),i.set(e)}#sR(){let{loading:e,hidden:t}=this.$state;return!t()&&e()}#sI(){let{error:e}=this.$state;return!(0,s.isNull)(e())}#sm(){let{hidden:e}=this.$state,{duration:t}=this.media.$state,i=this.#ic.$images();e.set(this.#sI()||!Number.isFinite(t())||0===i.length)}getTime(){return this.$props.time()}#sD(){let e=this.#ic.$images();if(!e.length)return;let t=this.getTime(),{src:i,activeThumbnail:s}=this.$state,a=-1,r=null;for(let i=e.length-1;i>=0;i--){let s=e[i];if(t>=s.startTime&&(!s.endTime||t<s.endTime)){a=i;break}}e[a]&&(r=e[a]),i.set(r?.url.href||""),s.set(r)}#sL(){if(a.IS_SERVER)return;let e=this.#ic.$images(),t=this.$state.activeThumbnail();if(!t)return;let i=e.indexOf(t);if(i<0)return;let s=t.url.href,r=this.$state.crossOrigin(),n=i+1,o=Math.min(n+2,e.length);for(let t=n;t<o;t++){let i=e[t].url.href;i!==s&&function(e,t){let i=`${e}::${t}`;if(e4.has(i)){let e=e4.get(i);e4.delete(i),e4.set(i,e);return}let s=new Image;if(s.decoding="async",s.crossOrigin=t,s.src=e,e4.set(i,s),e4.size>32){let e=e4.keys().next().value;e4.delete(e)}}(i,r)}}#sO(){if(!this.scope||this.$state.hidden())return;let e=this.el,t=this.$state.img(),i=this.$state.activeThumbnail();if(!t||!i||!e)return;let s=i.width??t.naturalWidth,r=i?.height??t.naturalHeight,{maxWidth:n,maxHeight:o,minWidth:h,minHeight:l,width:d,height:u}=getComputedStyle(this.el);"100%"===h&&(h=parseFloat(d)+""),"100%"===l&&(l=parseFloat(u)+"");let c=Math.max(parseInt(h)/s,parseInt(l)/r),p=Math.min(Math.max(parseInt(h),parseInt(n))/s,Math.max(parseInt(l),parseInt(o))/r),g=!isNaN(p)&&p<1?p:c>1?c:1;this.#sK(e,"--thumbnail-width",`${s*g}px`),this.#sK(e,"--thumbnail-height",`${r*g}px`),this.#sK(e,"--thumbnail-aspect-ratio",String((0,a.round)(s/r,5))),this.#sK(t,"width",`${t.naturalWidth*g}px`),this.#sK(t,"height",`${t.naturalHeight*g}px`),this.#sK(t,"transform",i.coords?`translate(-${i.coords.x*g}px, -${i.coords.y*g}px)`:""),this.#sK(t,"max-width","none")}#sK(e,t,i){e.style.setProperty(t,i),this.#sA.push(()=>e.style.removeProperty(t))}#sN(){for(let e of this.#sA)e();this.#sA=[]}},tt=class extends te{#sQ;onAttach(e){this.#sQ=(0,s.useState)(e9.state)}getTime(){let{duration:e,clipStartTime:t}=this.media.$state;return t()+this.#sQ.pointerRate()*e()}},ti=class extends s.Component{static props={src:null,crossOrigin:null};static state=new s.State({video:null,src:null,crossOrigin:null,canPlay:!1,error:null,hidden:!1});#y;#sQ;get video(){return this.$state.video()}onSetup(){this.#y=g(),this.#sQ=(0,s.useState)(e9.state),this.#tR(),this.setAttributes({"data-loading":this.#sR.bind(this),"data-hidden":this.$state.hidden,"data-error":this.#sI.bind(this),"aria-hidden":eg(this.$state.hidden)})}onAttach(e){(0,s.effect)(this.#sU.bind(this)),(0,s.effect)(this.#sB.bind(this)),(0,s.effect)(this.#tR.bind(this)),(0,s.effect)(this.#sm.bind(this)),(0,s.effect)(this.#sW.bind(this)),(0,s.effect)(this.#sH.bind(this))}#sU(){let e=this.$state.video();e&&(e.readyState>=2&&this.#s_(),new s.EventsController(e).add("canplay",this.#s_.bind(this)).add("error",this.#em.bind(this)))}#sB(){let{src:e}
1=this.$state,{canLoad:t}=this.#y.$state;e.set(t()?this.$props.src():null)}#tR(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i}=this.#y.$state,s=null!==e()?e():i();t.set(!0===s?"anonymous":s)}#sR(){let{canPlay:e,hidden:t}=this.$state;return!e()&&!t()}#sI(){let{error:e}=this.$state;return!(0,s.isNull)(e)}#sm(){let{src:e,hidden:t}=this.$state,{canLoad:i,duration:s}=this.#y.$state;t.set(i()&&(!e()||this.#sI()||!Number.isFinite(s())))}#sW(){let{src:e,canPlay:t,error:i}=this.$state;e(),t.set(!1),i.set(null)}#s_(e){let{canPlay:t,error:i}=this.$state;t.set(!0),i.set(null),this.dispatch("can-play",{trigger:e})}#em(e){let{canPlay:t,error:i}=this.$state;t.set(!1),i.set(e),this.dispatch("error",{trigger:e})}#sH(){let{video:e,canPlay:t}=this.$state,{duration:i}=this.#y.$state,{pointerRate:s}=this.#sQ,a=e();t()&&a&&Number.isFinite(i())&&Number.isFinite(s())&&(a.currentTime=s()*i())}};let ts=ti.prototype;(0,s.prop)(ts,"video");var ta=class extends s.Component{static props={type:"pointer",format:null,showHours:!1,showMs:!1,padHours:null,padMinutes:null,decimalPlaces:2};#sG;#sz;#sQ;onSetup(){this.#sQ=(0,s.useState)(e9.state),this.#sG=(0,s.useContext)(e5),this.#sz=(0,s.computed)(this.getValueText.bind(this))}getValueText(){let{type:e,format:t,decimalPlaces:i,padHours:s,padMinutes:r,showHours:n,showMs:o}=this.$props,{value:h,pointerValue:l,min:d,max:u}=this.#sQ,c=t?.()??this.#sG.default,p="current"===e()?h():l();if("percent"===c){let e=p/(u()-d())*100;return(this.#sG.percent??a.round)(e,i())+"%"}return"time"===c?(this.#sG.time??er)(p,{padHrs:s(),padMins:r(),showHrs:n(),showMs:o()}):(this.#sG.value?.(p)??p.toFixed(2))+""}};let tr=ta.prototype;(0,s.method)(tr,"getValueText");var tn=class extends s.Component{static props={offset:0,noClamp:!1};#sQ;onSetup(){this.#sQ=(0,s.useContext)(eZ);let{active:e}=(0,s.useState)(e9.state);this.setAttributes({"data-visible":e})}onAttach(e){Object.assign(e.style,{position:"absolute",top:0,left:0,width:"max-content"})}onConnect(e){let{preview:t}=this.#sQ;t.set(e),(0,s.onDispose)(()=>t.set(null)),(0,s.effect)(this.#sj.bind(this));let i=new ResizeObserver(this.#sj.bind(this));i.observe(e),(0,s.onDispose)(()=>i.disconnect())}#sj=(0,s.animationFrameThrottle)(()=>{let{disabled:e,orientation:t}=this.#sQ;if(e())return;let i=this.el,{offset:s,noClamp:a}=this.$props;i&&function(e,{clamp:t,offset:i,orientation:s}){let a=getComputedStyle(e),r=parseFloat(a.width),n=parseFloat(a.height),o={top:null,right:null,bottom:null,left:null};if(o["horizontal"===s?"bottom":"left"]=`calc(100% + var(--media-slider-preview-offset, ${i}px))`,"horizontal"===s){let e=r/2;t?o.left=`min(max(0px, calc(var(--slider-pointer) - ${e}px)), calc(100% - ${r}px))`:o.left=`calc(var(--slider-pointer) - ${e}px)`}else{let e=n/2;t?o.bottom=`min(max(${e}px, calc(var(--slider-pointer) - ${e}px)), calc(100% - ${n}px))`:o.bottom=`calc(var(--slider-pointer) - ${e}px)`}Object.assign(e.style,o)}(i,{clamp:!a(),offset:s(),orientation:t()})})},to=class extends s.Component{static props={...e3.props,keyStep:5,shiftKeyMultiplier:2};static state=eX;#y;onSetup(){this.#y=g();let{audioGain:e}=this.#y.$state;(0,s.provideContext)(e5,{default:"percent",value:t=>(t*(e()??1)).toFixed(2),percent:t=>Math.round(t*(e()??1))}),new e3({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#sX.bind(this),aria:{valueMax:this.#sY.bind(this),valueNow:this.#sb.bind(this),valueText:this.#sv.bind(this)},onDragValueChange:this.#sJ.bind(this),onValueChange:this.#sZ.bind(this)}).attach(this),(0,s.effect)(this.#t2.bind(this))}onAttach(e){e.setAttribute("data-media-volume-slider",""),T(e,"aria-label","Volume");let{canSetVolume:t}=this.#y.$state;this.setAttributes({"data-supported":t,"aria-hidden":eg(()=>!t())})}#sb(){let{value:e}=this.$state,{audioGain:t}=this.#y.$state;return Math.round(e()*(t()??1))}#sv(){let{value:e,max:t}=this.$state,{audioGain:i}=this.#y.$state;return(0,a.round)(e()/t()*(i()??1)*100,2)+"%"}#sY(){let{audioGain:e}=this.#y.$state;return this.$state.max()*(e()??1)}#sX(){let{disabled:e}=this.$props,{canSetVolume:t}=this.#y.$state;return e()||!t()}#t2(){let{muted:e,volume:t}=this.#y.$state,i=e()?0:100*t();this.$state.value.set(i),this.dispatch("value-change",{detail:i})}#s0=(0,s.functionThrottle)(this.#s1.bind(this),25);#s1(e){if(!e.trigger)return;let t=(0,a.round)(e.detail/100,3);this.#y.remote.changeVolume(t,e)}#sZ(e){this.#s0(e)}#sJ(e){this.#s0(e)}};s.Component,e3.props,s.Component,e3.props;var th=class extends s.Component{static props={...e3.props,step:1,keyStep:1,shiftKeyMultiplier:1};static state=eX;#y;
1#s2=(0,s.computed)(()=>{let{qualities:e}=this.#y.$state;return D(e())});onSetup(){this.#y=g(),new e3({getStep:this.$props.step,getKeyStep:this.$props.keyStep,roundValue:Math.round,isDisabled:this.#sX.bind(this),aria:{valueNow:this.#sb.bind(this),valueText:this.#sv.bind(this)},onDragValueChange:this.#sJ.bind(this),onValueChange:this.#sZ.bind(this)}).attach(this),(0,s.effect)(this.#s5.bind(this)),(0,s.effect)(this.#s3.bind(this))}onAttach(e){e.setAttribute("data-media-quality-slider",""),T(e,"aria-label","Video Quality");let{qualities:t,canSetQuality:i}=this.#y.$state,a=(0,s.computed)(()=>i()&&t().length>0);this.setAttributes({"data-supported":a,"aria-hidden":eg(()=>!a())})}#sb(){let{value:e}=this.$state;return e()}#sv(){let{quality:e}=this.#y.$state;if(!e())return"";let{height:t,bitrate:i}=e(),s=i&&i>0?`${(i/1e6).toFixed(2)} Mbps`:null;return t?`${t}p${s?` (${s})`:""}`:"Auto"}#s5(){let e=this.#s2();this.$state.max.set(Math.max(0,e.length-1))}#s3(){let{quality:e}=this.#y.$state,t=Math.max(0,this.#s2().indexOf(e()));this.$state.value.set(t),this.dispatch("value-change",{detail:t})}#sX(){let{disabled:e}=this.$props,{canSetQuality:t,qualities:i}=this.#y.$state;return e()||i().length<=1||!t()}#s9=(0,s.functionThrottle)(this.#tu.bind(this),25);#tu(e){if(!e.trigger)return;let{qualities:t}=this.#y,i=(0,s.peek)(this.#s2)[e.detail];this.#y.remote.changeQuality(t.indexOf(i),e)}#sZ(e){this.#s9(e)}#sJ(e){this.#s9(e)}},tl=class extends s.Component{static props={...e3.props,step:.1,keyStep:5,shiftKeyMultiplier:2,pauseWhileDragging:!1,noSwipeGesture:!1,seekingRequestThrottle:100};static state=eX;#y;#s6;#s8=(0,s.signal)(null);constructor(){super();const{noSwipeGesture:e}=this.$props;new e3({swipeGesture:()=>!e(),getValue:this.#s7.bind(this),getStep:this.#s4.bind(this),getKeyStep:this.#ae.bind(this),roundValue:this.#at,isDisabled:this.#sX.bind(this),aria:{valueNow:this.#sb.bind(this),valueText:this.#sv.bind(this)},onDragStart:this.#ai.bind(this),onDragValueChange:this.#sJ.bind(this),onDragEnd:this.#as.bind(this),onValueChange:this.#sZ.bind(this)})}onSetup(){this.#y=g(),(0,s.provideContext)(e5,{default:"time",value:this.#aa.bind(this),time:this.#ar.bind(this)}),this.setAttributes({"data-chapters":this.#an.bind(this)}),this.setStyles({"--slider-progress":this.#ao.bind(this)}),(0,s.effect)(this.#t5.bind(this)),(0,s.effect)(this.#ah.bind(this))}onAttach(e){e.setAttribute("data-media-time-slider",""),T(e,"aria-label","Seek")}onConnect(e){(0,s.effect)(this.#al.bind(this)),(0,a.watchActiveTextTrack)(this.#y.textTracks,"chapters",this.#s8.set)}#ao(){let{bufferedEnd:e,duration:t}=this.#y.$state;return(0,a.round)(100*Math.min(e()/Math.max(t(),1),1),3)+"%"}#an(){let{duration:e}=this.#y.$state;return this.#s8()?.cues.length&&Number.isFinite(e())&&e()>0}#ah(){this.#s6=(0,s.functionThrottle)(this.#G.bind(this),this.$props.seekingRequestThrottle())}#t5(){if(this.$state.hidden())return;let{value:e,dragging:t}=this.$state,i=this.#s7();(0,s.peek)(t)||(e.set(i),this.dispatch("value-change",{detail:i}))}#al(){let e=this.#y.player.el,{preview:t}=(0,s.useContext)(eZ);e&&t()&&(0,s.setAttribute)(e,"data-preview",this.$state.active())}#G(e,t){this.#y.remote.seeking(e,t)}#ad(e,t,i){this.#s6.cancel();let{live:s}=this.#y.$state;s()&&t>=99?this.#y.remote.seekToLiveEdge(i):this.#y.remote.seek(e,i)}#au=!1;#ai(e){let{pauseWhileDragging:t}=this.$props;if(t()){let{paused:t}=this.#y.$state;this.#au=!t(),this.#y.remote.pause(e)}}#sJ(e){this.#s6(this.#ac(e.detail),e)}#as(e){let{seeking:t}=this.#y.$state;(0,s.peek)(t)||this.#G(this.#ac(e.detail),e);let i=e.detail;this.#ad(this.#ac(i),i,e);let{pauseWhileDragging:a}=this.$props;a()&&this.#au&&(this.#y.remote.play(e),this.#au=!1)}#sZ(e){let{dragging:t}=this.$state;!t()&&e.trigger&&this.#as(e)}#s7(){let{currentTime:e}=this.#y.$state;return this.#ap(e())}#s4(){let e=this.$props.step()/this.#y.$state.duration()*100;return Number.isFinite(e)?e:1}#ae(){let e=this.$props.keyStep()/this.#y.$state.duration()*100;return Number.isFinite(e)?e:1}#at(e){return(0,a.round)(e,3)}#sX(){let{disabled:e}=this.$props,{canSeek:t}=this.#y.$state;return e()||!t()}#sb(){let{value:e}=this.$state;return Math.round(e())}#sv(){let e=this.#ac(this.$state.value()),{duration:t}=this.#y.$state;return Number.isFinite(e)?`${en(e)} out of ${en(t())}`:"live"}#ac(e){let{duration:t}=this.#y.$state;return(0,a.round)(e/100*t(),5)}#ap(e){let{liveEdge:t,duration:i}=this.#y.$state,s=Math.max(0,Math.min(1,t()?1:Math.min(e,i())/i()));return Number.isNaN(s)?0:Number.isFinite(s)?100*s:100}#aa(e){let t=this.#ac(e),{live:i,duration:s}=this.#y.$state;return Number.isFinite(t)?(i()?t-s():t).toFixed(0):"LIVE"}#ar(e,t){let i=this.#ac(e),{live:s,duration:a}=this.#y.$state,r=s()?i-a():i;return Number.isFinite(i)?`${r<0?"-":""}${er(Math.abs(r),t)}`:"LIVE"}},td=class extends s.Component{static props={disabled:!1};#y;#ag;#am;#af=null;#ay=[];#ab=(0,s.signal)(null);#av=(0,s.signal)([]);#aw=(0,s.signal)(-1);#ak=(0,s.signal)(-1);#aS=0;get cues(){return this.#av()}get activeCue(){return this.#av()[this.#aw()]||null}get activePointerCue(){return this.#av()[this.#ak()]||null}
1onSetup(){this.#y=g(),this.#ag=(0,s.useState)(tl.state)}onAttach(e){(0,a.watchActiveTextTrack)(this.#y.textTracks,"chapters",this.#aT.bind(this)),(0,s.effect)(this.#a$.bind(this))}onConnect(){(0,s.onDispose)(()=>this.#aP.bind(this))}onDestroy(){this.#aT(null)}setRefs(e){if(this.#ay=e,this.#am?.dispose(),1===this.#ay.length){let e=this.#ay[0];e.style.width="100%",e.style.setProperty("--chapter-fill","var(--slider-fill)"),e.style.setProperty("--chapter-progress","var(--slider-progress)")}else this.#ay.length>0&&(0,s.scoped)(()=>this.#aC(),this.#am=(0,s.createScope)())}#aT(e){(0,s.peek)(this.#ab)!==e&&(this.#aP(),this.#ab.set(e))}#aP(){this.#ay=[],this.#av.set([]),this.#aw.set(-1),this.#ak.set(-1),this.#aS=0,this.#am?.dispose()}#aC(){this.#ay.length&&(0,s.effect)(this.#ax.bind(this))}#ax(){let{hidden:e}=this.#ag;e()||((0,s.effect)(this.#aE.bind(this)),(0,s.effect)(this.#aq.bind(this)),(0,s.effect)(this.#aA.bind(this)),(0,s.effect)(this.#aR.bind(this)))}#aE(){let e=this.#av();if(!e.length)return;let t,{seekableStart:i,seekableEnd:s}=this.#y.$state,r=i(),n=(s()||e[e.length-1].endTime)-r,o=100;for(let i=0;i<e.length;i++)if(t=e[i],this.#ay[i]){let s=i===e.length-1?o:(0,a.round)((t.endTime-Math.max(r,t.startTime))/n*100,3);this.#ay[i].style.width=s+"%",o-=s}}#aq(){let{liveEdge:e,seekableStart:t,seekableEnd:i}=this.#y.$state,{fillPercent:a,value:r}=this.#ag,n=this.#av(),o=e(),h=(0,s.peek)(this.#aw),l=n[h],d=o?this.#av.length-1:this.#aI(l&&l.startTime/i()*100<=(0,s.peek)(r)?h:0,a());o||!l?this.#aM(0,n.length,100):d>h?this.#aM(h,d,100):d<h&&this.#aM(d+1,h+1,0);let u=o?100:this.#aV(n[d],a(),t(),this.#aD(n));this.#aL(this.#ay[d],u),this.#aw.set(d)}#aA(){let{hidden:e,pointerPercent:t}=this.#ag;if(e())return void this.#ak.set(-1);let i=this.#aI(0,t());this.#ak.set(i)}#aM(e,t,i){for(let s=e;s<t;s++)this.#aL(this.#ay[s],i)}#aL(e,t){e&&(e.style.setProperty("--chapter-fill",t+"%"),(0,s.setAttribute)(e,"data-active",t>0&&t<100),(0,s.setAttribute)(e,"data-ended",100===t))}#aI(e,t){let i=0,s=this.#av();if(0===t)return 0;if(100===t)return s.length-1;let{seekableStart:a}=this.#y.$state,r=a(),n=this.#aD(s);for(let a=e;a<s.length;a++)if((i=this.#aV(s[a],t,r,n))>=0&&i<100)return a;return 0}#aR(){this.#aO(this.#aF())}#aO=(0,s.animationFrameThrottle)(e=>{let t,i=this.#av(),{seekableStart:s}=this.#y.$state,a=s(),r=this.#aD(i);for(let s=this.#aS;s<this.#ay.length;s++)if(t=this.#aV(i[s],e,a,r),this.#ay[s]?.style.setProperty("--chapter-progress",t+"%"),t<100){this.#aS=s;break}});#aF=(0,s.computed)(this.#aN.bind(this));#aN(){let{bufferedEnd:e,duration:t}=this.#y.$state;return 100*(0,a.round)(Math.min(e()/Math.max(t(),1),1),3)}#aD(e){let{seekableEnd:t}=this.#y.$state,i=t();return Number.isFinite(i)?i:e[e.length-1]?.endTime||0}#aV(e,t,i,s){if(!e||0===this.#av().length)return 0;let r=s-i,n=Math.max(0,e.startTime-i),o=Math.min(s,e.endTime)-i,h=n/r,l=100*h,d=100*Math.min(1,h+(o-n)/r);return Math.max(0,(0,a.round)(t>=d?100:(t-l)/(d-l)*100,3))}#aK(e){let t=[],{seekableStart:i,seekableEnd:s,duration:a}=this.#y.$state,r=i(),n=s(),o=(e=e.filter(e=>e.startTime<=n&&e.endTime>=r))[0];o&&o.startTime>r&&t.push(new window.VTTCue(r,o.startTime,""));for(let i=0;i<e.length-1;i++){let s=e[i],a=e[i+1];if(t.push(s),a){let e=a.startTime-s.endTime;e>0&&t.push(new window.VTTCue(s.endTime,s.endTime+e,""))}}let h=e[e.length-1];if(h){t.push(h);let e=a();e>=0&&e-h.endTime>1&&t.push(new window.VTTCue(h.endTime,a(),""))}return t}#a$(){let{source:e}=this.#y.$state;e(),this.#aQ()}#aQ(){if(!this.scope)return;let{disabled:e}=this.$props;if(e()){this.#av.set([]),this.#aw.set(0),this.#aS=0;return}let t=this.#ab();if(t){let e=this.#aU.bind(this);e(),new s.EventsController(t).add("add-cue",e).add("remove-cue",e),(0,s.effect)(this.#aB.bind(this))}return this.#af=this.#aW(),this.#af&&(0,s.effect)(this.#aH.bind(this)),()=>{this.#af&&(this.#af.textContent="",this.#af=null)}}#aB(){this.#y.$state.duration(),this.#aU()}#aU=(0,s.functionDebounce)(()=>{let e=(0,s.peek)(this.#ab);this.scope&&e&&e.cues.length&&(this.#av.set(this.#aK(e.cues)),this.#aw.set(0),this.#aS=0)},150,!0);#aH(){let e=this.activePointerCue||this.activeCue;this.#af&&(this.#af.textContent=e?.text||"")}#a_(){let e=this.el;
1for(;e&&"slider"!==e.getAttribute("role");)e=e.parentElement;return e}#aW(){let e=this.#a_();return e?e.querySelector('[data-part="chapter-title"]'):null}};let tu=td.prototype;(0,s.prop)(tu,"cues"),(0,s.prop)(tu,"activeCue"),(0,s.prop)(tu,"activePointerCue"),(0,s.method)(tu,"setRefs");let tc=(0,s.createContext)(),tp=["a[href]","[tabindex]","input","select","button"].map(e=>`${e}:not([aria-hidden='true'])`).join(","),tg=new Set(["Escape","Tab","ArrowUp","ArrowDown","Home","PageUp","End","PageDown","Enter"," "]);var tm=class{#aG=-1;#az=null;#aj=[];#iR;get items(){return this.#aj}constructor(e){this.#iR=e}attachMenu(e){(0,s.listenEvent)(e,"focus",this.#tz.bind(this)),this.#az=e,(0,s.onDispose)(()=>{this.#az=null})}listen(){this.#az&&(this.update(),new s.EventsController(this.#az).add("keyup",this.#K.bind(this)).add("keydown",this.#Q.bind(this)),(0,s.onDispose)(()=>{this.#aG=-1,this.#aj=[]}))}update(){this.#aG=0,this.#aj=this.#aX()}scroll(e=this.#aY()){let t=this.#aj[e];t&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{!function(e,t={}){var i={scrollMode:"if-needed",block:"center",inline:"center",...t};for(let{el:t,top:a,left:r}of(0,s.r)(e,i))t.scroll({top:a,left:r,behavior:i.behavior})}(t,{behavior:"smooth",boundary:e=>!e.hasAttribute("data-root")})})})}focusActive(e=!0){let t=this.#aY();this.#aJ(t>=0?t:0,e)}#aJ(e,t=!0){this.#aG=e,this.#aj[e]?(this.#aj[e].focus({preventScroll:!0}),t&&this.scroll(e)):this.#az?.focus({preventScroll:!0})}#aY(){return this.#aj.findIndex(e=>document.activeElement===e||"menuitemradio"===e.getAttribute("role")&&"true"===e.getAttribute("aria-checked"))}#tz(){this.#aG>=0||(this.update(),this.focusActive())}#aZ(e){let t=e.target;if((0,s.wasEnterKeyPressed)(e)&&t instanceof Element){let e=t.getAttribute("role");return!/a|input|select|button/.test(t.localName)&&!e}return tg.has(e.key)}#K(e){this.#aZ(e)&&(e.stopPropagation(),e.preventDefault())}#Q(e){if(this.#aZ(e))switch(e.stopPropagation(),e.preventDefault(),e.key){case"Escape":this.#iR.closeMenu(e);break;case"Tab":this.#aJ(this.#a0(e.shiftKey?-1:1));break;case"ArrowUp":this.#aJ(this.#a0(-1));break;case"ArrowDown":this.#aJ(this.#a0(1));break;case"Home":case"PageUp":this.#aJ(0);break;case"End":case"PageDown":this.#aJ(this.#aj.length-1)}}#a0(e){let t=this.#aG;do t=(t+e+this.#aj.length)%this.#aj.length;while(this.#aj[t]?.offsetParent===null);return t}#aX(){if(!this.#az)return[];let e=this.#az.querySelectorAll(tp),t=[],i=e=>"menu"===e.getAttribute("role");for(let s of e)A(s)&&null!==s.offsetParent&&x(this.#az,s,i)&&t.push(s);return t}};function tf(e,t,i,s){var a,r=arguments.length,n=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(r<3?a(n):r>3?a(t,i,n):a(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n}let ty=0;var tb=class extends s.Component{static props={showDelay:0};#y;#a1;#a2;#a5=(0,s.signal)(!1);#a3=(0,s.signal)(!1);#a9=(0,s.signal)(null);#a6=(0,s.signal)(null);#a8;#a7=new Set;#a4=null;#re;#rt;#ri=!1;#rs=(0,s.signal)(!1);#ra=new Set;get triggerElement(){return this.#a9()}get contentElement(){return this.#a6()}get isSubmenu(){return!!this.#a8}constructor(){super();const{showDelay:e}=this.$props;this.#re=new eF({trigger:this.#a9,content:this.#a6,showDelay:e,listen:(e,t,i)=>{E(e,e=>{this.#a5()?i(e):t(e)});let s=this.#rr();s&&E(s,e=>{e.stopPropagation(),i(e)})},onChange:this.#rn.bind(this)})}onSetup(){this.#y=g();let e=++ty;this.#a1=`media-menu-${e}`,this.#a2=`media-menu-button-${e}`,this.#rt=new tm({closeMenu:this.close.bind(this)}),(0,s.hasProvidedContext)(tc)&&(this.#a8=(0,s.useContext)(tc)),this.#ro(),this.setAttributes({"data-open":this.#a5,"data-root":!this.isSubmenu,"data-submenu":this.isSubmenu,"data-disabled":this.#sX.bind(this)}),(0,s.provideContext)(tc,{button:this.#a9,content:this.#a6,expanded:this.#a5,hint:(0,s.signal)(""),submenu:!!this.#a8,disable:this.#rh.bind(this),attachMenuButton:this.#rl.bind(this),attachMenuItems:this.#rd.bind(this),attachObserver:this.#ru.bind(this),disableMenuButton:this.#rc.bind(this),addSubmenu:this.#rp.bind(this),onTransitionEvent:e=>{this.#ra.add(e),(0,s.onDispose)(()=>{this.#ra.delete(e)})}})}onAttach(e){e.style.setProperty("display","contents")}onConnect(e){(0,s.effect)(this.#rg.bind(this)),this.isSubmenu&&this.#a8?.addSubmenu(this)}onDestroy(){this.#a9.set(null),this.#a6.set(null),this.#a4=null,this.#ra.clear()}#ro(){let e=-1,t=(0,s.hasProvidedContext)(e0)?(0,s.useContext)(e0):null;(0,s.provideContext)(e0,{onDragStart:()=>{t?.onDragStart?.(),window.clearTimeout(e),e=-1,this.#ri=!0},onDragEnd:()=>{t?.onDragEnd?.(),e=window.setTimeout(()=>{this.#ri=!1,e=-1},300)}})}#rg(){let e=this.#rm();this.isSubmenu||this.#t4(),this.#rf(e),e&&((0,s.effect)(()=>{let{height:e}=this.#y.$state,t=this.#a6();t&&(0,s.setStyle)(t,"--player-height",e()+"px")}),this.#rt.listen(),this.listen("pointerup",this.#ry.bind(this)),(0,s.listenEvent)(window,"pointerup",this.#rb.bind(this)))}#rl(e){let t=e.el,i=this.isSubmenu,r=eg(this.#sX.bind(this));T(t,"tabindex",i?"-1":"0"),T(t,"role",i?"menuitem":"button"),(0,s.setAttribute)(t,"i
1d",this.#a2),(0,s.setAttribute)(t,"aria-haspopup","menu"),(0,s.setAttribute)(t,"aria-expanded","false"),(0,s.setAttribute)(t,"data-root",!this.isSubmenu),(0,s.setAttribute)(t,"data-submenu",this.isSubmenu);let n=()=>{(0,s.setAttribute)(t,"data-open",this.#a5()),(0,s.setAttribute)(t,"aria-disabled",r())};a.IS_SERVER?n():(0,s.effect)(n),this.#a9.set(t),(0,s.onDispose)(()=>{this.#a9.set(null)})}#rd(e){let t=e.el;t.style.setProperty("display","none"),(0,s.setAttribute)(t,"id",this.#a1),T(t,"role","menu"),T(t,"tabindex","-1"),(0,s.setAttribute)(t,"data-root",!this.isSubmenu),(0,s.setAttribute)(t,"data-submenu",this.isSubmenu),this.#a6.set(t),(0,s.onDispose)(()=>this.#a6.set(null));let i=()=>(0,s.setAttribute)(t,"data-open",this.#a5());a.IS_SERVER?i():(0,s.effect)(i),this.#rt.attachMenu(t),this.#rf(!1);let r=this.#rv.bind(this);this.isSubmenu?this.#a8?.onTransitionEvent(r):(e.listen("transitionstart",r),e.listen("transitionend",r),e.listen("animationend",this.#t4),e.listen("vds-menu-resize",this.#t4))}#ru(e){this.#a4=e}#rf(e){let t=(0,s.peek)(this.#a6);t&&(0,s.setAttribute)(t,"aria-hidden",(0,s.ariaBool)(!e))}#rc(e){this.#rs.set(e)}#rw=!1;#rn(e,t){if(this.#rw=(0,s.isKeyboardEvent)(t),t?.stopPropagation(),this.#a5()===e)return;if(this.#sX()){e&&this.#re.hide(t);return}this.el?.dispatchEvent(new Event("vds-menu-resize",{bubbles:!0,composed:!0}));let i=this.#a9(),a=this.#a6();if(i&&((0,s.setAttribute)(i,"aria-controls",e&&this.#a1),(0,s.setAttribute)(i,"aria-expanded",(0,s.ariaBool)(e))),a&&(0,s.setAttribute)(a,"aria-labelledby",e&&this.#a2),this.#a5.set(e),this.#rk(t),(0,s.tick)(),this.#rw)for(let t of(e?a?.focus():i?.focus(),[this.el,a]))t&&t.setAttribute("data-keyboard","");else for(let e of[this.el,a])e&&e.removeAttribute("data-keyboard");if(this.dispatch(e?"open":"close",{trigger:t}),e)this.isSubmenu||this.#y.activeMenu===this||(this.#y.activeMenu?.close(t),this.#y.activeMenu=this),this.#a4?.onOpen?.(t);else{if(this.isSubmenu)for(let e of this.#a7)e.close(t);else this.#y.activeMenu=null;this.#a4?.onClose?.(t)}e&&requestAnimationFrame(this.#rS.bind(this))}#rS(){this.#rT||this.#r$||(this.#rt.update(),requestAnimationFrame(()=>{this.#rw?this.#rt.focusActive():this.#rt.scroll()}))}#rm(){return!this.#sX()&&this.#a5()}#sX(){return this.#a3()||this.#rs()}#rh(e){this.#a3.set(e)}#ry(e){let t=this.#a6();this.#ri||t&&k(t,e)||e.stopPropagation()}#rb(e){let t=this.#a6();this.#ri||t&&k(t,e)||this.close(e)}#rr(){let e=this.el?.querySelector('[data-part="close-target"]');return this.el&&e&&x(this.el,e,e=>"menu"===e.getAttribute("role"))?e:null}#rk(e){this.isSubmenu||(this.#a5()?this.#y.remote.pauseControls(e):this.#y.remote.resumeControls(e))}#rp(e){this.#a7.add(e),new s.EventsController(e).add("open",this.#rP).add("close",this.#rC),(0,s.onDispose)(this.#rx)}#rx=this.#rE.bind(this);#rE(e){this.#a7.delete(e)}#r$=!1;#rP=this.#rq.bind(this);#rq(e){this.#r$=!0;let t=this.#a6();for(let t of(this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","true"),this.#a7))if(t!==e.target)for(let e of[t.el,t.triggerElement])e?.setAttribute("aria-hidden","true");if(t){let i=e.target.el;for(let e of t.children)e.contains(i)?e.setAttribute("data-open",""):e!==i&&e.setAttribute("data-hidden","")}}#rC=this.#rA.bind(this);#rA(e){this.#r$=!1;let t=this.#a6();for(let e of(this.isSubmenu&&this.triggerElement?.setAttribute("aria-hidden","false"),this.#a7))for(let t of[e.el,e.triggerElement])t?.setAttribute("aria-hidden","false");if(t)for(let e of t.children)e.removeAttribute("data-open"),e.removeAttribute("data-hidden")}#t4=(0,s.animationFrameThrottle)(()=>{let e=(0,s.peek)(this.#a6);if(!e||a.IS_SERVER)return;let t=0,i=getComputedStyle(e),r=[...e.children];for(let e of["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"])t+=parseFloat(i[e])||0;for(let e of r)if(A(e)&&"contents"===e.style.display)r.push(...e.children);else if(3===e.nodeType)t+=parseFloat(getComputedStyle(e).fontSize);else if(A(e)){if(!P(e))continue;let i=getComputedStyle(e);t+=e.offsetHeight+(parseFloat(i.marginTop)||0)+(parseFloat(i.marginBottom)||0)}(0,s.setStyle)(e,"--menu-height",t+"px")});#rT=!1;#rv(e){let t=this.#a6();
1for(let i of(t&&"height"===e.propertyName&&(this.#rT="transitionstart"===e.type,(0,s.setAttribute)(t,"data-transition",this.#rT?"height":null),this.#a5()&&this.#rS()),this.#ra))i(e)}open(e){(0,s.peek)(this.#a5)||(this.#re.show(e),(0,s.tick)())}close(e){(0,s.peek)(this.#a5)&&(this.#re.hide(e),(0,s.tick)())}};tf([s.prop],tb.prototype,"triggerElement",null),tf([s.prop],tb.prototype,"contentElement",null),tf([s.prop],tb.prototype,"isSubmenu",null),tf([s.method],tb.prototype,"open",null),tf([s.method],tb.prototype,"close",null);var tv=class extends s.Component{static props={disabled:!1};#rR;#rI=(0,s.signal)(null);get expanded(){return this.#rR?.expanded()??!1}constructor(){super(),new eP}onSetup(){this.#rR=(0,s.useContext)(tc)}onAttach(e){this.#rR.attachMenuButton(this),(0,s.effect)(this.#su.bind(this)),T(e,"type","button")}onConnect(e){(0,s.effect)(this.#rM.bind(this)),this.#ix();let t=new MutationObserver(this.#ix.bind(this));t.observe(e,{attributeFilter:["data-part"],childList:!0,subtree:!0}),(0,s.onDispose)(()=>t.disconnect()),E(e,e=>{this.dispatch("select",{trigger:e})})}#su(){this.#rR.disableMenuButton(this.$props.disabled())}#rM(){let e=this.#rI();e&&(0,s.effect)(()=>{let t=this.#rR.hint();t&&(e.textContent=t)})}#ix(){let e=this.el?.querySelector('[data-part="hint"]');this.#rI.set(e??null)}};let tw=tv.prototype;(0,s.prop)(tw,"expanded");var tk=class extends tv{};s.Component;let tS=(0,s.createContext)();var tT=class extends s.Component{static props={placement:null,offset:0,alignOffset:0};#rR;constructor(){super(),new eP;const{placement:e}=this.$props;this.setAttributes({"data-placement":e})}onAttach(e){if(this.#rR=(0,s.useContext)(tc),this.#rR.attachMenuItems(this),(0,s.hasProvidedContext)(tS)){let t=(0,s.useContext)(tS);t&&((0,s.provideContext)(tS,null),t.attach(e),(0,s.onDispose)(()=>t.attach(null)))}}onConnect(e){(0,s.effect)(this.#rV.bind(this))}#rV(){let{expanded:e}=this.#rR;if(!this.el||!e())return;let t=this.$props.placement();if(!t)return;Object.assign(this.el.style,{position:"absolute",top:0,left:0,width:"max-content"});let{offset:i,alignOffset:a}=this.$props;(0,s.onDispose)(function(e,t,i,{offsetVarName:a,xOffset:n,yOffset:o,...h}){if(!e)return;let l=i.replace(" ","-").replace("-center","");if((0,s.setStyle)(e,"visibility",t?null:"hidden"),!t)return;let d=i.includes("top");return(0,r.ll)(t,e,()=>{(0,r.rD)(t,e,{placement:l,middleware:[...h.middleware??[],(0,r.UU)({fallbackAxisSideDirection:"start",crossAxis:!1}),(0,r.BN)()],...h}).then(({x:t,y:s,middlewareData:r})=>{let h,l,u=!!r.flip?.index;d=i.includes(u?"bottom":"top"),e.setAttribute("data-placement",u?i.startsWith("top")?i.replace("top","bottom"):i.replace("bottom","top"):i),Object.assign(e.style,{top:`calc(${s+"px"} + ${(h=o?o+"px":`var(--${a}-y-offset, 0px)`,d?`calc(-1 * ${h})`:h)})`,left:`calc(${t+"px"} + ${(l=n?n+"px":`var(--${a}-x-offset, 0px)`,i.includes("left")?`calc(-1 * ${l})`:l)})`})})})}(this.el,this.#rD(),t,{offsetVarName:"media-menu",xOffset:a(),yOffset:i()})),(0,s.onDispose)(this.#rL.bind(this))}#rL(){this.el&&(this.el.removeAttribute("style"),this.el.style.display="none")}#rD(){return this.#rR.button()}};let t$=(0,s.createContext)();var tP=class extends s.ViewController{#rO=new Set;#rF=(0,s.signal)("");#rN=null;onValueChange;get values(){return Array.from(this.#rO).map(e=>e.value())}get value(){return this.#rF()}set value(e){this.#u(e)}onSetup(){(0,s.provideContext)(t$,{add:this.#rK.bind(this),remove:this.#rQ.bind(this)})}onAttach(e){(0,s.hasProvidedContext)(tc)||T(e,"role","radiogroup"),this.setAttributes({value:this.#rF})}onDestroy(){this.#rO.clear()}#rK(e){this.#rO.has(e)||(this.#rO.add(e),e.onCheck=this.#rU,e.check(e.value()===this.#rF()))}#rQ(e){e.onCheck=null,this.#rO.delete(e)}#rU=this.#u.bind(this);#u(e,t){let i=(0,s.peek)(this.#rF);if(!e||e===i)return;let a=this.#rB(i),r=this.#rB(e);a?.check(!1,t),r?.check(!0,t),this.#rF.set(e),this.onValueChange?.(e,t)}#rB(e){for(let t of this.#rO)if(e===(0,s.peek)(t.value))return t;return null}},tC=class extends s.Component{static props={value:""};#rN;get values(){return this.#rN.values}get value(){return this.#rN.value}set value(e){this.#rN.value=e}constructor(){super(),this.#rN=new tP,this.#rN.onValueChange=this.#sZ.bind(this)}onSetup(){a.IS_SERVER?this.#sl():(0,s.effect)(this.#sl.bind(this))}#sl(){this.#rN.value=this.$props.value()}#sZ(e,t){let i=this.createEvent("change",{detail:e,trigger:t});this.dispatch(i)}};let tx=tC.prototype;(0,s.prop)(tx,"values"),(0,s.prop)(tx,"value");var tE=class extends s.Component{static props={value:""};#rW=(0,s.signal)(!1);#rN={value:this.$props.value,check:this.#rH.bind(this),onCheck:null};get checked(){return this.#rW()}constructor(){super(),new eP}onSetup(){this.setAttributes({value:this.$props.value,"data-checked":this.#rW,"aria-checked":eg(this.#rW)})}onAttach(e){let t=(0,s.hasProvidedContext)(tc);T(e,"tabindex",t?"-1":"0"),T(e,"role",t?"menuitemradio":"radio"),(0,s.effect)(this.#sl.bind(this))}onConnect(e){this.#r_(),E(e,this.#iB.bind(this)),(0,s.onDispose)(this.#ef.bind(this))}#ef(){(0,s.scoped)(()=>{(0,s.useContext)(t$).remove(this.#rN)},this.connectScope)}#r_(){(0,s.useContext)(t$).add(this.#rN)}#sl(){let{value:e}=this.$props,t=e();(0,s.peek)(this.#rW)&&this.#rN.onCheck?.(t)}#iB(e){(0,s.peek)(this.#rW)||(this.#u(!0,e),this.#rG(e),this.#rN.onCheck?.((0,s.peek)(this.$props.value),e))}#rH(e,t){(0,s.peek)(this.#rW)!==e&&this.#u(e,t)}#u(e,t){this.#rW.set(e),this.dispatch("change",{detail:e,trigger:t})}#rG(e){this.dispatch("select",{trigger:e})}};let tq=tE.prototype;(0,s.prop)(tq,"checked");var tA=class extends s.Component{static props={disabled:!1,event:void 0,action:void 0};#y;#tY=null;#rz=null;onSetup(){this.#y=g();let{event:e,action:t}=this.$props;this.setAttributes({event:e,action:t})}onAttach(e){e.setAttribute("data-media-gesture",""),e.style.setProperty("pointer-events","none")}onConnect(e){this.#tY=this.#y.player.el?.querySelector("[data-media-provider]"),(0,s.effect)(this.#rj.bind(this))}#rj(){let e=this.$props.event(),t=this.$props.disabled();this.#tY&&e&&!t&&(/^dbl/.test(e)&&(e=e.split(/^dbl/)[1]),("pointerup"===e||"pointerdown"===e)&&"coarse"===this.#y.$state.pointer()&&("pointerup"===e&&(0,s.listenEvent)(this.#tY,"touchstart",this.#iZ.bind(this),{passive:!0}),e="pointerup"===e?"touchend":"touchstart"),(0,s.listenEvent)(this.#tY,e,this.#rX.bind(this),{passive:!1}))}#rY=0;#rJ=-1;#rX(e){if(!(this.$props.disabled()||(0,s.isPointerEvent)(e)&&(0!==e.button||this.#y.activeMenu)||(0,s.isTouchEvent)(e)&&this.#y.activeMenu||this.#rZ(e)||q(e))&&this.#r0(e)){if(e.MEDIA_GESTURE=!0,e.preventDefault(),(0,s.peek)(this.$props.event)?.startsWith("dbl")){if(1===this.#rY){queueMicrotask(()=>this.#r1(e)),clearTimeout(this.#rJ),this.#rY=0;return}}else 0===this.#rY&&setTimeout(()=>{1===this.#rY&&this.#r1(e)},250);0===this.#rY&&(this.#rJ=window.setTimeout(()=>{this.#rY=0},275)),this.#rY++}}#iZ(e){if(q(e)){this.#rz=null;return}let t=e.changedTouches[0]??e.touches[0];this.#rz=t?{x:t.clientX,y:t.clientY}:null}#rZ(e){if(!(0,s.isTouchEvent)(e)||"touchend"!==e.type)return!1;let t=e.changedTouches[0]??e.touches[0],i=this.#rz;return this.#rz=null,!!t&&!!i&&(Math.abs(t.clientX-i.x)>10||Math.abs(t.clientY-i.y)>10)}#r1(e){this.el.setAttribute("data-triggered",""),requestAnimationFrame(()=>{this.#r2()&&this.#r5((0,s.peek)(this.$props.action),e),requestAnimationFrame(()=>{this.el.removeAttribute("data-triggered")})})}#r0(e){if(!this.el)return!1;if((0,s.isPointerEvent)(e)||(0,s.isMouseEvent)(e)||(0,s.isTouchEvent)(e)){let t=(0,s.isTouchEvent)(e)?e.changedTouches[0]??e.touches[0]:void 0,i=t?.clientX??e.clientX,a=t?.clientY??e.clientY,r=this.el.getBoundingClientRect(),n=a>=r.top&&a<=r.bottom&&i>=r.left&&i<=r.right;return e.type.includes("leave")?!n:n}return!0}#r2(){return Array.from(this.#y.player.el.querySelectorAll("[data-media-gesture][data-triggered]")).sort((e,t)=>
1getComputedStyle(t).zIndex-getComputedStyle(e).zIndex)[0]===this.el}#r5(e,t){if(!e)return;let i=new s.DOMEvent("will-trigger",{detail:e,cancelable:!0,trigger:t});if(this.dispatchEvent(i),i.defaultPrevented)return;let[a,r]=e.replace(/:([a-z])/,"-$1").split(":");e.includes(":fullscreen")?this.#y.remote.toggleFullscreen("prefer-media",t):e.includes("seek:")?this.#y.remote.seek((0,s.peek)(this.#y.$state.currentTime)+(+r||0),t):this.#y.remote[(0,s.kebabToCamelCase)(a)](t),this.dispatch("trigger",{detail:e,trigger:t})}};s.Component,(0,s.signal)(null);var tR=class extends s.Component{static props={src:null,alt:null,crossOrigin:null};static state=new s.State({img:null,src:null,alt:null,crossOrigin:null,loading:!0,error:null,hidden:!1});#y;onSetup(){this.#y=g(),this.#sB(),this.#r3(),this.#tR(),this.#sm()}onAttach(e){e.style.setProperty("pointer-events","none"),(0,s.effect)(this.#sM.bind(this)),(0,s.effect)(this.#sB.bind(this)),(0,s.effect)(this.#r3.bind(this)),(0,s.effect)(this.#tR.bind(this)),(0,s.effect)(this.#sm.bind(this));let{started:t}=this.#y.$state;this.setAttributes({"data-visible":()=>!t()&&!this.$state.hidden(),"data-loading":this.#sR.bind(this),"data-error":this.#sI.bind(this),"data-hidden":this.$state.hidden})}onConnect(e){(0,s.effect)(this.#r9.bind(this)),(0,s.effect)(this.#sV.bind(this))}#sI(){let{error:e}=this.$state;return!(0,s.isNull)(e())}#r9(){let{canLoadPoster:e,poster:t}=this.#y.$state;!e()&&t()&&(0,a.preconnect)(t(),"preconnect")}#sm(){let{src:e}=this.$props,{poster:t,nativeControls:i}=this.#y.$state;this.el&&(0,s.setAttribute)(this.el,"display",i()?"none":null),this.$state.hidden.set(this.#sI()||!(e()||t())||i())}#sR(){let{loading:e,hidden:t}=this.$state;return!t()&&e()}#sM(){let e=this.$state.img();e&&(new s.EventsController(e).add("load",this.#r6.bind(this)).add("error",this.#em.bind(this)),e.complete&&this.#r6())}#r8="";#sB(){let{poster:e}=this.#y.$props,{canLoadPoster:t,providedPoster:i,inferredPoster:s}=this.#y.$state,a=this.$props.src()||"",r=a||e()||s();this.#r8===i()&&i.set(a),this.$state.src.set(t()&&r.length?r:null),this.#r8=a}#r3(){let{src:e}=this.$props,{alt:t}=this.$state,{poster:i}=this.#y.$state;t.set(e()||i()?this.$props.alt():null)}#tR(){let{crossOrigin:e}=this.$props,{crossOrigin:t}=this.$state,{crossOrigin:i,poster:s}=this.#y.$state,a=null!==e()?e():i();t.set(/ytimg\.com|vimeo/.test(s()||"")?null:!0===a?"anonymous":a)}#sV(){let{loading:e,error:t}=this.$state,{canLoadPoster:i,poster:s}=this.#y.$state;e.set(i()&&!!s()),t.set(null)}#r6(){let{loading:e,error:t}=this.$state;e.set(!1),t.set(null)}#em(e){let{loading:t,error:i}=this.$state;t.set(!1),i.set(e)}},tI=class extends s.Component{static props={type:"current",showHours:!1,padHours:null,padMinutes:null,remainder:!1,toggle:!1,hidden:!1};static state=new s.State({timeText:"",hidden:!1});#y;#r7=(0,s.signal)(null);#so=(0,s.signal)(!0);#sh=(0,s.signal)(!0);onSetup(){this.#y=g(),this.#r4();let{type:e}=this.$props;this.setAttributes({"data-type":e,"data-remainder":this.#ne.bind(this)}),new eJ({callback:this.#sp.bind(this)}).attach(this)}onAttach(e){e.hasAttribute("role")||(0,s.effect)(this.#nt.bind(this)),(0,s.effect)(this.#r4.bind(this))}onConnect(e){(0,s.onDispose)(C(e,this.#so.set)),(0,s.effect)(this.#sm.bind(this)),(0,s.effect)(this.#ni.bind(this))}#sp(e){this.#sh.set(e[0].isIntersecting)}#sm(){let{hidden:e}=this.$props;this.$state.hidden.set(e()||!this.#so()||!this.#sh())}#ni(){this.$props.toggle()?this.el&&E(this.el,this.#ns.bind(this)):this.#r7.set(null)}#r4(){let{hidden:e,timeText:t}=this.$state,{duration:i}=this.#y.$state;if(e())return;let{type:s,padHours:a,padMinutes:r,showHours:n}=this.$props,o=this.#na(s()),h=i(),l=this.#ne();if(!Number.isFinite(o+h))return void t.set("LIVE");let d=er(l?Math.max(0,h-o):o,{padHrs:a(),padMins:r(),showHrs:n()});t.set((l?"-":"")+d)}#nt(){if(!this.el)return;let{toggle:e}=this.$props;(0,s.setAttribute)(this.el,"role",e()?"timer":null),(0,s.setAttribute)(this.el,"tabindex",e()?0:null)}#na(e){let{bufferedEnd:t,duration:i,currentTime:s}=this.#y.$state;switch(e){case"buffered":return t();case"duration":return i();default:return s()}}#ne(){return this.$props.remainder()&&!1!==this.#r7()}#ns(e){(e.preventDefault(),null===this.#r7())?this.#r7.set(!this.$props.remainder()):this.#r7.set(e=>!e)}},tM=class extends eE{},tV=class extends eL{},tD=class extends eK{},tL=class extends eW{},tO=class extends eH{},tF=class extends ej{},tN=class extends e_{},tK=class extends eG{},tQ=class extends eB{},tU=class extends eU{},tB=class extends ez{},tW=class extends e9{},tH=class extends tl{},t_=class extends to{},tG=class extends th{},tz=class extends tt{},tj=class extends ta{},tX=class extends ti{},tY=class extends tn{},tJ=class extends td{},tZ=class extends tb{},t0=class extends tv{},t1=class extends tT{},t2=class extends tk{},t5=class extends tC{},t3=class extends tE{},t9=class extends tA{},t6=class extends tR{},t8=class extends te{},t7=class extends tI{};let t4=n.forwardRef((e,t)=>
1{let{children:i,...s}=e,a=n.Children.toArray(i),r=a.find(ii);if(r){let e=r.props.children,i=a.map(t=>t!==r?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return n.createElement(ie,{...s,ref:t},n.isValidElement(e)?n.cloneElement(e,void 0,i):null)}return n.createElement(ie,{...s,ref:t},i)});t4.displayName="Slot";let ie=n.forwardRef((e,t)=>{let{children:i,...a}=e;if(n.isValidElement(i)){var r;let e,o,h=(r=i,(o=(e=Object.getOwnPropertyDescriptor(r.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?r.ref:(o=(e=Object.getOwnPropertyDescriptor(r,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?r.props.ref:r.props.ref||r.ref),l=function(e,t){let i={...t};for(let s in t){let a=e[s],r=t[s];/^on[A-Z]/.test(s)?a&&r?i[s]=(...e)=>{r(...e),a(...e)}:a&&(i[s]=a):"style"===s?i[s]={...a,...r}:"className"===s&&(i[s]=[a,r].filter(Boolean).join(" "))}return{...e,...i}}(a,i.props);return i.type!==n.Fragment&&(l.ref=t?(0,s.composeRefs)(t,h):h),n.cloneElement(i,l)}return n.Children.count(i)>1?n.Children.only(null):null});ie.displayName="SlotClone";let it=({children:e})=>n.createElement(n.Fragment,null,e);function ii(e){return n.isValidElement(e)&&e.type===it}let is=["button","div","span","img","video","audio"].reduce((e,t)=>{let i=n.forwardRef((e,i)=>{let{asChild:s,...a}=e,r=s?t4:t;return n.createElement(r,{...a,ref:i})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{}),ia=tM.state.record,ir=Object.keys(ia).reduce((e,t)=>({...e,[t]:()=>ia[t]}),{});function io(e,t){let i=(0,s.useStateContext)(h);return(0,s.useSignal)((t?.current?.$state||i||ir)[e])}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.