var mc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)};var me=(i,e,t)=>(mc(i,e,"read from private field"),t?t.call(i):e.get(i)),Xe=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ht=(i,e,t,r)=>(mc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t);var Ze=(i,e,t)=>(mc(i,e,"access private method"),t);var $s=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class i extends $s{}globalThis.DocumentFragment=i}var Wn=class extends $s{},pc=class extends $s{},G_={get(i){},define(i,e,t){},getName(i){return null},upgrade(i){},whenDefined(i){return Promise.resolve(Wn)}},Vn,gc=class{constructor(e,t={}){Xe(this,Vn,void 0);Ht(this,Vn,t==null?void 0:t.detail)}get detail(){return me(this,Vn)}initCustomEvent(){}};Vn=new WeakMap;function K_(i,e){return new Wn}var Wg={document:{createElement:K_},DocumentFragment,customElements:G_,CustomEvent:gc,EventTarget:$s,HTMLElement:Wn,HTMLVideoElement:pc},Vg=typeof window=="undefined"||typeof globalThis.customElements=="undefined",Ve=Vg?Wg:globalThis,Ut=Vg?Wg.document:globalThis.document;var $={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},ue={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},vc={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_WIDTH:"mediaWidth",MEDIA_HEIGHT:"mediaHeight",MEDIA_PAUSED:"mediaPaused",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_ENDED:"mediaEnded",MEDIA_MUTED:"mediaMuted",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_IS_PIP:"mediaIsPip",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_LOADING:"mediaLoading",MEDIA_BUFFERED:"mediaBuffered",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_CHAPTERS_CUES:"mediaChaptersCues"},Yg=Object.entries(vc),y=Yg.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{}),W_={USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"},Hi=Yg.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{...W_}),tD=Object.entries(Hi).reduce((i,[e,t])=>{let r=y[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),qg=Object.entries(y).reduce((i,[e,t])=>{let r=Hi[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),It={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},ar={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var Ec={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Ft={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},zt={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var jg={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};var ce={ENTER_AIRPLAY:"Start airplay",EXIT_AIRPLAY:"Stop airplay",AUDIO_TRACK_MENU:"Audio",CAPTIONS:"Captions",ENABLE_CAPTIONS:"Enable captions",DISABLE_CAPTIONS:"Disable captions",START_CAST:"Start casting",STOP_CAST:"Stop casting",ENTER_FULLSCREEN:"Enter fullscreen mode",EXIT_FULLSCREEN:"Exit fullscreen mode",MUTE:"Mute",UNMUTE:"Unmute",ENTER_PIP:"Enter picture in picture mode",EXIT_PIP:"Enter picture in picture mode",PLAY:"Play",PAUSE:"Pause",PLAYBACK_RATE:"Playback rate",RENDITIONS:"Quality",SEEK_BACKWARD:"Seek backward",SEEK_FORWARD:"Seek forward",SETTINGS:"Settings"},Pe={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:i=1}={})=>`current playback rate ${i}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading",SETTINGS:()=>"settings",AUDIO_TRACKS:()=>"audio tracks",QUALITY:()=>"quality"},Oe={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",ENTER_AIRPLAY:()=>"start airplay",EXIT_AIRPLAY:()=>"stop airplay",ENTER_CAST:()=>"start casting",EXIT_CAST:()=>"stop casting",ENTER_FULLSCREEN:()=>"enter fullscreen mode",EXIT_FULLSCREEN:()=>"exit fullscreen mode",ENTER_PIP:()=>"enter picture in picture mode",EXIT_PIP:()=>"exit picture in picture mode",SEEK_FORWARD_N_SECS:({seekOffset:i=30}={})=>`seek forward ${i} seconds`,SEEK_BACK_N_SECS:({seekOffset:i=30}={})=>`seek back ${i} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},Y_={...Pe,...Oe};function zg(i){return i==null?void 0:i.map(q_).join(" ")}function Xg(i){return i==null?void 0:i.split(/\s+/).map(j_)}function q_(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(s=>s!=null).join(":")}}function j_(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:+t,height:+r}}}function Qg(i){return i==null?void 0:i.map(z_).join(" ")}function Zg(i){return i==null?void 0:i.split(/\s+/).map(X_)}function z_(i){if(i){let{id:e,kind:t,language:r,label:s}=i;return[e,t,r,s].filter(n=>n!=null).join(":")}}function X_(i){if(i){let[e,t,r,s]=i.split(":");return{id:e,kind:t,language:r,label:s}}}function Jg(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Hs(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}function wo(i){return typeof i!="string"?!1:!isNaN(i)&&!isNaN(parseFloat(i))}var Do=i=>new Promise(e=>setTimeout(e,i));var e0=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],Q_=(i,e)=>{let t=i===1?e0[e].singular:e0[e].plural;return`${i} ${t}`},Or=i=>{if(!Hs(i))return"";let e=Math.abs(i),t=e!==i,r=new Date(0,0,0,0,0,e,0);return`${[r.getHours(),r.getMinutes(),r.getSeconds()].map((o,l)=>o&&Q_(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function di(i,e){let t=!1;i<0&&(t=!0,i=0-i),i=i<0?0:i;let r=Math.floor(i%60),s=Math.floor(i/60%60),n=Math.floor(i/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(i)||i===1/0)&&(n=s=r="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",r=r<10?"0"+r:r,(t?"-":"")+n+s+r}var nD=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var Mo=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},Po=class extends Mo{},Oo=class extends Po{constructor(){super(...arguments),this.role=null}},bc=class{observe(){}unobserve(){}disconnect(){}},t0={createElement:function(){return new Yn.HTMLElement},createElementNS:function(){return new Yn.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},Yn={ResizeObserver:bc,document:t0,Node:Po,Element:Oo,HTMLElement:class extends Oo{constructor(){super(...arguments),this.innerHTML=""}get content(){return new Yn.DocumentFragment}},DocumentFragment:class extends Mo{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem(i){return null},setItem(i,e){},removeItem(i){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia(i){return{matches:!1,media:i}}},i0=typeof window=="undefined"||typeof window.customElements=="undefined",r0=Object.keys(Yn).every(i=>i in globalThis),x=i0&&!r0?Yn:globalThis,N=i0&&!r0?t0:globalThis.document;var s0=new WeakMap,yc=i=>{let e=s0.get(i);return e||s0.set(i,e=new Set),e},n0=new x.ResizeObserver(i=>{for(let e of i)for(let t of yc(e.target))t(e)});function Gi(i,e){yc(i).add(e),n0.observe(i)}function Nr(i,e){let t=yc(i);t.delete(e),t.size||n0.unobserve(i)}function He(i){var e;return(e=No(i))!=null?e:ui(i,"media-controller")}function No(i){var e;let{MEDIA_CONTROLLER:t}=ue,r=i.getAttribute(t);if(r)return(e=Ur(i))==null?void 0:e.getElementById(r)}var Uo=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},J_=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},Fo=(i,e)=>J_(i,e)[0],St=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:St(i,e.getRootNode().host),ui=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||ui(i.getRootNode().host,e)};function qn(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=qn(t.shadowRoot))!=null?e:t:null}function Ur(i){var e;let t=(e=i==null?void 0:i.getRootNode)==null?void 0:e.call(i);return t instanceof ShadowRoot||t instanceof Document?t:null}function a0(i,e=3){if(i.checkVisibility)return i.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0});let t=i;for(;t&&e>0;){let r=getComputedStyle(t);if(r.opacity==="0"||r.visibility==="hidden"||r.display==="none")return!1;t=t.parentElement,e--}return!0}function o0(i,e,t,r){let s=Tc(t,r),n=Tc(t,{x:i,y:e}),a=Tc(r,{x:i,y:e});return n>s||a>s?n>a?1:0:n/s}function Tc(i,e){return Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2))}function Le(i,e){let t=eA(i,r=>r===e);return t||_c(i,e)}function eA(i,e){var t,r;let s;for(s of(t=i.querySelectorAll("style:not([media])"))!=null?t:[]){let n;try{n=(r=s.sheet)==null?void 0:r.cssRules}catch{continue}for(let a of n!=null?n:[])if(e(a.selectorText))return a}}function _c(i,e){var t,r;let s=(t=i.querySelectorAll("style:not([media])"))!=null?t:[],n=s==null?void 0:s[s.length-1];return n!=null&&n.sheet?(n==null||n.sheet.insertRule(`${e}{}`,n.sheet.cssRules.length),(r=n.sheet.cssRules)==null?void 0:r[n.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",i),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function pe(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function Te(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}pe(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function Re(i,e){return i.hasAttribute(e)}function Se(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}Re(i,e)!=t&&i.toggleAttribute(e,t)}function ge(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function fe(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}let r=`${t}`;ge(i,e,void 0)!==r&&i.setAttribute(e,r)}var l0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},or=(i,e,t)=>(l0(i,e,"read from private field"),t?t.call(i):e.get(i)),tA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Bo=(i,e,t,r)=>(l0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Lt,d0=N.createElement("template");d0.innerHTML=` `;var Ac=class extends x.HTMLElement{constructor(e={}){if(super(),tA(this,Lt,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),r=d0.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=N.createElement("template"),s.innerHTML=`${e.defaultContent||""}`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(r)}}static get observedAttributes(){return[ue.MEDIA_CONTROLLER,y.MEDIA_PAUSED]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=or(this,Lt))==null?void 0:s.unassociateElement)==null||n.call(s,this),Bo(this,Lt,null)),r&&this.isConnected&&(Bo(this,Lt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=or(this,Lt))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),Bo(this,Lt,iA(this)),this.getAttribute(ue.MEDIA_CONTROLLER)&&((t=(e=or(this,Lt))==null?void 0:e.associateElement)==null||t.call(e,this)),(r=or(this,Lt))==null||r.addEventListener("pointerdown",this),(s=or(this,Lt))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,r,s;this.getAttribute(ue.MEDIA_CONTROLLER)&&((t=(e=or(this,Lt))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(r=or(this,Lt))==null||r.removeEventListener("pointerdown",this),(s=or(this,Lt))==null||s.removeEventListener("click",this),Bo(this,Lt,null)}handleEvent(e){var t;let r=(t=e.composedPath())==null?void 0:t[0];if(["video","media-controller"].includes(r==null?void 0:r.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:o,top:l,width:d,height:u}=this.getBoundingClientRect(),c=n-o,h=a-l;if(c<0||h<0||c>d||h>u||d===0&&u===0)return;let{pointerType:f=this._pointerType}=e;if(this._pointerType=void 0,f===Ec.TOUCH){this.handleTap(e);return}else if(f===Ec.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return Re(this,y.MEDIA_PAUSED)}set mediaPaused(e){Se(this,y.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?$.MEDIA_PLAY_REQUEST:$.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new x.CustomEvent(t,{composed:!0,bubbles:!0}))}};Lt=new WeakMap;function iA(i){var e;let t=i.getAttribute(ue.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):ui(i,"media-controller")}x.customElements.get("media-gesture-receiver")||x.customElements.define("media-gesture-receiver",Ac);var Rc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},lr=(i,e,t)=>(Rc(i,e,"read from private field"),t?t.call(i):e.get(i)),Ki=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},jn=(i,e,t,r)=>(Rc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Xt=(i,e,t)=>(Rc(i,e,"access private method"),t),$o,Gs,zn,Ks,Sc,u0,xc,c0,Xn,Ho,Go,Ic,Ws,Qn,ve={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive"},h0=N.createElement("template");h0.innerHTML=` `;var rA=Object.values(y),sA="sm:384 md:576 lg:768 xl:960";function nA(i){aA(i.target,i.contentRect.width)}function aA(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(ve.BREAKPOINTS))!=null?t:sA,s=oA(r),n=lA(s,e),a=!1;if(Object.keys(s).forEach(o=>{if(n.includes(o)){i.hasAttribute(`breakpoint${o}`)||(i.setAttribute(`breakpoint${o}`,""),a=!0);return}i.hasAttribute(`breakpoint${o}`)&&(i.removeAttribute(`breakpoint${o}`),a=!0)}),a){let o=new CustomEvent(Hi.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(o)}}function oA(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function lA(i,e){return Object.keys(i).filter(t=>e>=parseInt(i[t]))}var Zn=class extends x.HTMLElement{constructor(){super(),Ki(this,Sc),Ki(this,xc),Ki(this,Xn),Ki(this,Go),Ki(this,Ws),Ki(this,$o,0),Ki(this,Gs,null),Ki(this,zn,null),Ki(this,Ks,void 0),this.breakpointsComputed=!1,this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(h0.content.cloneNode(!0)));let e=a=>{let o=this.media;for(let l of a)l.type==="childList"&&(l.removedNodes.forEach(d=>{if(d.slot=="media"&&l.target==this){let u=l.previousSibling&&l.previousSibling.previousElementSibling;if(!u||!o)this.mediaUnsetCallback(d);else{let c=u.slot!=="media";for(;(u=u.previousSibling)!==null;)u.slot=="media"&&(c=!1);c&&this.mediaUnsetCallback(d)}}}),o&&l.addedNodes.forEach(d=>{d===o&&this.handleMediaUpdated(o)}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0});let r=!1;Gi(this,a=>{r||(setTimeout(()=>{nA(a),r=!1,this.breakpointsComputed||(this.breakpointsComputed=!0,this.dispatchEvent(new CustomEvent(Hi.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))},0),r=!0)});let n=this.querySelector(":scope > slot[slot=media]");n&&n.addEventListener("slotchange",()=>{if(!n.assignedElements({flatten:!0}).length){lr(this,Gs)&&this.mediaUnsetCallback(lr(this,Gs));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[ve.AUTOHIDE,ve.GESTURES_DISABLED].concat(rA).filter(e=>![y.MEDIA_RENDITION_LIST,y.MEDIA_AUDIO_TRACK_LIST,y.MEDIA_CHAPTERS_CUES,y.MEDIA_WIDTH,y.MEDIA_HEIGHT].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==ve.AUTOHIDE&&(this.autohide=r)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(jn(this,Gs,e),e.localName.includes("-")&&await x.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;let r=this.getAttribute(ve.AUDIO)!=null?Pe.AUDIO_PLAYER():Pe.VIDEO_PLAYER();this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(ve.USER_INACTIVE,""),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=x.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;this.media&&this.mediaUnsetCallback(this.media),(e=x.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){jn(this,Gs,null)}handleEvent(e){switch(e.type){case"pointerdown":jn(this,$o,e.timeStamp);break;case"pointermove":Xt(this,Sc,u0).call(this,e);break;case"pointerup":Xt(this,xc,c0).call(this,e);break;case"mouseleave":Xt(this,Xn,Ho).call(this);break;case"mouseup":this.removeAttribute(ve.KEYBOARD_CONTROL);break;case"keyup":Xt(this,Ws,Qn).call(this),this.setAttribute(ve.KEYBOARD_CONTROL,"");break}}set autohide(e){let t=Number(e);jn(this,Ks,isNaN(t)?0:t)}get autohide(){return(lr(this,Ks)===void 0?2:lr(this,Ks)).toString()}};$o=new WeakMap;Gs=new WeakMap;zn=new WeakMap;Ks=new WeakMap;Sc=new WeakSet;u0=function(i){i.pointerType!=="mouse"&&i.timeStamp-lr(this,$o)<250||(Xt(this,Go,Ic).call(this),clearTimeout(lr(this,zn)),[this,this.media].includes(i.target)&&Xt(this,Ws,Qn).call(this))};xc=new WeakSet;c0=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(ve.USER_INACTIVE);[this,this.media].includes(i.target)&&e?Xt(this,Xn,Ho).call(this):Xt(this,Ws,Qn).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&Xt(this,Ws,Qn).call(this)};Xn=new WeakSet;Ho=function(){if(lr(this,Ks)<0||this.hasAttribute(ve.USER_INACTIVE))return;this.setAttribute(ve.USER_INACTIVE,"");let i=new x.CustomEvent(Hi.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};Go=new WeakSet;Ic=function(){if(!this.hasAttribute(ve.USER_INACTIVE))return;this.removeAttribute(ve.USER_INACTIVE);let i=new x.CustomEvent(Hi.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};Ws=new WeakSet;Qn=function(){Xt(this,Go,Ic).call(this),clearTimeout(lr(this,zn));let i=parseInt(this.autohide);i<0||jn(this,zn,setTimeout(()=>{Xt(this,Xn,Ho).call(this)},i*1e3))};x.customElements.get("media-container")||x.customElements.define("media-container",Zn);var f0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},dt=(i,e,t)=>(f0(i,e,"read from private field"),t?t.call(i):e.get(i)),Jn=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ko=(i,e,t,r)=>(f0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Vs,Ys,Wo,Fr,Wi,dr,ci=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){Jn(this,Wi),Jn(this,Vs,void 0),Jn(this,Ys,void 0),Jn(this,Wo,void 0),Jn(this,Fr,new Set),Ko(this,Vs,e),Ko(this,Ys,t),Ko(this,Wo,new Set(r))}[Symbol.iterator](){return dt(this,Wi,dr).values()}get length(){return dt(this,Wi,dr).size}get value(){var e;return(e=[...dt(this,Wi,dr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Ko(this,Fr,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...dt(this,Wi,dr)][e]}values(){return dt(this,Wi,dr).values()}forEach(e,t){dt(this,Wi,dr).forEach(e,t)}add(...e){var t,r;e.forEach(s=>dt(this,Fr).add(s)),!(this.value===""&&!((t=dt(this,Vs))!=null&&t.hasAttribute(`${dt(this,Ys)}`)))&&((r=dt(this,Vs))==null||r.setAttribute(`${dt(this,Ys)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>dt(this,Fr).delete(r)),(t=dt(this,Vs))==null||t.setAttribute(`${dt(this,Ys)}`,`${this.value}`)}contains(e){return dt(this,Wi,dr).has(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};Vs=new WeakMap;Ys=new WeakMap;Wo=new WeakMap;Fr=new WeakMap;Wi=new WeakSet;dr=function(){return dt(this,Fr).size?dt(this,Fr):dt(this,Wo)};var dA=(i="")=>i.split(/\s+/),m0=(i="")=>{let[e,t,r]=i.split(":"),s=r?decodeURIComponent(r):void 0;return{kind:e==="cc"?It.CAPTIONS:It.SUBTITLES,language:t,label:s}},Br=(i="",e={})=>dA(i).map(t=>{let r=m0(t);return{...e,...r}}),Lc=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?m0(e):e):typeof i=="string"?Br(i):[i]:[],Vo=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,Vi=(i=[])=>Array.prototype.map.call(i,Vo).join(" "),uA=(i,e)=>t=>t[i]===e,p0=i=>{let e=Object.entries(i).map(([t,r])=>uA(t,r));return t=>e.every(r=>r(t))},$r=(i,e=[],t=[])=>{let r=Lc(t).map(p0),s=n=>r.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=i})},Hr=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:p0(e);return Array.from(i.textTracks).filter(t)},Yo=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(y.MEDIA_SUBTITLES_SHOWING)};var v0=i=>{var e;let{media:t,fullscreenElement:r}=i,s=r&&"requestFullscreen"in r?"requestFullscreen":r&&"webkitRequestFullScreen"in r?"webkitRequestFullScreen":void 0;if(s){let n=(e=r[s])==null?void 0:e.call(r);if(n instanceof Promise)return n.catch(()=>{})}else t!=null&&t.webkitEnterFullscreen?t.webkitEnterFullscreen():t!=null&&t.requestFullscreen&&t.requestFullscreen()},g0="exitFullscreen"in N?"exitFullscreen":"webkitExitFullscreen"in N?"webkitExitFullscreen":"webkitCancelFullScreen"in N?"webkitCancelFullScreen":void 0,E0=i=>{var e;let{documentElement:t}=i;if(g0){let r=(e=t==null?void 0:t[g0])==null?void 0:e.call(t);if(r instanceof Promise)return r.catch(()=>{})}},ea="fullscreenElement"in N?"fullscreenElement":"webkitFullscreenElement"in N?"webkitFullscreenElement":void 0,cA=i=>{let{documentElement:e,media:t}=i,r=e==null?void 0:e[ea];return!r&&"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t&&t.webkitDisplayingFullscreen&&t.webkitPresentationMode===jg.FULLSCREEN?t:r},b0=i=>{var e;let{media:t,documentElement:r,fullscreenElement:s=t}=i;if(!t||!r)return!1;let n=cA(i);if(!n)return!1;if(n===s||n===t)return!0;if(n.localName.includes("-")){let a=n.shadowRoot;if(!(ea in a))return St(n,s);for(;a!=null&&a[ea];){if(a[ea]===s)return!0;a=(e=a[ea])==null?void 0:e.shadowRoot}}return!1},hA="fullscreenEnabled"in N?"fullscreenEnabled":"webkitFullscreenEnabled"in N?"webkitFullscreenEnabled":void 0,y0=i=>{let{documentElement:e,media:t}=i;return!!(e!=null&&e[hA])||t&&"webkitSupportsFullscreen"in t};var qo,kc=()=>{var i,e;return qo||(qo=(e=(i=N)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),qo)},T0=async(i=kc())=>{if(!i)return!1;let e=i.volume;return i.volume=e/2+.1,await Do(0),i.volume!==e},fA=/.*Version\/.*Safari\/.*/.test(x.navigator.userAgent),Cc=(i=kc())=>x.matchMedia("(display-mode: standalone)").matches&&fA?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",wc=(i=kc())=>y0({documentElement:N,media:i}),_0=wc(),A0=Cc(),S0=!!x.WebKitPlaybackTargetAvailabilityEvent,x0=!!x.chrome;var qs=i=>Hr(i.media,e=>[It.SUBTITLES,It.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),Dc=i=>Hr(i.media,e=>e.mode===ar.SHOWING&&[It.SUBTITLES,It.CAPTIONS].includes(e.kind)),jo=(i,e)=>{let t=qs(i),r=Dc(i),s=!!r.length;if(t.length){if(e===!1||s&&e!==!0)$r(ar.DISABLED,t,r);else if(e===!0||!s&&e!==!1){let n=t[0],{options:a}=i;if(!(a!=null&&a.noSubtitlesLangPref)){let u=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),c=u?[u,...globalThis.navigator.languages]:globalThis.navigator.languages,h=t.filter(f=>c.some(m=>f.language.toLowerCase().startsWith(m.split("-")[0]))).sort((f,m)=>{let p=c.findIndex(E=>f.language.toLowerCase().startsWith(E.split("-")[0])),g=c.findIndex(E=>m.language.toLowerCase().startsWith(E.split("-")[0]));return p-g});h[0]&&(n=h[0])}let{language:o,label:l,kind:d}=n;$r(ar.DISABLED,t,r),$r(ar.SHOWING,t,[{language:o,label:l,kind:d}])}}},zo=(i,e)=>i===e?!0:typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?mA(i,e):Object.entries(i).every(([t,r])=>t in e&&zo(r,e[t])),mA=(i,e)=>{let t=Array.isArray(i),r=Array.isArray(e);return t!==r?!1:t||r?i.length!==e.length?!1:i.every((s,n)=>zo(s,e[n])):!0};var pA=Object.values(zt),Xo,gA=T0().then(i=>(Xo=i,Xo)),R0=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof x.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=x.customElements.get(t);r&&e instanceof r||(await x.customElements.whenDefined(t),x.customElements.upgrade(e))}))},ta={mediaWidth:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoWidth)!=null?e:0},mediaEvents:["resize"]},mediaHeight:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoHeight)!=null?e:0},mediaEvents:["resize"]},mediaPaused:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.paused)!=null?e:!0},set(i,e){var t;let{media:r}=e;r&&(i?r.pause():(t=r.play())==null||t.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(i,e){let{media:t}=i;return t?e?e.type==="playing":!t.paused:!1},mediaEvents:["playing","emptied"]},mediaEnded:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.ended)!=null?e:!1},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.playbackRate)!=null?e:1},set(i,e){let{media:t}=e;t&&Number.isFinite(+i)&&(t.playbackRate=+i)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.muted)!=null?e:!1},set(i,e){let{media:t}=e;t&&(t.muted=i)},mediaEvents:["volumechange"]},mediaVolume:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.volume)!=null?e:1},set(i,e){let{media:t}=e;if(t){try{i==null?x.localStorage.removeItem("media-chrome-pref-volume"):x.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch{}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let r=x.localStorage.getItem("media-chrome-pref-volume");if(r==null)return;ta.mediaVolume.set(+r,e),i(+r)}catch(r){console.debug("Error getting volume pref",r)}}]},mediaVolumeLevel:{get(i){let{media:e}=i;return typeof(e==null?void 0:e.volume)=="undefined"?"high":e.muted||e.volume===0?"off":e.volume<.5?"low":e.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.currentTime)!=null?e:0},set(i,e){let{media:t}=e;!t||!Hs(i)||(t.currentTime=i)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(i){let{media:e,options:{defaultDuration:t}={}}=i;return t&&(!e||!e.duration||Number.isNaN(e.duration)||!Number.isFinite(e.duration))?t:Number.isFinite(e==null?void 0:e.duration)?e.duration:Number.NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(i){let{media:e}=i;return(e==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(i){var e;let{media:t}=i;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let r=t.seekable.start(0),s=t.seekable.end(t.seekable.length-1);if(!(!r&&!s))return[Number(r.toFixed(3)),Number(s.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(i){var e;let{media:t}=i,r=(e=t==null?void 0:t.buffered)!=null?e:[];return Array.from(r).map((s,n)=>[Number(r.start(n).toFixed(3)),Number(r.end(n).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(i){let{media:e,options:{defaultStreamType:t}={}}=i,r=[zt.LIVE,zt.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:s}=e;if(pA.includes(s))return s===zt.UNKNOWN?r:s;let n=e.duration;return n===1/0?zt.LIVE:Number.isFinite(n)?zt.ON_DEMAND:r},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(i){let{media:e}=i;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,r=ta.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===zt.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(i){let{media:e,options:{liveEdgeOffset:t=10}={}}=i;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(ta.mediaStreamType.get(i)===zt.LIVE))return!1;let s=e.seekable;if(!s)return!0;if(!s.length)return!1;let n=s.end(s.length-1)-t;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get(i){return qs(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return Dc(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t,r;let{media:s,options:n}=e;if(!s)return;let a=o=>{var l;!n.defaultSubtitles||o&&![It.CAPTIONS,It.SUBTITLES].includes((l=o==null?void 0:o.track)==null?void 0:l.kind)||jo(e,!0)};return(t=s.textTracks)==null||t.addEventListener("addtrack",a),(r=s.textTracks)==null||r.addEventListener("removetrack",a),a(),()=>{var o,l;(o=s.textTracks)==null||o.removeEventListener("addtrack",a),(l=s.textTracks)==null||l.removeEventListener("removetrack",a)}}]},mediaChaptersCues:{get(i){var e;let{media:t}=i;if(!t)return[];let[r]=Hr(t,{kind:It.CHAPTERS});return Array.from((e=r==null?void 0:r.cues)!=null?e:[]).map(({text:s,startTime:n,endTime:a})=>({text:s,startTime:n,endTime:a}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;if(!r)return;let s=r.querySelector('track[kind="chapters"][default][src]'),n=(t=r.shadowRoot)==null?void 0:t.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return s==null||s.addEventListener("load",i),n==null||n.addEventListener("load",i),()=>{s==null||s.removeEventListener("load",i),n==null||n.removeEventListener("load",i)}}]},mediaIsPip:{get(i){var e,t;let{media:r,documentElement:s}=i;if(!r||!s||!s.pictureInPictureElement)return!1;if(s.pictureInPictureElement===r)return!0;if(s.pictureInPictureElement instanceof HTMLMediaElement)return(e=r.localName)!=null&&e.includes("-")?St(r,s.pictureInPictureElement):!1;if(s.pictureInPictureElement.localName.includes("-")){let n=s.pictureInPictureElement.shadowRoot;for(;n!=null&&n.pictureInPictureElement;){if(n.pictureInPictureElement===r)return!0;n=(t=n.pictureInPictureElement)==null?void 0:t.shadowRoot}}return!1},set(i,e){let{media:t}=e;if(t)if(i){if(!N.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!t.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}let r=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};t.requestPictureInPicture().catch(s=>{if(s.code===11){if(!t.src){console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");return}if(t.readyState===0&&t.preload==="none"){let n=()=>{t.removeEventListener("loadedmetadata",a),t.preload="none"},a=()=>{t.requestPictureInPicture().catch(r),n()};t.addEventListener("loadedmetadata",a),t.preload="metadata",setTimeout(()=>{t.readyState===0&&r(),n()},1e3)}else throw s}else throw s})}else N.pictureInPictureElement&&N.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]].map(r=>({...r}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(i){var e,t,r;let{media:s}=i;return(r=(t=s==null?void 0:s.videoRenditions)==null?void 0:t[(e=s.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:r.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let r=i,s=Array.prototype.findIndex.call(t.videoRenditions,n=>n.id==r);t.videoRenditions.selectedIndex!=s&&(t.videoRenditions.selectedIndex=s)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(i){var e,t;let{media:r}=i;return(t=[...(e=r==null?void 0:r.audioTracks)!=null?e:[]].find(s=>s.enabled))==null?void 0:t.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.audioTracks)){console.warn("MediaChrome: Audio track selection not supported by this media.");return}let r=i;for(let s of t.audioTracks)s.enabled=r==s.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get(i){return b0(i)},set(i,e){i?v0(e):E0(e)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(i){var e;let{media:t}=i;return!(t!=null&&t.remote)||((e=t.remote)==null?void 0:e.state)==="disconnected"?!1:!!t.remote.state},set(i,e){var t,r;let{media:s}=e;if(s&&!(i&&((t=s.remote)==null?void 0:t.state)!=="disconnected")&&!(!i&&((r=s.remote)==null?void 0:r.state)!=="connected")){if(typeof s.remote.prompt!="function"){console.warn("MediaChrome: Casting is not supported in this environment");return}s.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get(){return!1},set(i,e){let{media:t}=e;if(t){if(!(t.webkitShowPlaybackTargetPicker&&x.WebKitPlaybackTargetAvailabilityEvent)){console.warn("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");return}t.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(i){let{media:e}=i;if(!_0||!wc(e))return Ft.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!A0||!Cc(e))return Ft.UNSUPPORTED}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if(Xo===!1||(e==null?void 0:e.volume)==null)return Ft.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{Xo==null&&gA.then(e=>i(e?void 0:Ft.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!x0||!((t=r==null?void 0:r.remote)!=null&&t.state))return Ft.UNSUPPORTED;if(!(e==null||e==="available"))return Ft.UNAVAILABLE},stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaAirplayUnavailable:{get(i,e){if(!S0)return Ft.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return Ft.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaRenditionUnavailable:{get(i){var e;let{media:t}=i;if(!(t!=null&&t.videoRenditions))return Ft.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Ft.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return Ft.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Ft.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]}};var I0={[$.MEDIA_PREVIEW_REQUEST](i,e,{detail:t}){var r,s,n;let{media:a}=e,o=t!=null?t:void 0,l,d;if(a&&o!=null){let[f]=Hr(a,{kind:It.METADATA,label:"thumbnails"}),m=Array.prototype.find.call((r=f==null?void 0:f.cues)!=null?r:[],(p,g,E)=>g===0?p.endTime>o:g===E.length-1?p.startTime<=o:p.startTime<=o&&p.endTime>o);if(m){let p=/'^(?:[a-z]+:)?\/\//i.test(m.text)||(s=a==null?void 0:a.querySelector('track[label="thumbnails"]'))==null?void 0:s.src,g=new URL(m.text,p);d=new URLSearchParams(g.hash).get("#xywh").split(",").map(b=>+b),l=g.href}}let u=i.mediaDuration.get(e),h=(n=i.mediaChaptersCues.get(e).find((f,m,p)=>m===p.length-1&&u===f.endTime?f.startTime<=o&&f.endTime>=o:f.startTime<=o&&f.endTime>o))==null?void 0:n.text;return t!=null&&h==null&&(h=""),{mediaPreviewTime:o,mediaPreviewImage:l,mediaPreviewCoords:d,mediaPreviewChapter:h}},[$.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[$.MEDIA_PLAY_REQUEST](i,e){var t;let r="mediaPaused";if(i.mediaStreamType.get(e)===zt.LIVE){let a=!(i.mediaTargetLiveWindow.get(e)>0),o=(t=i.mediaSeekable.get(e))==null?void 0:t[1];a&&o&&i.mediaCurrentTime.set(o,e)}i[r].set(!1,e)},[$.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",s=t;i[r].set(s,e)},[$.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[$.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[$.MEDIA_VOLUME_REQUEST](i,e,{detail:t}){let r="mediaVolume",s=t;s&&i.mediaMuted.get(e)&&i.mediaMuted.set(!1,e),i[r].set(s,e)},[$.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",s=t;i[r].set(s,e)},[$.MEDIA_SEEK_TO_LIVE_REQUEST](i,e){var t;let r="mediaCurrentTime",s=(t=i.mediaSeekable.get(e))==null?void 0:t[1];Number.isNaN(Number(s))||i[r].set(s,e)},[$.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:s}=e,n=qs(e),a=Lc(t),o=(r=a[0])==null?void 0:r.language;o&&!s.noSubtitlesLangPref&&x.localStorage.setItem("media-chrome-pref-subtitles-lang",o),$r(ar.SHOWING,n,a)},[$.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=qs(e),s=t!=null?t:[];$r(ar.DISABLED,r,s)},[$.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){jo(e,t)},[$.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",s=t;i[r].set(s,e)},[$.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",s=t;i[r].set(s,e)},[$.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[$.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[$.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e){let t="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[t].set(!0,e)},[$.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[$.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[$.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[$.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var vA=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=ta,requestMap:s=I0,options:n={},monitorStateOwnersOnlyWithSubscriptions:a=!0})=>{let o=[],l={options:{...n}},d=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),u=p=>{p!=null&&(zo(p,d)||(d=Object.freeze({...d,...p}),o.forEach(g=>g(d))))},c=()=>{let p=Object.entries(r).reduce((g,[E,{get:b}])=>(g[E]=b(l),g),{});u(p)},h={},f,m=async(p,g)=>{var E,b,T,_,A,R,S,C,P,k,M,B,F,X,Q,V;let ne=!!f;if(f={...l,...f!=null?f:{},...p},ne)return;await R0(...Object.values(p));let le=o.length>0&&g===0&&a,W=l.media!==f.media,G=((E=l.media)==null?void 0:E.textTracks)!==((b=f.media)==null?void 0:b.textTracks),ae=((T=l.media)==null?void 0:T.videoRenditions)!==((_=f.media)==null?void 0:_.videoRenditions),Z=((A=l.media)==null?void 0:A.audioTracks)!==((R=f.media)==null?void 0:R.audioTracks),Ee=((S=l.media)==null?void 0:S.remote)!==((C=f.media)==null?void 0:C.remote),Fe=l.documentElement!==f.documentElement,We=!!l.media&&(W||le),ze=!!((P=l.media)!=null&&P.textTracks)&&(G||le),At=!!((k=l.media)!=null&&k.videoRenditions)&&(ae||le),nr=!!((M=l.media)!=null&&M.audioTracks)&&(Z||le),Fs=!!((B=l.media)!=null&&B.remote)&&(Ee||le),Pg=!!l.documentElement&&(Fe||le),Og=We||ze||At||nr||Fs||Pg,Bs=o.length===0&&g===1&&a,Ng=!!f.media&&(W||Bs),Ug=!!((F=f.media)!=null&&F.textTracks)&&(G||Bs),Fg=!!((X=f.media)!=null&&X.videoRenditions)&&(ae||Bs),Bg=!!((Q=f.media)!=null&&Q.audioTracks)&&(Z||Bs),$g=!!((V=f.media)!=null&&V.remote)&&(Ee||Bs),Hg=!!f.documentElement&&(Fe||Bs),Gg=Ng||Ug||Fg||Bg||$g||Hg;if(!(Og||Gg)){Object.entries(f).forEach(([ke,Kn])=>{l[ke]=Kn}),c(),f=void 0;return}Object.entries(r).forEach(([ke,{get:Kn,mediaEvents:O_=[],textTracksEvents:N_=[],videoRenditionsEvents:U_=[],audioTracksEvents:F_=[],remoteEvents:B_=[],rootEvents:$_=[],stateOwnersUpdateHandlers:H_=[]}])=>{h[ke]||(h[ke]={});let Ot=Qe=>{let Nt=Kn(l,Qe);u({[ke]:Nt})},lt;lt=h[ke].mediaEvents,O_.forEach(Qe=>{lt&&We&&(l.media.removeEventListener(Qe,lt),h[ke].mediaEvents=void 0),Ng&&(f.media.addEventListener(Qe,Ot),h[ke].mediaEvents=Ot)}),lt=h[ke].textTracksEvents,N_.forEach(Qe=>{var Nt,jt;lt&&ze&&((Nt=l.media.textTracks)==null||Nt.removeEventListener(Qe,lt),h[ke].textTracksEvents=void 0),Ug&&((jt=f.media.textTracks)==null||jt.addEventListener(Qe,Ot),h[ke].textTracksEvents=Ot)}),lt=h[ke].videoRenditionsEvents,U_.forEach(Qe=>{var Nt,jt;lt&&At&&((Nt=l.media.videoRenditions)==null||Nt.removeEventListener(Qe,lt),h[ke].videoRenditionsEvents=void 0),Fg&&((jt=f.media.videoRenditions)==null||jt.addEventListener(Qe,Ot),h[ke].videoRenditionsEvents=Ot)}),lt=h[ke].audioTracksEvents,F_.forEach(Qe=>{var Nt,jt;lt&&nr&&((Nt=l.media.audioTracks)==null||Nt.removeEventListener(Qe,lt),h[ke].audioTracksEvents=void 0),Bg&&((jt=f.media.audioTracks)==null||jt.addEventListener(Qe,Ot),h[ke].audioTracksEvents=Ot)}),lt=h[ke].remoteEvents,B_.forEach(Qe=>{var Nt,jt;lt&&Fs&&((Nt=l.media.remote)==null||Nt.removeEventListener(Qe,lt),h[ke].remoteEvents=void 0),$g&&((jt=f.media.remote)==null||jt.addEventListener(Qe,Ot),h[ke].remoteEvents=Ot)}),lt=h[ke].rootEvents,$_.forEach(Qe=>{lt&&Pg&&(l.documentElement.removeEventListener(Qe,lt),h[ke].rootEvents=void 0),Hg&&(f.documentElement.addEventListener(Qe,Ot),h[ke].rootEvents=Ot)});let Kg=h[ke].stateOwnersUpdateHandlers;H_.forEach(Qe=>{Kg&&Og&&Kg(),Gg&&(h[ke].stateOwnersUpdateHandlers=Qe(Ot,f))})}),Object.entries(f).forEach(([ke,Kn])=>{l[ke]=Kn}),c(),f=void 0};return m({media:i,fullscreenElement:e,documentElement:t,options:n}),{dispatch(p){let{type:g,detail:E}=p;if(s[g]){u(s[g](r,l,p));return}g==="mediaelementchangerequest"?m({media:E}):g==="fullscreenelementchangerequest"?m({fullscreenElement:E}):g==="documentelementchangerequest"?m({documentElement:E}):g==="optionschangerequest"&&Object.entries(E!=null?E:{}).forEach(([b,T])=>{l.options[b]=T})},getState(){return d},subscribe(p){return m({},o.length+1),o.push(p),p(d),()=>{let g=o.indexOf(p);g>=0&&(m({},o.length-1),o.splice(g,1))}}}},L0=vA;var Nc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},he=(i,e,t)=>(Nc(i,e,"read from private field"),t?t.call(i):e.get(i)),Yi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ur=(i,e,t,r)=>(Nc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),cr=(i,e,t)=>(Nc(i,e,"access private method"),t),hr,ia,Be,ra,hi,Qo,Zo,Mc,js,sa,Jo,Pc,M0=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],k0=10,be={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",DEFAULT_DURATION:"defaultduration",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_HOTKEYS:"nohotkeys",NO_VOLUME_PREF:"novolumepref",NO_SUBTITLES_LANG_PREF:"nosubtitleslangpref",NO_DEFAULT_STORE:"nodefaultstore",KEYBOARD_FORWARD_SEEK_OFFSET:"keyboardforwardseekoffset",KEYBOARD_BACKWARD_SEEK_OFFSET:"keyboardbackwardseekoffset"},el=class extends Zn{constructor(){super(),Yi(this,Zo),Yi(this,js),Yi(this,Jo),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,Yi(this,hr,new ci(this,be.HOTKEYS)),Yi(this,ia,void 0),Yi(this,Be,void 0),Yi(this,ra,void 0),Yi(this,hi,void 0),Yi(this,Qo,t=>{var r;(r=he(this,Be))==null||r.dispatch(t)}),this.associateElement(this);let e={};ur(this,ra,t=>{Object.entries(t).forEach(([r,s])=>{if(r in e&&e[r]===s)return;this.propagateMediaState(r,s);let n=r.toLowerCase(),a=new x.CustomEvent(qg[n],{composed:!0,detail:s});this.dispatchEvent(a)}),e=t}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(be.NO_HOTKEYS,be.HOTKEYS,be.DEFAULT_STREAM_TYPE,be.DEFAULT_SUBTITLES,be.DEFAULT_DURATION)}get mediaStore(){return he(this,Be)}set mediaStore(e){var t,r;if(he(this,Be)&&((t=he(this,hi))==null||t.call(this),ur(this,hi,void 0)),ur(this,Be,e),!he(this,Be)&&!this.hasAttribute(be.NO_DEFAULT_STORE)){cr(this,Zo,Mc).call(this);return}ur(this,hi,(r=he(this,Be))==null?void 0:r.subscribe(he(this,ra)))}get fullscreenElement(){var e;return(e=he(this,ia))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(be.FULLSCREEN_ELEMENT)&&this.removeAttribute(be.FULLSCREEN_ELEMENT),ur(this,ia,e),(t=he(this,Be))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}attributeChangedCallback(e,t,r){var s,n,a,o,l,d;if(super.attributeChangedCallback(e,t,r),e===be.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(be.HOTKEYS)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):r!==t&&r===null&&this.enableHotkeys();else if(e===be.HOTKEYS)he(this,hr).value=r;else if(e===be.DEFAULT_SUBTITLES&&r!==t)(s=he(this,Be))==null||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(be.DEFAULT_SUBTITLES)}});else if(e===be.DEFAULT_STREAM_TYPE)(a=he(this,Be))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(be.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===be.LIVE_EDGE_OFFSET)(o=he(this,Be))==null||o.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(be.LIVE_EDGE_OFFSET)?+this.getAttribute(be.LIVE_EDGE_OFFSET):void 0}});else if(e===be.FULLSCREEN_ELEMENT){let u=r?(l=this.getRootNode())==null?void 0:l.getElementById(r):void 0;ur(this,ia,u),(d=he(this,Be))==null||d.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}}connectedCallback(){var e,t;!he(this,Be)&&!this.hasAttribute(be.NO_DEFAULT_STORE)&&cr(this,Zo,Mc).call(this),(e=he(this,Be))==null||e.dispatch({type:"documentelementchangerequest",detail:N}),super.connectedCallback(),he(this,Be)&&!he(this,hi)&&ur(this,hi,(t=he(this,Be))==null?void 0:t.subscribe(he(this,ra))),this.enableHotkeys()}disconnectedCallback(){var e,t,r,s;(e=super.disconnectedCallback)==null||e.call(this),he(this,Be)&&((t=he(this,Be))==null||t.dispatch({type:"documentelementchangerequest",detail:void 0}),(r=he(this,Be))==null||r.dispatch({type:$.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),he(this,hi)&&((s=he(this,hi))==null||s.call(this),ur(this,hi,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=he(this,Be))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=he(this,Be))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){D0(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let r=this.registerMediaStateReceiver.bind(this),s=this.unregisterMediaStateReceiver.bind(this),n=AA(e,r,s);Object.values($).forEach(a=>{e.addEventListener(a,he(this,Qo))}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.values($).forEach(s=>{e.removeEventListener(s,he(this,Qo))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),he(this,Be)&&Object.entries(he(this,Be).getState()).forEach(([s,n])=>{D0([e],s,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",cr(this,Jo,Pc))}disableHotkeys(){this.removeEventListener("keydown",cr(this,Jo,Pc)),this.removeEventListener("keyup",cr(this,js,sa))}get hotkeys(){return he(this,hr)}keyboardShortcutHandler(e){var t,r,s,n,a;let o=e.target;if(((s=(r=(t=o.getAttribute(be.KEYS_USED))==null?void 0:t.split(" "))!=null?r:o==null?void 0:o.keysUsed)!=null?s:[]).map(h=>h==="Space"?" ":h).filter(Boolean).includes(e.key))return;let d,u,c;if(!he(this,hr).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&he(this,hr).contains("nospace")))switch(e.key){case" ":case"k":d=he(this,Be).getState().mediaPaused?$.MEDIA_PLAY_REQUEST:$.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new x.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"m":d=this.mediaStore.getState().mediaVolumeLevel==="off"?$.MEDIA_UNMUTE_REQUEST:$.MEDIA_MUTE_REQUEST,this.dispatchEvent(new x.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"f":d=this.mediaStore.getState().mediaIsFullscreen?$.MEDIA_EXIT_FULLSCREEN_REQUEST:$.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new x.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new x.CustomEvent($.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":{let h=this.hasAttribute(be.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(be.KEYBOARD_BACKWARD_SEEK_OFFSET):k0;u=Math.max(((n=this.mediaStore.getState().mediaCurrentTime)!=null?n:0)-h,0),c=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":{let h=this.hasAttribute(be.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(be.KEYBOARD_FORWARD_SEEK_OFFSET):k0;u=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)+h,0),c=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}default:break}}};hr=new WeakMap;ia=new WeakMap;Be=new WeakMap;ra=new WeakMap;hi=new WeakMap;Qo=new WeakMap;Zo=new WeakSet;Mc=function(){var i;this.mediaStore=L0({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(be.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(be.DEFAULT_DURATION)?+this.getAttribute(be.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(be.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(be.LIVE_EDGE_OFFSET)?+this.getAttribute(be.LIVE_EDGE_OFFSET):void 0,noVolumePref:this.hasAttribute(be.NO_VOLUME_PREF),noSubtitlesLangPref:this.hasAttribute(be.NO_SUBTITLES_LANG_PREF)}})};js=new WeakSet;sa=function(i){let{key:e}=i;if(!M0.includes(e)){this.removeEventListener("keyup",cr(this,js,sa));return}this.keyboardShortcutHandler(i)};Jo=new WeakSet;Pc=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!M0.includes(r)){this.removeEventListener("keyup",cr(this,js,sa));return}[" ","ArrowLeft","ArrowRight"].includes(r)&&!(he(this,hr).contains(`no${r.toLowerCase()}`)||r===" "&&he(this,hr).contains("nospace"))&&i.preventDefault(),this.addEventListener("keyup",cr(this,js,sa),{once:!0})};var EA=Object.values(y),bA=Object.values(vc),P0=i=>{var e,t,r,s;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(x.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(s=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,ue.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:s.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>EA.includes(o)):[]},yA=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&x.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof x.customElements.get(i.nodeName.toLowerCase()))&&x.customElements.upgrade(i),bA.some(r=>r in i)},Oc=i=>yA(i)||!!P0(i).length,C0=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},w0={[y.MEDIA_SUBTITLES_LIST]:Vi,[y.MEDIA_SUBTITLES_SHOWING]:Vi,[y.MEDIA_SEEKABLE]:C0,[y.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(C0).join(" "),[y.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[y.MEDIA_RENDITION_LIST]:zg,[y.MEDIA_AUDIO_TRACK_LIST]:Qg},TA=async(i,e,t)=>{var r,s;if(i.isConnected||await Do(0),typeof t=="boolean"||t==null)return Se(i,e,t);if(typeof t=="number")return Te(i,e,t);if(typeof t=="string")return fe(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(s=(r=w0[e])==null?void 0:r.call(w0,t))!=null?s:t;return i.setAttribute(e,n)},_A=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},Gr=(i,e)=>{if(_A(i))return;let t=(s,n)=>{var a,o;Oc(s)&&n(s);let{children:l=[]}=s!=null?s:{},d=(o=(a=s==null?void 0:s.shadowRoot)==null?void 0:a.children)!=null?o:[];[...l,...d].forEach(c=>Gr(c,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!Oc(i)){x.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},D0=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let s=P0(r),n=e.toLowerCase();s.includes(n)&&TA(r,n,t)})},AA=(i,e,t)=>{Gr(i,e);let r=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;e(h)},s=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;t(h)};i.addEventListener($.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener($.UNREGISTER_MEDIA_STATE_RECEIVER,s);let n=u=>{u.forEach(c=>{let{addedNodes:h=[],removedNodes:f=[],type:m,target:p,attributeName:g}=c;m==="childList"?(Array.prototype.forEach.call(h,E=>Gr(E,e)),Array.prototype.forEach.call(f,E=>Gr(E,t))):m==="attributes"&&g===ue.MEDIA_CHROME_ATTRIBUTES&&(Oc(p)?e(p):t(p))})},a=[],o=u=>{let c=u.target;c.name!=="media"&&(a.forEach(h=>Gr(h,t)),a=[...c.assignedElements({flatten:!0})],a.forEach(h=>Gr(h,e)))};i.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{Gr(i,t),i.removeEventListener("slotchange",o),l.disconnect(),i.removeEventListener($.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener($.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};x.customElements.get("media-controller")||x.customElements.define("media-controller",el);var Uc=el;var Bc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Je=(i,e,t)=>(Bc(i,e,"read from private field"),t?t.call(i):e.get(i)),zs=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},tl=(i,e,t,r)=>(Bc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),SA=(i,e,t)=>(Bc(i,e,"access private method"),t),fi,Qs,fr,Xs,rl,Fc,O0,il={TOOLTIP_PLACEMENT:"tooltipplacement"},N0=N.createElement("template");N0.innerHTML=` `;var Ce=class extends x.HTMLElement{constructor(e={}){var t;if(super(),zs(this,Fc),zs(this,fi,void 0),this.preventClick=!1,this.tooltipEl=null,this.tooltipContent="",zs(this,Qs,r=>{this.preventClick||this.handleClick(r),setTimeout(Je(this,fr),0)}),zs(this,fr,()=>{var r,s;(s=(r=this.tooltipEl)==null?void 0:r.updateXOffset)==null||s.call(r)}),zs(this,Xs,r=>{let{key:s}=r;if(!this.keysUsed.includes(s)){this.removeEventListener("keyup",Je(this,Xs));return}this.preventClick||this.handleClick(r)}),zs(this,rl,r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!this.keysUsed.includes(a)){this.removeEventListener("keyup",Je(this,Xs));return}this.addEventListener("keyup",Je(this,Xs),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let r=N0.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=N.createElement("template"),s.innerHTML=`${e.defaultContent||""}`),e.tooltipContent&&(r.querySelector('slot[name="tooltip-content"]').innerHTML=(t=e.tooltipContent)!=null?t:"",this.tooltipContent=e.tooltipContent),this.nativeEl.appendChild(s.content.cloneNode(!0)),this.shadowRoot.appendChild(r)}this.tooltipEl=this.shadowRoot.querySelector("media-tooltip")}static get observedAttributes(){return["disabled",il.TOOLTIP_PLACEMENT,ue.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",Je(this,Qs)),this.addEventListener("keydown",Je(this,rl)),this.tabIndex=0}disable(){this.removeEventListener("click",Je(this,Qs)),this.removeEventListener("keydown",Je(this,rl)),this.removeEventListener("keyup",Je(this,Xs)),this.tabIndex=-1}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER?(t&&((n=(s=Je(this,fi))==null?void 0:s.unassociateElement)==null||n.call(s,this),tl(this,fi,null)),r&&this.isConnected&&(tl(this,fi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Je(this,fi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t?r==null?this.enable():this.disable():e===il.TOOLTIP_PLACEMENT&&this.tooltipEl&&r!==t&&(this.tooltipEl.placement=r),Je(this,fr).call(this)}connectedCallback(){var e,t,r;let{style:s}=Le(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","button");let n=this.getAttribute(ue.MEDIA_CONTROLLER);n&&(tl(this,fi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Je(this,fi))==null?void 0:t.associateElement)==null||r.call(t,this)),x.customElements.whenDefined("media-tooltip").then(()=>SA(this,Fc,O0).call(this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=Je(this,fi))==null?void 0:e.unassociateElement)==null||t.call(e,this),tl(this,fi,null),this.removeEventListener("mouseenter",Je(this,fr)),this.removeEventListener("focus",Je(this,fr)),this.removeEventListener("click",Je(this,Qs))}get keysUsed(){return["Enter"," "]}get tooltipPlacement(){return ge(this,il.TOOLTIP_PLACEMENT)}set tooltipPlacement(e){fe(this,il.TOOLTIP_PLACEMENT,e)}handleClick(e){}};fi=new WeakMap;Qs=new WeakMap;fr=new WeakMap;Xs=new WeakMap;rl=new WeakMap;Fc=new WeakSet;O0=function(){this.addEventListener("mouseenter",Je(this,fr)),this.addEventListener("focus",Je(this,fr)),this.addEventListener("click",Je(this,Qs));let i=this.tooltipPlacement;i&&this.tooltipEl&&(this.tooltipEl.placement=i)};x.customElements.get("media-chrome-button")||x.customElements.define("media-chrome-button",Ce);var U0=` `,B0=N.createElement("template");B0.innerHTML=` ${U0} ${U0} `;var xA=` ${ce.ENTER_AIRPLAY} ${ce.EXIT_AIRPLAY} `,F0=i=>{let e=i.mediaIsAirplaying?Oe.EXIT_AIRPLAY():Oe.ENTER_AIRPLAY();i.setAttribute("aria-label",e)},$c=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_AIRPLAYING,y.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:B0,tooltipContent:xA,...e})}connectedCallback(){super.connectedCallback(),F0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_AIRPLAYING&&F0(this)}get mediaIsAirplaying(){return Re(this,y.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){Se(this,y.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return ge(this,y.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){fe(this,y.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new x.CustomEvent($.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};x.customElements.get("media-airplay-button")||x.customElements.define("media-airplay-button",$c);var RA=``,IA=``,K0=N.createElement("template");K0.innerHTML=` ${RA} ${IA} `;var LA=` ${ce.ENABLE_CAPTIONS} ${ce.DISABLE_CAPTIONS} `,$0=i=>{i.setAttribute("aria-checked",Yo(i).toString())},Hc=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:K0,tooltipContent:LA,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",Pe.CLOSED_CAPTIONS()),$0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_SHOWING&&$0(this)}get mediaSubtitlesList(){return H0(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){G0(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return H0(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){G0(this,y.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new x.CustomEvent($.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}},H0=(i,e)=>{let t=i.getAttribute(e);return t?Br(t):[]},G0=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Vi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};x.customElements.get("media-captions-button")||x.customElements.define("media-captions-button",Hc);var kA='',CA='',V0=N.createElement("template");V0.innerHTML=` ${kA} ${CA} `;var wA=` ${ce.START_CAST} ${ce.STOP_CAST} `,W0=i=>{let e=i.mediaIsCasting?Oe.EXIT_CAST():Oe.ENTER_CAST();i.setAttribute("aria-label",e)},Gc=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_CASTING,y.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:V0,tooltipContent:wA,...e})}connectedCallback(){super.connectedCallback(),W0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_CASTING&&W0(this)}get mediaIsCasting(){return Re(this,y.MEDIA_IS_CASTING)}set mediaIsCasting(e){Se(this,y.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return ge(this,y.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){fe(this,y.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?$.MEDIA_EXIT_CAST_REQUEST:$.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-cast-button")||x.customElements.define("media-cast-button",Gc);var zc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Zs=(i,e,t)=>(zc(i,e,"read from private field"),t?t.call(i):e.get(i)),Kr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Y0=(i,e,t,r)=>(zc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),na=(i,e,t)=>(zc(i,e,"access private method"),t),aa,Wr,Wc,q0,Vc,j0,Yc,z0,qc,X0,jc,Q0,Z0=N.createElement("template");Z0.innerHTML=` `;var Kc={HIDDEN:"hidden",ANCHOR:"anchor"},sl=class extends x.HTMLElement{constructor(){super(),Kr(this,Wc),Kr(this,Vc),Kr(this,Yc),Kr(this,qc),Kr(this,jc),Kr(this,aa,null),Kr(this,Wr,null),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[Kc.HIDDEN,Kc.ANCHOR]}handleEvent(e){switch(e.type){case"invoke":na(this,Yc,z0).call(this,e);break;case"focusout":na(this,qc,X0).call(this,e);break;case"keydown":na(this,jc,Q0).call(this,e);break}}connectedCallback(){this.role||(this.role="dialog")}attributeChangedCallback(e,t,r){e===Kc.HIDDEN&&r!==t&&(this.hidden?na(this,Vc,j0).call(this):na(this,Wc,q0).call(this))}focus(){Y0(this,aa,qn());let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}get keysUsed(){return["Escape","Tab"]}};aa=new WeakMap;Wr=new WeakMap;Wc=new WeakSet;q0=function(){var i;(i=Zs(this,Wr))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0})};Vc=new WeakSet;j0=function(){var i;(i=Zs(this,Wr))==null||i.setAttribute("aria-expanded","false")};Yc=new WeakSet;z0=function(i){Y0(this,Wr,i.relatedTarget),St(this,i.relatedTarget)||(this.hidden=!this.hidden)};qc=new WeakSet;X0=function(i){var e;St(this,i.relatedTarget)||((e=Zs(this,aa))==null||e.focus(),Zs(this,Wr)&&Zs(this,Wr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};jc=new WeakSet;Q0=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;o||l||d||this.keysUsed.includes(a)&&(i.preventDefault(),i.stopPropagation(),a==="Tab"?(i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()):a==="Escape"&&((n=Zs(this,aa))==null||n.focus(),this.hidden=!0))};sl.template=Z0;x.customElements.get("media-chrome-dialog")||x.customElements.define("media-chrome-dialog",sl);var ih=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ye=(i,e,t)=>(ih(i,e,"read from private field"),t?t.call(i):e.get(i)),vt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},mr=(i,e,t,r)=>(ih(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Qt=(i,e,t)=>(ih(i,e,"access private method"),t),mi,ml,nl,al,Zt,hl,ol,ll,dl,rh,J0,ul,Xc,cl,Qc,fl,sh,Zc,ev,Jc,tv,eh,iv,th,rv,sv=N.createElement("template");sv.innerHTML=`
`;var Vr=class extends x.HTMLElement{constructor(){super(),vt(this,rh),vt(this,ul),vt(this,cl),vt(this,fl),vt(this,Zc),vt(this,Jc),vt(this,eh),vt(this,th),vt(this,mi,void 0),vt(this,ml,void 0),vt(this,nl,void 0),vt(this,al,void 0),vt(this,Zt,{}),vt(this,hl,[]),vt(this,ol,()=>{if(this.range.matches(":focus-visible")){let{style:e}=Le(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),vt(this,ll,()=>{let{style:e}=Le(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),vt(this,dl,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(sv.content.cloneNode(!0))),this.container=this.shadowRoot.querySelector("#container"),mr(this,nl,this.shadowRoot.querySelector("#startpoint")),mr(this,al,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",ue.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER?(t&&((n=(s=Ye(this,mi))==null?void 0:s.unassociateElement)==null||n.call(s,this),mr(this,mi,null)),r&&this.isConnected&&(mr(this,mi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Ye(this,mi))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==r)&&(r==null?(this.range.removeAttribute(e),Qt(this,ul,Xc).call(this)):(this.range.setAttribute(e,r),Qt(this,cl,Qc).call(this)))}connectedCallback(){var e,t,r;let{style:s}=Le(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),Ye(this,Zt).pointer=Le(this.shadowRoot,"#pointer"),Ye(this,Zt).progress=Le(this.shadowRoot,"#progress"),Ye(this,Zt).thumb=Le(this.shadowRoot,"#thumb"),Ye(this,Zt).activeSegment=Le(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let n=this.getAttribute(ue.MEDIA_CONTROLLER);n&&(mr(this,mi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Ye(this,mi))==null?void 0:t.associateElement)==null||r.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",Ye(this,ol)),this.shadowRoot.addEventListener("focusout",Ye(this,ll)),Qt(this,ul,Xc).call(this),Gi(this.container,Ye(this,dl))}disconnectedCallback(){var e,t;Qt(this,cl,Qc).call(this),(t=(e=Ye(this,mi))==null?void 0:e.unassociateElement)==null||t.call(e,this),mr(this,mi,null),this.shadowRoot.removeEventListener("focusin",Ye(this,ol)),this.shadowRoot.removeEventListener("focusout",Ye(this,ll)),Nr(this.container,Ye(this,dl))}updatePointerBar(e){var t;(t=Ye(this,Zt).pointer)==null||t.style.setProperty("width",`${this.getPointerRatio(e)*100}%`)}updateBar(){var e,t;let r=this.range.valueAsNumber*100;(e=Ye(this,Zt).progress)==null||e.style.setProperty("width",`${r}%`),(t=Ye(this,Zt).thumb)==null||t.style.setProperty("left",`${r}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(e!=null&&e.length)),!(e!=null&&e.length))return;let r=[...new Set([+this.range.min,...e.flatMap(n=>[n.start,n.end]),+this.range.max])];mr(this,hl,[...r]);let s=r.pop();for(let[n,a]of r.entries()){let[o,l]=[n===0,n===r.length-1],d=o?"calc(var(--segments-gap) / -1)":`${a*100}%`,c=`calc(${((l?s:r[n+1])-a)*100}%${o||l?"":" - var(--segments-gap)"})`,h=N.createElementNS("http://www.w3.org/2000/svg","rect"),f=Le(this.shadowRoot,`#segments-clipping rect:nth-child(${n+1})`);f.style.setProperty("x",d),f.style.setProperty("width",c),t.append(h)}}getPointerRatio(e){let t=o0(e.clientX,e.clientY,Ye(this,nl).getBoundingClientRect(),Ye(this,al).getBoundingClientRect());return Math.max(0,Math.min(1,t))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":Qt(this,th,rv).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":Qt(this,Zc,ev).call(this,e);break;case"pointerdown":Qt(this,fl,sh).call(this,e);break;case"pointerup":Qt(this,Jc,tv).call(this);break;case"pointerleave":Qt(this,eh,iv).call(this);break}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};mi=new WeakMap;ml=new WeakMap;nl=new WeakMap;al=new WeakMap;Zt=new WeakMap;hl=new WeakMap;ol=new WeakMap;ll=new WeakMap;dl=new WeakMap;rh=new WeakSet;J0=function(i){let e=Ye(this,Zt).activeSegment;if(!e)return;let t=this.getPointerRatio(i),s=`#segments-clipping rect:nth-child(${Ye(this,hl).findIndex((n,a,o)=>{let l=o[a+1];return l!=null&&t>=n&&t<=l})+1})`;(e.selectorText!=s||!e.style.transform)&&(e.selectorText=s,e.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))};ul=new WeakSet;Xc=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))};cl=new WeakSet;Qc=function(){var i,e;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),(i=x.window)==null||i.removeEventListener("pointerup",this),(e=x.window)==null||e.removeEventListener("pointermove",this)};fl=new WeakSet;sh=function(i){var e;mr(this,ml,i.composedPath().includes(this.range)),(e=x.window)==null||e.addEventListener("pointerup",this)};Zc=new WeakSet;ev=function(i){var e;i.pointerType!=="mouse"&&Qt(this,fl,sh).call(this,i),this.addEventListener("pointerleave",this),(e=x.window)==null||e.addEventListener("pointermove",this)};Jc=new WeakSet;tv=function(){var i;(i=x.window)==null||i.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")};eh=new WeakSet;iv=function(){var i,e;this.removeEventListener("pointerleave",this),(i=x.window)==null||i.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),(e=Ye(this,Zt).activeSegment)==null||e.style.removeProperty("transform")};th=new WeakSet;rv=function(i){this.toggleAttribute("dragging",i.buttons===1||i.pointerType!=="mouse"),this.updatePointerBar(i),Qt(this,rh,J0).call(this,i),this.dragging&&(i.pointerType!=="mouse"||!Ye(this,ml))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(i),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})))};x.customElements.get("media-chrome-range")||x.customElements.define("media-chrome-range",Vr);var nv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pl=(i,e,t)=>(nv(i,e,"read from private field"),t?t.call(i):e.get(i)),DA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},gl=(i,e,t,r)=>(nv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),pi,av=N.createElement("template");av.innerHTML=` `;var nh=class extends x.HTMLElement{constructor(){super(),DA(this,pi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(av.content.cloneNode(!0)))}static get observedAttributes(){return[ue.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=pl(this,pi))==null?void 0:s.unassociateElement)==null||n.call(s,this),gl(this,pi,null)),r&&this.isConnected&&(gl(this,pi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=pl(this,pi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ue.MEDIA_CONTROLLER);s&&(gl(this,pi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=pl(this,pi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=pl(this,pi))==null?void 0:e.unassociateElement)==null||t.call(e,this),gl(this,pi,null)}};pi=new WeakMap;x.customElements.get("media-control-bar")||x.customElements.define("media-control-bar",nh);var ov=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},vl=(i,e,t)=>(ov(i,e,"read from private field"),t?t.call(i):e.get(i)),MA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},El=(i,e,t,r)=>(ov(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),gi,lv=N.createElement("template");lv.innerHTML=` `;var Jt=class extends x.HTMLElement{constructor(){super(),MA(this,gi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(lv.content.cloneNode(!0)))}static get observedAttributes(){return[ue.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=vl(this,gi))==null?void 0:s.unassociateElement)==null||n.call(s,this),El(this,gi,null)),r&&this.isConnected&&(El(this,gi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=vl(this,gi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let{style:s}=Le(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(ue.MEDIA_CONTROLLER);n&&(El(this,gi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=vl(this,gi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=vl(this,gi))==null?void 0:e.unassociateElement)==null||t.call(e,this),El(this,gi,null)}};gi=new WeakMap;x.customElements.get("media-text-display")||x.customElements.define("media-text-display",Jt);var uv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},dv=(i,e,t)=>(uv(i,e,"read from private field"),t?t.call(i):e.get(i)),PA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},OA=(i,e,t,r)=>(uv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),oa,ah=class extends Jt{constructor(){super(),PA(this,oa,void 0),OA(this,oa,this.shadowRoot.querySelector("slot")),dv(this,oa).textContent=di(0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_DURATION]}attributeChangedCallback(e,t,r){e===y.MEDIA_DURATION&&(dv(this,oa).textContent=di(+r)),super.attributeChangedCallback(e,t,r)}get mediaDuration(){return pe(this,y.MEDIA_DURATION)}set mediaDuration(e){Te(this,y.MEDIA_DURATION,e)}};oa=new WeakMap;x.customElements.get("media-duration-display")||x.customElements.define("media-duration-display",ah);var NA=``,UA=``,hv=N.createElement("template");hv.innerHTML=` ${NA} ${UA} `;var FA=` ${ce.ENTER_FULLSCREEN} ${ce.EXIT_FULLSCREEN} `,cv=i=>{let e=i.mediaIsFullscreen?Oe.EXIT_FULLSCREEN():Oe.ENTER_FULLSCREEN();i.setAttribute("aria-label",e)},oh=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_FULLSCREEN,y.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:hv,tooltipContent:FA,...e})}connectedCallback(){super.connectedCallback(),cv(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_FULLSCREEN&&cv(this)}get mediaFullscreenUnavailable(){return ge(this,y.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){fe(this,y.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return Re(this,y.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){Se(this,y.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?$.MEDIA_EXIT_FULLSCREEN_REQUEST:$.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-fullscreen-button")||x.customElements.define("media-fullscreen-button",oh);var{MEDIA_TIME_IS_LIVE:bl,MEDIA_PAUSED:la}=y,{MEDIA_SEEK_TO_LIVE_REQUEST:BA,MEDIA_PLAY_REQUEST:$A}=$,HA='',mv=N.createElement("template");mv.innerHTML=` ${HA}  LIVE `;var fv=i=>{let e=i.mediaPaused||!i.mediaTimeIsLive,t=e?Oe.SEEK_LIVE():Oe.PLAYING_LIVE();i.setAttribute("aria-label",t),e?i.removeAttribute("aria-disabled"):i.setAttribute("aria-disabled","true")},lh=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,la,bl]}constructor(e={}){super({slotTemplate:mv,...e})}connectedCallback(){fv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),fv(this)}get mediaPaused(){return Re(this,y.MEDIA_PAUSED)}set mediaPaused(e){Se(this,y.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return Re(this,y.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){Se(this,y.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new x.CustomEvent(BA,{composed:!0,bubbles:!0})),this.hasAttribute(la)&&this.dispatchEvent(new x.CustomEvent($A,{composed:!0,bubbles:!0})))}};x.customElements.get("media-live-button")||x.customElements.define("media-live-button",lh);var vv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},da=(i,e,t)=>(vv(i,e,"read from private field"),t?t.call(i):e.get(i)),pv=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ua=(i,e,t,r)=>(vv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),vi,yl,gv={LOADING_DELAY:"loadingdelay"},Ev=500,bv=N.createElement("template"),GA=` `;bv.innerHTML=` ${GA}
${Pe.MEDIA_LOADING()}
`;var dh=class extends x.HTMLElement{constructor(){if(super(),pv(this,vi,void 0),pv(this,yl,Ev),!this.shadowRoot){let e=this.attachShadow({mode:"open"}),t=bv.content.cloneNode(!0);e.appendChild(t)}}static get observedAttributes(){return[ue.MEDIA_CONTROLLER,y.MEDIA_PAUSED,y.MEDIA_LOADING,gv.LOADING_DELAY]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===gv.LOADING_DELAY&&t!==r?this.loadingDelay=Number(r):e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=da(this,vi))==null?void 0:s.unassociateElement)==null||n.call(s,this),ua(this,vi,null)),r&&this.isConnected&&(ua(this,vi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=da(this,vi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(ue.MEDIA_CONTROLLER);s&&(ua(this,vi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=da(this,vi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=da(this,vi))==null?void 0:e.unassociateElement)==null||t.call(e,this),ua(this,vi,null)}get loadingDelay(){return da(this,yl)}set loadingDelay(e){ua(this,yl,e);let{style:t}=Le(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return Re(this,y.MEDIA_PAUSED)}set mediaPaused(e){Se(this,y.MEDIA_PAUSED,e)}get mediaLoading(){return Re(this,y.MEDIA_LOADING)}set mediaLoading(e){Se(this,y.MEDIA_LOADING,e)}};vi=new WeakMap;yl=new WeakMap;x.customElements.get("media-loading-indicator")||x.customElements.define("media-loading-indicator",dh);var{MEDIA_VOLUME_LEVEL:Yr}=y,KA=``,yv=``,WA=``,_v=N.createElement("template");_v.innerHTML=` ${KA} ${yv} ${yv} ${WA} `;var VA=` ${ce.MUTE} ${ce.UNMUTE} `,Tv=i=>{let t=i.mediaVolumeLevel==="off"?Oe.UNMUTE():Oe.MUTE();i.setAttribute("aria-label",t)},uh=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:_v,tooltipContent:VA,...e})}connectedCallback(){Tv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_VOLUME_LEVEL&&Tv(this),super.attributeChangedCallback(e,t,r)}get mediaVolumeLevel(){return ge(this,y.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){fe(this,y.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?$.MEDIA_UNMUTE_REQUEST:$.MEDIA_MUTE_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-mute-button")||x.customElements.define("media-mute-button",uh);var Av=``,xv=N.createElement("template");xv.innerHTML=` ${Av} ${Av} `;var YA=` ${ce.ENTER_PIP} ${ce.EXIT_PIP} `,Sv=i=>{let e=i.mediaIsPip?Oe.EXIT_PIP():Oe.ENTER_PIP();i.setAttribute("aria-label",e)},ch=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_PIP,y.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:xv,tooltipContent:YA,...e})}connectedCallback(){Sv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_IS_PIP&&Sv(this),super.attributeChangedCallback(e,t,r)}get mediaPipUnavailable(){return ge(this,y.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){fe(this,y.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return Re(this,y.MEDIA_IS_PIP)}set mediaIsPip(e){Se(this,y.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?$.MEDIA_EXIT_PIP_REQUEST:$.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-pip-button")||x.customElements.define("media-pip-button",ch);var qA=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Tl=(i,e,t)=>(qA(i,e,"read from private field"),t?t.call(i):e.get(i)),jA=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Js,hh={RATES:"rates"},mh=[1,1.2,1.5,1.7,2],en=1,Rv=N.createElement("template");Rv.innerHTML=` `;var fh=class extends Ce{constructor(e={}){super({slotTemplate:Rv,tooltipContent:ce.PLAYBACK_RATE,...e}),jA(this,Js,new ci(this,hh.RATES,{defaultValue:mh})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${en}x`}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,hh.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===hh.RATES&&(Tl(this,Js).value=r),e===y.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?en:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Pe.PLAYBACK_RATE({playbackRate:n}))}}get rates(){return Tl(this,Js)}set rates(e){e?Array.isArray(e)&&(Tl(this,Js).value=e.join(" ")):Tl(this,Js).value=""}get mediaPlaybackRate(){return pe(this,y.MEDIA_PLAYBACK_RATE,en)}set mediaPlaybackRate(e){Te(this,y.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let r=Array.from(this.rates.values(),a=>+a).sort((a,o)=>a-o),s=(t=(e=r.find(a=>a>this.mediaPlaybackRate))!=null?e:r[0])!=null?t:en,n=new x.CustomEvent($.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};Js=new WeakMap;x.customElements.get("media-playback-rate-button")||x.customElements.define("media-playback-rate-button",fh);var zA=``,XA=``,Lv=N.createElement("template");Lv.innerHTML=` ${zA} ${XA} `;var QA=` ${ce.PLAY} ${ce.PAUSE} `,Iv=i=>{let e=i.mediaPaused?Oe.PLAY():Oe.PAUSE();i.setAttribute("aria-label",e)},ph=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PAUSED,y.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:Lv,tooltipContent:QA,...e})}connectedCallback(){Iv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_PAUSED&&Iv(this),super.attributeChangedCallback(e,t,r)}get mediaPaused(){return Re(this,y.MEDIA_PAUSED)}set mediaPaused(e){Se(this,y.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?$.MEDIA_PLAY_REQUEST:$.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-play-button")||x.customElements.define("media-play-button",ph);var Ei={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},kv=N.createElement("template");kv.innerHTML=` `;var ZA=i=>{i.style.removeProperty("background-image")},JA=(i,e)=>{i.style["background-image"]=`url('${e}')`},gh=class extends x.HTMLElement{static get observedAttributes(){return[Ei.PLACEHOLDER_SRC,Ei.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(kv.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,r){e===Ei.SRC&&(r==null?this.image.removeAttribute(Ei.SRC):this.image.setAttribute(Ei.SRC,r)),e===Ei.PLACEHOLDER_SRC&&(r==null?ZA(this.image):JA(this.image,r))}get placeholderSrc(){return ge(this,Ei.PLACEHOLDER_SRC)}set placeholderSrc(e){fe(this,Ei.SRC,e)}get src(){return ge(this,Ei.SRC)}set src(e){fe(this,Ei.SRC,e)}};x.customElements.get("media-poster-image")||x.customElements.define("media-poster-image",gh);var Cv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},eS=(i,e,t)=>(Cv(i,e,"read from private field"),t?t.call(i):e.get(i)),tS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},iS=(i,e,t,r)=>(Cv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),_l,vh=class extends Jt{constructor(){super(),tS(this,_l,void 0),iS(this,_l,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PREVIEW_CHAPTER]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PREVIEW_CHAPTER&&r!==t&&r!=null&&(eS(this,_l).textContent=r,r!==""?this.setAttribute("aria-valuetext",`chapter: ${r}`):this.removeAttribute("aria-valuetext"))}get mediaPreviewChapter(){return ge(this,y.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){fe(this,y.MEDIA_PREVIEW_CHAPTER,e)}};_l=new WeakMap;x.customElements.get("media-preview-chapter-display")||x.customElements.define("media-preview-chapter-display",vh);var wv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Al=(i,e,t)=>(wv(i,e,"read from private field"),t?t.call(i):e.get(i)),rS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Sl=(i,e,t,r)=>(wv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),bi,Dv=N.createElement("template");Dv.innerHTML=` `;var Eh=class extends x.HTMLElement{constructor(){super(),rS(this,bi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Dv.content.cloneNode(!0)))}static get observedAttributes(){return[ue.MEDIA_CONTROLLER,y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,r;let s=this.getAttribute(ue.MEDIA_CONTROLLER);s&&(Sl(this,bi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=Al(this,bi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Al(this,bi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Sl(this,bi,null)}attributeChangedCallback(e,t,r){var s,n,a,o,l;[y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===ue.MEDIA_CONTROLLER&&(t&&((n=(s=Al(this,bi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Sl(this,bi,null)),r&&this.isConnected&&(Sl(this,bi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Al(this,bi))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return ge(this,y.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){fe(this,y.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(y.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(y.MEDIA_PREVIEW_COORDS);return}this.setAttribute(y.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[r,s,n,a]=e,o=t.split("#")[0],l=getComputedStyle(this),{maxWidth:d,maxHeight:u,minWidth:c,minHeight:h}=l,f=Math.min(parseInt(d)/n,parseInt(u)/a),m=Math.max(parseInt(c)/n,parseInt(h)/a),p=f<1,g=p?f:m>1?m:1,{style:E}=Le(this.shadowRoot,":host"),b=Le(this.shadowRoot,"img").style,T=this.shadowRoot.querySelector("img"),_=p?"min":"max";E.setProperty(`${_}-width`,"initial","important"),E.setProperty(`${_}-height`,"initial","important"),E.width=`${n*g}px`,E.height=`${a*g}px`;let A=()=>{b.width=`${this.imgWidth*g}px`,b.height=`${this.imgHeight*g}px`,b.display="block"};T.src!==o&&(T.onload=()=>{this.imgWidth=T.naturalWidth,this.imgHeight=T.naturalHeight,A()},T.src=o,A()),A(),b.transform=`translate(-${r*g}px, -${s*g}px)`}};bi=new WeakMap;x.customElements.get("media-preview-thumbnail")||x.customElements.define("media-preview-thumbnail",Eh);var Pv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Mv=(i,e,t)=>(Pv(i,e,"read from private field"),t?t.call(i):e.get(i)),sS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},nS=(i,e,t,r)=>(Pv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ca,bh=class extends Jt{constructor(){super(),sS(this,ca,void 0),nS(this,ca,this.shadowRoot.querySelector("slot")),Mv(this,ca).textContent=di(0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PREVIEW_TIME&&r!=null&&(Mv(this,ca).textContent=di(parseFloat(r)))}get mediaPreviewTime(){return pe(this,y.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){Te(this,y.MEDIA_PREVIEW_TIME,e)}};ca=new WeakMap;x.customElements.get("media-preview-time-display")||x.customElements.define("media-preview-time-display",bh);var tn={SEEK_OFFSET:"seekoffset"},xl=30,aS=``,Ov=N.createElement("template");Ov.innerHTML=` ${aS} `;var oS=0,yh=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_CURRENT_TIME,tn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Ov,tooltipContent:ce.SEEK_BACKWARD,...e})}connectedCallback(){this.seekOffset=pe(this,tn.SEEK_OFFSET,xl),super.connectedCallback()}attributeChangedCallback(e,t,r){e===tn.SEEK_OFFSET&&(this.seekOffset=pe(this,tn.SEEK_OFFSET,xl)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return pe(this,tn.SEEK_OFFSET,xl)}set seekOffset(e){Te(this,tn.SEEK_OFFSET,e),this.setAttribute("aria-label",Oe.SEEK_BACK_N_SECS({seekOffset:this.seekOffset})),Uo(Fo(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return pe(this,y.MEDIA_CURRENT_TIME,oS)}set mediaCurrentTime(e){Te(this,y.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};x.customElements.get("media-seek-backward-button")||x.customElements.define("media-seek-backward-button",yh);var rn={SEEK_OFFSET:"seekoffset"},Rl=30,lS=``,Nv=N.createElement("template");Nv.innerHTML=` ${lS} `;var dS=0,Th=class extends Ce{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_CURRENT_TIME,rn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Nv,tooltipContent:ce.SEEK_FORWARD,...e})}connectedCallback(){this.seekOffset=pe(this,rn.SEEK_OFFSET,Rl),super.connectedCallback()}attributeChangedCallback(e,t,r){e===rn.SEEK_OFFSET&&(this.seekOffset=pe(this,rn.SEEK_OFFSET,Rl)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return pe(this,rn.SEEK_OFFSET,Rl)}set seekOffset(e){Te(this,rn.SEEK_OFFSET,e),this.setAttribute("aria-label",Oe.SEEK_FORWARD_N_SECS({seekOffset:this.seekOffset})),Uo(Fo(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return pe(this,y.MEDIA_CURRENT_TIME,dS)}set mediaCurrentTime(e){Te(this,y.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};x.customElements.get("media-seek-forward-button")||x.customElements.define("media-seek-forward-button",Th);var $v=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},_h=(i,e,t)=>($v(i,e,"read from private field"),t?t.call(i):e.get(i)),uS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},cS=(i,e,t,r)=>($v(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),sn,ei={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Uv=[...Object.values(ei),y.MEDIA_CURRENT_TIME,y.MEDIA_DURATION,y.MEDIA_SEEKABLE],Fv=["Enter"," "],hS=" / ",Bv=(i,{timesSep:e=hS}={})=>{var t,r;let s=i.hasAttribute(ei.REMAINING),n=i.hasAttribute(ei.SHOW_DURATION),a=(t=i.mediaCurrentTime)!=null?t:0,[,o]=(r=i.mediaSeekable)!=null?r:[],l=0;Number.isFinite(i.mediaDuration)?l=i.mediaDuration:Number.isFinite(o)&&(l=o);let d=s?di(0-(l-a)):di(a);return n?`${d}${e}${di(l)}`:d},fS="video not loaded, unknown time.",mS=i=>{var e;let t=i.mediaCurrentTime,[,r]=(e=i.mediaSeekable)!=null?e:[],s=null;if(Number.isFinite(i.mediaDuration)?s=i.mediaDuration:Number.isFinite(r)&&(s=r),t==null||s===null){i.setAttribute("aria-valuetext",fS);return}let n=i.hasAttribute(ei.REMAINING),a=i.hasAttribute(ei.SHOW_DURATION),o=n?Or(0-(s-t)):Or(t);if(!a){i.setAttribute("aria-valuetext",o);return}let l=Or(s),d=`${o} of ${l}`;i.setAttribute("aria-valuetext",d)},Ah=class extends Jt{constructor(){super(),uS(this,sn,void 0),cS(this,sn,this.shadowRoot.querySelector("slot")),_h(this,sn).innerHTML=`${Bv(this)}`}static get observedAttributes(){return[...super.observedAttributes,...Uv,"disabled"]}connectedCallback(){let{style:e}=Le(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","pointer"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",Pe.PLAYBACK_TIME());let t=r=>{let{key:s}=r;if(!Fv.includes(s)){this.removeEventListener("keyup",t);return}this.toggleTimeDisplay()};this.addEventListener("keydown",r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!Fv.includes(a)){this.removeEventListener("keyup",t);return}this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,r){Uv.includes(e)?this.update():e==="disabled"&&r!==t&&(r==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,r)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return Re(this,ei.REMAINING)}set remaining(e){Se(this,ei.REMAINING,e)}get showDuration(){return Re(this,ei.SHOW_DURATION)}set showDuration(e){Se(this,ei.SHOW_DURATION,e)}get noToggle(){return Re(this,ei.NO_TOGGLE)}set noToggle(e){Se(this,ei.NO_TOGGLE,e)}get mediaDuration(){return pe(this,y.MEDIA_DURATION)}set mediaDuration(e){Te(this,y.MEDIA_DURATION,e)}get mediaCurrentTime(){return pe(this,y.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){Te(this,y.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(y.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(y.MEDIA_SEEKABLE);return}this.setAttribute(y.MEDIA_SEEKABLE,e.join(":"))}update(){let e=Bv(this);mS(this),e!==_h(this,sn).innerHTML&&(_h(this,sn).innerHTML=e)}};sn=new WeakMap;x.customElements.get("media-time-display")||x.customElements.define("media-time-display",Ah);var Hv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ut=(i,e,t)=>(Hv(i,e,"read from private field"),t?t.call(i):e.get(i)),yi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Bt=(i,e,t,r)=>(Hv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),pS=(i,e,t,r)=>({set _(s){Bt(i,e,s,t)},get _(){return ut(i,e,r)}}),nn,Il,an,ha,Ll,kl,Cl,on,qr,wl,Dl=class{constructor(e,t,r){yi(this,nn,void 0),yi(this,Il,void 0),yi(this,an,void 0),yi(this,ha,void 0),yi(this,Ll,void 0),yi(this,kl,void 0),yi(this,Cl,void 0),yi(this,on,void 0),yi(this,qr,0),yi(this,wl,(s=performance.now())=>{Bt(this,qr,requestAnimationFrame(ut(this,wl))),Bt(this,ha,performance.now()-ut(this,an));let n=1e3/this.fps;if(ut(this,ha)>n){Bt(this,an,s-ut(this,ha)%n);let a=1e3/((s-ut(this,Il))/++pS(this,Ll)._),o=(s-ut(this,kl))/1e3/this.duration,l=ut(this,Cl)+o*this.playbackRate;l-ut(this,nn).valueAsNumber>0?Bt(this,on,this.playbackRate/this.duration/a):(Bt(this,on,.995*ut(this,on)),l=ut(this,nn).valueAsNumber+ut(this,on)),this.callback(l)}}),Bt(this,nn,e),this.callback=t,this.fps=r}start(){ut(this,qr)===0&&(Bt(this,an,performance.now()),Bt(this,Il,ut(this,an)),Bt(this,Ll,0),ut(this,wl).call(this))}stop(){ut(this,qr)!==0&&(cancelAnimationFrame(ut(this,qr)),Bt(this,qr,0))}update({start:e,duration:t,playbackRate:r}){let s=e-ut(this,nn).valueAsNumber,n=Math.abs(t-this.duration);(s>0||s<-.03||n>=.5)&&this.callback(e),Bt(this,Cl,e),Bt(this,kl,performance.now()),this.duration=t,this.playbackRate=r}};nn=new WeakMap;Il=new WeakMap;an=new WeakMap;ha=new WeakMap;Ll=new WeakMap;kl=new WeakMap;Cl=new WeakMap;on=new WeakMap;qr=new WeakMap;wl=new WeakMap;var Lh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},rt=(i,e,t)=>(Lh(i,e,"read from private field"),t?t.call(i):e.get(i)),ct=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ti=(i,e,t,r)=>(Lh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),yt=(i,e,t)=>(Lh(i,e,"access private method"),t),ln,jr,Ol,ma,Nl,Pl,pa,ga,dn,un,fa,kh,Gv,Sh,Ul,Ch,Fl,wh,Bl,Dh,xh,Kv,va,$l,Rh,Wv,gS="video not loaded, unknown time.",vS=i=>{let e=i.range,t=Or(+Yv(i)),r=Or(+i.mediaSeekableEnd),s=t&&r?`${t} of ${r}`:gS;e.setAttribute("aria-valuetext",s)},Vv=N.createElement("template");Vv.innerHTML=`
`;var Ml=(i,e=i.mediaCurrentTime)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;if(Number.isNaN(r))return 0;let s=(e-t)/(r-t);return Math.max(0,Math.min(s,1))},Yv=(i,e=i.range.valueAsNumber)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;return Number.isNaN(r)?0:e*(r-t)+t},Ih=class extends Vr{constructor(){super(),ct(this,un),ct(this,kh),ct(this,Ul),ct(this,Fl),ct(this,Bl),ct(this,xh),ct(this,va),ct(this,Rh),ct(this,ln,void 0),ct(this,jr,void 0),ct(this,Ol,void 0),ct(this,ma,void 0),ct(this,Nl,void 0),ct(this,Pl,void 0),ct(this,pa,void 0),ct(this,ga,void 0),ct(this,dn,void 0),ct(this,Sh,r=>{this.dragging||(Hs(r)&&(this.range.valueAsNumber=r),this.updateBar())}),this.container.appendChild(Vv.content.cloneNode(!0)),this.shadowRoot.querySelector("#track").insertAdjacentHTML("afterbegin",'
'),Ti(this,Ol,this.shadowRoot.querySelectorAll('[part~="box"]')),Ti(this,Nl,this.shadowRoot.querySelector('[part~="preview-box"]')),Ti(this,Pl,this.shadowRoot.querySelector('[part~="current-box"]'));let t=getComputedStyle(this);Ti(this,pa,parseInt(t.getPropertyValue("--media-box-padding-left"))),Ti(this,ga,parseInt(t.getPropertyValue("--media-box-padding-right"))),Ti(this,jr,new Dl(this.range,rt(this,Sh),60))}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PAUSED,y.MEDIA_DURATION,y.MEDIA_SEEKABLE,y.MEDIA_CURRENT_TIME,y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_TIME,y.MEDIA_PREVIEW_CHAPTER,y.MEDIA_BUFFERED,y.MEDIA_PLAYBACK_RATE,y.MEDIA_LOADING,y.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",Pe.SEEK()),yt(this,un,fa).call(this),Ti(this,ln,this.getRootNode()),(e=rt(this,ln))==null||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),yt(this,un,fa).call(this),(e=rt(this,ln))==null||e.removeEventListener("transitionstart",this),Ti(this,ln,null)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),t!=r&&(e===y.MEDIA_CURRENT_TIME||e===y.MEDIA_PAUSED||e===y.MEDIA_ENDED||e===y.MEDIA_LOADING||e===y.MEDIA_DURATION||e===y.MEDIA_SEEKABLE?(rt(this,jr).update({start:Ml(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),yt(this,un,fa).call(this),vS(this)):e===y.MEDIA_BUFFERED&&this.updateBufferedBar(),(e===y.MEDIA_DURATION||e===y.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=rt(this,dn),this.updateBar()))}get mediaChaptersCues(){return rt(this,dn)}set mediaChaptersCues(e){var t;Ti(this,dn,e),this.updateSegments((t=rt(this,dn))==null?void 0:t.map(r=>({start:Ml(this,r.startTime),end:Ml(this,r.endTime)})))}get mediaPaused(){return Re(this,y.MEDIA_PAUSED)}set mediaPaused(e){Se(this,y.MEDIA_PAUSED,e)}get mediaLoading(){return Re(this,y.MEDIA_LOADING)}set mediaLoading(e){Se(this,y.MEDIA_LOADING,e)}get mediaDuration(){return pe(this,y.MEDIA_DURATION)}set mediaDuration(e){Te(this,y.MEDIA_DURATION,e)}get mediaCurrentTime(){return pe(this,y.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){Te(this,y.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return pe(this,y.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){Te(this,y.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(y.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(r=>+r)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(y.MEDIA_BUFFERED);return}let t=e.map(r=>r.join(":")).join(" ");this.setAttribute(y.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(y.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(y.MEDIA_SEEKABLE);return}this.setAttribute(y.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaPreviewImage(){return ge(this,y.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){fe(this,y.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return pe(this,y.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){Te(this,y.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return Re(this,y.MEDIA_ENDED)}set mediaEnded(e){Se(this,y.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t=this.mediaBuffered;if(!t.length)return;let r;if(this.mediaEnded)r=1;else{let n=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=(e=t.find(([o,l])=>o<=n&&n<=l))!=null?e:[];r=Ml(this,a)}let{style:s}=Le(this.shadowRoot,"#buffered");s.setProperty("width",`${r*100}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let t=Le(this.shadowRoot,"#current-rail"),r=Le(this.shadowRoot,'[part~="current-box"]'),s=yt(this,Ul,Ch).call(this,rt(this,Pl)),n=yt(this,Fl,wh).call(this,s,this.range.valueAsNumber),a=yt(this,Bl,Dh).call(this,s,this.range.valueAsNumber);t.style.transform=`translateX(${n})`,t.style.setProperty("--_range-width",`${s.range.width}`),r.style.setProperty("--_box-shift",`${a}`),r.style.setProperty("--_box-width",`${s.box.width}px`),r.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":yt(this,Rh,Wv).call(this);break;case"pointermove":yt(this,xh,Kv).call(this,e);break;case"pointerup":case"pointerleave":yt(this,va,$l).call(this,null);break;case"transitionstart":St(e.target,this)&&setTimeout(()=>yt(this,un,fa).call(this),0);break}}};ln=new WeakMap;jr=new WeakMap;Ol=new WeakMap;ma=new WeakMap;Nl=new WeakMap;Pl=new WeakMap;pa=new WeakMap;ga=new WeakMap;dn=new WeakMap;un=new WeakSet;fa=function(){yt(this,kh,Gv).call(this)?rt(this,jr).start():rt(this,jr).stop()};kh=new WeakSet;Gv=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&a0(this)};Sh=new WeakMap;Ul=new WeakSet;Ch=function(i){var e;let r=((e=this.getAttribute("bounds")?ui(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?e:this).getBoundingClientRect(),s=this.range.getBoundingClientRect(),n=i.offsetWidth,a=-(s.left-r.left-n/2),o=r.right-s.left-n/2;return{box:{width:n,min:a,max:o},bounds:r,range:s}};Fl=new WeakSet;wh=function(i,e){let t=`${e*100}%`,{width:r,min:s,max:n}=i.box;if(!r)return t;if(Number.isNaN(s)||(t=`max(${`calc(1 / var(--_range-width) * 100 * ${s}% + var(--media-box-padding-left))`}, ${t})`),!Number.isNaN(n)){let o=`calc(1 / var(--_range-width) * 100 * ${n}% - var(--media-box-padding-right))`;t=`min(${t}, ${o})`}return t};Bl=new WeakSet;Dh=function(i,e){let{width:t,min:r,max:s}=i.box,n=e*i.range.width;if(ns-rt(this,ga)){let a=i.bounds.right-i.range.right-rt(this,ga);return`${n+t/2-a-i.range.width}px`}return 0};xh=new WeakSet;Kv=function(i){let e=[...rt(this,Ol)].some(u=>i.composedPath().includes(u));if(!this.dragging&&(e||!i.composedPath().includes(this))){yt(this,va,$l).call(this,null);return}let t=this.mediaSeekableEnd;if(!t)return;let r=Le(this.shadowRoot,"#preview-rail"),s=Le(this.shadowRoot,'[part~="preview-box"]'),n=yt(this,Ul,Ch).call(this,rt(this,Nl)),a=(i.clientX-n.range.left)/n.range.width;a=Math.max(0,Math.min(1,a));let o=yt(this,Fl,wh).call(this,n,a),l=yt(this,Bl,Dh).call(this,n,a);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${n.range.width}`),s.style.setProperty("--_box-shift",`${l}`),s.style.setProperty("--_box-width",`${n.box.width}px`);let d=Math.round(rt(this,ma))-Math.round(a*t);Math.abs(d)<1&&a>.01&&a<.99||(Ti(this,ma,a*t),yt(this,va,$l).call(this,rt(this,ma)))};va=new WeakSet;$l=function(i){this.dispatchEvent(new x.CustomEvent($.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:i}))};Rh=new WeakSet;Wv=function(){rt(this,jr).stop();let i=Yv(this);this.dispatchEvent(new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i}))};x.customElements.get("media-time-range")||x.customElements.define("media-time-range",Ih);var cn={PLACEMENT:"placement",BOUNDS:"bounds"},qv=N.createElement("template");qv.innerHTML=`
`;var Mh=class extends x.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;let t=this.placement;if(t==="left"||t==="right"){this.style.removeProperty("--media-tooltip-offset-x");return}let r=getComputedStyle(this),s=(e=ui(this,"#"+this.bounds))!=null?e:He(this);if(!s)return;let{x:n,width:a}=s.getBoundingClientRect(),{x:o,width:l}=this.getBoundingClientRect(),d=o+l,u=n+a,c=r.getPropertyValue("--media-tooltip-offset-x"),h=c?parseFloat(c.replace("px","")):0,f=r.getPropertyValue("--media-tooltip-container-margin"),m=f?parseFloat(f.replace("px","")):0,p=o-n+h-m,g=d-u+h+m;if(p<0){this.style.setProperty("--media-tooltip-offset-x",`${p}px`);return}if(g>0){this.style.setProperty("--media-tooltip-offset-x",`${g}px`);return}this.style.removeProperty("--media-tooltip-offset-x")},this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(qv.content.cloneNode(!0))),this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){let e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[cn.PLACEMENT,cn.BOUNDS]}get placement(){return ge(this,cn.PLACEMENT)}set placement(e){fe(this,cn.PLACEMENT,e)}get bounds(){return ge(this,cn.BOUNDS)}set bounds(e){fe(this,cn.BOUNDS,e)}};x.customElements.get("media-tooltip")||x.customElements.define("media-tooltip",Mh);var ES=1,bS=i=>i.mediaMuted?0:i.mediaVolume,yS=i=>`${Math.round(i*100)}%`,Ph=class extends Vr{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_VOLUME,y.MEDIA_MUTED,y.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new x.CustomEvent($.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",Pe.VOLUME())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===y.MEDIA_VOLUME||e===y.MEDIA_MUTED)&&(this.range.valueAsNumber=bS(this),this.range.setAttribute("aria-valuetext",yS(this.range.valueAsNumber)),this.updateBar())}get mediaVolume(){return pe(this,y.MEDIA_VOLUME,ES)}set mediaVolume(e){Te(this,y.MEDIA_VOLUME,e)}get mediaMuted(){return Re(this,y.MEDIA_MUTED)}set mediaMuted(e){Se(this,y.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return ge(this,y.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){fe(this,y.MEDIA_VOLUME_UNAVAILABLE,e)}};x.customElements.get("media-volume-range")||x.customElements.define("media-volume-range",Ph);var TS=Object.create,tE=Object.defineProperty,_S=Object.getOwnPropertyDescriptor,AS=Object.getOwnPropertyNames,SS=Object.getPrototypeOf,xS=Object.prototype.hasOwnProperty,iE=function(i,e){return function(){return i&&(e=i(i=0)),e}},kt=function(i,e){return function(){return e||i((e={exports:{}}).exports,e),e.exports}},RS=function(i,e,t,r){if(e&&typeof e=="object"||typeof e=="function")for(var s=AS(e),n=0,a=s.length,o;n";default:return s(h)}}function s(h){var f=[],m=h.tagName;return h.namespaceURI==="http://www.w3.org/1999/xhtml"&&(m=m.toLowerCase()),f.push("<"+m+d(h)+o(h)),t.indexOf(m)>-1?f.push(" />"):(f.push(">"),h.childNodes.length?f.push.apply(f,h.childNodes.map(r)):h.textContent||h.innerText?f.push(u(h.textContent||h.innerText)):h.innerHTML&&f.push(h.innerHTML),f.push("")),f.join("")}function n(h,f){var m=Vh(h[f]);return f==="style"&&Object.keys(h.style).length>0?!0:h.hasOwnProperty(f)&&(m==="string"||m==="boolean"||m==="number")&&f!=="nodeName"&&f!=="className"&&f!=="tagName"&&f!=="textContent"&&f!=="innerText"&&f!=="namespaceURI"&&f!=="innerHTML"}function a(h){if(typeof h=="string")return h;var f="";return Object.keys(h).forEach(function(m){var p=h[m];m=m.replace(/[A-Z]/g,function(g){return"-"+g.toLowerCase()}),f+=m+":"+p+";"}),f}function o(h){var f=h.dataset,m=[];for(var p in f)m.push({name:"data-"+p,value:f[p]});return m.length?l(m):""}function l(h){var f=[];return h.forEach(function(m){var p=m.name,g=m.value;p==="style"&&(g=a(g)),f.push(p+'="'+c(g)+'"')}),f.length?" "+f.join(" "):""}function d(h){var f=[];for(var m in h)n(h,m)&&f.push({name:m,value:h[m]});for(var p in h._attributes)for(var g in h._attributes[p]){var E=h._attributes[p][g],b=(E.prefix?E.prefix+":":"")+g;f.push({name:b,value:E.value})}return h.className&&f.push({name:"class",value:h.className}),f.length?l(f):""}function u(h){var f="";return typeof h=="string"?f=h:h&&(f=h.toString()),f.replace(/&/g,"&").replace(//g,">")}function c(h){return u(h).replace(/"/g,""")}}),oE=kt(function(i,e){es();var t=rE(),r=sE(),s=nE(),n=aE(),a=kS(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(d,u,c){if(!Jr(this,l))return new l(d);var h=c===void 0?o:c||null;this.tagName=h===o?String(d).toUpperCase():d,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=u||null,this.namespaceURI=h,this._attributes={},this.tagName==="INPUT"&&(this.type="text")}l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(d){return d.parentNode&&d.parentNode.removeChild(d),this.childNodes.push(d),d.parentNode=this,d},l.prototype.replaceChild=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=this.childNodes.indexOf(u);return u.parentNode=null,this.childNodes[c]=d,d.parentNode=this,u},l.prototype.removeChild=function(d){var u=this.childNodes.indexOf(d);return this.childNodes.splice(u,1),d.parentNode=null,d},l.prototype.insertBefore=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=u==null?-1:this.childNodes.indexOf(u);return c>-1?this.childNodes.splice(c,0,d):this.childNodes.push(d),d.parentNode=this,d},l.prototype.setAttributeNS=function(d,u,c){var h=null,f=u,m=u.indexOf(":");if(m>-1&&(h=u.substr(0,m),f=u.substr(m+1)),this.tagName==="INPUT"&&u==="type")this.type=c;else{var p=this._attributes[d]||(this._attributes[d]={});p[f]={value:c,prefix:h}}},l.prototype.getAttributeNS=function(d,u){var c=this._attributes[d],h=c&&c[u]&&c[u].value;return this.tagName==="INPUT"&&u==="type"?this.type:typeof h!="string"?null:h},l.prototype.removeAttributeNS=function(d,u){var c=this._attributes[d];c&&delete c[u]},l.prototype.hasAttributeNS=function(d,u){var c=this._attributes[d];return!!c&&u in c},l.prototype.setAttribute=function(d,u){return this.setAttributeNS(null,d,u)},l.prototype.getAttribute=function(d){return this.getAttributeNS(null,d)},l.prototype.removeAttribute=function(d){return this.removeAttributeNS(null,d)},l.prototype.hasAttribute=function(d){return this.hasAttributeNS(null,d)},l.prototype.removeEventListener=n,l.prototype.addEventListener=s,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return a(this)},l.prototype.getElementsByClassName=function(d){var u=d.split(" "),c=[];return t(this,function(h){if(h.nodeType===1){var f=h.className||"",m=f.split(" ");u.every(function(p){return m.indexOf(p)!==-1})&&c.push(h)}}),c},l.prototype.getElementsByTagName=function(d){d=d.toLowerCase();var u=[];return t(this.childNodes,function(c){c.nodeType===1&&(d==="*"||c.tagName.toLowerCase()===d)&&u.push(c)}),u},l.prototype.contains=function(d){return t(this,function(u){return d===u})||!1}}),CS=kt(function(i,e){es();var t=oE();e.exports=r;function r(s){if(!Jr(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=s||null}r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=t.prototype.appendChild,r.prototype.replaceChild=t.prototype.replaceChild,r.prototype.removeChild=t.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(s){return String(s)}).join("")}}),wS=kt(function(i,e){e.exports=t;function t(r){}t.prototype.initEvent=function(r,s,n){this.type=r,this.bubbles=s,this.cancelable=n},t.prototype.preventDefault=function(){}}),DS=kt(function(i,e){es();var t=rE(),r=IS(),s=LS(),n=oE(),a=CS(),o=wS(),l=sE(),d=nE(),u=aE();e.exports=c;function c(){if(!Jr(this,c))return new c;this.head=this.createElement("head"),this.body=this.createElement("body"),this.documentElement=this.createElement("html"),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}var h=c.prototype;h.createTextNode=function(f){return new s(f,this)},h.createElementNS=function(f,m){var p=f===null?null:String(f);return new n(m,this,p)},h.createElement=function(f){return new n(f,this)},h.createDocumentFragment=function(){return new a(this)},h.createEvent=function(f){return new o(f)},h.createComment=function(f){return new r(f,this)},h.getElementById=function(f){f=String(f);var m=t(this.childNodes,function(p){if(String(p.id)===f)return p});return m||null},h.getElementsByClassName=n.prototype.getElementsByClassName,h.getElementsByTagName=n.prototype.getElementsByTagName,h.contains=n.prototype.contains,h.removeEventListener=u,h.addEventListener=d,h.dispatchEvent=l}),MS=kt(function(i,e){var t=DS();e.exports=new t}),PS=kt(function(i,e){var t=typeof global!="undefined"?global:typeof window!="undefined"?window:{},r=MS(),s;typeof document!="undefined"?s=document:(s=t["__GLOBAL_DOCUMENT_CACHE@4"],s||(s=t["__GLOBAL_DOCUMENT_CACHE@4"]=r)),e.exports=s});function OS(i){if(Array.isArray(i))return i}function NS(i,e){var t=i==null?null:typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r=[],s=!0,n=!1,a,o;try{for(t=t.call(i);!(s=(a=t.next()).done)&&(r.push(a.value),!(e&&r.length===e));s=!0);}catch(l){n=!0,o=l}finally{try{!s&&t.return!=null&&t.return()}finally{if(n)throw o}}return r}}function US(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $h(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=new Array(e);t1&&arguments[1]!==void 0?arguments[1]:3,t,r,s,n,a,o=i?[console,i]:[console],l=(t=console.trace).bind.apply(t,_i(o)),d=(r=console.info).bind.apply(r,_i(o)),u=(s=console.debug).bind.apply(s,_i(o)),c=(n=console.warn).bind.apply(n,_i(o)),h=(a=console.error).bind.apply(a,_i(o)),f=e;return{trace:function(){for(var m=arguments.length,p=new Array(m),g=0;gQr.TRACE))return l.apply(void 0,_i(p))},debug:function(){for(var m=arguments.length,p=new Array(m),g=0;gQr.DEBUG))return u.apply(void 0,_i(p))},info:function(){for(var m=arguments.length,p=new Array(m),g=0;gQr.INFO))return d.apply(void 0,_i(p))},warn:function(){for(var m=arguments.length,p=new Array(m),g=0;gQr.WARN))return c.apply(void 0,_i(p))},error:function(){for(var m=arguments.length,p=new Array(m),g=0;gQr.ERROR))return h.apply(void 0,_i(p))},get level(){return f},set level(m){m!==this.level&&(f=m!=null?m:e)}}},qe=HS("[mux]"),Oh=ii(Ai());function Gh(){var i=Oh.default.doNotTrack||Oh.default.navigator&&Oh.default.navigator.doNotTrack;return i==="1"}var GS=ii(Ai()),KS={now:function(){var i=GS.default.performance,e=i&&i.timing,t=e&&e.navigationStart,r=typeof t=="number"&&typeof i.now=="function"?t+i.now():Date.now();return Math.round(r)}},st=KS;function se(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}es();function ht(i,e){if(!Jr(i,e))throw new TypeError("Cannot call a class as a function")}function jv(i,e){for(var t=0;t=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function Vl(i){if(i){var e=uE.find(function(t){return i[t]!==void 0});return e?i[e]:void 0}}var ZS=function(i){var e={};for(var t in i){var r=i[t],s=r["DATA-ID"].search("io.litix.data.");if(s!==-1){var n=r["DATA-ID"].replace("io.litix.data.","");e[n]=r.VALUE}}return e},cE=ZS,Hl=function(i){if(!i)return{};var e=Kl.navigationStart(),t=i.loading,r=t?t.start:i.trequest,s=t?t.first:i.tfirst,n=t?t.end:i.tload;return{bytesLoaded:i.total,requestStart:Math.round(e+r),responseStart:Math.round(e+s),responseEnd:Math.round(e+n)}},Ea=function(i){if(!(!i||typeof i.getAllResponseHeaders!="function"))return jh(i.getAllResponseHeaders())},JS=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0,n=i.log,a=i.utils.secondsToMs,o=function(E){var b=parseInt(s.version),T;return b===1&&E.programDateTime!==null&&(T=E.programDateTime),b===0&&E.pdt!==null&&(T=E.pdt),T};if(!Kl.exists()){n.warn("performance timing not supported. Not tracking HLS.js.");return}var l=function(E,b){return i.emit(e,E,b)},d=function(E,b){var T=b.levels,_=b.audioTracks,A=b.url,R=b.stats,S=b.networkDetails,C=b.sessionData,P={},k={};T.forEach(function(V,ne){P[ne]={width:V.width,height:V.height,bitrate:V.bitrate,attrs:V.attrs}}),_.forEach(function(V,ne){k[ne]={name:V.name,language:V.lang,bitrate:V.bitrate}});var M=Hl(R),B=M.bytesLoaded,F=M.requestStart,X=M.responseStart,Q=M.responseEnd;l("requestcompleted",qh(Wl({},cE(C)),{request_event_type:E,request_bytes_loaded:B,request_start:F,request_response_start:X,request_response_end:Q,request_type:"manifest",request_hostname:ti(A),request_response_headers:Ea(S),request_rendition_lists:{media:P,audio:k,video:{}}}))};t.on(s.Events.MANIFEST_LOADED,d);var u=function(E,b){var T=b.details,_=b.level,A=b.networkDetails,R=b.stats,S=Hl(R),C=S.bytesLoaded,P=S.requestStart,k=S.responseStart,M=S.responseEnd,B=T.fragments[T.fragments.length-1],F=o(B)+a(B.duration);l("requestcompleted",{request_event_type:E,request_bytes_loaded:C,request_start:P,request_response_start:k,request_response_end:M,request_current_level:_,request_type:"manifest",request_hostname:ti(T.url),request_response_headers:Ea(A),video_holdback:T.holdBack&&a(T.holdBack),video_part_holdback:T.partHoldBack&&a(T.partHoldBack),video_part_target_duration:T.partTarget&&a(T.partTarget),video_target_duration:T.targetduration&&a(T.targetduration),video_source_is_live:T.live,player_manifest_newest_program_time:isNaN(F)?void 0:F})};t.on(s.Events.LEVEL_LOADED,u);var c=function(E,b){var T=b.details,_=b.networkDetails,A=b.stats,R=Hl(A),S=R.bytesLoaded,C=R.requestStart,P=R.responseStart,k=R.responseEnd;l("requestcompleted",{request_event_type:E,request_bytes_loaded:S,request_start:C,request_response_start:P,request_response_end:k,request_type:"manifest",request_hostname:ti(T.url),request_response_headers:Ea(_)})};t.on(s.Events.AUDIO_TRACK_LOADED,c);var h=function(E,b){var T=b.stats,_=b.networkDetails,A=b.frag;T=T||A.stats;var R=Hl(T),S=R.bytesLoaded,C=R.requestStart,P=R.responseStart,k=R.responseEnd,M=_?Ea(_):void 0,B={request_event_type:E,request_bytes_loaded:S,request_start:C,request_response_start:P,request_response_end:k,request_hostname:_?ti(_.responseURL):void 0,request_id:M?Vl(M):void 0,request_response_headers:M,request_media_duration:A.duration,request_url:_==null?void 0:_.responseURL};A.type==="main"?(B.request_type="media",B.request_current_level=A.level,B.request_video_width=(t.levels[A.level]||{}).width,B.request_video_height=(t.levels[A.level]||{}).height,B.request_labeled_bitrate=(t.levels[A.level]||{}).bitrate):B.request_type=A.type,l("requestcompleted",B)};t.on(s.Events.FRAG_LOADED,h);var f=function(E,b){var T=b.frag,_=T.start,A=o(T),R={currentFragmentPDT:A,currentFragmentStart:a(_)};l("fragmentchange",R)};t.on(s.Events.FRAG_CHANGED,f);var m=function(E,b){var T=b.type,_=b.details,A=b.response,R=b.fatal,S=b.frag,C=b.networkDetails,P=(S==null?void 0:S.url)||b.url||"",k=C?Ea(C):void 0;if((_===s.ErrorDetails.MANIFEST_LOAD_ERROR||_===s.ErrorDetails.MANIFEST_LOAD_TIMEOUT||_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT||_===s.ErrorDetails.LEVEL_LOAD_ERROR||_===s.ErrorDetails.LEVEL_LOAD_TIMEOUT||_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||_===s.ErrorDetails.KEY_LOAD_ERROR||_===s.ErrorDetails.KEY_LOAD_TIMEOUT)&&l("requestfailed",{request_error:_,request_url:P,request_hostname:ti(P),request_id:k?Vl(k):void 0,request_type:_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":_===s.ErrorDetails.KEY_LOAD_ERROR||_===s.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:A==null?void 0:A.code,request_error_text:A==null?void 0:A.text}),R){var M,B="".concat(P?"url: ".concat(P,` `):"")+"".concat(A&&(A.code||A.text)?"response: ".concat(A.code,", ").concat(A.text,` `):"")+"".concat(b.reason?"failure reason: ".concat(b.reason,` `):"")+"".concat(b.level?"level: ".concat(b.level,` `):"")+"".concat(b.parent?"parent stream controller: ".concat(b.parent,` `):"")+"".concat(b.buffer?"buffer length: ".concat(b.buffer,` `):"")+"".concat(b.error?"error: ".concat(b.error,` `):"")+"".concat(b.event?"event: ".concat(b.event,` `):"")+"".concat(b.err?"error message: ".concat((M=b.err)===null||M===void 0?void 0:M.message,` `):"");l("error",{player_error_code:T,player_error_message:_,player_error_context:B})}};t.on(s.Events.ERROR,m);var p=function(E,b){var T=b.frag,_=T&&T._url||"";l("requestcanceled",{request_event_type:E,request_url:_,request_type:"media",request_hostname:ti(_)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p);var g=function(E,b){var T=b.level,_=t.levels[T];if(_&&_.attrs&&_.attrs.BANDWIDTH){var A=_.attrs.BANDWIDTH,R,S=parseFloat(_.attrs["FRAME-RATE"]);isNaN(S)||(R=S),A?l("renditionchange",{video_source_fps:R,video_source_bitrate:A,video_source_width:_.width,video_source_height:_.height,video_source_rendition_name:_.name,video_source_codec:_==null?void 0:_.videoCodec}):n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};t.on(s.Events.LEVEL_SWITCHED,g),t._stopMuxMonitor=function(){t.off(s.Events.MANIFEST_LOADED,d),t.off(s.Events.LEVEL_LOADED,u),t.off(s.Events.AUDIO_TRACK_LOADED,c),t.off(s.Events.FRAG_LOADED,h),t.off(s.Events.FRAG_CHANGED,f),t.off(s.Events.ERROR,m),t.off(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p),t.off(s.Events.LEVEL_SWITCHED,g),t.off(s.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(s.Events.DESTROYING,t._stopMuxMonitor)},e1=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},zv=function(i,e){if(!i||!i.requestEndDate)return{};var t=ti(i.url),r=i.url,s=i.bytesLoaded,n=new Date(i.requestStartDate).getTime(),a=new Date(i.firstByteDate).getTime(),o=new Date(i.requestEndDate).getTime(),l=isNaN(i.duration)?0:i.duration,d=typeof e.getMetricsFor=="function"?e.getMetricsFor(i.mediaType).HttpList:e.getDashMetrics().getHttpRequests(i.mediaType),u;d.length>0&&(u=jh(d[d.length-1]._responseHeaders||""));var c=u?Vl(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:r,requestId:c}},t1=function(i,e){var t=e.getQualityFor(i),r=e.getCurrentTrackFor(i).bitrateList;return r?{currentLevel:t,renditionWidth:r[t].width||null,renditionHeight:r[t].height||null,renditionBitrate:r[t].bandwidth}:{}},i1=function(i){var e;return(e=i.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},r1=function(i){try{var e,t,r=(t=i.getVersion)===null||t===void 0||(e=t.call(i))===null||e===void 0?void 0:e.split(".").map(function(s){return parseInt(s)})[0];return r}catch{return!1}},s1=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=i.log;if(!t||!t.on){s.warn("Invalid dash.js player reference. Monitoring blocked.");return}var n=r1(t),a=function(T,_){return i.emit(e,T,_)},o=function(T){var _=T.type,A=T.data,R=(A||{}).url;a("requestcompleted",{request_event_type:_,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:ti(R),request_url:R})};t.on("manifestLoaded",o);var l={},d=function(T){if(typeof T.getRequests!="function")return null;var _=T.getRequests({state:"executed"});return _.length===0?null:_[_.length-1]},u=function(T){var _=T.type,A=T.fragmentModel,R=T.chunk,S=d(A);c({type:_,request:S,chunk:R})},c=function(T){var _=T.type,A=T.chunk,R=T.request,S=(A||{}).mediaInfo,C=S||{},P=C.type,k=C.bitrateList;k=k||[];var M={};k.forEach(function(ae,Z){M[Z]={},M[Z].width=ae.width,M[Z].height=ae.height,M[Z].bitrate=ae.bandwidth,M[Z].attrs={}}),P==="video"?l.video=M:P==="audio"?l.audio=M:l.media=M;var B=zv(R,t),F=B.requestStart,X=B.requestResponseStart,Q=B.requestResponseEnd,V=B.requestResponseHeaders,ne=B.requestMediaDuration,le=B.requestHostname,W=B.requestUrl,G=B.requestId;a("requestcompleted",{request_event_type:_,request_start:F,request_response_start:X,request_response_end:Q,request_bytes_loaded:-1,request_type:P+"_init",request_response_headers:V,request_hostname:le,request_id:G,request_url:W,request_media_duration:ne,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",c):t.on("initFragmentLoaded",u);var h=function(T){var _=T.type,A=T.fragmentModel,R=T.chunk,S=d(A);f({type:_,request:S,chunk:R})},f=function(T){var _=T.type,A=T.chunk,R=T.request,S=A||{},C=S.mediaInfo,P=S.start,k=C||{},M=k.type,B=zv(R,t),F=B.requestStart,X=B.requestResponseStart,Q=B.requestResponseEnd,V=B.requestBytesLoaded,ne=B.requestResponseHeaders,le=B.requestMediaDuration,W=B.requestHostname,G=B.requestUrl,ae=B.requestId,Z=t1(M,t),Ee=Z.currentLevel,Fe=Z.renditionWidth,We=Z.renditionHeight,ze=Z.renditionBitrate;a("requestcompleted",{request_event_type:_,request_start:F,request_response_start:X,request_response_end:Q,request_bytes_loaded:V,request_type:M,request_response_headers:ne,request_hostname:W,request_id:ae,request_url:G,request_media_start_time:P,request_media_duration:le,request_current_level:Ee,request_labeled_bitrate:ze,request_video_width:Fe,request_video_height:We})};n>=4?t.on("mediaFragmentLoaded",f):t.on("mediaFragmentLoaded",h);var m={video:void 0,audio:void 0,totalBitrate:void 0},p=function(){if(m.video&&typeof m.video.bitrate=="number"){if(!(m.video.width&&m.video.height)){s.warn("have bitrate info for video but missing width/height");return}var T=m.video.bitrate;if(m.audio&&typeof m.audio.bitrate=="number"&&(T+=m.audio.bitrate),T!==m.totalBitrate)return m.totalBitrate=T,{video_source_bitrate:T,video_source_height:m.video.height,video_source_width:m.video.width,video_source_codec:i1(m.video.codec)}}},g=function(T,_,A){if(typeof T.newQuality!="number"){s.warn("missing evt.newQuality in qualityChangeRendered event",T);return}var R=T.mediaType;if(R==="audio"||R==="video"){var S=t.getBitrateInfoListFor(R).find(function(P){var k=P.qualityIndex;return k===T.newQuality});if(!(S&&typeof S.bitrate=="number")){s.warn("missing bitrate info for ".concat(R));return}m[R]=qh(Wl({},S),{codec:t.getCurrentTrackFor(R).codec});var C=p();C&&a("renditionchange",C)}};t.on("qualityChangeRendered",g);var E=function(T){var _=T.request,A=T.mediaType;_=_||{},a("requestcanceled",{request_event_type:_.type+"_"+_.action,request_url:_.url,request_type:A,request_hostname:ti(_.url)})};t.on("fragmentLoadingAbandoned",E);var b=function(T){var _=T.error,A,R,S=(_==null||(A=_.data)===null||A===void 0?void 0:A.request)||{},C=(_==null||(R=_.data)===null||R===void 0?void 0:R.response)||{};(_==null?void 0:_.code)===27&&a("requestfailed",{request_error:S.type+"_"+S.action,request_url:S.url,request_hostname:ti(S.url),request_type:S.mediaType,request_error_code:C.status,request_error_text:C.statusText});var P="".concat(S!=null&&S.url?"url: ".concat(S.url,` `):"")+"".concat(C!=null&&C.status||C!=null&&C.statusText?"response: ".concat(C==null?void 0:C.status,", ").concat(C==null?void 0:C.statusText,` `):"");a("error",{player_error_code:_==null?void 0:_.code,player_error_message:_==null?void 0:_.message,player_error_context:P})};t.on("error",b),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",c),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",g),t.off("error",b),t.off("fragmentLoadingAbandoned",E),delete t._stopMuxMonitor}},n1=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},Xv=0,a1=function(){"use strict";function i(){ht(this,i),H(this,"_listeners",void 0)}return Si(i,[{key:"on",value:function(e,t,r){return t._eventEmitterGuid=t._eventEmitterGuid||++Xv,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],r&&(t=t.bind(r)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var r=this._listeners&&this._listeners[e];r&&r.forEach(function(s,n){s._eventEmitterGuid===t._eventEmitterGuid&&r.splice(n,1)})}},{key:"one",value:function(e,t,r){var s=this;t._eventEmitterGuid=t._eventEmitterGuid||++Xv;var n=function(){s.off(e,n),t.apply(r||this,arguments)};n._eventEmitterGuid=t._eventEmitterGuid,this.on(e,n)}},{key:"emit",value:function(e,t){var r=this;if(this._listeners){t=t||{};var s=this._listeners["before*"]||[],n=this._listeners[e]||[],a=this._listeners["after"+e]||[],o=function(l,d){l=l.slice(),l.forEach(function(u){u.call(r,{type:e},d)})};o(s,t),o(n,t),o(a,t)}}}]),i}(),o1=a1,Uh=ii(Ai()),l1=function(){"use strict";function i(e){var t=this;ht(this,i),H(this,"_playbackHeartbeatInterval",void 0),H(this,"_playheadShouldBeProgressing",void 0),H(this,"pm",void 0),this.pm=e,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,e.on("playing",function(){t._playheadShouldBeProgressing=!0}),e.on("play",this._startPlaybackHeartbeatInterval.bind(this)),e.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),e.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),e.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("seeked",function(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on("timeupdate",function(){t._playbackHeartbeatInterval!==null&&e.emit("playbackheartbeat")}),e.on("devicesleep",function(r,s){t._playbackHeartbeatInterval!==null&&(Uh.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return Si(i,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=Uh.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(Uh.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),i}(),d1=l1,u1=function i(e){"use strict";var t=this;ht(this,i),H(this,"viewErrored",void 0),e.on("viewinit",function(){t.viewErrored=!1}),e.on("error",function(r,s){try{var n=e.errorTranslator({player_error_code:s.player_error_code,player_error_message:s.player_error_message,player_error_context:s.player_error_context,player_error_severity:s.player_error_severity,player_error_business_exception:s.player_error_business_exception});n&&(e.data.player_error_code=n.player_error_code||s.player_error_code,e.data.player_error_message=n.player_error_message||s.player_error_message,e.data.player_error_context=n.player_error_context||s.player_error_context,e.data.player_error_severity=n.player_error_severity||s.player_error_severity,e.data.player_error_business_exception=n.player_error_business_exception||s.player_error_business_exception,t.viewErrored=!0)}catch(a){e.mux.log.warn("Exception in error translator callback.",a),t.viewErrored=!0}}),e.on("aftererror",function(){var r,s,n,a,o;(r=e.data)===null||r===void 0||delete r.player_error_code,(s=e.data)===null||s===void 0||delete s.player_error_message,(n=e.data)===null||n===void 0||delete n.player_error_context,(a=e.data)===null||a===void 0||delete a.player_error_severity,(o=e.data)===null||o===void 0||delete o.player_error_business_exception})},c1=u1,h1=function(){"use strict";function i(e){ht(this,i),H(this,"_watchTimeTrackerLastCheckedTime",void 0),H(this,"pm",void 0),this.pm=e,this._watchTimeTrackerLastCheckedTime=null,e.on("playbackheartbeat",this._updateWatchTime.bind(this)),e.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return Si(i,[{key:"_updateWatchTime",value:function(e,t){var r=t.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=r),et(this.pm.data,"view_watch_time",r-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=r}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),i}(),f1=h1,m1=function(){"use strict";function i(e){var t=this;ht(this,i),H(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),H(this,"_lastTime",void 0),H(this,"_isAdPlaying",void 0),H(this,"_callbackUpdatePlaybackTime",void 0),H(this,"pm",void 0),this.pm=e,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=st.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var r=this._startPlaybackTimeTracking.bind(this);e.on("playing",r),e.on("adplaying",r),e.on("seeked",r);var s=this._stopPlaybackTimeTracking.bind(this);e.on("playbackheartbeatend",s),e.on("seeking",s),e.on("adplaying",function(){t._isAdPlaying=!0}),e.on("adended",function(){t._isAdPlaying=!1}),e.on("adpause",function(){t._isAdPlaying=!1}),e.on("adbreakstart",function(){t._isAdPlaying=!1}),e.on("adbreakend",function(){t._isAdPlaying=!1}),e.on("adplay",function(){t._isAdPlaying=!1}),e.on("viewinit",function(){t._playbackTimeTrackerLastPlayheadPosition=-1,t._lastTime=st.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return Si(i,[{key:"_startPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime===null&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var e=this.pm.data.player_playhead_time,t=st.now(),r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=t-this._lastTime),r>0&&r<=1e3&&et(this.pm.data,"view_content_playback_time",r),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),i}(),p1=m1,g1=function(){"use strict";function i(e){ht(this,i),H(this,"pm",void 0),this.pm=e;var t=this._updatePlayheadTime.bind(this);e.on("playbackheartbeat",t),e.on("playbackheartbeatend",t),e.on("timeupdate",t),e.on("destroy",function(){e.off("timeupdate",t)})}return Si(i,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=typeof this.pm.data.view_max_playhead_position=="undefined"?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(e,t){var r=this,s=function(){r.pm.currentFragmentPDT&&r.pm.currentFragmentStart&&(r.pm.data.player_program_time=r.pm.currentFragmentPDT+r.pm.data.player_playhead_time-r.pm.currentFragmentStart)};if(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,s(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var n=this.pm.getPlayheadTime();typeof n!="undefined"&&(this.pm.data.player_playhead_time=n,s(),this._updateMaxPlayheadPosition())}}}]),i}(),v1=g1,Qv=5*60*1e3,E1=function i(e){"use strict";if(ht(this,i),!e.disableRebufferTracking){var t,r=function(n,a){s(a),t=void 0},s=function(n){if(t){var a=n.viewer_time-t;et(e.data,"view_rebuffer_duration",a),t=n.viewer_time,e.data.view_rebuffer_duration>Qv&&(e.emit("viewend"),e.send("viewend"),e.mux.log.warn("Ending view after rebuffering for longer than ".concat(Qv,"ms, future events will be ignored unless a programchange or videochange occurs.")))}e.data.view_watch_time>=0&&e.data.view_rebuffer_count>0&&(e.data.view_rebuffer_frequency=e.data.view_rebuffer_count/e.data.view_watch_time,e.data.view_rebuffer_percentage=e.data.view_rebuffer_duration/e.data.view_watch_time)};e.on("playbackheartbeat",function(n,a){return s(a)}),e.on("rebufferstart",function(n,a){t||(et(e.data,"view_rebuffer_count",1),t=a.viewer_time,e.one("rebufferend",r))}),e.on("viewinit",function(){t=void 0,e.off("rebufferend",r)})}},b1=E1,y1=function(){"use strict";function i(e){var t=this;ht(this,i),H(this,"_lastCheckedTime",void 0),H(this,"_lastPlayheadTime",void 0),H(this,"_lastPlayheadTimeUpdatedTime",void 0),H(this,"_rebuffering",void 0),H(this,"pm",void 0),this.pm=e,!(e.disableRebufferTracking||e.disablePlayheadRebufferTracking)&&(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,e.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),e.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),e.on("seeking",function(){t._cleanupRebufferTracker(null,{viewer_time:st.now()})}))}return Si(i,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing){this._cleanupRebufferTracker(e,t);return}if(this._lastCheckedTime===null){this._prepareRebufferTrackerState(t.viewer_time);return}if(this._lastPlayheadTime!==this.pm.data.player_playhead_time){this._cleanupRebufferTracker(e,t,!0);return}var r=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&r>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(this._lastCheckedTime===null)return;var s=this.pm.data.player_playhead_time-this._lastPlayheadTime,n=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&s>0&&n-s>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+n-s}))}r?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),i}(),T1=y1,_1=function(){"use strict";function i(e){var t=this;ht(this,i),H(this,"NAVIGATION_START",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){var r=e.data,s=r.view_id;if(!r.view_program_changed){var n=function(a,o){var l=o.viewer_time;(a.type==="playing"&&typeof e.data.view_time_to_first_frame=="undefined"||a.type==="adplaying"&&(typeof e.data.view_time_to_first_frame=="undefined"||t._inPrerollPosition()))&&t.calculateTimeToFirstFrame(l||st.now(),s)};e.one("playing",n),e.one("adplaying",n),e.one("viewend",function(){e.off("playing",n),e.off("adplaying",n)})}})}return Si(i,[{key:"_inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}]),i}(),A1=_1,S1=function i(e){"use strict";var t=this;ht(this,i),H(this,"_lastPlayerHeight",void 0),H(this,"_lastPlayerWidth",void 0),H(this,"_lastPlayheadPosition",void 0),H(this,"_lastSourceHeight",void 0),H(this,"_lastSourceWidth",void 0),e.on("viewinit",function(){t._lastPlayheadPosition=-1});var r=["pause","rebufferstart","seeking","error","adbreakstart","hb"],s=["playing","hb"];r.forEach(function(n){e.on(n,function(){if(t._lastPlayheadPosition>=0&&e.data.player_playhead_time>=0&&t._lastPlayerWidth>=0&&t._lastSourceWidth>0&&t._lastPlayerHeight>=0&&t._lastSourceHeight>0){var a=e.data.player_playhead_time-t._lastPlayheadPosition;if(a<0){t._lastPlayheadPosition=-1;return}var o=Math.min(t._lastPlayerWidth/t._lastSourceWidth,t._lastPlayerHeight/t._lastSourceHeight),l=Math.max(0,o-1),d=Math.max(0,1-o);e.data.view_max_upscale_percentage=Math.max(e.data.view_max_upscale_percentage||0,l),e.data.view_max_downscale_percentage=Math.max(e.data.view_max_downscale_percentage||0,d),et(e.data,"view_total_content_playback_time",a),et(e.data,"view_total_upscaling",l*a),et(e.data,"view_total_downscaling",d*a)}t._lastPlayheadPosition=-1})}),s.forEach(function(n){e.on(n,function(){t._lastPlayheadPosition=e.data.player_playhead_time,t._lastPlayerWidth=e.data.player_width,t._lastPlayerHeight=e.data.player_height,t._lastSourceWidth=e.data.video_source_width,t._lastSourceHeight=e.data.video_source_height})})},x1=S1,R1=2e3,I1=function i(e){"use strict";var t=this;ht(this,i),H(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,s=function(){var n=st.now(),a=(e.data.viewer_time||n)-(r||n);et(e.data,"view_seek_duration",a),e.data.view_max_seek_time=Math.max(e.data.view_max_seek_time||0,a),t.isSeeking=!1,r=-1};e.on("seeking",function(n,a){if(Object.assign(e.data,a),t.isSeeking&&a.viewer_time-r<=R1){r=a.viewer_time;return}t.isSeeking&&s(),t.isSeeking=!0,r=a.viewer_time,et(e.data,"view_seek_count",1),e.send("seeking")}),e.on("seeked",function(){s()}),e.on("viewend",function(){t.isSeeking&&(s(),e.send("seeked")),t.isSeeking=!1,r=-1})},L1=I1,Zv=function(i,e){i.push(e),i.sort(function(t,r){return t.viewer_time-r.viewer_time})},k1=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],C1=function(){"use strict";function i(e){var t=this;ht(this,i),H(this,"_adHasPlayed",void 0),H(this,"_adRequests",void 0),H(this,"_adResponses",void 0),H(this,"_currentAdRequestNumber",void 0),H(this,"_currentAdResponseNumber",void 0),H(this,"_prerollPlayTime",void 0),H(this,"_wouldBeNewAdPlay",void 0),H(this,"isAdBreak",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){t.isAdBreak=!1,t._currentAdRequestNumber=0,t._currentAdResponseNumber=0,t._adRequests=[],t._adResponses=[],t._adHasPlayed=!1,t._wouldBeNewAdPlay=!0,t._prerollPlayTime=void 0}),k1.forEach(function(s){return e.on(s,t._updateAdData.bind(t))});var r=function(){t.isAdBreak=!1};e.on("adbreakstart",function(){t.isAdBreak=!0}),e.on("play",r),e.on("playing",r),e.on("viewend",r),e.on("adrequest",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdRequestNumber++},n),Zv(t._adRequests,n),et(e.data,"view_ad_request_count"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||et(e.data,"view_preroll_request_count"))}),e.on("adresponse",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdResponseNumber++},n),Zv(t._adResponses,n);var a=t.findAdRequest(n.ad_request_id);a&&et(e.data,"view_ad_request_time",Math.max(0,n.viewer_time-a.viewer_time))}),e.on("adplay",function(s,n){t._adHasPlayed=!0,t._wouldBeNewAdPlay&&(t._wouldBeNewAdPlay=!1,et(e.data,"view_ad_played_count")),t.inPrerollPosition()&&!e.data.view_preroll_played&&(e.data.view_preroll_played=!0,t._adRequests.length>0&&(e.data.view_preroll_request_time=Math.max(0,n.viewer_time-t._adRequests[0].viewer_time)),e.data.view_start&&(e.data.view_startup_preroll_request_time=Math.max(0,n.viewer_time-e.data.view_start)),t._prerollPlayTime=n.viewer_time)}),e.on("adplaying",function(s,n){t.inPrerollPosition()&&typeof e.data.view_preroll_load_time=="undefined"&&typeof t._prerollPlayTime!="undefined"&&(e.data.view_preroll_load_time=n.viewer_time-t._prerollPlayTime,e.data.view_startup_preroll_load_time=n.viewer_time-t._prerollPlayTime)}),e.on("adclicked",function(s,n){t._wouldBeNewAdPlay||et(e.data,"view_ad_clicked_count")}),e.on("adskipped",function(s,n){t._wouldBeNewAdPlay||et(e.data,"view_ad_skipped_count")}),e.on("adended",function(){t._wouldBeNewAdPlay=!0}),e.on("aderror",function(){t._wouldBeNewAdPlay=!0})}return Si(i,[{key:"inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t3e4&&(e.emit("devicesleep",{viewer_time:o}),Object.assign(e.data,{viewer_time:o}),e.send("devicesleep"),e.emit("devicewake",{viewer_time:a}),Object.assign(e.data,{viewer_time:a}),e.send("devicewake"))};e.one("playbackheartbeat",r),e.on("playbackheartbeatend",function(){e.off("before*",s),e.one("playbackheartbeat",r)})},O1=P1,Fh=ii(Ai()),hE=function(i){return i()}(function(){var i=function(){for(var t=0,r={};t1){if(a=i({path:"/"},r.defaults,a),typeof a.expires=="number"){var l=new Date;l.setMilliseconds(l.getMilliseconds()+a.expires*864e5),a.expires=l}try{o=JSON.stringify(n),/^[\{\[]/.test(o)&&(n=o)}catch{}return t.write?n=t.write(n,s):n=encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),s=encodeURIComponent(String(s)),s=s.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),s=s.replace(/[\(\)]/g,escape),document.cookie=[s,"=",n,a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}s||(o={});for(var d=document.cookie?document.cookie.split("; "):[],u=/(%[0-9A-Z]{2})+/g,c=0;c1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=i||z1,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},Y1,e)};ji.prototype.queueEvent=function(i,e){var t=Object.assign({},e);return this._eventQueue.length<=this._options.maxQueueLength||i==="eventrateexceeded"?(this._eventQueue.push(t),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength):!1};ji.prototype.flushEvents=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(i&&this._eventQueue.length===1){this._eventQueue.pop();return}this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending()};ji.prototype.destroy=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,i?this._clearBeaconQueue():this.flushEvents(),Zr.default.clearTimeout(this._sendTimeout)};ji.prototype._clearBeaconQueue=function(){var i=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,e=this._eventQueue.slice(i);i>0&&Object.assign(e[e.length-1],Wh({mux_view_message:"event queue truncated"}));var t=this._createPayload(e);bE(this._beaconUrl,t,!0,function(){})};ji.prototype._sendBeaconQueue=function(){var i=this;if(!this._postInFlight){var e=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var t=this._createPayload(e),r=st.now();bE(this._beaconUrl,t,!1,function(s,n){n?(i._eventQueue=e.concat(i._eventQueue),i._failureCount+=1,qe.info("Error sending beacon: "+n)):i._failureCount=0,i._roundTripTime=st.now()-r,i._postInFlight=!1})}};ji.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var i=Math.pow(2,this._failureCount-1);return i=i*Math.random(),(1+i)*this._options.baseTimeBetweenBeacons};ji.prototype._startBeaconSending=function(){var i=this;Zr.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=Zr.default.setTimeout(function(){i._eventQueue.length&&i._sendBeaconQueue(),i._startBeaconSending()},this._getNextBeaconTime()))};ji.prototype._createPayload=function(i){var e=this,t={transmission_timestamp:Math.round(st.now())};this._roundTripTime&&(t.rtt_ms=Math.round(this._roundTripTime));var r,s,n,a=function(){r=JSON.stringify({metadata:t,events:s||i}),n=r.length/1024},o=function(){return n<=e._options.maxPayloadKBSize};return a(),o()||(qe.info("Payload size is too big ("+n+" kb). Removing unnecessary events."),s=i.filter(function(l){return j1.indexOf(l.e)===-1}),a()),o()||(qe.info("Payload size still too big ("+n+" kb). Cropping fields.."),s.forEach(function(l){for(var d in l){var u=l[d],c=50*1024;typeof u=="string"&&u.length>c&&(l[d]=u.substring(0,c))}}),a()),r};var X1=function(i){return i.length<=q1},bE=function(i,e,t,r){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(i,e)){r();return}if(Zr.default.fetch){Zr.default.fetch(i,{method:"POST",body:e,headers:{"Content-Type":"text/plain"},keepalive:X1(e)}).then(function(n){return r(null,n.ok?null:"Error")}).catch(function(n){return r(null,n)});return}if(Zr.default.XMLHttpRequest){var s=new Zr.default.XMLHttpRequest;s.onreadystatechange=function(){if(s.readyState===4)return r(null,s.status!==200?"error":void 0)},s.open("POST",i),s.setRequestHeader("Content-Type","text/plain"),s.send(e);return}r()},Q1=ji,Z1=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id","player_error_code","player_error_message","player_error_context","player_error_severity","player_error_business_exception"],J1=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],ex=["ad_id","ad_creative_id","ad_universal_id"],tx=["viewstart","error","ended","viewend"],ix=10*60*1e3,rx=function(){"use strict";function i(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};ht(this,i);var s,n,a,o,l,d,u,c,h,f,m,p;H(this,"mux",void 0),H(this,"envKey",void 0),H(this,"options",void 0),H(this,"eventQueue",void 0),H(this,"sampleRate",void 0),H(this,"disableCookies",void 0),H(this,"respectDoNotTrack",void 0),H(this,"previousBeaconData",void 0),H(this,"lastEventTime",void 0),H(this,"rateLimited",void 0),H(this,"pageLevelData",void 0),H(this,"viewerData",void 0),this.mux=e,this.envKey=t,this.options=r,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new Q1($1(this.envKey,this.options));var g;this.sampleRate=(g=this.options.sampleRate)!==null&&g!==void 0?g:1;var E;this.disableCookies=(E=this.options.disableCookies)!==null&&E!==void 0?E:!1;var b;this.respectDoNotTrack=(b=this.options.respectDoNotTrack)!==null&&b!==void 0?b:!1,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(s=this.options.platform)===null||s===void 0?void 0:s.name,viewer_application_version:(n=this.options.platform)===null||n===void 0?void 0:n.version,viewer_application_engine:(a=this.options.platform)===null||a===void 0?void 0:a.layout,viewer_device_name:(o=this.options.platform)===null||o===void 0?void 0:o.product,viewer_device_category:"",viewer_device_manufacturer:(l=this.options.platform)===null||l===void 0?void 0:l.manufacturer,viewer_os_family:(u=this.options.platform)===null||u===void 0||(d=u.os)===null||d===void 0?void 0:d.family,viewer_os_architecture:(h=this.options.platform)===null||h===void 0||(c=h.os)===null||c===void 0?void 0:c.architecture,viewer_os_version:(m=this.options.platform)===null||m===void 0||(f=m.os)===null||f===void 0?void 0:f.version,viewer_connection_type:G1(),page_url:Fh.default===null||Fh.default===void 0||(p=Fh.default.location)===null||p===void 0?void 0:p.href},this.viewerData=this.disableCookies?{}:F1()}return Si(i,[{key:"send",value:function(e,t){if(!(!e||!(t!=null&&t.view_id))){if(this.respectDoNotTrack&&Gh())return qe.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||typeof t!="object")return qe.error("A data object was expected in send() but was not provided");var r=this.disableCookies?{}:B1(),s=qh(Wl({},this.pageLevelData,t,r,this.viewerData),{event:e,env_key:this.envKey});s.user_id&&(s.viewer_user_id=s.user_id,delete s.user_id);var n,a=((n=s.mux_sample_number)!==null&&n!==void 0?n:0)>=this.sampleRate,o=this._deduplicateBeaconData(e,s),l=Wh(o);if(this.lastEventTime=this.mux.utils.now(),a)return qe.info("Not sending event due to sample rate restriction",e,s,l);if(this.envKey||qe.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,s,l),!this.rateLimited){if(qe.info("Sending event",e,s,l),this.rateLimited=!this.eventQueue.queueEvent(e,l),this.mux.WINDOW_UNLOADING&&e==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&e==="hb"?this.eventQueue.flushEvents(!0):tx.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return s.event="eventrateexceeded",l=Wh(s),this.eventQueue.queueEvent(s.event,l),qe.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var r=this,s={},n=t.view_id;if(n==="-1"||e==="viewstart"||e==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=ix)s=Wl({},t),n&&(this.previousBeaconData=s),n&&e==="viewend"&&(this.previousBeaconData=null);else{var a=e.indexOf("request")===0;Object.entries(t).forEach(function(o){var l=qi(o,2),d=l[0],u=l[1];r.previousBeaconData&&(u!==r.previousBeaconData[d]||Z1.indexOf(d)>-1||r.objectHasChanged(a,d,u,r.previousBeaconData[d])||r.eventRequiresKey(e,d))&&(s[d]=u,r.previousBeaconData[d]=u)})}return s}},{key:"objectHasChanged",value:function(e,t,r,s){return!e||t.indexOf("request_")!==0?!1:t==="request_response_headers"||typeof r!="object"||typeof s!="object"?!0:Object.keys(r||{}).length!==Object.keys(s||{}).length}},{key:"eventRequiresKey",value:function(e,t){return!!(e==="renditionchange"&&t.indexOf("video_source_")===0||ex.includes(t)&&J1.includes(e))}}]),i}(),sx=function i(e){"use strict";ht(this,i);var t=0,r=0,s=0,n=0,a=0,o=0,l=0,d=function(h,f){var m=f.request_start,p=f.request_response_start,g=f.request_response_end,E=f.request_bytes_loaded;n++;var b,T;if(p?(b=p-(m!=null?m:0),T=(g!=null?g:0)-p):T=(g!=null?g:0)-(m!=null?m:0),T>0&&E&&E>0){var _=E/T*8e3;a++,r+=E,s+=T,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,_),e.data.view_average_request_throughput=r/s*8e3,e.data.view_request_count=n,b>0&&(t+=b,e.data.view_max_request_latency=Math.max(e.data.view_max_request_latency||0,b),e.data.view_average_request_latency=t/a)}},u=function(h,f){n++,o++,e.data.view_request_count=n,e.data.view_request_failed_count=o},c=function(h,f){n++,l++,e.data.view_request_count=n,e.data.view_request_canceled_count=l};e.on("requestcompleted",d),e.on("requestfailed",u),e.on("requestcanceled",c)},nx=sx,ax=60*60*1e3,ox=function i(e){"use strict";var t=this;ht(this,i),H(this,"_lastEventTime",void 0),e.on("before*",function(r,s){var n=s.viewer_time,a=st.now(),o=t._lastEventTime;if(t._lastEventTime=a,o&&a-o>ax){var l=Object.keys(e.data).reduce(function(d,u){return u.indexOf("video_")===0?Object.assign(d,H({},u,e.data[u])):d},{});e.mux.log.info("Received event after at least an hour inactivity, creating a new view"),e.emit("viewinit",Object.assign({viewer_time:n},l)),e.playbackHeartbeat._playheadShouldBeProgressing&&r.type!=="play"&&r.type!=="adbreakstart"&&(e.emit("play",{viewer_time:n}),r.type!=="playing"&&e.emit("playing",{viewer_time:n}))}})},lx=ox,dx=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],ux=new Set(["requestcompleted","requestfailed","requestcanceled"]),cx=function(i){"use strict";WS(t,i);var e=qS(t);function t(r,s,n){ht(this,t);var a;a=e.call(this),H(se(a),"DOM_CONTENT_LOADED_EVENT_END",void 0),H(se(a),"NAVIGATION_START",void 0),H(se(a),"_destroyed",void 0),H(se(a),"_heartBeatTimeout",void 0),H(se(a),"adTracker",void 0),H(se(a),"dashjs",void 0),H(se(a),"data",void 0),H(se(a),"disablePlayheadRebufferTracking",void 0),H(se(a),"disableRebufferTracking",void 0),H(se(a),"errorTracker",void 0),H(se(a),"errorTranslator",void 0),H(se(a),"getAdData",void 0),H(se(a),"getPlayheadTime",void 0),H(se(a),"getStateData",void 0),H(se(a),"hlsjs",void 0),H(se(a),"id",void 0),H(se(a),"longResumeTracker",void 0),H(se(a),"minimumRebufferDuration",void 0),H(se(a),"mux",void 0),H(se(a),"oldEmit",void 0),H(se(a),"playbackEventDispatcher",void 0),H(se(a),"playbackHeartbeat",void 0),H(se(a),"playbackHeartbeatTime",void 0),H(se(a),"playheadTime",void 0),H(se(a),"seekingTracker",void 0),H(se(a),"sustainedRebufferThreshold",void 0),H(se(a),"watchTimeTracker",void 0),H(se(a),"currentFragmentPDT",void 0),H(se(a),"currentFragmentStart",void 0),a.DOM_CONTENT_LOADED_EVENT_END=Kl.domContentLoadedEventEnd(),a.NAVIGATION_START=Kl.navigationStart();var o={debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(f){return f}};a.mux=r,a.id=s,n!=null&&n.beaconDomain&&a.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),n=Object.assign(o,n),n.data=n.data||{},n.data.property_key&&(n.data.env_key=n.data.property_key,delete n.data.property_key),qe.level=n.debug?Qr.DEBUG:Qr.WARN,a.getPlayheadTime=n.getPlayheadTime,a.getStateData=n.getStateData||function(){return{}},a.getAdData=n.getAdData||function(){},a.minimumRebufferDuration=n.minimumRebufferDuration,a.sustainedRebufferThreshold=n.sustainedRebufferThreshold,a.playbackHeartbeatTime=n.playbackHeartbeatTime,a.disableRebufferTracking=n.disableRebufferTracking,a.disableRebufferTracking&&a.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),a.disablePlayheadRebufferTracking=n.disablePlayheadRebufferTracking,a.errorTranslator=n.errorTranslator,a.playbackEventDispatcher=new rx(r,n.data.env_key,n),a.data={player_instance_id:_a(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},a.data.view_sequence_number=1,a.data.player_sequence_number=1,a.oldEmit=a.emit,a.emit=function(f,m){m=Object.assign({viewer_time:this.mux.utils.now()},m),this.oldEmit(f,m)};var l=function(){typeof this.data.view_start=="undefined"&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(se(a));a.on("viewinit",function(f,m){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,m),this._initializeViewData(),this.one("play",l),this.one("adbreakstart",l)});var d=function(f){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",f)}.bind(se(a));if(a.on("videochange",function(f,m){d(m)}),a.on("programchange",function(f,m){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),d(Object.assign(m,{view_program_changed:!0})),l(),this.emit("play"),this.emit("playing")}),a.on("fragmentchange",function(f,m){this.currentFragmentPDT=m.currentFragmentPDT,this.currentFragmentStart=m.currentFragmentStart}),a.on("destroy",a.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var u=function(){var f=typeof a.data.view_start!="undefined";a.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",f&&a.mux.WINDOW_HIDDEN&&(a.data.player_is_paused||a.emit("hb"))};window.addEventListener("visibilitychange",u,!1);var c=function(f){f.persisted||a.destroy()};window.addEventListener("pagehide",c,!1),a.on("destroy",function(){window.removeEventListener("visibilitychange",u),window.removeEventListener("pagehide",c)})}a.on("playerready",function(f,m){Object.assign(this.data,m)}),dx.forEach(function(f){a.on(f,function(m,p){f.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,p),this._sanitizeData()}),a.on("after"+f,function(){(f!=="error"||this.errorTracker.viewErrored)&&this.send(f)})}),a.on("viewend",function(f,m){Object.assign(a.data,m)});var h=function(f){var m=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=m-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time};return a.one("playerready",h),a.longResumeTracker=new lx(se(a)),a.errorTracker=new c1(se(a)),new O1(se(a)),a.seekingTracker=new L1(se(a)),a.playheadTime=new v1(se(a)),a.playbackHeartbeat=new d1(se(a)),new x1(se(a)),a.watchTimeTracker=new f1(se(a)),new p1(se(a)),a.adTracker=new w1(se(a)),new T1(se(a)),new b1(se(a)),new A1(se(a)),new M1(se(a)),new nx(se(a)),n.hlsjs&&a.addHLSJS(n),n.dashjs&&a.addDashJS(n),a.emit("viewinit",n.data),a}return Si(t,[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,typeof this.data.view_start!="undefined"&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(r){if(this.data.view_id){var s=Object.assign({},this.data),n=["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"];if(s.video_source_is_live===void 0&&(s.player_source_duration===1/0||s.video_source_duration===1/0?s.video_source_is_live=!0:(s.player_source_duration>0||s.video_source_duration>0)&&(s.video_source_is_live=!1)),s.video_source_is_live||n.forEach(function(d){s[d]=void 0}),s.video_source_url=s.video_source_url||s.player_source_url,s.video_source_url){var a=qi(Aa(s.video_source_url),2),o=a[0],l=a[1];s.video_source_domain=l,s.video_source_hostname=o}delete s.ad_request_id,this.playbackEventDispatcher.send(r,s),this.data.view_sequence_number++,this.data.player_sequence_number++,ux.has(r)||this._restartHeartBeat(),r==="viewend"&&delete this.data.view_id}}},{key:"_updateStateData",value:function(){Object.assign(this.data,this.getStateData()),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var r=this,s=["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"];s.forEach(function(a){var o=parseInt(r.data[a],10);r.data[a]=isNaN(o)?void 0:o});var n=["player_source_url","video_source_url"];n.forEach(function(a){if(r.data[a]){var o=r.data[a].toLowerCase();(o.indexOf("data:")===0||o.indexOf("blob:")===0)&&(r.data[a]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("video_")===0&&delete r.data[s]})}},{key:"_resetViewData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("view_")===0&&delete r.data[s]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(){delete this.data.player_error_code,delete this.data.player_error_message,delete this.data.player_error_context,delete this.data.player_error_severity,delete this.data.player_error_business_exception}},{key:"_initializeViewData",value:function(){var r=this,s=this.data.view_id=_a(),n=function(){s===r.data.view_id&&et(r.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",n):n()}},{key:"_restartHeartBeat",value:function(){var r=this;window.clearTimeout(this._heartBeatTimeout),this._heartBeatTimeout=window.setTimeout(function(){r.data.player_is_paused||r.emit("hb")},1e4)}},{key:"addHLSJS",value:function(r){if(!r.hlsjs){this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");return}if(this.hlsjs){this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");return}this.hlsjs=r.hlsjs,JS(this.mux,this.id,r.hlsjs,{},r.Hls||window.Hls)}},{key:"removeHLSJS",value:function(){this.hlsjs&&(e1(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(r){if(!r.dashjs){this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");return}if(this.dashjs){this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");return}this.dashjs=r.dashjs,s1(this.mux,this.id,r.dashjs)}},{key:"removeDashJS",value:function(){this.dashjs&&(n1(this.dashjs),this.dashjs=void 0)}}]),t}(o1),hx=cx;Yh();var ba=ii(PS());function fx(){return ba.default&&!!(ba.default.fullscreenElement||ba.default.webkitFullscreenElement||ba.default.mozFullScreenElement||ba.default.msFullscreenElement)}var mx=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],px={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};function gx(i,e,t){var r=qi(Hh(e),3),s=r[0],n=r[1],a=r[2],o=i.log,l=i.utils.getComputedStyle,d=i.utils.secondsToMs,u={automaticErrorTracking:!0};if(s){if(a!=="video"&&a!=="audio")return o.error("The element of `"+n+"` was not a media element.")}else return o.error("No element was found with the `"+n+"` query selector.");s.mux&&(s.mux.destroy(),delete s.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),t=Object.assign(u,t),t.data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:i.VERSION},t.data),t.getPlayheadTime=function(){return d(s.currentTime)},t.getStateData=function(){var h,f=this.hlsjs&&this.hlsjs.url,m=this.dashjs&&Vh(this.dashjs.getSource==="function")&&this.dashjs.getSource(),p={player_is_paused:s.paused,player_playhead_time:d(s.currentTime),player_width:parseInt(l(s,"width")),player_height:parseInt(l(s,"height")),player_autoplay_on:s.autoplay,player_preload_on:s.preload,player_language_code:s.lang,player_is_fullscreen:fx(),video_poster_url:s.poster,video_source_url:f||m||s.currentSrc,video_source_duration:d(s.duration),video_source_height:s.videoHeight,video_source_width:s.videoWidth,view_dropped_frame_count:s==null||(h=s.getVideoPlaybackQuality)===null||h===void 0?void 0:h.call(s).droppedVideoFrames},g=t.getPlayheadTime();if(s.getStartDate&&g>0){var E=s.getStartDate();if(E&&typeof E.getTime=="function"&&E.getTime()){var b=E.getTime();if(p.player_program_time=b+g,s.seekable.length>0){var T=b+s.seekable.end(s.seekable.length-1);p.player_live_edge_program_time=T}}}return p},s.mux=s.mux||{},s.mux.deleted=!1,s.mux.emit=function(h,f){i.emit(n,h,f)};var c=function(){o.error("The monitor for this video element has already been destroyed.")};s.mux.destroy=function(){Object.keys(s.mux.listeners).forEach(function(h){s.removeEventListener(h,s.mux.listeners[h],!1)}),delete s.mux.listeners,s.mux.destroy=c,s.mux.swapElement=c,s.mux.emit=c,s.mux.addHLSJS=c,s.mux.addDashJS=c,s.mux.removeHLSJS=c,s.mux.removeDashJS=c,s.mux.deleted=!0,i.emit(n,"destroy")},s.mux.swapElement=function(h){var f=qi(Hh(h),3),m=f[0],p=f[1],g=f[2];if(m){if(g!=="video"&&g!=="audio")return i.log.error("The element of `"+p+"` was not a media element.")}else return i.log.error("No element was found with the `"+p+"` query selector.");m.muxId=s.muxId,delete s.muxId,m.mux=m.mux||{},m.mux.listeners=Object.assign({},s.mux.listeners),delete s.mux.listeners,Object.keys(m.mux.listeners).forEach(function(E){s.removeEventListener(E,m.mux.listeners[E],!1),m.addEventListener(E,m.mux.listeners[E],!1)}),m.mux.swapElement=s.mux.swapElement,m.mux.destroy=s.mux.destroy,delete s.mux,s=m},s.mux.addHLSJS=function(h){i.addHLSJS(n,h)},s.mux.addDashJS=function(h){i.addDashJS(n,h)},s.mux.removeHLSJS=function(){i.removeHLSJS(n)},s.mux.removeDashJS=function(){i.removeDashJS(n)},i.init(n,t),i.emit(n,"playerready"),s.paused||(i.emit(n,"play"),s.readyState>2&&i.emit(n,"playing")),s.mux.listeners={},mx.forEach(function(h){h==="error"&&!t.automaticErrorTracking||(s.mux.listeners[h]=function(){var f={};if(h==="error"){if(!s.error||s.error.code===1)return;f.player_error_code=s.error.code,f.player_error_message=px[s.error.code]||s.error.message}i.emit(n,h,f)},s.addEventListener(h,s.mux.listeners[h],!1))})}function vx(i,e,t,r){var s=r;if(i&&typeof i[e]=="function")try{s=i[e].apply(i,t)}catch(n){qe.info("safeCall error",n)}return s}var Ta=ii(Ai()),hn;Ta.default&&Ta.default.WeakMap&&(hn=new WeakMap);function Ex(i,e){if(!i||!e||!Ta.default||typeof Ta.default.getComputedStyle!="function")return"";var t;return hn&&hn.has(i)&&(t=hn.get(i)),t||(t=Ta.default.getComputedStyle(i,null),hn&&hn.set(i,t)),t.getPropertyValue(e)}function bx(i){return Math.floor(i*1e3)}var zr={TARGET_DURATION:"#EXT-X-TARGETDURATION",PART_INF:"#EXT-X-PART-INF",SERVER_CONTROL:"#EXT-X-SERVER-CONTROL",INF:"#EXTINF",PROGRAM_DATE_TIME:"#EXT-X-PROGRAM-DATE-TIME",VERSION:"#EXT-X-VERSION",SESSION_DATA:"#EXT-X-SESSION-DATA"},Yl=function(i){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(i),this.manifest};Yl.prototype.process=function(i){var e;for(this.buffer+=i,e=this.buffer.indexOf(` `);e>-1;e=this.buffer.indexOf(` `))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};Yl.prototype.processLine=function(i){var e=i.indexOf(":"),t=Ax(i,e),r=t[0],s=t.length===2?zh(t[1]):void 0;if(r[0]!=="#")this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case zr.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case zr.PART_INF:{Bh(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case zr.SERVER_CONTROL:{Bh(this.manifest,t),this.setHoldBack();break}case zr.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case zr.PROGRAM_DATE_TIME:{var n=s,a=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=a),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=a;break}case zr.VERSION:{Bh(this.manifest,t);break}case zr.SESSION_DATA:{var o=Sx(t[1]),l=cE(o);Object.assign(this.manifest.sessionData,l)}}};Yl.prototype.setHoldBack=function(){var i=this.manifest,e=i.serverControl,t=i.targetDuration,r=i.partTargetDuration;if(e){var s="holdBack",n="partHoldBack",a=t&&t*3,o=r&&r*2;t&&!e.hasOwnProperty(s)&&(e[s]=a),a&&e[s]1){var r=yE(t[0]);e[r]=zh(t[1])}return e},Tx=function(i){for(var e=i.split(","),t={},r=0;e.length>r;r++){var s=e[r],n=yx(s);t=Object.assign(n,t)}return t},_x=function(i){return i.indexOf("=")>-1},Ax=function(i,e){return e===-1?[i]:[i.substring(0,e),i.substring(e+1)]},Sx=function(i){var e={};if(i){var t=i.search(","),r=i.slice(0,t),s=i.slice(t+1),n=[r,s];return n.forEach(function(a,o){for(var l=a.replace(/['"]+/g,"").split("="),d=0;d`):is}function Hx(i,...e){e.forEach(function(t){Ra[t]=i[t]?i[t].bind(i):$x(t)})}function Gx(i,e){if(typeof console=="object"&&i===!0||typeof i=="object"){Hx(i,"debug","log","info","warn","error");try{Ra.log(`Debug logs enabled for "${e}" in hls.js version 1.5.15`)}catch{Ra=gf}}else Ra=gf}var L=Ra,Kx=/^(\d+)x(\d+)$/,_E=/(.+?)=(".*?"|.*?)(?:,|$)/g,je=class i{constructor(e){typeof e=="string"&&(e=i.parseAttrList(e)),tt(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let r=new Uint8Array(t.length/2);for(let s=0;sNumber.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let r=this[e];return r?parseFloat(r):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=Kx.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,r={},s='"';for(_E.lastIndex=0;(t=_E.exec(e))!==null;){let n=t[2];n.indexOf(s)===0&&n.lastIndexOf(s)===n.length-1&&(n=n.slice(1,-1));let a=t[1].trim();r[a]=n}return r}};function Wx(i){return i!=="ID"&&i!=="CLASS"&&i!=="START-DATE"&&i!=="DURATION"&&i!=="END-DATE"&&i!=="END-ON-NEXT"}function Vx(i){return i==="SCTE35-OUT"||i==="SCTE35-IN"}var cd=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let r=t.attr;for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==r[s]){L.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=tt(new je({}),r,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let r=new Date(this.attr["END-DATE"]);q(r.getTime())&&(this._endDate=r)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(q(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&q(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Tn=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},Ie={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},hd=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[Ie.AUDIO]:null,[Ie.VIDEO]:null,[Ie.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let r=e.split("@",2),s;r.length===1?s=(t==null?void 0:t.byteRangeEndOffset)||0:s=parseInt(r[1]),this._byteRange=[s,parseInt(r[0])+s]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=xm.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},Ia=class extends hd{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new Tn,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let r=Object.keys(this.levelkeys);if(r.length===1)return this._decryptdata=this.levelkeys[r[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!q(this.programDateTime))return null;let e=q(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){let t=Object.keys(this.levelkeys),r=t.length;if(r>1||r===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,r,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:r,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,r),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[Ie.AUDIO]=null,e[Ie.VIDEO]=null,e[Ie.AUDIOVIDEO]=null}},vf=class extends hd{constructor(e,t,r,s,n){super(r),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new Tn,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,n),n&&(this.fragOffset=n.fragOffset+n.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}},Yx=10,Ef=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,r=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!r||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&r>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?q(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||Yx}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}};function Rm(i){return Uint8Array.from(atob(i),e=>e.charCodeAt(0))}function qx(i){let e=bf(i).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function jx(i){let e=function(r,s,n){let a=r[s];r[s]=r[n],r[n]=a};e(i,0,3),e(i,1,2),e(i,4,5),e(i,6,7)}function zx(i){let e=i.split(":"),t=null;if(e[0]==="data"&&e.length===2){let r=e[1].split(";"),s=r[r.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(r.splice(-1,1),t=Rm(a)):t=qx(a)}}return t}function bf(i){return Uint8Array.from(unescape(encodeURIComponent(i)),e=>e.charCodeAt(0))}var _n=typeof self!="undefined"?self:void 0,Ne={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Dt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function AE(i){switch(i){case Dt.FAIRPLAY:return Ne.FAIRPLAY;case Dt.PLAYREADY:return Ne.PLAYREADY;case Dt.WIDEVINE:return Ne.WIDEVINE;case Dt.CLEARKEY:return Ne.CLEARKEY}}var xa={CENC:"1077efecc0b24d02ace33c1e52e2fb4b",CLEARKEY:"e2719d58a985b3c9781ab030af78d30e",FAIRPLAY:"94ce86fb07ff4f43adb893d2fa968ca2",PLAYREADY:"9a04f07998404286ab92e65be0885f95",WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function SE(i){if(i===xa.WIDEVINE)return Ne.WIDEVINE;if(i===xa.PLAYREADY)return Ne.PLAYREADY;if(i===xa.CENC||i===xa.CLEARKEY)return Ne.CLEARKEY}function xE(i){switch(i){case Ne.FAIRPLAY:return Dt.FAIRPLAY;case Ne.PLAYREADY:return Dt.PLAYREADY;case Ne.WIDEVINE:return Dt.WIDEVINE;case Ne.CLEARKEY:return Dt.CLEARKEY}}function Xh(i){let{drmSystems:e,widevineLicenseUrl:t}=i,r=e?[Ne.FAIRPLAY,Ne.WIDEVINE,Ne.PLAYREADY,Ne.CLEARKEY].filter(s=>!!e[s]):[];return!r[Ne.WIDEVINE]&&t&&r.push(Ne.WIDEVINE),r}var vb=function(i){return _n!=null&&(i=_n.navigator)!=null&&i.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function Xx(i,e,t,r){let s;switch(i){case Ne.FAIRPLAY:s=["cenc","sinf"];break;case Ne.WIDEVINE:case Ne.PLAYREADY:s=["cenc"];break;case Ne.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${i}`)}return Qx(s,e,t,r)}function Qx(i,e,t,r){return[{initDataTypes:i,persistentState:r.persistentState||"optional",distinctiveIdentifier:r.distinctiveIdentifier||"optional",sessionTypes:r.sessionTypes||[r.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:r.audioRobustness||"",encryptionScheme:r.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:r.videoRobustness||"",encryptionScheme:r.videoEncryptionScheme||null}))}]}function ns(i,e,t){return Uint8Array.prototype.slice?i.slice(e,t):new Uint8Array(Array.prototype.slice.call(i,e,t))}var Im=(i,e)=>e+10<=i.length&&i[e]===73&&i[e+1]===68&&i[e+2]===51&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,Eb=(i,e)=>e+10<=i.length&&i[e]===51&&i[e+1]===68&&i[e+2]===73&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,ka=(i,e)=>{let t=e,r=0;for(;Im(i,e);){r+=10;let s=Fd(i,e+6);r+=s,Eb(i,e+10)&&(r+=10),e+=r}if(r>0)return i.subarray(t,t+r)},Fd=(i,e)=>{let t=0;return t=(i[e]&127)<<21,t|=(i[e+1]&127)<<14,t|=(i[e+2]&127)<<7,t|=i[e+3]&127,t},Zx=(i,e)=>Im(i,e)&&Fd(i,e+6)+10<=i.length-e,Lm=i=>{let e=yb(i);for(let t=0;ti&&i.key==="PRIV"&&i.info==="com.apple.streaming.transportStreamTimestamp",Jx=i=>{let e=String.fromCharCode(i[0],i[1],i[2],i[3]),t=Fd(i,4),r=10;return{type:e,size:t,data:i.subarray(r,r+t)}},yb=i=>{let e=0,t=[];for(;Im(i,e);){let r=Fd(i,e+6);e+=10;let s=e+r;for(;e+8i.type==="PRIV"?tR(i):i.type[0]==="W"?rR(i):iR(i),tR=i=>{if(i.size<2)return;let e=ki(i.data,!0),t=new Uint8Array(i.data.subarray(e.length+1));return{key:i.type,info:e,data:t.buffer}},iR=i=>{if(i.size<2)return;if(i.type==="TXXX"){let t=1,r=ki(i.data.subarray(t),!0);t+=r.length+1;let s=ki(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=ki(i.data.subarray(1));return{key:i.type,data:e}},rR=i=>{if(i.type==="WXXX"){if(i.size<2)return;let t=1,r=ki(i.data.subarray(t),!0);t+=r.length+1;let s=ki(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=ki(i.data);return{key:i.type,data:e}},sR=i=>{if(i.data.byteLength===8){let e=new Uint8Array(i.data),t=e[3]&1,r=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return r/=45,t&&(r+=4772185884e-2),Math.round(r)}},ki=(i,e=!1)=>{let t=nR();if(t){let d=t.decode(i);if(e){let u=d.indexOf("\0");return u!==-1?d.substring(0,u):d}return d.replace(/\0/g,"")}let r=i.length,s,n,a,o="",l=0;for(;l>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(s);break;case 12:case 13:n=i[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=i[l++],a=i[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},Qh;function nR(){if(!navigator.userAgent.includes("PlayStation 4"))return!Qh&&typeof self.TextDecoder!="undefined"&&(Qh=new self.TextDecoder("utf-8")),Qh}var Ri={hexDump:function(i){let e="";for(let t=0;t>24,i[e+1]=t>>16&255,i[e+2]=t>>8&255,i[e+3]=t&255}function oR(i){let e=i.byteLength;for(let t=0;t8&&i[t+4]===109&&i[t+5]===111&&i[t+6]===111&&i[t+7]===102)return!0;t=r>1?t+r:e}return!1}function oe(i,e){let t=[];if(!e.length)return t;let r=i.byteLength;for(let s=0;s1?s+n:r;if(a===e[0])if(e.length===1)t.push(i.subarray(s+8,o));else{let l=oe(i.subarray(s+8,o),e.slice(1));l.length&&aR.apply(t,l)}s=o}return t}function lR(i){let e=[],t=i[0],r=8,s=te(i,r);r+=4;let n=0,a=0;t===0?(n=te(i,r),a=te(i,r+4),r+=8):(n=RE(i,r),a=RE(i,r+8),r+=16),r+=2;let o=i.length+a,l=_b(i,r);r+=2;for(let d=0;d>>31===1)return L.warn("SIDX has hierarchical references (not supported)"),null;let m=te(i,u);u+=4,e.push({referenceSize:h,subsegmentDuration:m,info:{duration:m/s,start:o,end:o+h-1}}),o+=h,u+=4,r=u}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function Sb(i){let e=[],t=oe(i,["moov","trak"]);for(let s=0;s{let n=te(s,4),a=e[n];a&&(a.default={duration:te(s,12),flags:te(s,20)})}),e}function dR(i){let e=i.subarray(8),t=e.subarray(86),r=nt(e.subarray(4,8)),s=r,n=r==="enca"||r==="encv";if(n){let o=oe(e,[r])[0].subarray(r==="enca"?28:78);oe(o,["sinf"]).forEach(d=>{let u=oe(d,["schm"])[0];if(u){let c=nt(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=oe(d,["frma"])[0];h&&(s=nt(h))}}})}switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let a=oe(t,["avcC"])[0];s+="."+jl(a[1])+jl(a[2])+jl(a[3]);break}case"mp4a":{let a=oe(e,[r])[0],o=oe(a.subarray(28),["esds"])[0];if(o&&o.length>12){let l=4;if(o[l++]!==3)break;l=Jh(o,l),l+=2;let d=o[l++];if(d&128&&(l+=2),d&64&&(l+=o[l++]),o[l++]!==4)break;l=Jh(o,l);let u=o[l++];if(u===64)s+="."+jl(u);else break;if(l+=12,o[l++]!==5)break;l=Jh(o,l);let c=o[l++],h=(c&248)>>3;h===31&&(h+=1+((c&7)<<3)+((o[l]&224)>>5)),s+="."+h}break}case"hvc1":case"hev1":{let a=oe(t,["hvcC"])[0],o=a[1],l=["","A","B","C"][o>>6],d=o&31,u=te(a,2),c=(o&32)>>5?"H":"L",h=a[12],f=a.subarray(6,12);s+="."+l+d,s+="."+u.toString(16).toUpperCase(),s+="."+c+h;let m="";for(let p=f.length;p--;){let g=f[p];(g||m)&&(m="."+g.toString(16).toUpperCase()+m)}s+=m;break}case"dvh1":case"dvhe":{let a=oe(t,["dvcC"])[0],o=a[2]>>1&127,l=a[2]<<5&32|a[3]>>3&31;s+="."+xi(o)+"."+xi(l);break}case"vp09":{let a=oe(t,["vpcC"])[0],o=a[4],l=a[5],d=a[6]>>4&15;s+="."+xi(o)+"."+xi(l)+"."+xi(d);break}case"av01":{let a=oe(t,["av1C"])[0],o=a[1]>>>5,l=a[1]&31,d=a[2]>>>7?"H":"M",u=(a[2]&64)>>6,c=(a[2]&32)>>5,h=o===2&&u?c?12:10:u?10:8,f=(a[2]&16)>>4,m=(a[2]&8)>>3,p=(a[2]&4)>>2,g=a[2]&3;s+="."+o+"."+xi(l)+d+"."+xi(h)+"."+f+"."+m+p+g+"."+xi(1)+"."+xi(1)+"."+xi(1)+"."+0;break}}return{codec:s,encrypted:n}}function Jh(i,e){let t=e+5;for(;i[e++]&128&&e{let a=oe(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=oe(a,["enca"]),l=o.length>0;l||(o=oe(a,["encv"])),o.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);oe(u,["sinf"]).forEach(h=>{let f=xb(h);if(f){let m=f.subarray(8,24);m.some(p=>p!==0)||(L.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${Ri.hexDump(m)} -> ${Ri.hexDump(t)}`),f.set(t,8))}})})}),i}function xb(i){let e=oe(i,["schm"])[0];if(e){let t=nt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return oe(i,["schi","tenc"])[0]}return null}function cR(i,e){return oe(e,["moof","traf"]).reduce((t,r)=>{let s=oe(r,["tfdt"])[0],n=s[0],a=oe(r,["tfhd"]).reduce((o,l)=>{let d=te(l,4),u=i[d];if(u){let c=te(s,4);if(n===1){if(c===fd)return L.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;c*=fd+1,c+=te(s,8)}let h=u.timescale||9e4,f=c/h;if(q(f)&&(o===null||ff+m.info.duration||0,0);o=Math.max(o,h+c.earliestPresentationTime/c.timescale),l=o-a}}if(l&&q(l))return l}return r||s}function fR(i){let e=te(i,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let r=0,s=te(i,4);for(let n=0;n{oe(r,["tfhd"]).forEach(s=>{let n=te(s,4),a=i[n];if(!a)return;let o=a.timescale||9e4;oe(r,["tfdt"]).forEach(l=>{let d=l[0],u=t*o;if(u){let c=te(l,4);if(d===0)c-=u,c=Math.max(c,0),Zh(l,4,c);else{c*=Math.pow(2,32),c+=te(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(fd+1)),f=Math.floor(c%(fd+1));Zh(l,4,h),Zh(l,8,f)}}})})})}function pR(i){let e={valid:null,remainder:null},t=oe(i,["moof"]);if(t.length<2)return e.remainder=i,e;let r=t[t.length-1];return e.valid=ns(i,0,r.byteOffset-8),e.remainder=ns(i,r.byteOffset-8),e}function Wt(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function IE(i,e){let t=[],r=e.samples,s=e.timescale,n=e.id,a=!1;return oe(r,["moof"]).map(l=>{let d=l.byteOffset-8;oe(l,["traf"]).map(c=>{let h=oe(c,["tfdt"]).map(f=>{let m=f[0],p=te(f,4);return m===1&&(p*=Math.pow(2,32),p+=te(f,8)),p/s})[0];return h!==void 0&&(i=h),oe(c,["tfhd"]).map(f=>{let m=te(f,4),p=te(f,0)&16777215,g=(p&1)!==0,E=(p&2)!==0,b=(p&8)!==0,T=0,_=(p&16)!==0,A=0,R=(p&32)!==0,S=8;m===n&&(g&&(S+=8),E&&(S+=4),b&&(T=te(f,S),S+=4),_&&(A=te(f,S),S+=4),R&&(S+=4),e.type==="video"&&(a=gR(e.codec)),oe(c,["trun"]).map(C=>{let P=C[0],k=te(C,0)&16777215,M=(k&1)!==0,B=0,F=(k&4)!==0,X=(k&256)!==0,Q=0,V=(k&512)!==0,ne=0,le=(k&1024)!==0,W=(k&2048)!==0,G=0,ae=te(C,4),Z=8;M&&(B=te(C,Z),Z+=4),F&&(Z+=4);let Ee=B+d;for(let Fe=0;Fe>1&63;return t===39||t===40}else return(e&31)===6}function Rb(i,e,t,r){let s=Ib(i),n=0;n+=e;let a=0,o=0,l=0;for(;n=s.length)break;l=s[n++],a+=l}while(l===255);o=0;do{if(n>=s.length)break;l=s[n++],o+=l}while(l===255);let d=s.length-n,u=n;if(od){L.error(`Malformed SEI payload. ${o} is too small, only ${d} bytes left to parse.`);break}if(a===4){if(s[u++]===181){let h=_b(s,u);if(u+=2,h===49){let f=te(s,u);if(u+=4,f===1195456820){let m=s[u++];if(m===3){let p=s[u++],g=31&p,E=64&p,b=E?2+g*3:0,T=new Uint8Array(b);if(E){T[0]=p;for(let _=1;_16){let c=[];for(let m=0;m<16;m++){let p=s[u++].toString(16);c.push(p.length==1?"0"+p:p),(m===3||m===5||m===7||m===9)&&c.push("-")}let h=o-16,f=new Uint8Array(h);for(let m=0;m>24&255,n[1]=r>>16&255,n[2]=r>>8&255,n[3]=r&255,n.set(i,4),s=0,r=8;s0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;let a=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),bR([112,115,115,104],new Uint8Array([r,0,0,0]),i,n,s,a,t||new Uint8Array)}function TR(i){let e=[];if(i instanceof ArrayBuffer){let t=i.byteLength,r=0;for(;r+32>>24;if(n!==0&&n!==1)return{offset:t,size:e};let a=i.buffer,o=Ri.hexDump(new Uint8Array(a,t+12,16)),l=i.getUint32(28),d=null,u=null;if(n===0){if(e-32=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Dt.PLAYREADY:{let r=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=yR(r,null,t);let s=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),n=String.fromCharCode.apply(null,Array.from(s)),a=n.substring(n.indexOf("<"),n.length),d=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("KID")[0];if(d){let u=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(u){let c=Rm(u).subarray(0,16);jx(c),this.keyId=c}}break}default:{let r=t.subarray(0,16);if(r.length!==16){let s=new Uint8Array(16);s.set(r,16-r.length),r=s}this.keyId=r;break}}if(!this.keyId||this.keyId.byteLength!==16){let r=zl[this.uri];if(!r){let s=Object.keys(zl).length%Number.MAX_SAFE_INTEGER;r=new Uint8Array(16),new DataView(r.buffer,12,4).setUint32(0,s),zl[this.uri]=r}this.keyId=r}return this}};function AR(i){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=i>>8*(15-t)&255;return e}var Lb=/\{\$([a-zA-Z0-9-_]+)\}/g;function LE(i){return Lb.test(i)}function Ct(i,e,t){if(i.variableList!==null||i.hasVariableRefs)for(let r=t.length;r--;){let s=t[r],n=e[s];n&&(e[s]=yf(i,n))}}function yf(i,e){if(i.variableList!==null||i.hasVariableRefs){let t=i.variableList;return e.replace(Lb,r=>{let s=r.substring(2,r.length-1),n=t==null?void 0:t[s];return n===void 0?(i.playlistParsingError||(i.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),r):n})}return e}function kE(i,e,t){let r=i.variableList;r||(i.variableList=r={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{let a=new self.URL(t).searchParams;if(a.has(s))n=a.get(s);else throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`)}catch(a){i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in r?i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):r[s]=n||""}function SR(i,e,t){let r=e.IMPORT;if(t&&r in t){let s=i.variableList;s||(i.variableList=s={}),s[r]=t[r]}else i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}function as(i=!0){return typeof self=="undefined"?void 0:(i||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function xR(i){return typeof self!="undefined"&&i===self.ManagedMediaSource}var md={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function RR(i,e){let t=md[e];return!!t&&!!t[i.slice(0,4)]}function ef(i,e,t=!0){return!i.split(",").some(r=>!kb(r,e,t))}function kb(i,e,t=!0){var r;let s=as(t);return(r=s==null?void 0:s.isTypeSupported(wa(i,e)))!=null?r:!1}function wa(i,e){return`${e}/mp4;codecs="${i}"`}function CE(i){if(i){let e=i.substring(0,4);return md.video[e]}return 2}function pd(i){return i.split(",").reduce((e,t)=>{let r=md.video[t];return r?(r*2+e)/(e?3:2):(md.audio[t]+e)/(e?2:1)},0)}var tf={};function IR(i,e=!0){if(tf[i])return tf[i];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[i];for(let r=0;rIR(t.toLowerCase(),e))}function wE(i,e){return i&&i!=="mp4a"?i:e&&e.split(",")[0]}function kR(i){let e=i.split(",");for(let t=0;t2){let s=r.shift()+".";s+=parseInt(r.shift()).toString(16),s+=("000"+parseInt(r.shift()).toString(16)).slice(-4),e[t]=s}}return e.join(",")}var DE=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,ME=/#EXT-X-MEDIA:(.*)/g,CR=/^#EXT(?:INF|-X-TARGETDURATION):/m,PE=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),wR=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),rs=class i{static findGroup(e,t){for(let r=0;r0&&n.length({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(ME.lastIndex=0;(s=ME.exec(e))!==null;){let d=new je(s[1]),u=d.TYPE;if(u){let c=o[u],h=n[u]||[];n[u]=h,Ct(r,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f=d.LANGUAGE,m=d["ASSOC-LANGUAGE"],p=d.CHANNELS,g=d.CHARACTERISTICS,E=d["INSTREAM-ID"],b={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",name:d.NAME||f||"",type:u,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:f,url:d.URI?i.resolve(d.URI,t):""};if(m&&(b.assocLang=m),p&&(b.channels=p),g&&(b.characteristics=g),E&&(b.instreamId=E),c!=null&&c.length){let T=i.findGroup(c,b.groupId)||c[0];UE(b,T,"audioCodec"),UE(b,T,"textCodec")}h.push(b)}}return n}static parseLevelPlaylist(e,t,r,s,n,a){let o=new Ef(t),l=o.fragments,d=null,u=0,c=0,h=0,f=0,m=null,p=new Ia(s,t),g,E,b,T=-1,_=!1,A=null;for(PE.lastIndex=0,o.m3u8=e,o.hasVariableRefs=LE(e);(g=PE.exec(e))!==null;){_&&(_=!1,p=new Ia(s,t),p.start=h,p.sn=u,p.cc=f,p.level=r,d&&(p.initSegment=d,p.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,A&&(p.setByteRange(A),A=null)));let P=g[1];if(P){p.duration=parseFloat(P);let k=(" "+g[2]).slice(1);p.title=k||null,p.tagList.push(k?["INF",P,k]:["INF",P])}else if(g[3]){if(q(p.duration)){p.start=h,b&&$E(p,b,o),p.sn=u,p.level=r,p.cc=f,l.push(p);let k=(" "+g[3]).slice(1);p.relurl=yf(o,k),FE(p,m),m=p,h+=p.duration,u++,c=0,_=!0}}else if(g[4]){let k=(" "+g[4]).slice(1);m?p.setByteRange(k,m):p.setByteRange(k)}else if(g[5])p.rawProgramDateTime=(" "+g[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),T===-1&&(T=l.length);else{if(g=g[0].match(wR),!g){L.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E0&&F.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=F.optionalFloat("PART-HOLD-BACK",0),o.holdBack=F.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let F=new je(M);o.partTarget=F.decimalFloatingPoint("PART-TARGET");break}case"PART":{let F=o.partList;F||(F=o.partList=[]);let X=c>0?F[F.length-1]:void 0,Q=c++,V=new je(M);Ct(o,V,["BYTERANGE","URI"]);let ne=new vf(V,p,t,Q,X);F.push(ne),p.duration+=ne.duration;break}case"PRELOAD-HINT":{let F=new je(M);Ct(o,F,["URI"]),o.preloadHint=F;break}case"RENDITION-REPORT":{let F=new je(M);Ct(o,F,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(F);break}default:L.warn(`line parsed but not handled: ${g}`);break}}}m&&!m.relurl?(l.pop(),h-=m.duration,o.partList&&(o.fragmentHint=m)):o.partList&&(FE(p,m),p.cc=f,o.fragmentHint=p,b&&$E(p,b,o));let R=l.length,S=l[0],C=l[R-1];if(h+=o.skippedSegments*o.targetduration,h>0&&R&&C){o.averagetargetduration=h/R;let P=C.sn;o.endSN=P!=="initSegment"?P:0,o.live||(C.endList=!0),S&&(o.startCC=S.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,T>0&&MR(l,T),o}};function OE(i,e,t){var r,s;let n=new je(i);Ct(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(r=n.METHOD)!=null?r:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,u=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&L.error(`Invalid IV: ${n.IV}`);let c=o?rs.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new Ca(a,c,u,h,l)}function NE(i){let t=new je(i).decimalFloatingPoint("TIME-OFFSET");return q(t)?t:null}function DR(i,e){let t=(i||"").split(/[ ,]+/).filter(r=>r);["video","audio","text"].forEach(r=>{let s=t.filter(n=>RR(n,r));s.length&&(e[`${r}Codec`]=s.join(","),t=t.filter(n=>s.indexOf(n)===-1))}),e.unknownCodecs=t}function UE(i,e,t){let r=e[t];r&&(i[t]=r)}function MR(i,e){let t=i[e];for(let r=e;r--;){let s=i[r];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function FE(i,e){i.rawProgramDateTime?i.programDateTime=Date.parse(i.rawProgramDateTime):e!=null&&e.programDateTime&&(i.programDateTime=e.endProgramDateTime),q(i.programDateTime)||(i.programDateTime=null,i.rawProgramDateTime=null)}function BE(i,e,t,r){i.relurl=e.URI,e.BYTERANGE&&i.setByteRange(e.BYTERANGE),i.level=t,i.sn="initSegment",r&&(i.levelkeys=r),i.initSegment=null}function $E(i,e,t){i.levelkeys=e;let{encryptedFragments:r}=t;(!r.length||r[r.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&r.push(i)}var ye={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},re={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function HE(i){let{type:e}=i;switch(e){case ye.AUDIO_TRACK:return re.AUDIO;case ye.SUBTITLE_TRACK:return re.SUBTITLE;default:return re.MAIN}}function rf(i,e){let t=i.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var Tf=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,r=t.pLoader,s=t.loader,n=r||s,a=new n(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:r}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:ye.MANIFEST,url:r,deliveryDirectives:null})}onLevelLoading(e,t){let{id:r,level:s,pathwayId:n,url:a,deliveryDirectives:o}=t;this.load({id:r,level:s,pathwayId:n,responseType:"text",type:ye.LEVEL,url:a,deliveryDirectives:o})}onAudioTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ye.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ye.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let r=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url&&d.level===e.level){L.trace("[playlist-loader]: playlist request ongoing");return}L.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===ye.MANIFEST?n=r.manifestLoadPolicy.default:n=tt({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),q((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===ye.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===ye.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===ye.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let u=d.partTarget,c=d.targetduration;if(u&&c){let h=Math.max(u*3,c*.8)*1e3;n=tt({},n,{maxTimeToFirstByteMs:Math.min(h,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,n.maxTimeToFirstByteMs)})}}}let a=n.errorRetry||n.timeoutRetry||{},o={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},l={onSuccess:(d,u,c,h)=>{let f=this.getInternalLoader(c);this.resetInternalLoader(c.type);let m=d.data;if(m.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,c,new Error("no EXTM3U delimiter"),h||null,u);return}u.parsing.start=performance.now(),rs.isMediaPlaylist(m)?this.handleTrackOrLevelPlaylist(d,u,c,h||null,f):this.handleMasterPlaylist(d,u,c,h)},onError:(d,u,c,h)=>{this.handleNetworkError(u,c,!1,d,h)},onTimeout:(d,u,c)=>{this.handleNetworkError(u,c,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,r,s){let n=this.hls,a=e.data,o=rf(e,r),l=rs.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,r,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:u,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m}=l;this.variableList=m;let{AUDIO:p=[],SUBTITLES:g,"CLOSED-CAPTIONS":E}=rs.parseMasterPlaylistMedia(a,o,l);p.length&&!p.some(T=>!T.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(L.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),p.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new je({}),bitrate:0,url:""})),n.trigger(v.MANIFEST_LOADED,{levels:u,audioTracks:p,subtitles:g,captions:E,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m})}handleTrackOrLevelPlaylist(e,t,r,s,n){let a=this.hls,{id:o,level:l,type:d}=r,u=rf(e,r),c=0,h=q(l)?l:q(o)?o:0,f=HE(r),m=rs.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===ye.MANIFEST){let p={attrs:new je({}),bitrate:0,details:m,name:"",url:u};a.trigger(v.MANIFEST_LOADED,{levels:[p],audioTracks:[],url:u,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),r.levelDetails=m,this.handlePlaylistLoaded(m,e,t,r,s,n)}handleManifestParsingError(e,t,r,s,n){this.hls.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:w.MANIFEST_PARSING_ERROR,fatal:t.type===ye.MANIFEST,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,r=!1,s,n){let a=`A network ${r?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===ye.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===ye.AUDIO_TRACK||e.type===ye.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);L.warn(`[playlist-loader]: ${a}`);let l=w.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case ye.MANIFEST:l=r?w.MANIFEST_LOAD_TIMEOUT:w.MANIFEST_LOAD_ERROR,d=!0;break;case ye.LEVEL:l=r?w.LEVEL_LOAD_TIMEOUT:w.LEVEL_LOAD_ERROR,d=!1;break;case ye.AUDIO_TRACK:l=r?w.AUDIO_TRACK_LOAD_TIMEOUT:w.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case ye.SUBTITLE_TRACK:l=r?w.SUBTITLE_TRACK_LOAD_TIMEOUT:w.SUBTITLE_LOAD_ERROR,d=!1;break}u&&this.resetInternalLoader(e.type);let c={type:ie.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:u,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;c.response=gt({url:h,data:void 0},s)}this.hls.trigger(v.ERROR,c)}handlePlaylistLoaded(e,t,r,s,n,a){let o=this.hls,{type:l,level:d,id:u,groupId:c,deliveryDirectives:h}=s,f=rf(t,s),m=HE(s),p=typeof s.level=="number"&&m===re.MAIN?d:void 0;if(!e.fragments.length){let E=new Error("No Segments found in Playlist");o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:w.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:E,reason:E.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let g=e.playlistParsingError;if(g){o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:w.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:g,reason:g.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case ye.MANIFEST:case ye.LEVEL:o.trigger(v.LEVEL_LOADED,{details:e,level:p||0,id:u||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case ye.AUDIO_TRACK:o.trigger(v.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case ye.SUBTITLE_TRACK:o.trigger(v.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break}}};function Cb(i,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=i,e.dispatchEvent(t)}function wb(i,e){let t=i.mode;if(t==="disabled"&&(i.mode="hidden"),i.cues&&!i.cues.getCueById(e.id))try{if(i.addCue(e),!i.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(r){L.debug(`[texttrack-utils]: ${r}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,i.addCue(s)}catch(s){L.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(i.mode=t)}function vn(i){let e=i.mode;if(e==="disabled"&&(i.mode="hidden"),i.cues)for(let t=i.cues.length;t--;)i.removeCue(i.cues[t]);e==="disabled"&&(i.mode=e)}function _f(i,e,t,r){let s=i.mode;if(s==="disabled"&&(i.mode="hidden"),i.cues&&i.cues.length>0){let n=OR(i.cues,e,t);for(let a=0;ai[t].endTime)return-1;let r=0,s=t;for(;r<=s;){let n=Math.floor((s+r)/2);if(ei[n].startTime&&r-1)for(let n=s,a=i.length;n=e&&o.endTime<=t)r.push(o);else if(o.startTime>t)return r}return r}function sd(i){let e=[];for(let t=0;t{let i=Af();try{i&&new i(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function sf(i,e){return i.getTime()/1e3-e}function UR(i){return Uint8Array.from(i.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Sf=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(vn(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;tXl&&(c=Xl),c-u<=0&&(c=u+NR);for(let f=0;fu.type===ai.audioId3&&l:s==="video"?d=u=>u.type===ai.emsg&&o:d=u=>u.type===ai.audioId3&&l||u.type===ai.emsg&&o,_f(n,t,r,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:r,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let u=Object.keys(r).filter(c=>!a.includes(c));for(let c=u.length;c--;){let h=u[c];Object.keys(r[h].cues).forEach(f=>{s.removeCue(r[h].cues[f])}),delete r[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!q(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=Af();for(let u=0;u{if(R!==h.id){let S=n[R];if(S.class===h.class&&S.startDate>h.startDate&&(!A||h.startDatethis.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:r,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&r||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let u=s;return d+Math.min(this.stallCount*1,u)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,r=this.levelDetails;if(e===null||t===null||r===null)return null;let s=r.edge,n=e-t-this.edgeStalled,a=s-r.totalduration,o=s-(this.config.lowLatencyMode&&r.partTarget||r.targetduration);return Math.min(Math.max(a,n),o)}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let r=e.buffered.length;return(r?e.buffered.end(r-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(v.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var r;t.details===w.BUFFER_STALLED_ERROR&&(this.stallCount++,(r=this.levelDetails)!=null&&r.live&&L.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let r=this.computeLatency();if(r===null)return;this._latency=r;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1||!t.live)return;let a=this.targetLatency;if(a===null)return;let o=r-a,l=Math.min(this.maxLatency,a+t.targetduration);if(o.05&&this.forwardBufferLength>1){let u=Math.min(2,Math.max(1,n)),c=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,c))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},Rf=["NONE","TYPE-0","TYPE-1",null];function FR(i){return Rf.indexOf(i)>-1}var vd=["SDR","PQ","HLG"];function BR(i){return!!i&&vd.indexOf(i)>-1}var nd={No:"",Yes:"YES",v2:"v2"};function KE(i){let{canSkipUntil:e,canSkipDateRanges:t,age:r}=i,s=r!!t).map(t=>t.substring(0,4)).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return WE(this._audioGroups,e)}hasSubtitleGroup(e){return WE(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let r=this._audioGroups;r||(r=this._audioGroups=[]),r.indexOf(t)===-1&&r.push(t)}else if(e==="text"){let r=this._subtitleGroups;r||(r=this._subtitleGroups=[]),r.indexOf(t)===-1&&r.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}};function WE(i,e){return!e||!i?!1:i.indexOf(e)!==-1}function nf(i,e){let t=e.startPTS;if(q(t)){let r=0,s;e.sn>i.sn?(r=t-i.start,s=i):(r=i.start-t,s=e),s.duration!==r&&(s.duration=r)}else e.sn>i.sn?i.cc===e.cc&&i.minEndPTS?e.start=i.start+(i.minEndPTS-i.start):e.start=i.start+i.duration:e.start=Math.max(i.start-e.duration,0)}function Db(i,e,t,r,s,n){r-t<=0&&(L.warn("Fragment should have a positive duration",e),r=t+e.duration,n=s+e.duration);let o=t,l=r,d=e.startPTS,u=e.endPTS;if(q(d)){let g=Math.abs(d-t);q(e.deltaPTS)?e.deltaPTS=Math.max(g,e.deltaPTS):e.deltaPTS=g,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(r,u),r=Math.max(r,u),n=Math.max(n,e.endDTS)}let c=t-e.start;e.start!==0&&(e.start=t),e.duration=r-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=r,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!i||hi.endSN)return 0;let f,m=h-i.startSN,p=i.fragments;for(p[m]=e,f=m;f>0;f--)nf(p[f],p[f-1]);for(f=m;f=0;l--){let d=r[l].initSegment;if(d){t=d;break}}i.fragmentHint&&delete i.fragmentHint.endPTS;let s=0,n;if(KR(i,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),q(l.startPTS)&&q(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(n=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var u;d&&(!d.initSegment||d.initSegment.relurl===((u=t)==null?void 0:u.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){L.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=HR(i.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){L.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?Db(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):Mb(i,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=i.driftStartTime,e.driftStart=i.driftStart;let o=e.advancedDateTime;if(e.advanced&&o){let l=e.edge;e.driftStart||(e.driftStartTime=o,e.driftStart=l),e.driftEndTime=o,e.driftEnd=l}else e.driftEndTime=i.driftEndTime,e.driftEnd=i.driftEnd,e.advancedDateTime=i.advancedDateTime}function HR(i,e,t){let r=tt({},i);return t&&t.forEach(s=>{delete r[s]}),Object.keys(e).forEach(s=>{let n=new cd(e[s].attr,r[s]);n.isValid?r[s]=n:L.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),r}function GR(i,e,t){if(i&&e){let r=0;for(let s=0,n=i.length;s<=n;s++){let a=i[s],o=e[s+r];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):r--}}}function KR(i,e,t){let r=e.skippedSegments,s=Math.max(i.startSN,e.startSN)-e.startSN,n=(i.fragmentHint?1:0)+(r?e.endSN:Math.min(i.endSN,e.endSN))-e.startSN,a=e.startSN-i.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=i.fragmentHint?i.fragments.concat(i.fragmentHint):i.fragments;for(let d=s;d<=n;d++){let u=l[a+d],c=o[d];r&&!c&&d=r.length||If(e,r[t].start)}function If(i,e){if(e){let t=i.fragments;for(let r=i.skippedSegments;re){let n=r[r.length-1].duration*1e3;n{let{details:r}=e;r!=null&&r.fragments&&r.fragments.forEach(s=>{s.level=t})})}function bd(i){switch(i.details){case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_TIMEOUT:case w.LEVEL_LOAD_TIMEOUT:case w.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function YE(i,e){let t=bd(e);return i.default[`${t?"timeout":"error"}Retry`]}function km(i,e){let t=i.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*i.retryDelayMs,i.maxRetryDelayMs)}function qE(i){return gt(gt({},i),{errorRetry:null,timeoutRetry:null})}function yd(i,e,t,r){if(!i)return!1;let s=r==null?void 0:r.code,n=e499)}var Nb={search:function(i,e){let t=0,r=i.length-1,s=null,n=null;for(;t<=r;){s=(t+r)/2|0,n=i[s];let a=e(n);if(a>0)t=s+1;else if(a<0)r=s-1;else return n}return null}};function qR(i,e,t){if(e===null||!Array.isArray(i)||!i.length||!q(e))return null;let r=i[0].programDateTime;if(e<(r||0))return null;let s=i[i.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n0&&o<15e-7&&(t+=15e-7)}else t===0&&e[0].start===0&&(n=e[0]);if(n&&((!i||i.level===n.level)&&Lf(t,r,n)===0||jR(n,i,Math.min(s,r))))return n;let a=Nb.search(e,Lf.bind(null,t,r));return a&&(a!==i||!n)?a:n}function jR(i,e,t){if(e&&e.start===0&&e.level0){let r=e.tagList.reduce((s,n)=>(n[0]==="INF"&&(s+=parseFloat(n[1])),s),t);return i.start<=r}return!1}function Lf(i=0,e=0,t){if(t.start<=i&&t.start+t.duration>i)return 0;let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-r<=i?1:t.start-r>i&&t.start?-1:0}function zR(i,e,t){let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-r>i}function XR(i,e){return Nb.search(i,t=>t.cce?-1:0)}var mt={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},ri={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},kf=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=L.log.bind(L,"[info]:"),this.warn=L.warn.bind(L,"[warning]:"),this.error=L.error.bind(L,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.ERROR,this.onError,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.ERROR,this.onError,this),e.off(v.ERROR,this.onErrorOut,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===re.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var r,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case w.FRAG_PARSING_ERROR:if((r=t.frag)!=null&&r.gap){t.errorAction={action:mt.DoNothing,flags:ri.None};return}case w.FRAG_GAP:case w.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=mt.SendAlternateToPenaltyBox;return}case w.LEVEL_EMPTY_ERROR:case w.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===re.MAIN?t.level:n.loadLevel;t.details===w.LEVEL_EMPTY_ERROR&&((o=t.context)!=null&&(l=o.levelDetails)!=null&&l.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,d):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d))}return;case w.LEVEL_LOAD_ERROR:case w.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case w.AUDIO_TRACK_LOAD_ERROR:case w.AUDIO_TRACK_LOAD_TIMEOUT:case w.SUBTITLE_LOAD_ERROR:case w.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===ye.AUDIO_TRACK&&d.hasAudioGroup(a.groupId)||a.type===ye.SUBTITLE_TRACK&&d.hasSubtitleGroup(a.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=mt.SendAlternateToPenaltyBox,t.errorAction.flags=ri.MoveAllAlternatesMatchingHost;return}}return;case w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],u=d==null?void 0:d.attrs["HDCP-LEVEL"];u?t.errorAction={action:mt.SendAlternateToPenaltyBox,flags:ri.MoveAllAlternatesMatchingHDCP,hdcpLevel:u}:this.keySystemError(t)}return;case w.BUFFER_ADD_CODEC_ERROR:case w.REMUX_ALLOC_ERROR:case w.BUFFER_APPEND_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case w.INTERNAL_EXCEPTION:case w.BUFFER_APPENDING_ERROR:case w.BUFFER_FULL_ERROR:case w.LEVEL_SWITCH_ERROR:case w.BUFFER_STALLED_ERROR:case w.BUFFER_SEEK_OVER_HOLE:case w.BUFFER_NUDGE_ON_STALL:t.errorAction={action:mt.DoNothing,flags:ri.None};return}t.type===ie.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){let t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){let r=this.hls,s=YE(r.config.playlistLoadPolicy,e),n=this.playlistError++;if(yd(s,n,bd(e),e.response))return{action:mt.RetryRequest,flags:ri.None,retryConfig:s,retryCount:n};let o=this.getLevelSwitchAction(e,t);return s&&(o.retryConfig=s,o.retryCount=n),o}getFragRetryOrSwitchAction(e){let t=this.hls,r=this.getVariantLevelIndex(e.frag),s=t.levels[r],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=YE(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,c)=>u+c.fragmentError,0);if(s&&(e.details!==w.FRAG_GAP&&s.fragmentError++,yd(o,l,bd(e),e.response)))return{action:mt.RetryRequest,flags:ri.None,retryConfig:o,retryCount:l};let d=this.getLevelSwitchAction(e,r);return o&&(d.retryConfig=o,d.retryCount=l),d}getLevelSwitchAction(e,t){let r=this.hls;t==null&&(t=r.loadLevel);let s=this.hls.levels[t];if(s){var n,a;let d=e.details;s.loadError++,d===w.BUFFER_APPEND_ERROR&&s.fragmentError++;let u=-1,{levels:c,loadLevel:h,minAutoLevel:f,maxAutoLevel:m}=r;r.autoLevelEnabled||(r.loadLevel=-1);let p=(n=e.frag)==null?void 0:n.type,E=(p===re.AUDIO&&d===w.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===w.BUFFER_ADD_CODEC_ERROR||d===w.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:R})=>s.audioCodec!==R),T=e.sourceBufferName==="video"&&(d===w.BUFFER_ADD_CODEC_ERROR||d===w.BUFFER_APPEND_ERROR)&&c.some(({codecSet:R,audioCodec:S})=>s.codecSet!==R&&s.audioCodec===S),{type:_,groupId:A}=(a=e.context)!=null?a:{};for(let R=c.length;R--;){let S=(R+h)%c.length;if(S!==h&&S>=f&&S<=m&&c[S].loadError===0){var o,l;let C=c[S];if(d===w.FRAG_GAP&&p===re.MAIN&&e.frag){let P=c[S].details;if(P){let k=Td(e.frag,P.fragments,e.frag.start);if(k!=null&&k.gap)continue}}else{if(_===ye.AUDIO_TRACK&&C.hasAudioGroup(A)||_===ye.SUBTITLE_TRACK&&C.hasSubtitleGroup(A))continue;if(p===re.AUDIO&&(o=s.audioGroups)!=null&&o.some(P=>C.hasAudioGroup(P))||p===re.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(P=>C.hasSubtitleGroup(P))||E&&s.audioCodec===C.audioCodec||!E&&s.audioCodec!==C.audioCodec||T&&s.codecSet===C.codecSet)continue}u=S;break}}if(u>-1&&r.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:mt.SendAlternateToPenaltyBox,flags:ri.None,nextAutoLevel:u}}return{action:mt.SendAlternateToPenaltyBox,flags:ri.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case mt.DoNothing:break;case mt.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==w.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case mt.RetryRequest:break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,r=e.errorAction;if(!r)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=r;switch(s){case ri.None:this.switchLevel(e,a);break;case ri.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=Rf[Rf.indexOf(n)-1],r.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}r.resolved||this.switchLevel(e,a)}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},Da=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=L.log.bind(L,`${t}:`),this.warn=L.warn.bind(L,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,r){let s=t==null?void 0:t.renditionReports;if(s){let n=-1;for(let a=0;a=0&&u>t.partTarget&&(l+=1)}let d=r&&KE(r);return new Ed(o,l>=0?l:void 0,d)}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,r){let{details:s,stats:n}=t,a=self.performance.now(),o=n.loading.first?Math.max(0,a-n.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||r!=null&&r.live){if(s.reloaded(r),r&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),r&&s.fragments.length>0&&$R(r,s),!this.canLoad||!s.live)return;let l,d,u;if(s.canBlockReload&&s.endSN&&s.advanced){let g=this.hls.config.lowLatencyMode,E=s.lastPartSn,b=s.endSN,T=s.lastPartIndex,_=T!==-1,A=E===b,R=g?0:T;_?(d=A?b+1:E,u=A?R:T+1):d=b+1;let S=s.age,C=S+s.ageHeader,P=Math.min(C-s.partTarget,s.targetduration*1.5);if(P>0){if(r&&P>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${P} with playlist age: ${s.age}`),P=0;else{let k=Math.floor(P/s.targetduration);if(d+=k,u!==void 0){let M=Math.round(P%s.targetduration/s.partTarget);u+=M}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${S.toFixed(2)}s goal: ${P} skip sn ${k} to part ${u}`)}s.tuneInGoal=P}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u),g||!A){this.loadPlaylist(l);return}}else(s.canBlockReload||s.canSkipUntil)&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u));let c=this.hls.mainForwardBufferInfo,h=c?c.end-c.len:0,f=(s.edge-h)*1e3,m=WR(s,f);s.updated&&a>this.requestScheduled+m&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+m-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+mthis.loadPlaylist(l),p)}else this.clearTimer()}getDeliveryDirectives(e,t,r,s){let n=KE(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,s=t.part,n=nd.No),new Ed(r,s,n)}checkRetry(e){let t=e.details,r=bd(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===mt.RetryRequest||!s.resolved&&n===mt.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(r&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let u=km(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),u),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${u}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},vr=class{constructor(e,t=0,r=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}sample(e,t){let r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}},Cf=class{constructor(e,t,r,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new vr(e),this.fast_=new vr(t),this.defaultTTFB_=s,this.ttfb_=new vr(e)}update(e,t){let{slow_:r,fast_:s,ttfb_:n}=this;r.halfLife!==e&&(this.slow_=new vr(e,r.getEstimate(),r.getTotalWeight())),s.halfLife!==t&&(this.fast_=new vr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new vr(e,n.getEstimate(),n.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let r=8*t,s=e/1e3,n=r/s;this.fast_.sample(s,n),this.slow_.sample(s,n)}sampleTTFB(e){let t=e/1e3,r=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(r,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}},Ub={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},jE={};function QR(i,e,t,r,s,n){let a=i.audioCodec?i.audioGroups:null,o=n==null?void 0:n.audioCodec,l=n==null?void 0:n.channels,d=l?parseInt(l):o?1/0:2,u=null;if(a!=null&&a.length)try{a.length===1&&a[0]?u=e.groups[a[0]].channels:u=a.reduce((c,h)=>{if(h){let f=e.groups[h];if(!f)throw new Error(`Audio track group ${h} not found`);Object.keys(f.channels).forEach(m=>{c[m]=(c[m]||0)+f.channels[m]})}return c},{2:0})}catch{return!0}return i.videoCodec!==void 0&&(i.width>1920&&i.height>1088||i.height>1920&&i.width>1088||i.frameRate>Math.max(r,30)||i.videoRange!=="SDR"&&i.videoRange!==t||i.bitrate>Math.max(s,8e6))||!!u&&q(d)&&Object.keys(u).some(c=>parseInt(c)>d)}function ZR(i,e,t){let r=i.videoCodec,s=i.audioCodec;if(!r||!s||!t)return Promise.resolve(Ub);let n={width:i.width,height:i.height,bitrate:Math.ceil(Math.max(i.bitrate*.9,i.averageBitrate)),framerate:i.frameRate||30},a=i.videoRange;a!=="SDR"&&(n.transferFunction=a.toLowerCase());let o=r.split(",").map(l=>({type:"media-source",video:gt(gt({},n),{},{contentType:wa(l,"video")})}));return s&&i.audioGroups&&i.audioGroups.forEach(l=>{var d;l&&((d=e.groups[l])==null||d.tracks.forEach(u=>{if(u.groupId===l){let c=u.channels||"",h=parseFloat(c);q(h)&&h>2&&o.push.apply(o,s.split(",").map(f=>({type:"media-source",audio:{contentType:wa(f,"audio"),channels:""+h}})))}}))}),Promise.all(o.map(l=>{let d=JR(l);return jE[d]||(jE[d]=t.decodingInfo(l))})).then(l=>({supported:!l.some(d=>!d.supported),configurations:o,decodingInfoResults:l})).catch(l=>({supported:!1,configurations:o,decodingInfoResults:[],error:l}))}function JR(i){let{audio:e,video:t}=i,r=t||e;if(r){let s=r.contentType.split('"')[1];if(t)return`r${t.height}x${t.width}f${Math.ceil(t.framerate)}${t.transferFunction||"sd"}_${s}_${Math.ceil(t.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${s}`}return""}function eI(){if(typeof matchMedia=="function"){let i=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(i.media!==e.media)return i.matches===!0}return!1}function tI(i,e){let t=!1,r=[];return i&&(t=i!=="SDR",r=[i]),e&&(r=e.allowedVideoRanges||vd.slice(0),t=e.preferHDR!==void 0?e.preferHDR:eI(),t?r=r.filter(s=>s!=="SDR"):r=["SDR"]),{preferHDR:t,allowedVideoRanges:r}}function iI(i,e,t,r,s){let n=Object.keys(i),a=r==null?void 0:r.channels,o=r==null?void 0:r.audioCodec,l=a&&parseInt(a)===2,d=!0,u=!1,c=1/0,h=1/0,f=1/0,m=0,p=[],{preferHDR:g,allowedVideoRanges:E}=tI(e,s);for(let A=n.length;A--;){let R=i[n[A]];d=R.channels[2]>0,c=Math.min(c,R.minHeight),h=Math.min(h,R.minFramerate),f=Math.min(f,R.minBitrate);let S=E.filter(C=>R.videoRanges[C]>0);S.length>0&&(u=!0,p=S)}c=q(c)?c:0,h=q(h)?h:0;let b=Math.max(1080,c),T=Math.max(30,h);return f=q(f)?f:t,t=Math.max(f,t),u||(e=void 0,p=[]),{codecSet:n.reduce((A,R)=>{let S=i[R];if(R===A)return A;if(S.minBitrate>t)return zi(R,`min bitrate of ${S.minBitrate} > current estimate of ${t}`),A;if(!S.hasDefaultAudio)return zi(R,"no renditions with default or auto-select sound found"),A;if(o&&R.indexOf(o.substring(0,4))%5!==0)return zi(R,`audio codec preference "${o}" not found`),A;if(a&&!l){if(!S.channels[a])return zi(R,`no renditions with ${a} channel sound found (channels options: ${Object.keys(S.channels)})`),A}else if((!o||l)&&d&&S.channels[2]===0)return zi(R,"no renditions with stereo sound found"),A;return S.minHeight>b?(zi(R,`min resolution of ${S.minHeight} > maximum of ${b}`),A):S.minFramerate>T?(zi(R,`min framerate of ${S.minFramerate} > maximum of ${T}`),A):p.some(C=>S.videoRanges[C]>0)?S.maxScore=pd(A)||S.fragmentError>i[A].fragmentError)?A:(m=S.maxScore,R):(zi(R,`no variants with VIDEO-RANGE of ${JSON.stringify(p)} found`),A)},void 0),videoRanges:p,preferHDR:g,minFramerate:h,minBitrate:f}}function zi(i,e){L.log(`[abr] start candidates with "${i}" ignored because ${e}`)}function rI(i){return i.reduce((e,t)=>{let r=e.groups[t.groupId];r||(r=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),r.tracks.push(t);let s=t.channels||"2";return r.channels[s]=(r.channels[s]||0)+1,r.hasDefault=r.hasDefault||t.default,r.hasAutoSelect=r.hasAutoSelect||t.autoselect,r.hasDefault&&(e.hasDefaultAudio=!0),r.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function sI(i,e,t,r){return i.slice(t,r+1).reduce((s,n)=>{if(!n.codecSet)return s;let a=n.audioGroups,o=s[n.codecSet];o||(s[n.codecSet]=o={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!a,fragmentError:0}),o.minBitrate=Math.min(o.minBitrate,n.bitrate);let l=Math.min(n.height,n.width);return o.minHeight=Math.min(o.minHeight,l),o.minFramerate=Math.min(o.minFramerate,n.frameRate),o.maxScore=Math.max(o.maxScore,n.score),o.fragmentError+=n.fragmentError,o.videoRanges[n.videoRange]=(o.videoRanges[n.videoRange]||0)+1,a&&a.forEach(d=>{if(!d)return;let u=e.groups[d];u&&(o.hasDefaultAudio=o.hasDefaultAudio||e.hasDefaultAudio?u.hasDefault:u.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(u.channels).forEach(c=>{o.channels[c]=(o.channels[c]||0)+u.channels[c]}))}),s},{})}function Li(i,e,t){if("attrs"in i){let r=e.indexOf(i);if(r!==-1)return r}for(let r=0;rr.indexOf(s)===-1)}function fn(i,e){let{audioCodec:t,channels:r}=i;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(r===void 0||r===(e.channels||"2"))}function aI(i,e,t,r,s){let n=e[r],o=e.reduce((h,f,m)=>{let p=f.uri;return(h[p]||(h[p]=[])).push(m),h},{})[n.uri];o.length>1&&(r=Math.max.apply(Math,o));let l=n.videoRange,d=n.frameRate,u=n.codecSet.substring(0,4),c=zE(e,r,h=>{if(h.videoRange!==l||h.frameRate!==d||h.codecSet.substring(0,4)!==u)return!1;let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return Li(i,m,s)>-1});return c>-1?c:zE(e,r,h=>{let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return Li(i,m,s)>-1})}function zE(i,e,t){for(let r=e;r;r--)if(t(i[r]))return r;for(let r=e+1;r{let{fragCurrent:t,partCurrent:r,hls:s}=this,{autoLevelEnabled:n,media:a}=s;if(!t||!a)return;let o=performance.now(),l=r?r.stats:t.stats,d=r?r.duration:t.duration,u=o-l.loading.start,c=s.minAutoLevel;if(l.aborted||l.loaded&&l.loaded===l.total||t.level<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n||a.paused||!a.playbackRate||!a.readyState)return;let h=s.mainForwardBufferInfo;if(h===null)return;let f=this.bwEstimator.getEstimateTTFB(),m=Math.abs(a.playbackRate);if(u<=Math.max(f,1e3*(d/(m*2))))return;let p=h.len/m,g=l.loading.first?l.loading.first-l.loading.start:-1,E=l.loaded&&g>-1,b=this.getBwEstimate(),T=s.levels,_=T[t.level],A=l.total||Math.max(l.loaded,Math.round(d*_.averageBitrate/8)),R=E?u-g:u;R<1&&E&&(R=Math.min(u,l.loaded*8/b));let S=E?l.loaded*1e3/R:0,C=S?(A-l.loaded)/S:A*8/b+f/1e3;if(C<=p)return;let P=S?S*8:b,k=Number.POSITIVE_INFINITY,M;for(M=t.level-1;M>c;M--){let F=T[M].maxBitrate;if(k=this.getTimeToLoadFrag(f/1e3,P,d*F,!T[M].details),k=C||k>d*10)return;s.nextLoadLevel=s.nextAutoLevel=M,E?this.bwEstimator.sample(u-Math.min(f,g),l.loaded):this.bwEstimator.sampleTTFB(u);let B=T[M].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>B&&this.resetEstimator(B),this.clearTimer(),L.warn(`[abr] Fragment ${t.sn}${r?" part "+r.index:""} of level ${t.level} is loading too slowly; Time to underbuffer: ${p.toFixed(3)} s Estimated load time for current fragment: ${C.toFixed(3)} s Estimated load time for down switch fragment: ${k.toFixed(3)} s TTFB estimate: ${g|0} ms Current BW estimate: ${q(b)?b|0:"Unknown"} bps New BW estimate: ${this.getBwEstimate()|0} bps Switching to level ${M} @ ${B|0} bps`),s.trigger(v.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:r,stats:l})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(L.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new Cf(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(v.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let r=t.frag;if(!this.ignoreFragment(r)){if(!r.bitrateTest){var s;this.fragCurrent=r,this.partCurrent=(s=t.part)!=null?s:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case w.BUFFER_ADD_CODEC_ERROR:case w.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case w.FRAG_LOAD_TIMEOUT:{let r=t.frag,{fragCurrent:s,partCurrent:n}=this;if(r&&s&&r.sn===s.sn&&r.level===s.level){let a=performance.now(),o=n?n.stats:r.stats,l=a-o.loading.start,d=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&d>-1){let c=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(c,d),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,r,s){let n=e+r/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let r=this.hls.config,{loading:s}=t.stats,n=s.end-s.start;q(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:r}){let s=r?r.stats:t.stats;if(t.type===re.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=r?r.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:r,id:t.type};this.onFragBuffered(v.FRAG_BUFFERED,n),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:r,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:r.stats;if(n.aborted||this.ignoreFragment(r))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.getBwEstimate(),r.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==re.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,r=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(r,t,e,0,s,1,1);if(n>-1)return n;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return L.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,r=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(e!==-1&&(!r||!s||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let n=r&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,n)&&a[e].loadError<=a[n].loadError)return e}return this._nextAutoLevel=n,this.nextAutoLevelKey=this.getAutoLevelKey(),n}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:r}=this,{maxAutoLevel:s,config:n,minAutoLevel:a}=r,o=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),d=this.getStarvationDelay(),u=n.abrBandWidthFactor,c=n.abrBandWidthUpFactor;if(d){let g=this.findBestLevel(l,a,s,d,0,u,c);if(g>=0)return g}let h=o?Math.min(o,n.maxStarvationDelay):n.maxStarvationDelay;if(!d){let g=this.bitrateTestDelay;g&&(h=(o?Math.min(o,n.maxLoadingDelay):n.maxLoadingDelay)-g,L.info(`[abr] bitrate test took ${Math.round(1e3*g)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),u=c=1)}let f=this.findBestLevel(l,a,s,d,h,u,c);if(L.info(`[abr] ${d?"rebuffering expected":"buffer is empty"}, optimal quality level ${f}`),f>-1)return f;let m=r.levels[a],p=r.levels[r.loadLevel];return(m==null?void 0:m.bitrate)<(p==null?void 0:p.bitrate)?a:r.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let r=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/r}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,r,s,n,a,o){var l;let d=s+n,u=this.lastLoadedFragLevel,c=u===-1?this.hls.firstLevel:u,{fragCurrent:h,partCurrent:f}=this,{levels:m,allAudioTracks:p,loadLevel:g,config:E}=this.hls;if(m.length===1)return 0;let b=m[c],T=!!(b!=null&&(l=b.details)!=null&&l.live),_=g===-1||u===-1,A,R="SDR",S=(b==null?void 0:b.frameRate)||0,{audioPreference:C,videoPreference:P}=E,k=this.audioTracksByGroup||(this.audioTracksByGroup=rI(p));if(_){if(this.firstSelection!==-1)return this.firstSelection;let Q=this.codecTiers||(this.codecTiers=sI(m,k,t,r)),V=iI(Q,R,e,C,P),{codecSet:ne,videoRanges:le,minFramerate:W,minBitrate:G,preferHDR:ae}=V;A=ne,R=ae?le[le.length-1]:le[0],S=W,e=Math.max(e,G),L.log(`[abr] picked start tier ${JSON.stringify(V)}`)}else A=b==null?void 0:b.codecSet,R=b==null?void 0:b.videoRange;let M=f?f.duration:h?h.duration:0,B=this.bwEstimator.getEstimateTTFB()/1e3,F=[];for(let Q=r;Q>=t;Q--){var X;let V=m[Q],ne=Q>c;if(!V)continue;if(E.useMediaCapabilities&&!V.supportedResult&&!V.supportedPromise){let Fe=navigator.mediaCapabilities;typeof(Fe==null?void 0:Fe.decodingInfo)=="function"&&QR(V,k,R,S,e,C)?(V.supportedPromise=ZR(V,k,Fe),V.supportedPromise.then(We=>{if(!this.hls)return;V.supportedResult=We;let ze=this.hls.levels,At=ze.indexOf(V);We.error?L.warn(`[abr] MediaCapabilities decodingInfo error: "${We.error}" for level ${At} ${JSON.stringify(We)}`):We.supported||(L.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${At} ${JSON.stringify(We)}`),At>-1&&ze.length>1&&(L.log(`[abr] Removing unsupported level ${At}`),this.hls.removeLevel(At)))})):V.supportedResult=Ub}if(A&&V.codecSet!==A||R&&V.videoRange!==R||ne&&S>V.frameRate||!ne&&S>0&&S=M*2&&n===0?m[Q].averageBitrate:m[Q].maxBitrate,Z=this.getTimeToLoadFrag(B,G,ae*W,le===void 0);if(G>=ae&&(Q===u||V.loadError===0&&V.fragmentError===0)&&(Z<=B||!q(Z)||T&&!this.bitrateTestDelay||Z${Q} adjustedbw(${Math.round(G)})-bitrate=${Math.round(G-ae)} ttfb:${B.toFixed(1)} avgDuration:${W.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${Z.toFixed(1)} firstSelection:${_} codecSet:${A} videoRange:${R} hls.loadLevel:${g}`)),_&&(this.firstSelection=Q),Q}}return-1}set nextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:r}=this.hls,s=Math.min(Math.max(e,r),t);this._nextAutoLevel!==s&&(this.nextAutoLevelKey="",this._nextAutoLevel=s)}},Df=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},pt={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Mf=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.BUFFER_APPENDED,this.onBufferAppended,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.BUFFER_APPENDED,this.onBufferAppended,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let r=this.activePartLists[t];if(r)for(let s=r.length;s--;){let n=r[s];if(!n)break;let a=n.end;if(n.start<=e&&a!==null&&e<=a)return n}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){let{fragments:r}=this,s=Object.keys(r);for(let n=s.length;n--;){let a=r[s[n]];if((a==null?void 0:a.body.type)===t&&a.buffered){let o=a.body;if(o.start<=e&&e<=o.end)return o}}return null}detectEvictedFragments(e,t,r,s){this.timeRanges&&(this.timeRanges[e]=t);let n=(s==null?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o||n>=o.body.sn)return;if(!o.buffered&&!o.loaded){o.body.type===r&&this.removeFragment(o.body);return}let l=o.range[e];l&&l.time.some(d=>{let u=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return u&&this.removeFragment(o.body),u})})}detectPartialFragments(e){let t=this.timeRanges,{frag:r,part:s}=e;if(!t||r.sn==="initSegment")return;let n=mn(r),a=this.fragments[n];if(!a||a.buffered&&r.gap)return;let o=!r.relurl;Object.keys(t).forEach(l=>{let d=r.elementaryStreams[l];if(!d)return;let u=t[l],c=o||d.partial===!0;a.range[l]=this.getBufferedTimes(r,s,c,u)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,(a.body.endList=r.endList||a.body.endList)&&(this.endListFragments[a.body.type]=a),Ql(a)||this.removeParts(r.sn-1,r.type)):this.removeFragment(a.body)}removeParts(e,t){let r=this.activePartLists[t];r&&(this.activePartLists[t]=r.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let r=mn(e),s=this.fragments[r];!s&&t&&(s=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,r,s){let n={time:[],partial:r},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let u=0;u=c&&l<=h){n.time.push({startPTS:Math.max(a,s.start(u)),endPTS:Math.min(o,s.end(u))});break}else if(ac){let f=Math.max(a,s.start(u)),m=Math.min(o,s.end(u));m>f&&(n.partial=!0,n.time.push({startPTS:f,endPTS:m}))}else if(o<=c)break}return n}getPartialFragment(e){let t=null,r,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let u=l[d];u&&Ql(u)&&(s=u.body.start-o,n=u.body.end+o,e>=s&&e<=n&&(r=Math.min(e-s,n-e),a<=r&&(t=u.body,a=r)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||Ql(t))}getState(e){let t=mn(e),r=this.fragments[t];return r?r.buffered?Ql(r)?pt.PARTIAL:pt.OK:pt.APPENDING:pt.NOT_LOADED}isTimeBuffered(e,t,r){let s,n;for(let a=0;a=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:r,part:s}=t;if(r.sn==="initSegment"||r.bitrateTest)return;let n=s?null:t,a=mn(r);this.fragments[a]={body:r,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:r,part:s,timeRanges:n}=t;if(r.sn==="initSegment")return;let a=r.type;if(s){let o=this.activePartLists[a];o||(this.activePartLists[a]=o=[]),o.push(s)}this.timeRanges=n,Object.keys(n).forEach(o=>{let l=n[o];this.detectEvictedFragments(o,l,a,s)})}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=mn(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,r,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let l=o.body;l.type!==r||s&&!l.gap||l.starte&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=mn(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let r=this.activePartLists[e.type];if(r){let s=e.sn;this.activePartLists[e.type]=r.filter(n=>n.fragment.sn!==s)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}};function Ql(i){var e,t,r;return i.buffered&&(i.body.gap||((e=i.range.video)==null?void 0:e.partial)||((t=i.range.audio)==null?void 0:t.partial)||((r=i.range.audiovideo)==null?void 0:r.partial))}function mn(i){return`${i.type}_${i.level}_${i.sn}`}var oI={length:0,start:()=>0,end:()=>0},$e=class i{static isBuffered(e,t){try{if(e){let r=i.getBuffered(e);for(let s=0;s=r.start(s)&&t<=r.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,r){try{if(e){let s=i.getBuffered(e),n=[],a;for(a=0;ac&&(s[u-1].end=e[d].end):s.push(e[d])}else s.push(e[d])}else s=e;let n=0,a,o=t,l=t;for(let d=0;d=u&&tt.startCC||i&&i.cc{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(f=>f[0]==="GAP")){l(JE(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),u=ZE(e),c=qE(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:QE};e.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d);let E=f.data;p.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(E.slice(0,16)),E=E.slice(16)),o({frag:e,part:null,payload:E,networkDetails:g})},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new ni({type:ie.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:gt({url:r,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{this.resetLoader(e,d),l(new ni({type:ie.NETWORK_ERROR,details:w.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new ni({type:ie.NETWORK_ERROR,details:w.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))},onProgress:(f,m,p,g)=>{t&&t({frag:e,part:null,payload:p,networkDetails:g})}})})}loadPart(e,t,r){this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(JE(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),u=ZE(e,t),c=qE(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:QE};t.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let E={frag:e,part:t,payload:f.data,networkDetails:g};r(E),o(E)},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new ni({type:ie.NETWORK_ERROR,details:w.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:gt({url:u.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new ni({type:ie.NETWORK_ERROR,details:w.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new ni({type:ie.NETWORK_ERROR,details:w.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))}})})}updateStatsFromPart(e,t){let r=e.stats,s=t.stats,n=s.total;if(r.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(r.loaded/n),l),c=(l-d)*Math.round(r.loaded/d);r.total=r.loaded+c}else r.total=Math.max(r.loaded,r.total);let a=r.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function ZE(i,e=null){let t=e||i,r={frag:i,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(q(s)&&q(n)){var a;let o=s,l=n;if(i.sn==="initSegment"&&((a=i.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(r.resetIV=!0,o=s-16)}r.rangeStart=o,r.rangeEnd=l}return r}function JE(i,e){let t=new Error(`GAP ${i.gap?"tag":"attribute"} found`),r={type:ie.MEDIA_ERROR,details:w.FRAG_GAP,fatal:!1,frag:i,error:t,networkDetails:null};return e&&(r.part=e),(e||i).stats.aborted=!0,new ni(r)}var ni=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},Of=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}},Nf=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}};function hI(i){let e=i.byteLength,t=e&&new DataView(i.buffer).getUint8(e-1);return t?ns(i,0,e-t):i}var Uf=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),r=new Uint32Array(4);for(let s=0;s<4;s++)r[s]=t.getUint32(s*4);return r}initTable(){let e=this.sBox,t=this.invSBox,r=this.subMix,s=r[0],n=r[1],a=r[2],o=r[3],l=this.invSubMix,d=l[0],u=l[1],c=l[2],h=l[3],f=new Uint32Array(256),m=0,p=0,g=0;for(g=0;g<256;g++)g<128?f[g]=g<<1:f[g]=g<<1^283;for(g=0;g<256;g++){let E=p^p<<1^p<<2^p<<3^p<<4;E=E>>>8^E&255^99,e[m]=E,t[E]=m;let b=f[m],T=f[b],_=f[T],A=f[E]*257^E*16843008;s[m]=A<<24|A>>>8,n[m]=A<<16|A>>>16,a[m]=A<<8|A>>>24,o[m]=A,A=_*16843009^T*65537^b*257^m*16843008,d[E]=A<<24|A>>>8,u[E]=A<<16|A>>>16,c[E]=A<<8|A>>>24,h[E]=A,m?(m=b^f[f[f[_^b]]],p^=f[f[p]]):m=p=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),r=!0,s=0;for(;sthis.subtle?(this.logOnce("WebCrypto AES decrypt"),new Of(this.subtle,new Uint8Array(r)).decrypt(e.buffer,s)):Promise.reject(new Error("web crypto not initialized"))).catch(s=>(L.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${s.name}: ${s.message}`),this.onWebCryptoError(e,t,r)))}onWebCryptoError(e,t,r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,r=e.length-e.length%fI;return r!==e.length&&(t=ns(e,0,r),this.remainderData=ns(e,r)),t}logOnce(e){this.logEnabled&&(L.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},mI={toString:function(i){let e="",t=i.length;for(let r=0;ro.end){let c=a>u;(a{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${n.part?" p: "+n.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return}e.stats.chunkCount++,this._handleFragmentLoadProgress(n)};this._doFragLoad(e,t,r,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===O.FRAG_LOADING||!this.fragCurrent&&a===O.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=O.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(v.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===O.STOPPED||this.state===O.ERROR||(this.warn(`Frag error: ${(n==null?void 0:n.message)||n}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:r}=this;if(r.getState(e)===pt.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength),l=this.backtrackFragment;((l?e.sn-l.sn:0)===1||this.reduceMaxBufferLength(o,e.duration))&&r.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?r.removeAllFragments():r.hasParts(e.type)&&(r.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),r.getState(e)===pt.PARTIAL&&r.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}flushMainBuffer(e,t,r=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:r};this.hls.trigger(v.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(r=>{if(!r||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return r}).then(r=>{let{hls:s}=this,{payload:n}=r,a=e.decryptdata;if(n&&n.byteLength>0&&a!=null&&a.key&&a.iv&&a.method==="AES-128"){let o=self.performance.now();return this.decrypter.decrypt(new Uint8Array(n),a.key.buffer,a.iv.buffer).catch(l=>{throw s.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(v.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),r.payload=l,this.completeInitSegmentLoad(r)})}return this.completeInitSegmentLoad(r)}).catch(r=>{this.state===O.STOPPED||this.state===O.ERROR||(this.warn(r),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");let r=e.frag.stats;this.state=O.IDLE,e.frag.data=new Uint8Array(e.payload),r.parsing.start=r.buffering.start=self.performance.now(),r.parsing.end=r.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var r,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===re.MAIN?"level":"track"} ${e.level} (frag:[${((r=e.startPTS)!=null?r:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?mI.toString($e.getBuffered(o)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==re.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=O.IDLE;return}}let d=(l=this.levels)==null?void 0:l[e.level];d!=null&&d.fragmentError&&(this.log(`Resetting level fragment error count of ${d.fragmentError} on frag buffered`),d.fragmentError=0)}this.state=O.IDLE,o&&(!this.loadedmetadata&&e.type==re.MAIN&&o.buffered.length&&((n=this.fragCurrent)==null?void 0:n.sn)===((a=this.fragPrevious)==null?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:r,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new Ma(r.level,r.sn,r.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,r=null,s){var n;let a=t==null?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)?(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=O.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(u=>{if(!this.fragContextChanged(u.frag))return this.hls.trigger(v.KEY_LOADED,u),this.state===O.KEY_LOADING&&(this.state=O.IDLE),u}),this.hls.trigger(v.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments),r=Math.max(e.start,r||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let u=a.partList;if(u&&s){r>e.end&&a.fragmentHint&&(e=a.fragmentHint);let c=this.getNextPart(u,e,r);if(c>-1){let h=u[c];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${c}-${u.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=O.FRAG_LOADING;let f;return o?f=o.then(m=>!m||this.fragContextChanged(m.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(m=>this.handleFragLoadError(m)):f=this.doFragPartsLoad(e,h,t,s).catch(m=>this.handleFragLoadError(m)),this.hls.trigger(v.FRAG_LOADING,{frag:e,part:h,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(u,r))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),q(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=O.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(u=>!u||this.fragContextChanged(u==null?void 0:u.frag)?null:this.fragmentLoader.load(e,s)).catch(u=>this.handleFragLoadError(u)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([u])=>(!l&&u&&s&&s(u),u)).catch(u=>this.handleFragLoadError(u)),this.hls.trigger(v.FRAG_LOADING,{frag:e,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,r,s){return new Promise((n,a)=>{var o;let l=[],d=(o=r.details)==null?void 0:o.partList,u=c=>{this.fragmentLoader.loadPart(e,c,s).then(h=>{l[c.index]=h;let f=h.part;this.hls.trigger(v.FRAG_LOADED,h);let m=VE(r,e.sn,c.index+1)||Pb(d,e.sn,c.index+1);if(m)u(m);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};u(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===w.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(v.ERROR,t)}else this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==O.PARSING){!this.fragCurrent&&this.state!==O.STOPPED&&this.state!==O.ERROR&&(this.state=O.IDLE);return}let{frag:r,part:s,level:n}=t,a=self.performance.now();r.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(r,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:r}=this,{level:s,sn:n,part:a}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of level ${s}. The current chunk will not be buffered.`),null;let o=t[s],l=a>-1?VE(o,n,a):null,d=l?l.fragment:VR(o,n,r);return d?(r&&r!==d&&(d.stats=r.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,r,s,n){var a;if(!e||this.state!==O.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Wt(o,l)),!((a=d)!=null&&a.length))return;let u={type:e.type,frag:t,part:r,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(v.BUFFER_APPENDING,u),e.dropped&&e.independent&&!r){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!$e.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let r=t.currentTime,s=$e.bufferInfo(t,r,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),r+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let r=this.getLoadPosition();return q(r)?this.getFwdBufferInfoAtPos(e,r,t):null}getFwdBufferInfoAtPos(e,t,r){let{config:{maxBufferHole:s}}=this,n=$e.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,r);if(a&&n.nextStart=s?(r.maxMaxBufferLength=n,this.warn(`Reduce max buffer length to ${n}s`),!0):!1}getAppendedFrag(e,t=re.MAIN){let r=this.fragmentTracker.getAppendedFrag(e,re.MAIN);return r&&"fragment"in r?r.fragment:r}getNextFragment(e,t){let r=t.fragments,s=r.length;if(!s)return null;let{config:n}=this,a=r[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(st}getNextFragmentLoopLoading(e,t,r,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&r.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,r.nextStart,s);if(l!==null&&r.len+l.len>=n)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,r){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o-1&&rr.start&&r.loaded}getInitialLiveFragment(e,t){let r=this.fragPrevious,s=null;if(r){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${r.programDateTime}`),s=qR(t,r.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=r.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];r.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=XR(t,r.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,r){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=r,{fragmentHint:l}=r,{maxFragLookUpTolerance:d}=s,u=r.partList,c=!!(s.lowLatencyMode&&u!=null&&u.length&&l);c&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(et-d?0:d;h=Td(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-r.startSN,m=this.fragmentTracker.getState(h);if((m===pt.OK||m===pt.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!c||u[0].fragment.sn>h.sn)&&n&&h.level===n.level){let g=a[f+1];h.sn=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&r.duration>s&&(n${e.startSN} prev-sn: ${l?l.sn:"na"} fragments: ${s}`),d}return n}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let r=this.startPosition;if(r ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===w.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(r,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===mt.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=km(d,l);this.warn(`Fragment ${r.sn} of ${e} ${r.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),a.resolved=!0,this.retryDate=self.performance.now()+u,this.state=O.FRAG_LOADING_WAITING_RETRY}else if(d&&a)if(this.resetFragmentErrors(e),l.5;n&&this.reduceMaxBufferLength(s.len,(t==null?void 0:t.duration)||10);let a=!n;return a&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${r} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===re.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==O.STOPPED&&(this.state=O.IDLE)}afterBufferFlushed(e,t,r){if(!e)return;let s=$e.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,r),this.state===O.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=O.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=e?e.details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,r,s){var n;let a=r.details;if(!a){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((l,d)=>{let u=e.elementaryStreams[d];if(u){let c=u.endPTS-u.startPTS;if(c<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${c})`),l||!1;let h=s?0:Db(a,e,u.startPTS,u.endPTS,u.startDTS,u.endDTS);return this.hls.trigger(v.LEVEL_PTS_UPDATED,{details:a,level:r,drift:h,type:d,frag:e,start:u.startPTS,end:u.endPTS}),!0}return l},!1)&&((n=this.transmuxer)==null?void 0:n.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(r.fragmentError===0&&(r.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${r.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=O.PARSED,this.hls.trigger(v.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}},Ad=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,r;if(e.length)e.length===1?r=e[0]:r=pI(e,t);else return new Uint8Array(0);return this.reset(),r}reset(){this.chunks.length=0,this.dataLength=0}};function pI(i,e){let t=new Uint8Array(e),r=0;for(let s=0;s0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:ai.audioId3,duration:Number.POSITIVE_INFINITY});s{if(q(i))return i*90;let r=t?t.baseTime*9e4/t.timescale:0;return e*9e4+r};function yI(i,e,t,r){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=r,u=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let c=(e[t+2]&60)>>>2;if(c>u.length-1){let h=new Error(`invalid ADTS sampling index:${c}`);i.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!0,error:h,reason:h.message});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,L.log(`manifest codec:${r}, ADTS type:${s}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(s=5,o=new Array(4),n=c-3):(s=2,o=new Array(2),n=c):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=c):(s=5,o=new Array(4),r&&(r.indexOf("mp4a.40.29")!==-1||r.indexOf("mp4a.40.5")!==-1)||!r&&c>=6?n=c-3:((r&&r.indexOf("mp4a.40.2")!==-1&&(c>=6&&a===1||/vivaldi/i.test(l))||!r&&a===1)&&(s=2,o=new Array(2)),n=c)),o[0]=s<<3,o[0]|=(c&14)>>1,o[1]|=(c&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=8,o[3]=0),{config:o,samplerate:u[c],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function Bb(i,e){return i[e]===255&&(i[e+1]&246)===240}function $b(i,e){return i[e+1]&1?7:9}function Cm(i,e){return(i[e+3]&3)<<11|i[e+4]<<3|(i[e+5]&224)>>>5}function TI(i,e){return e+5=i.length)return!1;let r=Cm(i,e);if(r<=t)return!1;let s=e+r;return s===i.length||Sd(i,s)}return!1}function Hb(i,e,t,r,s){if(!i.samplerate){let n=yI(e,t,r,s);if(!n)return;i.config=n.config,i.samplerate=n.samplerate,i.channelCount=n.channelCount,i.codec=n.codec,i.manifestCodec=n.manifestCodec,L.log(`parsed codec:${i.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function Gb(i){return 1024*9e4/i}function SI(i,e){let t=$b(i,e);if(e+t<=i.length){let r=Cm(i,e)-t;if(r>0)return{headerLength:t,frameLength:r}}}function Kb(i,e,t,r,s){let n=Gb(i.samplerate),a=r+s*n,o=SI(e,t),l;if(o){let{frameLength:c,headerLength:h}=o,f=h+c,m=Math.max(0,t+f-e.length);m?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let p={unit:l,pts:a};return m||i.samples.push(p),{sample:p,length:f,missing:m}}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:a},length:d,missing:-1}}var Jl=null,xI=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],RI=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],II=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],LI=[0,1,1,4];function Wb(i,e,t,r,s){if(t+24>e.length)return;let n=Vb(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=r+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return i.config=[],i.channelCount=n.channelCount,i.samplerate=n.sampleRate,i.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function Vb(i,e){let t=i[e+1]>>3&3,r=i[e+1]>>1&3,s=i[e+2]>>4&15,n=i[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=i[e+2]>>1&1,o=i[e+3]>>6,l=t===3?3-r:r===3?3:4,d=xI[l*14+s-1]*1e3,c=RI[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=II[t][r],m=LI[r],p=f*8*m,g=Math.floor(f*d/c+a)*m;if(Jl===null){let T=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Jl=T?parseInt(T[1]):0}return!!Jl&&Jl<=87&&r===2&&d>=224e3&&o===0&&(i[e+3]=i[e+3]|128),{sampleRate:c,channelCount:h,frameLength:g,samplesPerFrame:p}}}function wm(i,e){return i[e]===255&&(i[e+1]&224)===224&&(i[e+1]&6)!==0}function Yb(i,e){return e+1{let a=ER(n);if(CI.test(a.schemeIdUri)){let o=q(a.presentationTime)?a.presentationTime/a.timeScale:t+a.presentationTimeDelta/a.timeScale,l=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=a.payload;r.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:ai.emsg,duration:l})}})}return r}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},jb=(i,e)=>{let t=0,r=5;e+=r;let s=new Uint32Array(1),n=new Uint32Array(1),a=new Uint8Array(1);for(;r>0;){a[0]=i[e];let o=Math.min(r,8),l=8-o;n[0]=4278190080>>>24+l<>l,t=t?t<e.length||e[t]!==11||e[t+1]!==119)return-1;let n=e[t+4]>>6;if(n>=3)return-1;let o=[48e3,44100,32e3][n],l=e[t+4]&63,u=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][l*3+n]*2;if(t+u>e.length)return-1;let c=e[t+6]>>5,h=0;c===2?h+=2:(c&1&&c!==1&&(h+=2),c&4&&(h+=2));let f=(e[t+6]<<8|e[t+7])>>12-h&1,p=[2,1,2,3,3,4,4,5][c]+f,g=e[t+5]>>3,E=e[t+5]&7,b=new Uint8Array([n<<6|g<<1|E>>2,(E&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),T=1536/o*9e4,_=r+s*T,A=e.subarray(t,t+u);return i.config=b,i.channelCount=p,i.samplerate=o,i.samples.push({unit:A,pts:_}),u}var Hf=class{constructor(){this.VideoSample=null}createVideoSample(e,t,r,s){return{key:e,frame:!1,pts:t,dts:r,units:[],debug:s,length:0}}getLastNalUnit(e){var t;let r=this.VideoSample,s;if((!r||r.units.length===0)&&(r=e[e.length-1]),(t=r)!=null&&t.units){let n=r.units;s=n[n.length-1]}return s}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let r=t.samples,s=r.length;if(s){let n=r[s-1];e.pts=n.pts,e.dts=n.dts}else{t.dropped++;return}}t.samples.push(e)}e.debug.length&&L.log(e.pts+"/"+e.dts+":"+e.debug)}},xd=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,r=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(r,r+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(e>32&&L.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?r<>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t=8,r=8,s;for(let n=0;n{var c;switch(u.type){case 1:{let p=!1;l=!0;let g=u.data;if(d&&g.length>4){let E=new xd(g).readSliceType();(E===2||E===4||E===7||E===9)&&(p=!0)}if(p){var h;(h=o)!=null&&h.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null)}o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.frame=!0,o.key=p;break}case 5:l=!0,(c=o)!=null&&c.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null),o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.key=!0,o.frame=!0;break;case 6:{l=!0,Rb(u.data,1,r.pts,t.samples);break}case 7:{var f,m;l=!0,d=!0;let p=u.data,E=new xd(p).readSPS();if(!e.sps||e.width!==E.width||e.height!==E.height||((f=e.pixelRatio)==null?void 0:f[0])!==E.pixelRatio[0]||((m=e.pixelRatio)==null?void 0:m[1])!==E.pixelRatio[1]){e.width=E.width,e.height=E.height,e.pixelRatio=E.pixelRatio,e.sps=[p],e.duration=n;let b=p.subarray(1,4),T="avc1.";for(let _=0;_<3;_++){let A=b[_].toString(16);A.length<2&&(A="0"+A),T+=A}e.codec=T}break}case 8:l=!0,e.pps=[u.data];break;case 9:l=!0,e.audFound=!0,o&&this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"");break;case 12:l=!0;break;default:l=!1,o&&(o.debug+="unknown NAL "+u.type+" ");break}o&&l&&o.units.push(u)}),s&&o&&(this.pushAccessUnit(o,e),this.VideoSample=null)}parseAVCNALu(e,t){let r=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,u,c=-1,h=0;for(s===-1&&(c=0,h=t[0]&31,s=0,o=1);o=0){let f={data:t.subarray(c,d),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d>0&&(f.data=Wt(f.data,t.subarray(0,d)),f.state=0))}o=0&&s>=0){let f={data:t.subarray(c,r),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);f&&(f.data=Wt(f.data,t))}return e.naluState=s,a}},Kf=class{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new Pa(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,r){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),a=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(a).then(o=>{let l=new Uint8Array(o);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,r)})}decryptAacSamples(e,t,r){for(;;t++){if(t>=e.length){r();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,r),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,r=new Int8Array(t),s=0;for(let n=32;n{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,r+1,s)})}decryptAvcSamples(e,t,r,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(r>=n.length);r++){let a=n[r];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,r,s,a),!this.decrypter.isSync()))return}}}},ft=188,Wf=class i{constructor(e,t,r){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.videoParser=new Gf}static probe(e){let t=i.syncOffset(e);return t>0&&L.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,r=Math.min(ft*5,t-ft)+1,s=0;for(;s1&&(a===0&&o>2||l+ft>r))return a}else{if(o)return-1;break}s++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:Tb[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,r,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=i.createTrack("video"),this._audioTrack=i.createTrack("audio",s),this._id3Track=i.createTrack("id3"),this._txtTrack=i.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:r}=this;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,r=!1,s=!1){r||(this.sampleAes=null);let n,a=this._videoTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,u=a.pid,c=a.pesData,h=o.pid,f=l.pid,m=o.pesData,p=l.pesData,g=null,E=this.pmtParsed,b=this._pmtId,T=e.length;if(this.remainderData&&(e=Wt(this.remainderData,e),T=e.length,this.remainderData=null),T>4,M;if(k>1){if(M=S+5+e[S+4],M===S+ft)continue}else M=S+4;switch(P){case u:C&&(c&&(n=pn(c))&&this.videoParser.parseAVCPES(a,d,n,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(M,S+ft)),c.size+=S+ft-M);break;case h:if(C){if(m&&(n=pn(m)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break;case"ac3":this.parseAC3PES(o,n);break}m={data:[],size:0}}m&&(m.data.push(e.subarray(M,S+ft)),m.size+=S+ft-M);break;case f:C&&(p&&(n=pn(p))&&this.parseID3PES(l,n),p={data:[],size:0}),p&&(p.data.push(e.subarray(M,S+ft)),p.size+=S+ft-M);break;case 0:C&&(M+=e[M]+1),b=this._pmtId=wI(e,M);break;case b:{C&&(M+=e[M]+1);let B=DI(e,M,this.typeSupported,r,this.observer);u=B.videoPid,u>0&&(a.pid=u,a.segmentCodec=B.segmentVideoCodec),h=B.audioPid,h>0&&(o.pid=h,o.segmentCodec=B.segmentAudioCodec),f=B.id3Pid,f>0&&(l.pid=f),g!==null&&!E&&(L.warn(`MPEG-TS PMT found at ${S} after unknown PID '${g}'. Backtracking to sync byte @${_} to parse all TS packets.`),g=null,S=_-188),E=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=P;break}}else A++;A>0&&Rd(this.observer,new Error(`Found ${A} TS packet/s that do not start with 0x47`)),a.pesData=c,o.pesData=m,l.pesData=p;let R={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples(R),R}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:r,id3Track:s,textTrack:n}=e,a=r.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=pn(a))?(this.videoParser.parseAVCPES(r,n,d,!0,this._duration),r.pesData=null):r.pesData=a,o&&(d=pn(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break;case"ac3":this.parseAC3PES(t,d);break}t.pesData=null}else o!=null&&o.size&&L.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=pn(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,r){let s=this.demux(e,r,!0,!this.config.progressive),n=this.sampleAes=new Kf(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(r=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{r(e)}):r(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{r(e)})})}destroy(){this._duration=0}parseAACPES(e,t){let r=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let c=s.missing,h=s.sample.unit.byteLength;if(c===-1)n=Wt(s.sample.unit,n);else{let f=h-c;s.sample.unit.set(n.subarray(0,c),f),e.samples.push(s.sample),r=s.missing}}let a,o;for(a=r,o=n.length;a0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){L.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let r=tt({},t,{type:this._videoTrack?ai.emsg:ai.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}};function Vf(i,e){return((i[e+1]&31)<<8)+i[e+2]}function wI(i,e){return(i[e+10]&31)<<8|i[e+11]}function DI(i,e,t,r,s){let n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},a=(i[e+1]&15)<<8|i[e+2],o=e+3+a-4,l=(i[e+10]&15)<<8|i[e+11];for(e+=12+l;e0){let c=e+5,h=u;for(;h>2;){switch(i[c]){case 106:t.ac3!==!0?L.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=d,n.segmentAudioCodec="ac3");break}let m=i[c+1]+2;c+=m,h-=m}}break;case 194:case 135:return Rd(s,new Error("Unsupported EC-3 in M2TS found")),n;case 36:return Rd(s,new Error("Unsupported HEVC in M2TS found")),n}e+=u+5}return n}function Rd(i,e,t){L.warn(`parsing error: ${e.message}`),i.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function af(i){L.log(`${i} with AES-128-CBC encryption found in unencrypted stream`)}function pn(i){let e=0,t,r,s,n,a,o=i.data;if(!i||i.size===0)return null;for(;o[0].length<19&&o.length>1;)o[0]=Wt(o[0],o[1]),o.splice(1,1);if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(r=(t[4]<<8)+t[5],r&&r>i.size-6)return null;let d=t[7];d&192&&(n=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(a=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,n-a>60*9e4&&(L.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let u=s+9;if(i.size<=u)return null;i.size-=u;let c=new Uint8Array(i.size);for(let h=0,f=o.length;hm){u-=m;continue}else t=t.subarray(u),m-=u,u=0;c.set(t,e),e+=m}return r&&(r-=s+3),{data:c,pts:n,dts:a,len:r}}return null}var Yf=class extends Na{resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=ka(e,0),r=(t==null?void 0:t.length)||0;if(t&&e[r]===11&&e[r+1]===119&&Lm(t)!==void 0&&jb(e,r)<=16)return!1;for(let s=e.length;r>24&255,a[1]=r>>16&255,a[2]=r>>8&255,a[3]=r&255,a.set(e,4),s=0,r=8;s>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return i.box(i.types.mdia,i.mdhd(e.timescale,e.duration),i.hdlr(e.type),i.minf(e))}static mfhd(e){return i.box(i.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?i.box(i.types.minf,i.box(i.types.smhd,i.SMHD),i.DINF,i.stbl(e)):i.box(i.types.minf,i.box(i.types.vmhd,i.VMHD),i.DINF,i.stbl(e))}static moof(e,t,r){return i.box(i.types.moof,i.mfhd(e),i.traf(r,t))}static moov(e){let t=e.length,r=[];for(;t--;)r[t]=i.trak(e[t]);return i.box.apply(null,[i.types.moov,i.mvhd(e[0].timescale,e[0].duration)].concat(r).concat(i.mvex(e)))}static mvex(e){let t=e.length,r=[];for(;t--;)r[t]=i.trex(e[t]);return i.box.apply(null,[i.types.mvex,...r])}static mvhd(e,t){t*=e;let r=Math.floor(t/(gr+1)),s=Math.floor(t%(gr+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return i.box(i.types.mvhd,n)}static sdtp(e){let t=e.samples||[],r=new Uint8Array(4+t.length),s,n;for(s=0;s>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s>>8&255),r.push(a&255),r=r.concat(Array.prototype.slice.call(n));let o=i.box(i.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(r))),l=e.width,d=e.height,u=e.pixelRatio[0],c=e.pixelRatio[1];return i.box(i.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,d>>8&255,d&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,i.box(i.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),i.box(i.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,u&255,c>>24,c>>16&255,c>>8&255,c&255])))}static esds(e){let t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static audioStsd(e){let t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(e){return i.box(i.types.mp4a,i.audioStsd(e),i.box(i.types.esds,i.esds(e)))}static mp3(e){return i.box(i.types[".mp3"],i.audioStsd(e))}static ac3(e){return i.box(i.types["ac-3"],i.audioStsd(e),i.box(i.types.dac3,e.config))}static stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?i.box(i.types.stsd,i.STSD,i.mp3(e)):e.segmentCodec==="ac3"?i.box(i.types.stsd,i.STSD,i.ac3(e)):i.box(i.types.stsd,i.STSD,i.mp4a(e)):i.box(i.types.stsd,i.STSD,i.avc1(e))}static tkhd(e){let t=e.id,r=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(r/(gr+1)),o=Math.floor(r%(gr+1));return i.box(i.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,n>>8&255,n&255,0,0]))}static traf(e,t){let r=i.sdtp(e),s=e.id,n=Math.floor(t/(gr+1)),a=Math.floor(t%(gr+1));return i.box(i.types.traf,i.box(i.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),i.box(i.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,a>>24,a>>16&255,a>>8&255,a&255])),i.trun(e,r.length+16+20+8+16+8+8),r)}static trak(e){return e.duration=e.duration||4294967295,i.box(i.types.trak,i.tkhd(e),i.mdia(e))}static trex(e){let t=e.id;return i.box(i.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let r=e.samples||[],s=r.length,n=12+16*s,a=new Uint8Array(n),o,l,d,u,c,h;for(t+=8+n,a.set([e.type==="video"?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,s&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o>>24&255,d>>>16&255,d>>>8&255,d&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255,c.isLeading<<2|c.dependsOn,c.isDependedOn<<6|c.hasRedundancy<<4|c.paddingValue<<1|c.isNonSync,c.degradPrio&61440,c.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return i.box(i.types.trun,a)}static initSegment(e){i.types||i.init();let t=i.moov(e);return Wt(i.FTYP,t)}};at.types=void 0;at.HDLR_TYPES=void 0;at.STTS=void 0;at.STSC=void 0;at.STCO=void 0;at.STSZ=void 0;at.VMHD=void 0;at.SMHD=void 0;at.STSD=void 0;at.FTYP=void 0;at.DINF=void 0;var Xb=9e4;function Dm(i,e,t=1,r=!1){let s=i*e*t;return r?Math.round(s):s}function MI(i,e,t=1,r=!1){return Dm(i,e,1/t,r)}function Sa(i,e=!1){return Dm(i,1e3,1/Xb,e)}function PI(i,e=1){return Dm(i,Xb,1/e)}var OI=10*1e3,eb=1024,NI=1152,UI=1536,gn=null,of=null,yn=class{constructor(e,t,r,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,gn===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);gn=a?parseInt(a[1]):0}if(of===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);of=n?parseInt(n[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){L.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){L.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){L.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,r=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,Kt(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&L.debug("PTS rollover detected"),r}remux(e,t,r,s,n,a,o,l){let d,u,c,h,f,m,p=n,g=n,E=e.pid>-1,b=t.pid>-1,T=t.samples.length,_=e.samples.length>0,A=o&&T>0||T>1;if((!E||_)&&(!b||A)||this.ISGenerated||o){if(this.ISGenerated){var S,C,P,k;let X=this.videoTrackConfig;X&&(t.width!==X.width||t.height!==X.height||((S=t.pixelRatio)==null?void 0:S[0])!==((C=X.pixelRatio)==null?void 0:C[0])||((P=t.pixelRatio)==null?void 0:P[1])!==((k=X.pixelRatio)==null?void 0:k[1]))&&this.resetInitSegment()}else c=this.generateIS(e,t,n,a);let M=this.isVideoContiguous,B=-1,F;if(A&&(B=FI(t.samples),!M&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,B>0){L.warn(`[mp4-remuxer]: Dropped ${B} out of ${T} video samples due to a missing keyframe`);let X=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(B),t.dropped+=B,g+=(t.samples[0].pts-X)/t.inputTimeScale,F=g}else B===-1&&(L.warn(`[mp4-remuxer]: No keyframe found out of ${T} video samples`),m=!1);if(this.ISGenerated){if(_&&A){let X=this.getVideoStartPts(t.samples),V=(Kt(e.samples[0].pts,X)-X)/t.inputTimeScale;p+=Math.max(0,V),g+=Math.max(0,-V)}if(_){if(e.samplerate||(L.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,n,a)),u=this.remuxAudio(e,p,this.isAudioContiguous,a,b||A||l===re.AUDIO?g:void 0),A){let X=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(L.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,g,M,X)}}else A&&(d=this.remuxVideo(t,g,M,0));d&&(d.firstKeyFrame=B,d.independent=B!==-1,d.firstKeyFramePTS=F)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(f=Qb(r,n,this._initPTS,this._initDTS)),s.samples.length&&(h=Zb(s,n,this._initPTS))),{audio:u,video:d,initSegment:c,independent:m,text:h,id3:f}}generateIS(e,t,r,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,u=!d||s,c="audio/mp4",h,f,m;if(u&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(c="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}l.audio={id:"audio",container:c,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):at.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(m=e.inputTimeScale,!d||m!==d.timescale?h=f=n[0].pts-Math.round(m*r):u=!1)}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:at.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(m=t.inputTimeScale,!d||m!==d.timescale){let p=this.getVideoStartPts(a),g=Math.round(m*r);f=Math.min(f,Kt(a[0].dts,p)-g),h=Math.min(h,p-g)}else u=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(l).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:h,timescale:m},this._initDTS={baseTime:f,timescale:m}):h=m=void 0,{tracks:l,initPTS:h,timescale:m}}remuxVideo(e,t,r,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,u=this.nextAvcDts,c=8,h=this.videoSampleDuration,f,m,p=Number.POSITIVE_INFINITY,g=Number.NEGATIVE_INFINITY,E=!1;if(!r||u===null){let W=t*n,G=a[0].pts-Kt(a[0].dts,a[0].pts);gn&&u!==null&&Math.abs(W-G-u)<15e3?r=!0:u=W-G}let b=d.baseTime*n/d.timescale;for(let W=0;W0?W-1:W].dts&&(E=!0)}E&&a.sort(function(W,G){let ae=W.dts-G.dts,Z=W.pts-G.pts;return ae||Z}),f=a[0].dts,m=a[a.length-1].dts;let T=m-f,_=T?Math.round(T/(l-1)):h||e.inputTimeScale/30;if(r){let W=f-u,G=W>_,ae=W<-1;if((G||ae)&&(G?L.warn(`AVC: ${Sa(W,!0)} ms (${W}dts) hole between fragments detected at ${t.toFixed(3)}`):L.warn(`AVC: ${Sa(-W,!0)} ms (${W}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!ae||u>=a[0].pts||gn)){f=u;let Z=a[0].pts-W;if(G)a[0].dts=f,a[0].pts=Z;else for(let Ee=0;EeZ);Ee++)a[Ee].dts-=W,a[Ee].pts-=W;L.log(`Video: Initial PTS/DTS adjusted: ${Sa(Z,!0)}/${Sa(f,!0)}, delta: ${Sa(W,!0)} ms`)}}f=Math.max(0,f);let A=0,R=0,S=f;for(let W=0;W0?G.dts-a[W-1].dts:_;if(Ee=W>0?G.pts-a[W-1].pts:_,We.stretchShortVideoTrack&&this.nextAudioPts!==null){let At=Math.floor(We.maxBufferHole*n),nr=(s?p+s*n:this.nextAudioPts)-G.pts;nr>At?(h=nr-ze,h<0?h=ze:M=!0,L.log(`[mp4-remuxer]: It is approximately ${nr/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=ze}else h=ze}let Fe=Math.round(G.pts-G.dts);B=Math.min(B,h),X=Math.max(X,h),F=Math.min(F,Ee),Q=Math.max(Q,Ee),o.push(new Ld(G.key,h,Z,Fe))}if(o.length){if(gn){if(gn<70){let W=o[0].flags;W.dependsOn=2,W.isNonSync=0}}else if(of&&Q-F0&&(s&&Math.abs(b-E)<9e3||Math.abs(Kt(p[0].pts-T,b)-E)<20*u),p.forEach(function(V){V.pts=Kt(V.pts-T,b)}),!r||E<0){if(p=p.filter(V=>V.pts>=0),!p.length)return;n===0?E=0:s&&!m?E=Math.max(0,b):E=p[0].pts}if(e.segmentCodec==="aac"){let V=this.config.maxAudioFramesDrift;for(let ne=0,le=E;ne=V*u&&Z0){S+=g;try{R=new Uint8Array(S)}catch(Z){this.observer.emit(v.ERROR,v.ERROR,{type:ie.MUX_ERROR,details:w.REMUX_ALLOC_ERROR,fatal:!1,error:Z,bytes:S,reason:`fail allocating audio mdat ${S}`});return}h||(new DataView(R.buffer).setUint32(0,S),R.set(at.types.mdat,4))}else return;R.set(W,g);let ae=W.byteLength;g+=ae,f.push(new Ld(!0,d,ae,0)),A=G}let P=f.length;if(!P)return;let k=f[f.length-1];this.nextAudioPts=E=A+l*k.duration;let M=h?new Uint8Array(0):at.moof(e.sequenceNumber++,_/l,tt({},e,{samples:f}));e.samples=[];let B=_/a,F=E/a,Q={data1:M,data2:R,startPTS:B,endPTS:F,startDTS:B,endDTS:F,type:"audio",hasAudio:!0,hasVideo:!1,nb:P};return this.isAudioContiguous=!0,Q}remuxEmptyAudio(e,t,r,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,u=d.baseTime*9e4/d.timescale,c=(l!==null?l:s.startDTS*n)+u,h=s.endDTS*n+u,f=o*eb,m=Math.ceil((h-c)/f),p=Id.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(L.warn("[mp4-remuxer]: remux empty Audio"),!p){L.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let g=[];for(let E=0;E4294967296;)i+=t;return i}function FI(i){for(let e=0;ea.pts-o.pts);let n=i.samples;return i.samples=[],{samples:n}}var Ld=class{constructor(e,t,r,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=r,this.cts=s,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}},qf=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,r,s){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(uR(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=Sb(e);s.audio&&(t=tb(s.audio,Ie.AUDIO)),s.video&&(r=tb(s.video,Ie.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+r,initSegment:e,id:"main"}:s.audio?n.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?n.video={container:"video/mp4",codec:r,initSegment:e,id:"main"}:L.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,r,s,n,a){var o,l;let{initPTS:d,lastEndTime:u}=this,c={audio:void 0,video:void 0,text:s,id3:r,initSegment:void 0};q(u)||(u=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return c;let f={initPTS:void 0,timescale:1},m=this.initData;if((o=m)!=null&&o.length||(this.generateInitSegment(h),m=this.initData),!((l=m)!=null&&l.length))return L.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let p=hR(h,m),g=cR(m,h),E=g===null?n:g;(BI(d,E,n,p)||f.timescale!==d.timescale&&a)&&(f.initPTS=E-n,d&&d.timescale===1&&L.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let b=e?E-d.baseTime/d.timescale:u,T=b+p;mR(m,h,d.baseTime/d.timescale),p>0?this.lastEndTime=T:(L.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let _=!!m.audio,A=!!m.video,R="";_&&(R+="audio"),A&&(R+="video");let S={data1:h,startPTS:b,startDTS:b,endPTS:T,endDTS:T,type:R,hasAudio:_,hasVideo:A,nb:1,dropped:0};return c.audio=S.type==="audio"?S:void 0,c.video=S.type!=="audio"?S:void 0,c.initSegment=f,c.id3=Qb(r,n,d,d),s.samples.length&&(c.text=Zb(s,n,d)),c}};function BI(i,e,t,r){if(i===null)return!0;let s=Math.max(r,1),n=e-i.baseTime/i.timescale;return Math.abs(n-t)>s}function tb(i,e){let t=i==null?void 0:i.codec;if(t&&t.length>4)return t;if(e===Ie.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return gd(t,!1);let r="mp4a.40.5";return L.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${r}"`),r}return L.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}var Qi;try{Qi=self.performance.now.bind(self.performance)}catch{L.debug("Unable to use Performance API on this environment"),Qi=_n==null?void 0:_n.Date.now}var od=[{demux:Bf,remux:qf},{demux:Wf,remux:yn},{demux:Ff,remux:yn},{demux:Yf,remux:yn}];od.splice(2,0,{demux:$f,remux:yn});var kd=class{constructor(e,t,r,s,n){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=r,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,r,s){let n=r.transmuxing;n.executeStart=Qi();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:u,trackSwitch:c,accurateTimeOffset:h,timeOffset:f,initSegmentChange:m}=s||o,{audioCodec:p,videoCodec:g,defaultInitPts:E,duration:b,initSegmentData:T}=l,_=$I(a,t);if(_&&_.method==="AES-128"){let C=this.getDecrypter();if(C.isSync()){let P=C.softwareDecrypt(a,_.key.buffer,_.iv.buffer);if(r.part>-1&&(P=C.flush()),!P)return n.executeEnd=Qi(),lf(r);a=new Uint8Array(P)}else return this.decryptionPromise=C.webCryptoDecrypt(a,_.key.buffer,_.iv.buffer).then(P=>{let k=this.push(P,null,r);return this.decryptionPromise=null,k}),this.decryptionPromise}let A=this.needsProbing(u,c);if(A){let C=this.configureTransmuxer(a);if(C)return L.warn(`[transmuxer] ${C.message}`),this.observer.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,fatal:!1,error:C,reason:C.message}),n.executeEnd=Qi(),lf(r)}(u||c||m||A)&&this.resetInitSegment(T,p,g,b,t),(u||m||A)&&this.resetInitialTimestamp(E),d||this.resetContiguity();let R=this.transmux(a,_,f,h,r),S=this.currentTransmuxState;return S.contiguous=!0,S.discontinuity=!1,S.trackSwitch=!1,n.executeEnd=Qi(),R}flush(e){let t=e.transmuxing;t.executeStart=Qi();let{decrypter:r,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(r){let c=r.flush();c&&a.push(this.push(c,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=Qi(),[lf(e)];let u=l.flush(o);return ld(u)?u.then(c=>(this.flushRemux(a,c,e),a)):(this.flushRemux(a,u,e),a)}flushRemux(e,t,r){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;L.log(`[transmuxer.ts]: Flushed fragment ${r.sn}${r.part>-1?" p: "+r.part:""} of level ${r.level}`);let u=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:r}),r.transmuxing.executeEnd=Qi()}resetInitialTimestamp(e){let{demuxer:t,remuxer:r}=this;!t||!r||(t.resetTimeStamp(e),r.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,r,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,r,s),o.resetInitSegment(e,t,r,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,r,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,r,s,n):a=this.transmuxUnencrypted(e,r,s,n),a}transmuxUnencrypted(e,t,r,s){let{audioTrack:n,videoTrack:a,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,a,o,l,t,r,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,r,s,n){return this.demuxer.demuxSampleAes(e,t,r).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,r,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:r,typeSupported:s,vendor:n}=this,a;for(let h=0,f=od.length;h0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var lf=i=>({remuxResult:{},chunkMeta:i});function ld(i){return"then"in i&&i.then instanceof Function}var jf=class{constructor(e,t,r,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=r,this.duration=s,this.defaultInitPts=n||null}},zf=class{constructor(e,t,r,s,n,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=r,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},Jb={exports:{}};(function(i){var e=Object.prototype.hasOwnProperty,t="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(t=!1));function s(l,d,u){this.fn=l,this.context=d,this.once=u||!1}function n(l,d,u,c,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new s(u,c||l,h),m=t?t+d:d;return l._events[m]?l._events[m].fn?l._events[m]=[l._events[m],f]:l._events[m].push(f):(l._events[m]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new r:delete l._events[d]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],u,c;if(this._eventsCount===0)return d;for(c in u=this._events)e.call(u,c)&&d.push(t?c.slice(1):c);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(u)):d},o.prototype.listeners=function(d){var u=t?t+d:d,c=this._events[u];if(!c)return[];if(c.fn)return[c.fn];for(var h=0,f=c.length,m=new Array(f);h{u=u||{},u.frag=this.frag,u.id=this.id,d===v.ERROR&&(this.error=u.error),this.hls.trigger(d,u)};this.observer=new Mm,this.observer.on(v.FRAG_DECRYPTED,a),this.observer.on(v.ERROR,a);let o=as(n.preferManagedMediaSource)||{isTypeSupported:()=>!1},l={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||gI())){try{n.workerPath?(L.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=EI(n.workerPath)):(L.log(`injecting Web Worker for "${t}"`),this.workerContext=vI()),this.onwmsg=c=>this.onWorkerMessage(c);let{worker:u}=this.workerContext;u.addEventListener("message",this.onwmsg),u.onerror=c=>{let h=new Error(`${c.message} (${c.filename}:${c.lineno})`);n.enableWorker=!1,L.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h})},u.postMessage({cmd:"init",typeSupported:l,vendor:"",id:t,config:JSON.stringify(n)})}catch(u){L.warn(`Error setting up "${t}" Web Worker, fallback to inline`,u),this.resetWorker(),this.error=null,this.transmuxer=new kd(this.observer,l,n,"",t)}return}this.transmuxer=new kd(this.observer,l,n,"",t)}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,r,s,n,a,o,l,d,u){var c,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,m=a?a.start:n.start,p=n.decryptdata,g=this.frag,E=!(g&&n.cc===g.cc),b=!(g&&d.level===g.level),T=g?d.sn-g.sn:-1,_=this.part?d.part-this.part.index:-1,A=T===0&&d.id>1&&d.id===(g==null?void 0:g.stats.chunkCount),R=!b&&(T===1||T===0&&(_===1||A&&_<=0)),S=self.performance.now();(b||T||n.stats.parsing.start===0)&&(n.stats.parsing.start=S),a&&(_||!R)&&(a.stats.parsing.start=S);let C=!(g&&((c=n.initSegment)==null?void 0:c.url)===((h=g.initSegment)==null?void 0:h.url)),P=new zf(E,R,l,b,m,C);if(!R||E||C){L.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id} discontinuity: ${E} trackSwitch: ${b} contiguous: ${R} accurateTimeOffset: ${l} timeOffset: ${m} initSegmentChange: ${C}`);let k=new jf(r,s,t,o,u);this.configureTransmuxer(k)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:p,chunkMeta:d,state:P},e instanceof ArrayBuffer?[e]:[]);else if(f){let k=f.push(e,p,d,P);ld(k)?(f.async=!0,k.then(M=>{this.handleTransmuxComplete(M)}).catch(M=>{this.transmuxerError(M,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(k))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let r=t.flush(e);ld(r)||t.async?(ld(r)||(r=Promise.resolve(r)),r.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(r,e)}}transmuxerError(e,t,r){this.hls&&(this.error=e,this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:r}))}handleFlushResult(e,t){e.forEach(r=>{this.handleTransmuxComplete(r)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data;if(!(t!=null&&t.event)){L.warn(`worker message received with no ${t?"event name":"data"}`);return}let r=this.hls;if(this.hls)switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":L[t.data.logType]&&L[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,r.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}};function ey(i,e){if(i.length!==e.length)return!1;for(let t=0;ti[s]!==e[s])}function Xf(i,e){return e.label.toLowerCase()===i.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(i.lang||"").toLowerCase())}var ib=100,Qf=class extends Oa{constructor(e,t,r){super(e,t,r,"[audio-stream-controller]",re.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){if(r==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===O.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=O.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(ib),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=O.IDLE):(this.loadedmetadata=!1,this.state=O.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case O.IDLE:this.doTickIdle();break;case O.WAITING_TRACK:{var e;let{levels:r,trackId:s}=this,n=r==null||(e=r[s])==null?void 0:e.details;if(n){if(this.waitForCdnTuneIn(n))break;this.state=O.WAITING_INIT_PTS}break}case O.FRAG_LOADING_WAITING_RETRY:{var t;let r=performance.now(),s=this.retryDate;if(!s||r>=s||(t=this.media)!=null&&t.seeking){let{levels:n,trackId:a}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((n==null?void 0:n[a])||null),this.state=O.IDLE}break}case O.WAITING_INIT_PTS:{let r=this.waitingData;if(r){let{frag:s,part:n,cache:a,complete:o}=r;if(this.initPTS[s.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=O.FRAG_LOADING;let l=a.flush(),d={frag:s,part:n,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),o&&super._handleFragmentLoadComplete(d)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${s.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=$e.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Lf(d.end,this.config.maxFragLookUpTolerance,s)<0&&(this.log(`Waiting fragment cc (${s.cc}) @ ${s.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment())}}else this.state=O.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=O.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:r,trackId:s}=this,n=e.config;if(!r&&(this.startFragRequested||!n.startFragPrefetch)||!(t!=null&&t[s]))return;let a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(o)){this.state=O.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,Ie.AUDIO,re.AUDIO));let d=this.getFwdBufferInfo(l,re.AUDIO);if(d===null)return;let{bufferedTrack:u,switchingTrack:c}=this;if(!c&&this._streamEnded(d,o)){e.trigger(v.BUFFER_EOS,{type:"audio"}),this.state=O.ENDED;return}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,re.MAIN),f=d.len,m=this.getMaxBufferLength(h==null?void 0:h.len),p=o.fragments,g=p[0].start,E=this.flushing?this.getLoadPosition():d.end;if(c&&r){let A=this.getLoadPosition();u&&!An(c.attrs,u.attrs)&&(E=A),o.PTSKnown&&Ag||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=g+.05)}if(f>=m&&!c&&Eh.end+o.targetduration;if(_||!(h!=null&&h.len)&&d.len){let A=this.getAppendedFrag(b.start,re.MAIN);if(A===null||(T||(T=!!A.gap||!!_&&h.len===0),_&&!T||T&&d.nextStart&&d.nextStartnew Er(r))}onAudioTrackSwitching(e,t){let r=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),r?this.setInterval(ib):this.resetTransmuxer(),r?(this.switchingTrack=t,this.state=O.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=O.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(v.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var r;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}let{levels:s}=this,{details:n,id:a}=t;if(!s){this.warn(`Audio tracks were reset while loading level ${a}`);return}this.log(`Audio track ${a} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let o=s[a],l=0;if(n.live||(r=o.details)!=null&&r.live){this.checkLiveUpdate(n);let u=this.mainDetails;if(n.deltaUpdateFailed||!u)return;if(!o.details&&n.hasProgramDateTime&&u.hasProgramDateTime)_d(n,u),l=n.fragments[0].start;else{var d;l=this.alignPlaylists(n,o.details,(d=this.levelLastLoaded)==null?void 0:d.details)}}o.details=n,this.levelLastLoaded=o,!this.startFragRequested&&(this.mainDetails||!n.live)&&this.setStartPosition(this.mainDetails||n,l),this.state===O.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=O.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{config:a,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let d=l[o];if(!d){this.warn("Audio track is undefined on fragment load progress");return}let u=d.details;if(!u){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(r.start);return}let c=a.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new Cd(this.hls,re.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[r.cc],m=(t=r.initSegment)==null?void 0:t.data;if(f!==void 0){let g=s?s.index:-1,E=g!==-1,b=new Ma(r.level,r.sn,r.stats.chunkCount,n.byteLength,g,E);h.push(n,m,c,"",r,s,u.totalduration,!1,b,f)}else{this.log(`Unknown video PTS for cc ${r.cc}, waiting for video PTS before demuxing audio frag ${r.sn} of [${u.startSN} ,${u.endSN}],track ${o}`);let{cache:p}=this.waitingData=this.waitingData||{frag:r,part:s,cache:new Ad,complete:!1};p.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=O.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){let r=t.tracks.audio;r&&(this.mediaBuffer=r.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r.type!==re.AUDIO){if(!this.loadedmetadata&&r.type===re.MAIN){let n=this.videoBuffer||this.media;n&&$e.getBuffered(n).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(r.sn!=="initSegment"){this.fragPrevious=r;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(v.AUDIO_TRACK_SWITCHED,gt({},n)))}this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=O.ERROR;return}switch(t.details){case w.FRAG_GAP:case w.FRAG_PARSING_ERROR:case w.FRAG_DECRYPT_ERROR:case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(re.AUDIO,t);break;case w.AUDIO_TRACK_LOAD_ERROR:case w.AUDIO_TRACK_LOAD_TIMEOUT:case w.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===O.WAITING_TRACK&&((r=t.context)==null?void 0:r.type)===ye.AUDIO_TRACK&&(this.state=O.IDLE);break;case w.BUFFER_APPEND_ERROR:case w.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;if(t.details===w.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case w.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==Ie.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==Ie.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===O.ENDED&&(this.state=O.IDLE);let r=this.mediaBuffer||this.media;r&&(this.afterBufferFlushed(r,t,re.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;let r="audio",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{details:c}=u,{audio:h,text:f,id3:m,initSegment:p}=n;if(this.fragContextChanged(l)||!c){this.fragmentTracker.removeFragment(l);return}if(this.state=O.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),p!=null&&p.tracks){let g=l.initSegment||l;this._bufferInitSegment(u,p.tracks,g,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:g,id:r,tracks:p.tracks})}if(h){let{startPTS:g,endPTS:E,startDTS:b,endDTS:T}=h;d&&(d.elementaryStreams[Ie.AUDIO]={startPTS:g,endPTS:E,startDTS:b,endDTS:T}),l.setElementaryStreamInfo(Ie.AUDIO,g,E,b,T),this.bufferFragmentData(h,l,d,a)}if(m!=null&&(t=m.samples)!=null&&t.length){let g=tt({id:r,frag:l,details:c},m);s.trigger(v.FRAG_PARSING_METADATA,g)}if(f){let g=tt({id:r,frag:l,details:c},f);s.trigger(v.FRAG_PARSING_USERDATA,g)}}_bufferInitSegment(e,t,r,s){if(this.state!==O.PARSING)return;t.video&&delete t.video;let n=t.audio;if(!n)return;n.id="audio";let a=e.audioCodec;this.log(`Init audio buffer, container:${n.container}, codecs[level/parsed]=[${a}/${n.codec}]`),a&&a.split(",").length===1&&(n.levelCodec=a),this.hls.trigger(v.BUFFER_CODECS,t);let o=n.initSegment;if(o!=null&&o.byteLength){let l={type:"audio",frag:r,part:null,chunkMeta:s,parent:r.type,data:o};this.hls.trigger(v.BUFFER_APPENDING,l)}this.tickImmediate()}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||s===pt.NOT_LOADED||s===pt.PARTIAL){var n;if(e.sn==="initSegment")this._loadInitSegment(e,t);else if((n=t.details)!=null&&n.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=O.WAITING_INIT_PTS;let a=this.mainDetails;a&&a.fragments[0].start!==t.details.fragments[0].start&&_d(t.details,a)}else this.startFragRequested=!0,super.loadFragment(e,t,r)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){let{media:t,bufferedTrack:r}=this,s=r==null?void 0:r.attrs,n=e.attrs;t&&s&&(s.CHANNELS!==n.CHANNELS||r.name!==e.name||r.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(v.AUDIO_TRACK_SWITCHED,gt({},e))}},Zf=class extends Da{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Audio track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Audio track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.audioGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(o=>(s==null?void 0:s.indexOf(o))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let o=this.tracks.filter(h=>!r||r.indexOf(h.groupId)!==-1);if(o.length)this.selectDefaultTrack&&!o.some(h=>h.default)&&(this.selectDefaultTrack=!1),o.forEach((h,f)=>{h.id=f});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=o;let l=this.hls.config.audioPreference;if(!n&&l){let h=Li(l,o,fn);if(h>-1)n=o[h];else{let f=Li(l,this.tracks);n=this.tracks[f]}}let d=this.findTrackId(n);d===-1&&n&&(d=this.findTrackId(null));let u={audioTracks:o};this.log(`Updating audio tracks, ${o.length} track(s) found in group(s): ${r==null?void 0:r.join(",")}`),this.hls.trigger(v.AUDIO_TRACKS_UPDATED,u);let c=this.trackId;if(d!==-1&&c===-1)this.setAudioTrack(d);else if(o.length&&c===-1){var a;let h=new Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${o.length}`);this.warn(h.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:h})}}else this.shouldReloadPlaylist(n)&&this.setAudioTrack(this.trackId)}onError(e,t){t.fatal||!t.context||t.context.type===ye.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&(this.requestScheduled=-1,this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let r=this.allAudioTracks;if(this.selectDefaultTrack=!1,r.length){let s=this.currentTrack;if(s&&bn(e,s,fn))return s;let n=Li(e,this.tracksInGroup,fn);if(n>-1){let a=this.tracksInGroup[n];return this.setAudioTrack(n),a}else if(s){let a=t.loadLevel;a===-1&&(a=t.firstAutoLevel);let o=aI(e,t.levels,r,a,fn);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){let a=Li(e,r);if(a>-1)return r[a]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e],n=s.details&&!s.details.live;if(e===this.trackId&&s===r&&n||(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(v.AUDIO_TRACK_SWITCHING,gt({},s)),n))return;let a=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(a)}findTrackId(e){let t=this.tracksInGroup;for(let r=0;r=n[d].start&&o<=n[d].end){a=n[d];break}let l=r.start+r.duration;a?a.end=l:(a={start:o,end:l},n.push(a)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null)}onBufferFlushing(e,t){let{startOffset:r,endOffset:s}=t;if(r===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(a=>{for(let o=0;onew Er(r));return}this.tracksBuffered=[],this.levels=t.map(r=>{let s=new Er(r);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,re.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var r;if(this.currentTrackId=t.id,!((r=this.levels)!=null&&r.length)||this.currentTrackId===-1){this.clearInterval();return}let s=this.levels[this.currentTrackId];s!=null&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.setInterval(rb)}onSubtitleTrackLoaded(e,t){var r;let{currentTrackId:s,levels:n}=this,{details:a,id:o}=t;if(!n){this.warn(`Subtitle tracks were reset while loading level ${o}`);return}let l=n[o];if(o>=n.length||!l)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(a.live||(r=l.details)!=null&&r.live){let c=this.mainDetails;if(a.deltaUpdateFailed||!c)return;let h=c.fragments[0];if(!l.details)a.hasProgramDateTime&&c.hasProgramDateTime?(_d(a,c),d=a.fragments[0].start):h&&(d=h.start,If(a,d));else{var u;d=this.alignPlaylists(a,l.details,(u=this.levelLastLoaded)==null?void 0:u.details),d===0&&h&&(d=h.start,If(a,d))}}l.details=a,this.levelLastLoaded=l,o===s&&(!this.startFragRequested&&(this.mainDetails||!a.live)&&this.setStartPosition(this.mainDetails||a,d),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===O.IDLE&&(Td(null,a.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0)))}_handleFragmentLoadComplete(e){let{frag:t,payload:r}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&r&&r.byteLength>0&&s!=null&&s.key&&s.iv&&s.method==="AES-128"){let a=performance.now();this.decrypter.decrypt(new Uint8Array(r),s.key.buffer,s.iv.buffer).catch(o=>{throw n.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{let l=performance.now();n.trigger(v.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:a,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=O.IDLE})}}doTick(){if(!this.media){this.state=O.IDLE;return}if(this.state===O.IDLE){let{currentTrackId:e,levels:t}=this,r=t==null?void 0:t[e];if(!r||!t.length||!r.details)return;let{config:s}=this,n=this.getLoadPosition(),a=$e.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,re.MAIN),u=r.details,c=this.getMaxBufferLength(d==null?void 0:d.len)+u.levelTargetDuration;if(l>c)return;let h=u.fragments,f=h.length,m=u.edge,p=null,g=this.fragPrevious;if(om-E?0:E;p=Td(g,h,Math.max(h[0].start,o),b),!p&&g&&g.start{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${r}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][r]};this.buffered={get length(){return e.length},end(r){return t("end",r,e.length)},start(r){return t("start",r,e.length)}}}},tm=class extends Da{constructor(e){super(e,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null,r=sd(this.media.textTracks);for(let n=0;n-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),sd(this.media.textTracks).forEach(t=>{vn(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Subtitle track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Subtitle track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.subtitleGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(a=>(s==null?void 0:s.indexOf(a))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let a=this.tracks.filter(u=>!r||r.indexOf(u.groupId)!==-1);if(a.length)this.selectDefaultTrack&&!a.some(u=>u.default)&&(this.selectDefaultTrack=!1),a.forEach((u,c)=>{u.id=c});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=a;let o=this.hls.config.subtitlePreference;if(!n&&o){this.selectDefaultTrack=!1;let u=Li(o,a);if(u>-1)n=a[u];else{let c=Li(o,this.tracks);n=this.tracks[c]}}let l=this.findTrackId(n);l===-1&&n&&(l=this.findTrackId(null));let d={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${r==null?void 0:r.join(",")}" group-id`),this.hls.trigger(v.SUBTITLE_TRACKS_UPDATED,d),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l)}else this.shouldReloadPlaylist(n)&&this.setSubtitleTrack(this.trackId)}findTrackId(e){let t=this.tracksInGroup,r=this.selectDefaultTrack;for(let s=0;s-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n}else{if(r)return null;{let n=Li(e,t);if(n>-1)return t[n]}}}}return null}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`Loading subtitle playlist for id ${r}`),this.hls.trigger(v.SUBTITLE_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=sd(e.textTracks),r=this.currentTrack,s;if(r&&(s=t.filter(n=>Xf(r,n))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(t).forEach(n=>{n.mode!=="disabled"&&n!==s&&(n.mode="disabled")}),s){let n=this.subtitleDisplay?"showing":"hidden";s.mode!==n&&(s.mode=n)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!q(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s){this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:e});return}let n=!!s.details&&!s.details.live;if(e===this.trackId&&s===r&&n)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));let{id:a,groupId:o="",name:l,type:d,url:u}=s;this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:l,type:d,url:u});let c=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(c)}},im=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t,r){let s=this.queues[t];s.push(e),s.length===1&&!r&&this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t,r=new Promise(n=>{t=n}),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),r}executeNext(e){let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(s){L.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${s}`),r.onError(s);let n=this.buffers[e];n!=null&&n.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}},sb=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,rm=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=r=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=r=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{let{media:r,mediaSource:s}=this;this.log("Media source opened"),r&&(r.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(v.MEDIA_ATTACHED,{media:r,mediaSource:s})),s&&s.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:r,_objectUrl:s}=this;r!==s&&L.error(`Media element src was set while attaching MediaSource (${s} > ${r})`)},this.hls=e;let t="[buffer-controller]";this.appendSource=xR(as(e.config.preferManagedMediaSource)),this.log=L.log.bind(L,t),this.warn=L.warn.bind(L,t),this.error=L.error.bind(L,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_APPENDING,this.onBufferAppending,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.BUFFER_EOS,this.onBufferEos,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(v.FRAG_PARSED,this.onFragParsed,this),e.on(v.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_APPENDING,this.onBufferAppending,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.BUFFER_EOS,this.onBufferEos,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(v.FRAG_PARSED,this.onFragParsed,this),e.off(v.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new im(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){let r=this.media=t.media,s=as(this.appendSource);if(r&&s){var n;let a=this.mediaSource=new s;this.log(`created media source: ${(n=a.constructor)==null?void 0:n.name}`),a.addEventListener("sourceopen",this._onMediaSourceOpen),a.addEventListener("sourceended",this._onMediaSourceEnded),a.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.addEventListener("startstreaming",this._onStartStreaming),a.addEventListener("endstreaming",this._onEndStreaming));let o=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{r.removeAttribute("src");let l=self.ManagedMediaSource;r.disableRemotePlayback=r.disableRemotePlayback||l&&a instanceof l,nb(r),GI(r,o),r.load()}catch{r.src=o}else r.src=o;r.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:r}=this;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(s){this.warn(`onMediaDetaching: ${s.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(e.removeAttribute("src"),this.appendSource&&nb(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(v.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{this.resetBuffer(e)}),this._initSourceBuffer()}resetBuffer(e){let t=this.sourceBuffer[e];try{if(t){var r;this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(r=this.mediaSource)!=null&&r.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}}catch(s){this.warn(`onBufferReset ${e}`,s)}}onBufferCodecs(e,t){let r=this.getSourceBufferTypes().length,s=Object.keys(t);if(s.forEach(a=>{if(r){let l=this.tracks[a];if(l&&typeof l.buffer.changeType=="function"){var o;let{id:d,codec:u,levelCodec:c,container:h,metadata:f}=t[a],m=wE(l.codec,l.levelCodec),p=m==null?void 0:m.replace(sb,"$1"),g=wE(u,c),E=(o=g)==null?void 0:o.replace(sb,"$1");if(g&&p!==E){a.slice(0,5)==="audio"&&(g=gd(g,this.appendSource));let b=`${h};codecs=${g}`;this.appendChangeType(a,b),this.log(`switching codec ${m} to ${g}`),this.tracks[a]={buffer:l.buffer,codec:u,container:h,levelCodec:c,metadata:f,id:d}}}}else this.pendingTracks[a]=t[a]}),r)return;let n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(`${n} bufferCodec event(s) expected ${s.join(",")}`),this.bufferCodecEventsExpected=n),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}appendChangeType(e,t){let{operationQueue:r}=this,s={execute:()=>{let n=this.sourceBuffer[e];n&&(this.log(`changing ${e} sourceBuffer type to ${t}`),n.changeType(t)),r.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{this.warn(`Failed to change ${e} SourceBuffer type`,n)}};r.append(s,e,!!this.pendingTracks[e])}onBufferAppending(e,t){let{hls:r,operationQueue:s,tracks:n}=this,{data:a,type:o,frag:l,part:d,chunkMeta:u}=t,c=u.buffering[o],h=self.performance.now();c.start=h;let f=l.stats.buffering,m=d?d.stats.buffering:null;f.start===0&&(f.start=h),m&&m.start===0&&(m.start=h);let p=n.audio,g=!1;o==="audio"&&(p==null?void 0:p.container)==="audio/mpeg"&&(g=!this.lastMpegAudioChunk||u.id===1||this.lastMpegAudioChunk.sn!==u.sn,this.lastMpegAudioChunk=u);let E=l.start,b={execute:()=>{if(c.executeStart=self.performance.now(),g){let T=this.sourceBuffer[o];if(T){let _=E-T.timestampOffset;Math.abs(_)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${E} (delta: ${_}) sn: ${l.sn})`),T.timestampOffset=E)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let T=self.performance.now();c.executeEnd=c.end=T,f.first===0&&(f.first=T),m&&m.first===0&&(m.first=T);let{sourceBuffer:_}=this,A={};for(let R in _)A[R]=$e.getBuffered(_[R]);this.appendErrors[o]=0,o==="audio"||o==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(v.BUFFER_APPENDED,{type:o,frag:l,part:d,chunkMeta:u,parent:l.type,timeRanges:A})},onError:T=>{let _={type:ie.MEDIA_ERROR,parent:l.type,details:w.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:l,part:d,chunkMeta:u,error:T,err:T,fatal:!1};if(T.code===DOMException.QUOTA_EXCEEDED_ERR)_.details=w.BUFFER_FULL_ERROR;else{let A=++this.appendErrors[o];_.details=w.BUFFER_APPEND_ERROR,this.warn(`Failed ${A}/${r.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),A>=r.config.appendErrorMaxRetry&&(_.fatal=!0)}r.trigger(v.ERROR,_)}};s.append(b,o,!!this.pendingTracks[o])}onBufferFlushing(e,t){let{operationQueue:r}=this,s=n=>({execute:this.removeExecutor.bind(this,n,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(v.BUFFER_FLUSHED,{type:n})},onError:a=>{this.warn(`Failed to remove from ${n} SourceBuffer`,a)}});t.type?r.append(s(t.type),t.type):this.getSourceBufferTypes().forEach(n=>{r.append(s(n),n)})}onFragParsed(e,t){let{frag:r,part:s}=t,n=[],a=s?s.elementaryStreams:r.elementaryStreams;a[Ie.AUDIOVIDEO]?n.push("audiovideo"):(a[Ie.AUDIO]&&n.push("audio"),a[Ie.VIDEO]&&n.push("video"));let o=()=>{let l=self.performance.now();r.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let d=s?s.stats:r.stats;this.hls.trigger(v.FRAG_BUFFERED,{frag:r,part:s,stats:d,id:r.type})};n.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${r.type} level: ${r.level} sn: ${r.sn}`),this.blockBuffers(o,n)}onFragChanged(e,t){this.trimBuffers()}onBufferEos(e,t){this.getSourceBufferTypes().reduce((s,n)=>{let a=this.sourceBuffer[n];return a&&(!t.type||t.type===n)&&(a.ending=!0,a.ended||(a.ended=!0,this.log(`${n} sourceBuffer now EOS`))),s&&!!(!a||a.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(n=>{let a=this.sourceBuffer[n];a&&(a.ending=!1)});let{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),s.endOfStream()}))}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){let{hls:e,details:t,media:r}=this;if(!r||t===null||!this.getSourceBufferTypes().length)return;let n=e.config,a=r.currentTime,o=t.levelTargetDuration,l=t.live&&n.liveBackBufferLength!==null?n.liveBackBufferLength:n.backBufferLength;if(q(l)&&l>0){let d=Math.max(l,o),u=Math.floor(a/o)*o-d;this.flushBackBuffer(a,o,u)}if(q(n.frontBufferFlushThreshold)&&n.frontBufferFlushThreshold>0){let d=Math.max(n.maxBufferLength,n.frontBufferFlushThreshold),u=Math.max(d,o),c=Math.floor(a/o)*o+u;this.flushFrontBuffer(a,o,c)}}flushBackBuffer(e,t,r){let{details:s,sourceBuffer:n}=this;this.getSourceBufferTypes().forEach(o=>{let l=n[o];if(l){let d=$e.getBuffered(l);if(d.length>0&&r>d.start(0)){if(this.hls.trigger(v.BACK_BUFFER_REACHED,{bufferEnd:r}),s!=null&&s.live)this.hls.trigger(v.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(l.ended&&d.end(d.length-1)-e{let o=s[a];if(o){let l=$e.getBuffered(o),d=l.length;if(d<2)return;let u=l.start(d-1),c=l.end(d-1);if(r>u||e>=u&&e<=c)return;if(o.ended&&e-c<2*t){this.log(`Cannot flush ${a} front buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:u,endOffset:1/0,type:a})}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:r,mediaSource:s}=this,n=e.fragments[0].start+e.totalduration,a=r.duration,o=q(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!q(a))&&(this.log(`Updating Media Source duration to ${n.toFixed(3)}`),s.duration=n)}updateSeekableRange(e){let t=this.mediaSource,r=e.fragments;if(r.length&&e.live&&t!=null&&t.setLiveSeekableRange){let n=Math.max(0,r[0].start),a=Math.max(n,n+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${n}-${a}.`),t.setLiveSeekableRange(n,a)}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:r}=this,s=Object.keys(r).length;if(s&&(!e||s===2||"audiovideo"in r)){this.createSourceBuffers(r),this.pendingTracks={};let n=this.getSourceBufferTypes();if(n.length)this.hls.trigger(v.BUFFER_CREATED,{tracks:this.tracks}),n.forEach(a=>{t.executeNext(a)});else{let a=new Error("could not create source buffer for media codec(s)");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:a,reason:a.message})}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:r}=this;if(!r)throw Error("createSourceBuffers called when mediaSource was null");for(let n in e)if(!t[n]){var s;let a=e[n];if(!a)throw Error(`source buffer exists for track ${n}, however track does not`);let o=((s=a.levelCodec)==null?void 0:s.indexOf(","))===-1?a.levelCodec:a.codec;o&&n.slice(0,5)==="audio"&&(o=gd(o,this.appendSource));let l=`${a.container};codecs=${o}`;this.log(`creating sourceBuffer(${l})`);try{let d=t[n]=r.addSourceBuffer(l),u=n;this.addBufferListener(u,"updatestart",this._onSBUpdateStart),this.addBufferListener(u,"updateend",this._onSBUpdateEnd),this.addBufferListener(u,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(u,"bufferedchange",(c,h)=>{let f=h.removedRanges;f!=null&&f.length&&this.hls.trigger(v.BUFFER_FLUSHED,{type:n})}),this.tracks[n]={buffer:d,codec:o,container:a.container,levelCodec:a.levelCodec,metadata:a.metadata,id:a.id}}catch(d){this.error(`error while trying to add sourceBuffer: ${d.message}`),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:n,mimeType:l})}}}get mediaSrc(){var e,t;let r=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return r==null?void 0:r.src}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}let{operationQueue:r}=this;r.current(e).onComplete(),r.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){var r;let s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(r=this.mediaSource)==null?void 0:r.readyState}`);this.error(`${s}`,t),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});let n=this.operationQueue.current(e);n&&n.onError(s)}removeExecutor(e,t,r){let{media:s,mediaSource:n,operationQueue:a,sourceBuffer:o}=this,l=o[e];if(!s||!n||!l){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),a.shiftAndExecuteNext(e);return}let d=q(s.duration)?s.duration:1/0,u=q(n.duration)?n.duration:1/0,c=Math.max(0,t),h=Math.min(r,d,u);h>c&&(!l.ending||l.ended)?(l.ended=!1,this.log(`Removing [${c},${h}] from the ${e} SourceBuffer`),l.remove(c,h)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){let r=this.sourceBuffer[t];if(!r){if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);return}r.ended=!1,r.appendBuffer(e)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return}let{operationQueue:r}=this,s=t.map(n=>r.appendBlocker(n));Promise.all(s).then(()=>{e(),t.forEach(n=>{let a=this.sourceBuffer[n];a!=null&&a.updating||r.shiftAndExecuteNext(n)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,r){let s=this.sourceBuffer[e];if(!s)return;let n=r.bind(this,e);this.listeners[e].push({event:t,listener:n}),s.addEventListener(t,n)}removeBufferListeners(e){let t=this.sourceBuffer[e];t&&this.listeners[e].forEach(r=>{t.removeEventListener(r.event,r.listener)})}};function nb(i){let e=i.querySelectorAll("source");[].slice.call(e).forEach(t=>{i.removeChild(t)})}function GI(i,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,i.appendChild(t)}var KI={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},ty=i=>String.fromCharCode(KI[i]||i),si=15,Xi=100,WI={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},VI={17:2,18:4,21:6,22:8,23:10,19:13,20:15},YI={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},qI={25:2,26:4,29:6,30:8,31:10,27:13,28:15},jI=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],sm=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let r=typeof t=="function"?t():t;L.log(`${this.time} [${e}] ${r}`)}}},ts=function(e){let t=[];for(let r=0;rXi&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Xi)}moveCursor(e){let t=this.pos+e;if(e>1)for(let r=this.pos+1;r=144&&this.backSpace();let t=ty(e);if(this.pos>=Xi){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],r="",s=-1;for(let n=0;n0&&(e?r="["+t.join(" | ")+"]":r=t.join(` `)),r}getTextAndFormat(){return this.rows}},Dd=class{constructor(e,t,r){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new La(r),this.nonDisplayedMemory=new La(r),this.lastOutputScreen=new La(r),this.currRollUpRow=this.displayedMemory.rows[si-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=r}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[si-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let r=0;rt+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let r=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[r]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},Md=class{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory=XI(),this.logger=void 0;let s=this.logger=new sm;this.channels=[null,new Dd(e,t,s),new Dd(e+1,r,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let r=0;r"["+ts([t[r],t[r+1]])+"] -> ("+ts([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(zI(s,n,l)){ed(null,null,l),this.logger.log(3,()=>"Repeated command ("+ts([s,n])+") is dropped");continue}ed(s,n,this.cmdHistory),a=this.parseCmd(s,n),a||(a=this.parseMidrow(s,n)),a||(a=this.parsePAC(s,n)),a||(a=this.parseBackgroundAttributes(s,n))}else ed(null,null,l);if(!a&&(o=this.parseChars(s,n),o)){let u=this.currentChannel;u&&u>0?this.channels[u].insertChars(o):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!a&&!o&&this.logger.log(2,()=>"Couldn't parse cleaned data "+ts([s,n])+" orig: "+ts([t[r],t[r+1]]))}}parseCmd(e,t){let r=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=33&&t<=35;if(!(r||s))return!1;let n=e===20||e===21||e===23?1:2,a=this.channels[n];return e===20||e===21||e===28||e===29?t===32?a.ccRCL():t===33?a.ccBS():t===34?a.ccAOF():t===35?a.ccAON():t===36?a.ccDER():t===37?a.ccRU(2):t===38?a.ccRU(3):t===39?a.ccRU(4):t===40?a.ccFON():t===41?a.ccRDC():t===42?a.ccTR():t===43?a.ccRTD():t===44?a.ccEDM():t===45?a.ccCR():t===46?a.ccENM():t===47&&a.ccEOC():a.ccTO(t-32),this.currentChannel=n,!0}parseMidrow(e,t){let r=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?r=1:r=2,r!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[r];return s?(s.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+ts([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let r,s=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,n=(e===16||e===24)&&t>=64&&t<=95;if(!(s||n))return!1;let a=e<=23?1:2;t>=64&&t<=95?r=a===1?WI[e]:YI[e]:r=a===1?VI[e]:qI[e];let o=this.channels[a];return o?(o.setPAC(this.interpretPAC(r,t)),this.currentChannel=a,!0):!1}interpretPAC(e,t){let r,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?r=t-96:r=t-64,s.underline=(r&1)===1,r<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(r/2)]:r<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((r-16)/2)*4,s}parseChars(e,t){let r,s=null,n=null;if(e>=25?(r=2,n=e-8):(r=1,n=e),n>=17&&n<=19){let a;n===17?a=t+80:n===18?a=t+112:a=t+144,this.logger.log(2,()=>"Special char '"+ty(a)+"' in channel "+r),s=[a]}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);return s&&this.logger.log(3,()=>"Char codes = "+ts(s).join(",")),s}parseBackgroundAttributes(e,t){let r=(e===16||e===24)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=45&&t<=47;if(!(r||s))return!1;let n,a={};e===16||e===24?(n=Math.floor((t-32)/2),a.background=jI[n],t%2===1&&(a.background=a.background+"_semi")):t===45?a.background="transparent":(a.foreground="black",t===47&&(a.underline=!0));let o=e<=23?1:2;return this.channels[o].setBkgData(a),!0}reset(){for(let e=0;ee)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},Pm=function(){if(_n!=null&&_n.VTTCue)return self.VTTCue;let i=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;let d=l.toLowerCase();return~o.indexOf(d)?d:!1}function r(o){return t(i,o)}function s(o){return t(e,o)}function n(o,...l){let d=1;for(;d100)throw new Error("Position must be between 0 and 100.");R=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"positionAlign",n({},c,{get:function(){return S},set:function(k){let M=s(k);if(!M)throw new SyntaxError("An invalid or illegal string was specified.");S=M,this.hasBeenReset=!0}})),Object.defineProperty(u,"size",n({},c,{get:function(){return C},set:function(k){if(k<0||k>100)throw new Error("Size must be between 0 and 100.");C=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"align",n({},c,{get:function(){return P},set:function(k){let M=s(k);if(!M)throw new SyntaxError("An invalid or illegal string was specified.");P=M,this.hasBeenReset=!0}})),u.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),om=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function iy(i){function e(r,s,n,a){return(r|0)*3600+(s|0)*60+(n|0)+parseFloat(a||0)}let t=i.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}var lm=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,r){return r?this.has(e)?this.values[e]:t[r]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,r){for(let s=0;s=0&&r<=100)return this.set(e,r),!0}return!1}};function ry(i,e,t,r){let s=r?i.split(r):[i];for(let n in s){if(typeof s[n]!="string")continue;let a=s[n].split(t);if(a.length!==2)continue;let o=a[0],l=a[1];e(o,l)}}var dm=new Pm(0,0,""),td=dm.align==="middle"?"middle":"center";function QI(i,e,t){let r=i;function s(){let o=iy(i);if(o===null)throw new Error("Malformed timestamp: "+r);return i=i.replace(/^[^\sa-zA-Z-]+/,""),o}function n(o,l){let d=new lm;ry(o,function(h,f){let m;switch(h){case"region":for(let p=t.length-1;p>=0;p--)if(t[p].id===f){d.set(h,t[p].region);break}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":m=f.split(","),d.integer(h,m[0]),d.percent(h,m[0])&&d.set("snapToLines",!1),d.alt(h,m[0],["auto"]),m.length===2&&d.alt("lineAlign",m[1],["start",td,"end"]);break;case"position":m=f.split(","),d.percent(h,m[0]),m.length===2&&d.alt("positionAlign",m[1],["start",td,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",td,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&dm.line===-1&&(u=-1),l.line=u,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",td);let c=d.get("position","auto");c==="auto"&&dm.position===50&&(c=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=c}function a(){i=i.replace(/^\s+/,"")}if(a(),e.startTime=s(),a(),i.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+r);i=i.slice(3),a(),e.endTime=s(),a(),n(i,e)}function sy(i){return i.replace(//gi,` `)}var um=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new om,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function r(){let n=t.buffer,a=0;for(n=sy(n);a")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{QI(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=` `),t.cue.text+=n}continue;case"BADCUE":n||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=` `,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},ZI=/\r\n|\n\r|\n|\r/g,df=function(e,t,r=0){return e.slice(r,r+t.length)===t},JI=function(e){let t=parseInt(e.slice(-3)),r=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!q(t)||!q(r)||!q(s)||!q(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*r,t+=60*1e3*s,t+=60*60*1e3*n,t},uf=function(e){let t=5381,r=e.length;for(;r;)t=t*33^e.charCodeAt(--r);return(t>>>0).toString()};function Om(i,e,t){return uf(i.toString())+uf(e.toString())+uf(t)}var eL=function(e,t,r){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=r};function tL(i,e,t,r,s,n,a){let o=new um,l=ki(new Uint8Array(i)).trim().replace(ZI,` `).split(` `),d=[],u=e?PI(e.baseTime,e.timescale):0,c="00:00.000",h=0,f=0,m,p=!0;o.oncue=function(g){let E=t[r],b=t.ccOffset,T=(h-u)/9e4;if(E!=null&&E.new&&(f!==void 0?b=t.ccOffset=E.start:eL(t,r,T)),T){if(!e){m=new Error("Missing initPTS for VTT MPEGTS");return}b=T-t.presentationOffset}let _=g.endTime-g.startTime,A=Kt((g.startTime+b-f)*9e4,s*9e4)/9e4;g.startTime=Math.max(A,0),g.endTime=Math.max(A+_,0);let R=g.text.trim();g.text=decodeURIComponent(encodeURIComponent(R)),g.id||(g.id=Om(g.startTime,g.endTime,R)),g.endTime>0&&d.push(g)},o.onparsingerror=function(g){m=g},o.onflush=function(){if(m){a(m);return}n(d)},l.forEach(g=>{if(p)if(df(g,"X-TIMESTAMP-MAP=")){p=!1,g.slice(16).split(",").forEach(E=>{df(E,"LOCAL:")?c=E.slice(6):df(E,"MPEGTS:")&&(h=parseInt(E.slice(7)))});try{f=JI(c)/1e3}catch(E){m=E}return}else g===""&&(p=!1);o.parse(g+` `)}),o.flush()}var cf="stpp.ttml.im1t",ny=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,ay=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,iL={left:"start",center:"center",right:"end",start:"start",end:"end"};function ab(i,e,t,r){let s=oe(new Uint8Array(i),["mdat"]);if(s.length===0){r(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>ki(o)),a=MI(e.baseTime,1,e.timescale);try{n.forEach(o=>t(rL(o,a)))}catch(o){r(o)}}function rL(i,e){let s=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((c,h)=>(c[h]=s.getAttribute(`ttp:${h}`)||n[h],c),{}),o=s.getAttribute("xml:space")!=="preserve",l=ob(hf(s,"styling","style")),d=ob(hf(s,"layout","region")),u=hf(s,"body","[begin]");return[].map.call(u,c=>{let h=oy(c,o);if(!h||!c.hasAttribute("begin"))return null;let f=mf(c.getAttribute("begin"),a),m=mf(c.getAttribute("dur"),a),p=mf(c.getAttribute("end"),a);if(f===null)throw lb(c);if(p===null){if(m===null)throw lb(c);p=f+m}let g=new Pm(f-e,p-e,h);g.id=Om(g.startTime,g.endTime,g.text);let E=d[c.getAttribute("region")],b=l[c.getAttribute("style")],T=sL(E,b,l),{textAlign:_}=T;if(_){let A=iL[_];A&&(g.lineAlign=A),g.align=_}return tt(g,T),g}).filter(c=>c!==null)}function hf(i,e,t){let r=i.getElementsByTagName(e)[0];return r?[].slice.call(r.querySelectorAll(t)):[]}function ob(i){return i.reduce((e,t)=>{let r=t.getAttribute("xml:id");return r&&(e[r]=t),e},{})}function oy(i,e){return[].slice.call(i.childNodes).reduce((t,r,s)=>{var n;return r.nodeName==="br"&&s?t+` `:(n=r.childNodes)!=null&&n.length?oy(r,e):e?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}function sL(i,e,t){let r="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=i!=null&&i.hasAttribute("style")?i.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=ff(e,r,l)||ff(i,r,l)||ff(s,r,l);return d&&(o[l]=d),o},{})}function ff(i,e,t){return i&&i.hasAttributeNS(e,t)?i.getAttributeNS(e,t):null}function lb(i){return new Error(`Could not parse ttml timestamp ${i}`)}function mf(i,e){if(!i)return null;let t=iy(i);return t===null&&(ny.test(i)?t=nL(i,e):ay.test(i)&&(t=aL(i,e))),t}function nL(i,e){let t=ny.exec(i),r=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+r/e.frameRate}function aL(i,e){let t=ay.exec(i),r=Number(t[1]);switch(t[2]){case"h":return r*3600;case"m":return r*60;case"ms":return r*1e3;case"f":return r/e.frameRate;case"t":return r/e.tickRate}return r}var cm=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=ub(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new En(this,"textTrack1"),t=new En(this,"textTrack2"),r=new En(this,"textTrack3"),s=new En(this,"textTrack4");this.cea608Parser1=new Md(1,e,t),this.cea608Parser2=new Md(3,r,s)}}addCues(e,t,r,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=oL(l[0],l[1],t,r);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],r),a=!0,d/(r-t)>.5))return}if(a||n.push([t,r]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,r,s)}else{let o=this.Cues.newCue(null,t,r,s);this.hls.trigger(v.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;r==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(v.FRAG_LOADED,o)}))}getExistingTrack(e,t){let{media:r}=this;if(r)for(let s=0;s{vn(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=ub(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let r=0;rn.textCodec===cf);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(ey(this.tracks,r)){this.tracks=r;return}if(this.textTracks=[],this.tracks=r,this.config.renderTextTracksNatively){let a=this.media,o=a?sd(a.textTracks):null;if(this.tracks.forEach((l,d)=>{let u;if(o){let c=null;for(let h=0;hd!==null).map(d=>d.label);l.length&&L.warn(`Media element contains unused subtitle tracks: ${l.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let a=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(r=>{let s=/(?:CC|SERVICE)([1-4])/.exec(r.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];a&&(a.label=r.name,r.lang&&(a.languageCode=r.lang),a.media=r)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===re.MAIN){var r,s;let{cea608Parser1:n,cea608Parser2:a,lastSn:o}=this,{cc:l,sn:d}=t.frag,u=(r=(s=t.part)==null?void 0:s.index)!=null?r:-1;n&&a&&(d!==o+1||d===o&&u!==this.lastPartIndex+1||l!==this.lastCc)&&(n.reset(),a.reset()),this.lastCc=l,this.lastSn=d,this.lastPartIndex=u}}onFragLoaded(e,t){let{frag:r,payload:s}=t;if(r.type===re.SUBTITLE)if(s.byteLength){let n=r.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[r.level],l=this.vttCCs;l[r.cc]||(l[r.cc]={start:r.start,prevCC:this.prevCC,new:!0},this.prevCC=r.cc),o&&o.textCodec===cf?this._parseIMSC1(r,s):this._parseVTTs(t)}}else this.hls.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let r=this.hls;ab(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{L.log(`Failed to parse IMSC1: ${s}`),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:r,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[r.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=r.initSegment)!=null&&t.data?Wt(r.initSegment.data,new Uint8Array(s)):s;tL(d,this.initPTS[r.cc],this.vttCCs,r.cc,r.start,u=>{this._appendCues(u,r.level),l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:r})},u=>{let c=u.message==="Missing initPTS for VTT MPEGTS";c?a.push(e):this._fallbackToIMSC1(r,s),L.log(`Failed to parse VTT cue: ${u}`),!(c&&o>r.cc)&&l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:u})})}_fallbackToIMSC1(e,t){let r=this.tracks[e.level];r.textCodec||ab(t,this.initPTS[e.cc],()=>{r.textCodec=cf,this._parseIMSC1(e,t)},()=>{r.textCodec="wvtt"})}_appendCues(e,t){let r=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>wb(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;r.trigger(v.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:r}=t;r.type===re.SUBTITLE&&this.onFragLoaded(v.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){this.initCea608Parsers();let{cea608Parser1:r,cea608Parser2:s}=this;if(!this.enabled||!r||!s)return;let{frag:n,samples:a}=t;if(!(n.type===re.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o_f(o[l],t,r))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>_f(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],r=e[0]&31,s=2;for(let n=0;nthis.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let r=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,i.getMaxLevelByMediaSize(r,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let r=e.getBoundingClientRect();t.width=r.width,t.height=r.height,!t.width&&!t.height&&(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}isLevelAllowed(e){return!this.restrictedLevels.some(r=>e.bitrate===r.bitrate&&e.width===r.width&&e.height===r.height)}static getMaxLevelByMediaSize(e,t,r){if(!(e!=null&&e.length))return-1;let s=(o,l)=>l?o.width!==l.width||o.height!==l.height:!0,n=e.length-1,a=Math.max(t,r);for(let o=0;o=a||l.height>=a)&&s(l,e[o+1])){n=o;break}}return n}},fm=class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let r=this.hls.config;if(r.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,r){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=r-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(v.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:r}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let u=d.currentLevel;L.warn("drop FPS ratio greater than max allowed value for currentLevel: "+u),u>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=u)&&(u=u-1,d.trigger(v.FPS_DROP_LEVEL_CAPPING,{level:u,droppedLevel:d.currentLevel}),d.autoLevelCapping=u,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=r,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},id="[eme]",Pd=class i{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=i.CDMCleanupPromise?[i.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=L.debug.bind(L,id),this.log=L.log.bind(L,id),this.warn=L.warn.bind(L,id),this.error=L.error.bind(L,id),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:r}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===Ne.WIDEVINE&&r)return r;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,r=t[e];if(r)return r.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,r=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(r),n=t.map(a=>a.videoCodec).filter(r);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let u=d.shift();this.getMediaKeysPromise(u,s,n).then(c=>a({keySystem:u,mediaKeys:c})).catch(c=>{d.length?l(d):c instanceof wt?o(c):o(new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_ACCESS,error:c,fatal:!0},c.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:r}=this.config;if(typeof r!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${r}`;return vb===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return r(e,t)}getMediaKeysPromise(e,t,r){let s=Xx(e,t,r,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],a=n==null?void 0:n.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);let o=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(l=>{this.log(`Failed to obtain access to key-system "${e}": ${l}`)}),a.then(l=>{this.log(`Access for key-system "${l.keySystem}" obtained`);let d=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),o.mediaKeys=l.createMediaKeys().then(u=>(this.log(`Media-keys created for "${e}"`),d.then(c=>c?this.setMediaKeysServerCertificate(u,e,c):u))),o.mediaKeys.catch(u=>{this.error(`Failed to create media-keys for "${e}"}: ${u}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:r}){this.log(`Creating key-system session "${t}" keyId: ${Ri.hexDump(e.keyId||[])}`);let s=r.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:r,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let r=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(r,n,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return Ri.hexDump(e.keyId)}updateKeySession(e,t){var r;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Ri.hexDump(((r=e.decryptdata)==null?void 0:r.keyId)||[])} } (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,r)=>{let s=Xh(this.config),n=e.map(AE).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=xE(a);o?t(o):r(new Error(`Unable to find format for key-system "${a}"`))}).catch(r)})}loadKey(e){let t=e.keyInfo.decryptdata,r=this.getKeyIdString(t),s=`(keyId: ${r} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[r];return n||(n=this.keyIdToKeySessionPromise[r]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t});return this.generateRequestWithPreferredKeySession(l,"cenc",t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof wt?this.hls.trigger(v.ERROR,e.data):this.hls.trigger(v.ERROR,{type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),r=this.keyIdToKeySessionPromise[t];if(!r){let s=AE(e.keyFormat),n=s?[s]:Xh(this.config);return this.attemptKeySystemAccess(n)}return r}getKeySystemSelectionPromise(e){if(e.length||(e=Xh(this.config)),e.length===0)throw new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:r}=e,s=`"${e.type}" event: init data type: "${t}"`;if(this.debug(s),r===null)return;let n,a;if(t==="sinf"&&this.config.drmSystems[Ne.FAIRPLAY]){let c=nt(new Uint8Array(r));try{let h=Rm(JSON.parse(c).sinf),f=xb(new Uint8Array(h));if(!f)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");n=f.subarray(8,24),a=Ne.FAIRPLAY}catch(h){this.warn(`${s} Failed to parse sinf: ${h}`);return}}else{let c=TR(r),h=c.filter(f=>f.systemId===xa.WIDEVINE)[0];if(!h){c.length===0||c.some(f=>!f.systemId)?this.warn(`${s} contains incomplete or invalid pssh data`):this.log(`ignoring ${s} for ${c.map(f=>SE(f.systemId)).join(",")} pssh data in favor of playlist keys`);return}if(a=SE(h.systemId),h.version===0&&h.data){let f=h.data.length-22;n=h.data.subarray(f,f+16)}}if(!a||!n)return;let o=Ri.hexDump(n),{keyIdToKeySessionPromise:l,mediaKeySessions:d}=this,u=l[o];for(let c=0;cthis.generateRequestWithPreferredKeySession(h,t,r,"encrypted-event-key-match"));break}}u||(u=l[o]=this.getKeySystemSelectionPromise([a]).then(({keySystem:c,mediaKeys:h})=>{var f;this.throwIfDestroyed();let m=new Ca("ISO-23001-7",o,(f=xE(c))!=null?f:"");return m.pssh=new Uint8Array(r),m.keyId=n,this.attemptSetMediaKeys(c,h).then(()=>{this.throwIfDestroyed();let p=this.createMediaKeySessionContext({decryptdata:m,keySystem:c,mediaKeys:h});return this.generateRequestWithPreferredKeySession(p,t,r,"encrypted-event-no-match")})})),u.catch(c=>this.handleError(c))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let r=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(r).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),r.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>r.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,r,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let m=o.call(this.hls,t,r,e);if(!m)throw new Error("Invalid response from configured generateRequest filter");t=m.initDataType,r=e.decryptdata.pssh=m.initData?new Uint8Array(m.initData):null}catch(m){var l;if(this.warn(m.message),(l=this.hls)!=null&&l.config.debug)throw m}if(r===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${d} (init data type: ${t} length: ${r?r.byteLength:null})`);let u=new Mm,c=e._onmessage=m=>{let p=e.mediaKeysSession;if(!p){u.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=m;this.log(`"${g}" message event for session "${p.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(b=>{this.handleError(b),u.emit("error",b)}):g==="license-release"?e.keySystem===Ne.FAIRPLAY&&(this.updateKeySession(e,bf("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},h=e._onkeystatuseschange=m=>{if(!e.mediaKeysSession){u.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;u.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};e.mediaKeysSession.addEventListener("message",c),e.mediaKeysSession.addEventListener("keystatuseschange",h);let f=new Promise((m,p)=>{u.on("error",p),u.on("keyStatus",g=>{g.startsWith("usable")?m():g==="output-restricted"?p(new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?p(new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?p(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,r).then(()=>{var m;this.log(`Request generated for key-session "${(m=e.mediaKeysSession)==null?void 0:m.sessionId}" keyId: ${d}`)}).catch(m=>{throw new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_NO_SESSION,error:m,fatal:!1},`Error generating key-session request: ${m}`)}).then(()=>f).catch(m=>{throw u.removeAllListeners(),this.removeSession(e),m}).then(()=>(u.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,r)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Ri.hexDump("buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r))} session keyId: ${Ri.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,r=t.loader,s=new r(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{a(h.data)},onError:(h,f,m,p)=>{o(new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:gt({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,m)=>{o(new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,m)=>{o(new Error("aborted"))}};s.load(l,u,c)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,r){return new Promise((s,n)=>{e.setServerCertificate(r).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${r==null?void 0:r.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(r=>this.updateKeySession(e,new Uint8Array(r)).catch(s=>{throw new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}unpackPlayReadyKeyMessage(e,t){let r=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!r.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let s=new DOMParser().parseFromString(r,"application/xml"),n=s.querySelectorAll("HttpHeader");if(n.length>0){let u;for(let c=0,h=n.length;c in key message");return bf(atob(d))}setupLicenseXHR(e,t,r,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!r.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,r,s)}).catch(a=>{if(!r.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,r,s)}).then(a=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let r=this.config.keyLoadPolicy.default;return new Promise((s,n)=>{let a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);let d=this.config.licenseResponseCallback;if(d)try{l=d.call(this.hls,o,a,e)}catch(u){this.error(u)}s(l)}else{let l=r.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new wt({type:ie.KEY_SYSTEM_ERROR,details:w.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let u=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${u} attempts left`),this.requestLicense(e,t).then(s,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:l,licenseChallenge:d})=>{e.keySystem==Ne.PLAYREADY&&(d=this.unpackPlayReadyKeyMessage(l,d)),l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let r=t.media;this.media=r,r.addEventListener("encrypted",this.onMediaEncrypted),r.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){let e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},Ca.clearKeyUriToKeyIdMap();let r=t.length;i.CDMCleanupPromise=Promise.all(t.map(s=>this.removeSession(s)).concat(e==null?void 0:e.setMediaKeys(null).catch(s=>{this.log(`Could not clear media keys: ${s}`)}))).then(()=>{r&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let r=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${r.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(r)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:r}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),r&&r.readyState!==XMLHttpRequest.DONE&&r.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch(n=>{this.log(`Could not remove session: ${n}`)}).then(()=>t.close()).catch(n=>{this.log(`Could not close session: ${n}`)})}}};Pd.CDMCleanupPromise=void 0;var wt=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}},Tt;(function(i){i.MANIFEST="m",i.AUDIO="a",i.VIDEO="v",i.MUXED="av",i.INIT="i",i.CAPTION="c",i.TIMED_TEXT="tt",i.KEY="k",i.OTHER="o"})(Tt||(Tt={}));var mm;(function(i){i.DASH="d",i.HLS="h",i.SMOOTH="s",i.OTHER="o"})(mm||(mm={}));var ss;(function(i){i.OBJECT="CMCD-Object",i.REQUEST="CMCD-Request",i.SESSION="CMCD-Session",i.STATUS="CMCD-Status"})(ss||(ss={}));var lL={[ss.OBJECT]:["br","d","ot","tb"],[ss.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[ss.SESSION]:["cid","pr","sf","sid","st","v"],[ss.STATUS]:["bs","rtp"]},Ua=class i{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map(r=>r instanceof i?r:new i(r))),this.value=e,this.params=t}},Od=class{constructor(e){this.description=void 0,this.description=e}},dL="Dict";function uL(i){return Array.isArray(i)?JSON.stringify(i):i instanceof Map?"Map{}":i instanceof Set?"Set{}":typeof i=="object"?JSON.stringify(i):String(i)}function cL(i,e,t,r){return new Error(`failed to ${i} "${uL(e)}" as ${t}`,{cause:r})}var cb="Bare Item",hL="Boolean",fL="Byte Sequence",mL="Decimal",pL="Integer";function gL(i){return i<-999999999999999||99999999999999912)throw Ci(i,mL);let t=e.toString();return t.includes(".")?t:`${t}.0`}var xL="String";function RL(i){if(vL.test(i))throw Ci(i,xL);return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function IL(i){return i.description||i.toString().slice(7,-1)}function hb(i){let e=IL(i);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw Ci(e,EL);return e}function pm(i){switch(typeof i){case"number":if(!q(i))throw Ci(i,cb);return Number.isInteger(i)?dy(i):SL(i);case"string":return RL(i);case"symbol":return hb(i);case"boolean":return yL(i);case"object":if(i instanceof Date)return AL(i);if(i instanceof Uint8Array)return _L(i);if(i instanceof Od)return hb(i);default:throw Ci(i,cb)}}function gm(i){if(/^[a-z*][a-z0-9\-_.*]*$/.test(i)===!1)throw Ci(i,bL);return i}function Nm(i){return i==null?"":Object.entries(i).map(([e,t])=>t===!0?`;${gm(e)}`:`;${gm(e)}=${pm(t)}`).join("")}function cy(i){return i instanceof Ua?`${pm(i.value)}${Nm(i.params)}`:pm(i)}function LL(i){return`(${i.value.map(cy).join(" ")})${Nm(i.params)}`}function kL(i,e={whitespace:!0}){if(typeof i!="object")throw Ci(i,dL);let t=i instanceof Map?i.entries():Object.entries(i),r=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([s,n])=>{n instanceof Ua||(n=new Ua(n));let a=gm(s);return n.value===!0?a+=Nm(n.params):(a+="=",Array.isArray(n.value)?a+=LL(n):a+=cy(n)),a}).join(`,${r}`)}function CL(i,e){return kL(i,e)}var wL=i=>i==="ot"||i==="sf"||i==="st",DL=i=>typeof i=="number"?q(i):i!=null&&i!==""&&i!==!1;function ML(i,e){let t=new URL(i),r=new URL(e);if(t.origin!==r.origin)return i;let s=t.pathname.split("/").slice(1),n=r.pathname.split("/").slice(1,-1);for(;s[0]===n[0];)s.shift(),n.shift();for(;n.length;)n.shift(),s.unshift("..");return s.join("/")}function PL(){try{return crypto.randomUUID()}catch{try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let n=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(s=="x"?n:n&3|8).toString(16)})}}}var dd=i=>Math.round(i),OL=(i,e)=>(e!=null&&e.baseUrl&&(i=ML(i,e.baseUrl)),encodeURIComponent(i)),rd=i=>dd(i/100)*100,NL={br:dd,d:dd,bl:rd,dl:rd,mtp:rd,nor:OL,rtp:rd,tb:dd};function UL(i,e){let t={};if(i==null||typeof i!="object")return t;let r=Object.keys(i).sort(),s=tt({},NL,e==null?void 0:e.formatters),n=e==null?void 0:e.filter;return r.forEach(a=>{if(n!=null&&n(a))return;let o=i[a],l=s[a];l&&(o=l(o,e)),!(a==="v"&&o===1)&&(a=="pr"&&o===1||DL(o)&&(wL(a)&&typeof o=="string"&&(o=new Od(o)),t[a]=o))}),t}function hy(i,e={}){return i?CL(UL(i,e),tt({whitespace:!1},e)):""}function FL(i,e={}){if(!i)return{};let t=Object.entries(i),r=Object.entries(lL).concat(Object.entries((e==null?void 0:e.customHeaderMap)||{})),s=t.reduce((n,a)=>{var o,l;let[d,u]=a,c=((o=r.find(h=>h[1].includes(d)))==null?void 0:o[0])||ss.REQUEST;return(l=n[c])!=null||(n[c]={}),n[c][d]=u,n},{});return Object.entries(s).reduce((n,[a,o])=>(n[a]=hy(o,e),n),{})}function BL(i,e,t){return tt(i,FL(e,t))}var $L="CMCD";function HL(i,e={}){if(!i)return"";let t=hy(i,e);return`${$L}=${encodeURIComponent(t)}`}var fb=/CMCD=[^&#]+/;function GL(i,e,t){let r=HL(e,t);if(!r)return i;if(fb.test(i))return i.replace(fb,r);let s=i.includes("?")?"&":"?";return`${i}${s}${r}`}var vm=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=s=>{try{this.apply(s,{ot:Tt.MANIFEST,su:!this.initialized})}catch(n){L.warn("Could not generate manifest CMCD data.",n)}},this.applyFragmentData=s=>{try{let n=s.frag,a=this.hls.levels[n.level],o=this.getObjectType(n),l={d:n.duration*1e3,ot:o};(o===Tt.VIDEO||o===Tt.AUDIO||o==Tt.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){L.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:r}=t;r!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=r.sessionId||PL(),this.cid=r.contentId,this.useHeaders=r.useHeaders===!0,this.includeKeys=r.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHED,this.onMediaDetached,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHED,this.onMediaDetached,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var r,s;this.audioBuffer=(r=t.tracks.audio)==null?void 0:r.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:1,sf:mm.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){tt(t,this.createData());let r=t.ot===Tt.INIT||t.ot===Tt.VIDEO||t.ot===Tt.MUXED;this.starved&&r&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);let{includeKeys:s}=this;s&&(t=Object.keys(t).reduce((n,a)=>(s.includes(a)&&(n[a]=t[a]),n),{})),this.useHeaders?(e.headers||(e.headers={}),BL(e.headers,t)):e.url=GL(e.url,t)}getObjectType(e){let{type:t}=e;if(t==="subtitle")return Tt.TIMED_TEXT;if(e.sn==="initSegment")return Tt.INIT;if(t==="audio")return Tt.AUDIO;if(t==="main")return this.hls.audioTracks.length?Tt.VIDEO:Tt.MUXED}getTopBandwidth(e){let t=0,r,s=this.hls;if(e===Tt.AUDIO)r=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;r=s.levels.slice(0,a)}for(let n of r)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,r=e===Tt.AUDIO?this.audioBuffer:this.videoBuffer;return!r||!t?NaN:$e.bufferInfo(r,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}},KL=3e5,Em=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=L.log.bind(L,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(r=>r!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:r}=t;r!==null&&(this.pathwayId=r.pathwayId,this.uri=r.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:r}=t;if((r==null?void 0:r.action)===mt.SendAlternateToPenaltyBox&&r.flags===ri.MoveAllAlternatesMatchingHost){let s=this.levels,n=this.pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:o,pathwayId:l,type:d}=t.context;o&&s?a=this.getPathwayForGroupId(o,d,a):l&&(a=l)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!n&&s&&(n=s.reduce((o,l)=>(o.indexOf(l.pathwayId)===-1&&o.push(l.pathwayId),o),[])),n&&n.length>1&&(this.updatePathwayPriority(n),r.resolved=this.pathwayId!==a),r.resolved||L.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${s&&s.length} priorities: ${JSON.stringify(n)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let r=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${r}"`),t=this.getLevelsForPathway(r),this.pathwayId=r}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this.pathwayPriority=e;let t,r=this.penalizedPathways,s=performance.now();Object.keys(r).forEach(n=>{s-r[n]>KL&&delete r[n]});for(let n=0;n0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,Ob(t),this.hls.trigger(v.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[o];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=o);break}}}getPathwayForGroupId(e,t,r){let s=this.getLevelsForPathway(r).concat(this.levels||[]);for(let n=0;n{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(u=>u.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(u=>{let c=new je(u.attrs);c["PATHWAY-ID"]=a;let h=c.AUDIO&&`${c.AUDIO}_clone_${a}`,f=c.SUBTITLES&&`${c.SUBTITLES}_clone_${a}`;h&&(r[c.AUDIO]=h,c.AUDIO=h),f&&(s[c.SUBTITLES]=f,c.SUBTITLES=f);let m=fy(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),p=new Er({attrs:c,audioCodec:u.audioCodec,bitrate:u.bitrate,height:u.height,name:u.name,url:m,videoCodec:u.videoCodec,width:u.width});if(u.audioGroups)for(let g=1;g{this.log(`Loaded steering manifest: "${s}"`);let m=u.data;if(m.VERSION!==1){this.log(`Steering VERSION ${m.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=m.TTL;let{"RELOAD-URI":p,"PATHWAY-CLONES":g,"PATHWAY-PRIORITY":E}=m;if(p)try{this.uri=new self.URL(p,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${p}`);return}this.scheduleRefresh(this.uri||h.url),g&&this.clonePathways(g);let b={steeringManifest:m,url:s.toString()};this.hls.trigger(v.STEERING_MANIFEST_LOADED,b),E&&this.updatePathwayPriority(E)},onError:(u,c,h,f)=>{if(this.log(`Error loading steering manifest: ${u.code} ${u.text} (${c.url})`),this.stopLoad(),u.code===410){this.enabled=!1,this.log(`Steering manifest ${c.url} no longer available`);return}let m=this.timeToLoad*1e3;if(u.code===429){let p=this.loader;if(typeof(p==null?void 0:p.getResponseHeader)=="function"){let g=p.getResponseHeader("Retry-After");g&&(m=parseFloat(g)*1e3)}this.log(`Steering manifest ${c.url} rate limited`);return}this.scheduleRefresh(this.uri||c.url,m)},onTimeout:(u,c,h)=>{this.log(`Timeout loading steering manifest (${c.url})`),this.scheduleRefresh(this.uri||c.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var r;let s=(r=this.hls)==null?void 0:r.media;if(s&&!s.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}};function mb(i,e,t,r){i&&Object.keys(e).forEach(s=>{let n=i.filter(a=>a.groupId===s).map(a=>{let o=tt({},a);return o.details=void 0,o.attrs=new je(o.attrs),o.url=o.attrs.URI=fy(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=r,o});i.push(...n)})}function fy(i,e,t,r){let{HOST:s,PARAMS:n,[t]:a}=r,o;e&&(o=a==null?void 0:a[e],o&&(i=o));let l=new self.URL(i);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var WL=/^age:\s*[\d.]+\s*$/im,Nd=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Tn,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let r=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!(this.loader!==r||this.stats.aborted))return n(r,t.url)}).catch(a=>{if(!(this.loader!==r||this.stats.aborted))return r.open("GET",t.url,!0),n(r,t.url)}).then(()=>{this.loader!==r||this.stats.aborted||this.openAndSendXhr(r,t,e)}).catch(a=>{this.callbacks.onError({code:r.status,text:a.message},t,r,s)}):this.openAndSendXhr(r,t,e)}openAndSendXhr(e,t,r){e.readyState||e.open("GET",t.url,!0);let s=t.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=r.loadPolicy;if(s)for(let o in s)e.setRequestHeader(o,s[o]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=n&&q(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:r}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!r.aborted&&s>=2&&(r.loading.first===0&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let a=t.status,o=t.responseType!=="text";if(a>=200&&a<300&&(o&&t.response||t.responseText!==null)){r.loading.end=Math.max(self.performance.now(),r.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(r.loaded=r.total=d,r.bwEstimate=r.total*8e3/(r.loading.end-r.loading.first),!this.callbacks)return;let u=this.callbacks.onProgress;if(u&&u(r,e,l,t),!this.callbacks)return;let c={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(c,r,e,t)}else{let l=n.loadPolicy.errorRetry,d=r.retry,u={url:e.url,data:void 0,code:a};yd(l,d,!1,u)?this.retry(l):(L.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,r))}}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(yd(e,t,!0))this.retry(e);else{var r;L.warn(`timeout while loading ${(r=this.context)==null?void 0:r.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:r}=this;this.retryDelay=km(e,r.retry),r.retry++,L.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${r.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&WL.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}};function VL(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var YL=/(\d+)-(\d+)\/(\d+)/,Ud=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||XL,this.controller=new self.AbortController,this.stats=new Tn}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,r){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=qL(e,this.controller.signal),a=r.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=r,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&q(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(c=>{this.response=this.loader=c;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},u-(h-s.loading.start)),!c.ok){let{status:f,statusText:m}=c;throw new bm(m||"fetch, bad network response",f,c)}return s.loading.first=h,s.total=zL(c.headers)||s.total,a&&q(t.highWaterMark)?this.loadProgressively(c,s,e,t.highWaterMark,a):o?c.arrayBuffer():e.responseType==="json"?c.json():c.text()}).then(c=>{let h=this.response;if(!h)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=c[l];f&&(s.loaded=s.total=f);let m={url:h.url,data:c,code:h.status};a&&!q(t.highWaterMark)&&a(s,e,c,h),r.onSuccess(m,s,e,h)}).catch(c=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=c&&c.code||0,f=c?c.message:null;r.onError({code:h,text:f},e,c?c.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,r,s=0,n){let a=new Ad,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,r,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let u=d.value,c=u.length;return t.loaded+=c,c=s&&n(t,r,a.flush(),e)):n(t,r,u,e),l()}).catch(()=>Promise.reject());return l()}};function qL(i,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(tt({},i.headers))};return i.rangeEnd&&t.headers.set("Range","bytes="+i.rangeStart+"-"+String(i.rangeEnd-1)),t}function jL(i){let e=YL.exec(i);if(e)return parseInt(e[2])-parseInt(e[1])+1}function zL(i){let e=i.get("Content-Range");if(e){let r=jL(e);if(q(r))return r}let t=i.get("Content-Length");if(t)return parseInt(t)}function XL(i,e){return new self.Request(i.url,e)}var bm=class extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}},QL=/\s/,ZL={newCue(i,e,t,r){let s=[],n,a,o,l,d,u=self.VTTCue||self.TextTrackCue;for(let h=0;h=16?l--:l++;let f=sy(d.trim()),m=Om(e,t,f);i!=null&&(c=i.cues)!=null&&c.getCueById(m)||(a=new u(e,t,f),a.id=m,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return i&&s.length&&(s.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),s.forEach(h=>wb(i,h))),s}},JL={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},my=gt(gt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:Nd,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:wf,bufferController:rm,capLevelController:hm,errorController:kf,fpsController:fm,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:vb,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:JL},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},ek()),{},{subtitleStreamController:Jf,subtitleTrackController:tm,timelineController:cm,audioStreamController:Qf,audioTrackController:Zf,emeController:Pd,cmcdController:vm,contentSteeringController:Em});function ek(){return{cueHandler:ZL,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function tk(i,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=ym(i),r=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let u=`${n}Loading${d}`,c=e[u];if(c!==void 0&&o){l.push(u);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=c,h.maxTimeToFirstByteMs=c;break;case"MaxRetry":h.errorRetry.maxNumRetry=c,h.timeoutRetry.maxNumRetry=c;break;case"RetryDelay":h.errorRetry.retryDelayMs=c,h.timeoutRetry.retryDelayMs=c;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=c,h.timeoutRetry.maxRetryDelayMs=c;break}}}),l.length&&L.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),gt(gt({},t),e)}function ym(i){return i&&typeof i=="object"?Array.isArray(i)?i.map(ym):Object.keys(i).reduce((e,t)=>(e[t]=ym(i[t]),e),{}):i}function ik(i){let e=i.loader;e!==Ud&&e!==Nd?(L.log("[config]: Custom loader detected, cannot enable progressive streaming"),i.progressive=!1):VL()&&(i.loader=Ud,i.progressive=!0,i.enableSoftwareAES=!0,L.log("[config]: Progressive streaming enabled, using FetchLoader"))}var pf,Tm=class extends Da{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let r=this.hls.config.preferManagedMediaSource,s=[],n={},a={},o=!1,l=!1,d=!1;t.levels.forEach(u=>{var c,h;let f=u.attrs,{audioCodec:m,videoCodec:p}=u;((c=m)==null?void 0:c.indexOf("mp4a.40.34"))!==-1&&(pf||(pf=/chrome|firefox/i.test(navigator.userAgent)),pf&&(u.audioCodec=m=void 0)),m&&(u.audioCodec=m=gd(m,r)),((h=p)==null?void 0:h.indexOf("avc1"))===0&&(p=u.videoCodec=kR(p));let{width:g,height:E,unknownCodecs:b}=u;if(o||(o=!!(g&&E)),l||(l=!!p),d||(d=!!m),b!=null&&b.length||m&&!ef(m,"audio",r)||p&&!ef(p,"video",r))return;let{CODECS:T,"FRAME-RATE":_,"HDCP-LEVEL":A,"PATHWAY-ID":R,RESOLUTION:S,"VIDEO-RANGE":C}=f,k=`${`${R||"."}-`}${u.bitrate}-${S}-${_}-${T}-${C}-${A}`;if(n[k])if(n[k].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let M=a[k]+=1;u.attrs["PATHWAY-ID"]=new Array(M+1).join(".");let B=new Er(u);n[k]=B,s.push(B)}else n[k].addGroupId("audio",f.AUDIO),n[k].addGroupId("text",f.SUBTITLES);else{let M=new Er(u);n[k]=M,a[k]=1,s.push(M)}}),this.filterAndSortMediaOptions(s,t,o,l,d)}filterAndSortMediaOptions(e,t,r,s,n){let a=[],o=[],l=e;if((r||s)&&n&&(l=l.filter(({videoCodec:m,videoRange:p,width:g,height:E})=>(!!m||!!(g&&E))&&BR(p))),l.length===0){Promise.resolve().then(()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);let m=new Error("no level with compatible codecs found in manifest");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:m,reason:m.message})}});return}if(t.audioTracks){let{preferManagedMediaSource:m}=this.hls.config;a=t.audioTracks.filter(p=>!p.audioCodec||ef(p.audioCodec,"audio",m)),pb(a)}t.subtitles&&(o=t.subtitles,pb(o));let d=l.slice(0);l.sort((m,p)=>{if(m.attrs["HDCP-LEVEL"]!==p.attrs["HDCP-LEVEL"])return(m.attrs["HDCP-LEVEL"]||"")>(p.attrs["HDCP-LEVEL"]||"")?1:-1;if(r&&m.height!==p.height)return m.height-p.height;if(m.frameRate!==p.frameRate)return m.frameRate-p.frameRate;if(m.videoRange!==p.videoRange)return vd.indexOf(m.videoRange)-vd.indexOf(p.videoRange);if(m.videoCodec!==p.videoCodec){let g=CE(m.videoCodec),E=CE(p.videoCodec);if(g!==E)return E-g}if(m.uri===p.uri&&m.codecSet!==p.codecSet){let g=pd(m.codecSet),E=pd(p.codecSet);if(g!==E)return E-g}return m.averageBitrate!==p.averageBitrate?m.averageBitrate-p.averageBitrate:0});let u=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let m=0;mg&&g===my.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=E)}break}let h=n&&!s,f={levels:l,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:n,video:s,altAudio:!h&&a.some(m=>!!m.url)};this.hls.trigger(v.MANIFEST_PARSED,f),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let u=new Error("invalid level idx"),c=e<0;if(this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:w.LEVEL_SWITCH_ERROR,level:e,fatal:c,error:u,reason:u.message}),c)return;e=Math.min(e,t.length-1)}let r=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,r===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${o?" with Pathway "+o:""} from level ${r}${n?" with Pathway "+n:""}`);let l={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(v.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let u=this.switchParams(a.uri,s==null?void 0:s.details,d);this.loadPlaylist(u)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===ye.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===re.MAIN){let r=t.elementaryStreams;if(!Object.keys(r).some(n=>!!r[n]))return;let s=this._levels[t.level];s!=null&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0)}}onLevelLoaded(e,t){var r;let{level:s,details:n}=t,a=this._levels[s];if(!a){var o;this.warn(`Invalid level index ${s}`),(o=t.deliveryDirectives)!=null&&o.skip&&(n.deltaUpdateFailed=!0);return}s===this.currentLevelIndex?(a.fragmentError===0&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):(r=t.deliveryDirectives)!=null&&r.skip&&(n.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,r=this.currentLevel;if(r&&this.shouldLoadPlaylist(r)){let s=r.uri;if(e)try{s=e.addDirectives(s)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}let n=r.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${n?" Pathway "+n:""} ${s}`),this.clearTimer(),this.hls.trigger(v.LEVEL_LOADING,{url:s,level:t,pathwayId:r.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;let r=this._levels.filter((s,n)=>n!==e?!0:(this.steering&&this.steering.removeLevel(s),s===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,s.details&&s.details.fragments.forEach(a=>a.level=-1)),!1));Ob(r),this._levels=r,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(v.LEVELS_UPDATED,{levels:r})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:r}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(v.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:r}))}};function pb(i){let e={};i.forEach(t=>{let r=t.groupId||"";t.id=e[r]=e[r]||0,e[r]++})}var _m=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let r in this.keyUriToKeyInfo){let s=this.keyUriToKeyInfo[r].loader;if(s){var t;if(e&&e!==((t=s.context)==null?void 0:t.frag.type))return;s.abort()}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=w.KEY_LOAD_ERROR,r,s,n){return new ni({type:ie.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:r,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:r,cc:s}=e;for(let n=0;n{a.setKeyFormat(o)});break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var r,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((r=o)!=null&&r.decryptdata.key)return n.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if((s=o)!=null&&s.keyLoadPromise){var l;switch((l=o.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then(d=>(n.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:o}))}}switch(o=this.keyUriToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,w.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let r={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(r);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,r))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(r)}loadKeyHTTP(e,t){let r=this.config,s=r.loader,n=new s(r);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((a,o)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=r.keyLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{let{frag:g,keyInfo:E,url:b}=m;if(!g.decryptdata||E!==this.keyUriToKeyInfo[b])return o(this.createKeyLoadError(g,w.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),p));E.decryptdata.key=g.decryptdata.key=new Uint8Array(h.data),g.keyLoader=null,E.loader=null,a({frag:g,keyInfo:E})},onError:(h,f,m,p)=>{this.resetLoader(f),o(this.createKeyLoadError(t,w.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),m,gt({url:l.url,data:void 0},h)))},onTimeout:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,w.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),m))},onAbort:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,w.INTERNAL_ABORTED,new Error("key loading aborted"),m))}};n.load(l,u,c)})}resetLoader(e){let{frag:t,keyInfo:r,url:s}=e,n=r.loader;t.keyLoader===n&&(t.keyLoader=null,r.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}};function py(){return self.SourceBuffer||self.WebKitSourceBuffer}function gy(){if(!as())return!1;let e=py();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function rk(){if(!gy())return!1;let i=as();return typeof(i==null?void 0:i.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>i.isTypeSupported(wa(e,"video")))||["mp4a.40.2","fLaC"].some(e=>i.isTypeSupported(wa(e,"audio"))))}function sk(){var i;let e=py();return typeof(e==null||(i=e.prototype)==null?void 0:i.changeType)=="function"}var nk=250,ud=2,ak=.1,ok=.05,Am=class{constructor(e,t,r,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=r,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){let{config:r,media:s,stalled:n}=this;if(s===null)return;let{currentTime:a,seeking:o}=s,l=this.seeking&&!o,d=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,o||(this.nudgeRetry=0),n!==null){if(this.stallReported){let g=self.performance.now()-n;L.warn(`playback not stuck anymore @${a}, after ${Math.round(g)}ms`),this.stallReported=!1}this.stalled=null}return}if(d||l){this.stalled=null;return}if(s.paused&&!o||s.ended||s.playbackRate===0||!$e.getBuffered(s).length){this.nudgeRetry=0;return}let u=$e.bufferInfo(s,a,0),c=u.nextStart||0;if(o){let g=u.len>ud,E=!c||t&&t.start<=a||c-a>ud&&!this.fragmentTracker.getPartialFragment(a);if(g||E)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var h;if(!(u.len>0)&&!c)return;let E=Math.max(c,u.start||0)-a,b=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,_=(b==null||(h=b.details)==null?void 0:h.live)?b.details.targetduration*2:ud,A=this.fragmentTracker.getPartialFragment(a);if(E>0&&(E<=_||A)){s.paused||this._trySkipBufferHole(A);return}}let f=self.performance.now();if(n===null){this.stalled=f;return}let m=f-n;if(!o&&m>=nk&&(this._reportStall(u),!this.media))return;let p=$e.bufferInfo(s,a,r.maxBufferHole);this._tryFixBufferStall(p,m)}_tryFixBufferStall(e,t){let{config:r,fragmentTracker:s,media:n}=this;if(n===null)return;let a=n.currentTime,o=s.getPartialFragment(a);o&&(this._trySkipBufferHole(o)||!this.media)||(e.len>r.maxBufferHole||e.nextStart&&e.nextStart-ar.highBufferWatchdogPeriod*1e3&&(L.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){let{hls:t,media:r,stallReported:s}=this;if(!s&&r){this.stallReported=!0;let n=new Error(`Playback stalling at @${r.currentTime} due to low buffer (${JSON.stringify(e)})`);L.warn(n.message),t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:w.BUFFER_STALLED_ERROR,fatal:!1,error:n,buffer:e.len})}}_trySkipBufferHole(e){let{config:t,hls:r,media:s}=this;if(s===null)return 0;let n=s.currentTime,a=$e.bufferInfo(s,n,0),o=n0&&a.len<1&&s.readyState<3,u=o-n;if(u>0&&(l||d)){if(u>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(n===0){let m=h.getAppendedFrag(0,re.MAIN);m&&o1?(s=0,this.bitrateTest=!0):s=r.firstAutoLevel),r.nextLoadLevel=s,this.level=r.loadLevel,this.loadedmetadata=!1}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=O.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=O.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case O.WAITING_LEVEL:{let{levels:t,level:r}=this,s=t==null?void 0:t[r],n=s==null?void 0:s.details;if(n&&(!n.live||this.levelLastLoaded===s)){if(this.waitForCdnTuneIn(n))break;this.state=O.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=O.IDLE;break}break}case O.FRAG_LOADING_WAITING_RETRY:{var e;let t=self.performance.now(),r=this.retryDate;if(!r||t>=r||(e=this.media)!=null&&e.seeking){let{levels:s,level:n}=this,a=s==null?void 0:s[n];this.resetStartWhenNotLoaded(a||null),this.state=O.IDLE}}break}this.state===O.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:r,media:s}=this;if(t===null||!s&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let n=e.nextLoadLevel;if(!(r!=null&&r[n]))return;let a=r[n],o=this.getMainFwdBufferInfo();if(o===null)return;let l=this.getLevelDetails();if(l&&this._streamEnded(o,l)){let p={};this.altAudio&&(p.type="video"),this.hls.trigger(v.BUFFER_EOS,p),this.state=O.ENDED;return}e.loadLevel!==n&&e.manualLevel===-1&&this.log(`Adapting to level ${n} from level ${this.level}`),this.level=e.nextLoadLevel=n;let d=a.details;if(!d||this.state===O.WAITING_LEVEL||d.live&&this.levelLastLoaded!==a){this.level=n,this.state=O.WAITING_LEVEL;return}let u=o.len,c=this.getMaxBufferLength(a.maxBitrate);if(u>=c)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:o.end,f=this.getNextFragment(h,d);if(this.couldBacktrack&&!this.fragPrevious&&f&&f.sn!=="initSegment"&&this.fragmentTracker.getState(f)!==pt.OK){var m;let g=((m=this.backtrackFragment)!=null?m:f).sn-d.startSN,E=d.fragments[g-1];E&&f.cc===E.cc&&(f=E,this.fragmentTracker.removeFragment(E))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(f&&this.isLoopLoading(f,h)){if(!f.gap){let g=this.audioOnly&&!this.altAudio?Ie.AUDIO:Ie.VIDEO,E=(g===Ie.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;E&&this.afterBufferFlushed(E,g,re.MAIN)}f=this.getNextFragmentLoopLoading(f,d,o,re.MAIN,c)}f&&(f.initSegment&&!f.initSegment.data&&!this.bitrateTest&&(f=f.initSegment),this.loadFragment(f,a,h))}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===pt.NOT_LOADED||s===pt.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,r)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,re.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let r,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let o=this.getMainFwdBufferInfo();if(!o||o.len{let a=n.audioCodec;a&&(r=r||a.indexOf("mp4a.40.2")!==-1,s=s||a.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=r&&s&&!sk(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:r}=this;if(!r||this.state!==O.IDLE)return;let s=r[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=O.WAITING_LEVEL)}onLevelLoaded(e,t){var r;let{levels:s}=this,n=t.level,a=t.details,o=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${n}`);return}this.log(`Level ${n} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);let l=s[n],d=this.fragCurrent;d&&(this.state===O.FRAG_LOADING||this.state===O.FRAG_LOADING_WAITING_RETRY)&&d.level!==t.level&&d.loader&&this.abortCurrentFrag();let u=0;if(a.live||(r=l.details)!=null&&r.live){var c;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;u=this.alignPlaylists(a,l.details,(c=this.levelLastLoaded)==null?void 0:c.details)}if(l.details=a,this.levelLastLoaded=l,this.hls.trigger(v.LEVEL_UPDATED,{details:a,level:n}),this.state===O.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=O.IDLE}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,u),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let o=a[r.level],l=o.details;if(!l){this.warn(`Dropping fragment ${r.sn} of level ${r.level} after level details were reset`),this.fragmentTracker.removeFragment(r);return}let d=o.videoCodec,u=l.PTSKnown||!l.live,c=(t=r.initSegment)==null?void 0:t.data,h=this._getAudioCodec(o),f=this.transmuxer=this.transmuxer||new Cd(this.hls,re.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,p=m!==-1,g=new Ma(r.level,r.sn,r.stats.chunkCount,n.byteLength,m,p),E=this.initPTS[r.cc];f.push(n,c,h,d,r,s,l.totalduration,u,g,E)}onAudioTrackSwitching(e,t){let r=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();let n=this.hls;r&&(n.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),n.trigger(v.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let r=t.id,s=!!this.hls.audioTracks[r].url;if(s){let n=this.videoBuffer;n&&this.mediaBuffer!==n&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=n)}this.altAudio=s,this.tick()}onBufferCreated(e,t){let r=t.tracks,s,n,a=!1;for(let o in r){let l=r[o];if(l.id==="main"){if(n=o,s=l,o==="video"){let d=r[o];d&&(this.videoBuffer=d.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r&&r.type!==re.MAIN)return;if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}`),this.state===O.PARSED&&(this.state=O.IDLE);return}let n=s?s.stats:r.stats;this.fragLastKbps=Math.round(8*n.total/(n.buffering.end-n.loading.first)),r.sn!=="initSegment"&&(this.fragPrevious=r),this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=O.ERROR;return}switch(t.details){case w.FRAG_GAP:case w.FRAG_PARSING_ERROR:case w.FRAG_DECRYPT_ERROR:case w.FRAG_LOAD_ERROR:case w.FRAG_LOAD_TIMEOUT:case w.KEY_LOAD_ERROR:case w.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(re.MAIN,t);break;case w.LEVEL_LOAD_ERROR:case w.LEVEL_LOAD_TIMEOUT:case w.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===O.WAITING_LEVEL&&((r=t.context)==null?void 0:r.type)===ye.LEVEL&&(this.state=O.IDLE);break;case w.BUFFER_APPEND_ERROR:case w.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;if(t.details===w.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case w.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!$e.getBuffered(e).length){let r=this.state!==O.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,r)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=O.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==Ie.AUDIO||this.audioOnly&&!this.altAudio){let r=(t===Ie.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(r,t,re.MAIN),this.tick()}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,r=this.startPosition;if(r>=0&&t0&&(a{let{hls:s}=this;if(!r||this.fragContextChanged(e))return;t.fragmentError=0,this.state=O.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),s.trigger(v.FRAG_LOADED,r),e.bitrateTest=!1})}_handleTransmuxComplete(e){var t;let r="main",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{video:c,text:h,id3:f,initSegment:m}=n,{details:p}=u,g=this.altAudio?void 0:n.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=O.PARSING,m){if(m!=null&&m.tracks){let T=l.initSegment||l;this._bufferInitSegment(u,m.tracks,T,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:r,tracks:m.tracks})}let E=m.initPTS,b=m.timescale;q(E)&&(this.initPTS[l.cc]={baseTime:E,timescale:b},s.trigger(v.INIT_PTS_FOUND,{frag:l,id:r,initPTS:E,timescale:b}))}if(c&&p&&l.sn!=="initSegment"){let E=p.fragments[l.sn-1-p.startSN],b=l.sn===p.startSN,T=!E||l.cc>E.cc;if(n.independent!==!1){let{startPTS:_,endPTS:A,startDTS:R,endDTS:S}=c;if(d)d.elementaryStreams[c.type]={startPTS:_,endPTS:A,startDTS:R,endDTS:S};else if(c.firstKeyFrame&&c.independent&&a.id===1&&!T&&(this.couldBacktrack=!0),c.dropped&&c.independent){let C=this.getMainFwdBufferInfo(),P=(C?C.end:this.getLoadPosition())+this.config.maxBufferHole,k=c.firstKeyFramePTS?c.firstKeyFramePTS:_;if(!b&&Pud&&(l.gap=!0);l.setElementaryStreamInfo(c.type,_,A,R,S),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,a,b||T)}else if(b||T)l.gap=!0;else{this.backtrack(l);return}}if(g){let{startPTS:E,endPTS:b,startDTS:T,endDTS:_}=g;d&&(d.elementaryStreams[Ie.AUDIO]={startPTS:E,endPTS:b,startDTS:T,endDTS:_}),l.setElementaryStreamInfo(Ie.AUDIO,E,b,T,_),this.bufferFragmentData(g,l,d,a)}if(p&&f!=null&&(t=f.samples)!=null&&t.length){let E={id:r,frag:l,details:p,samples:f.samples};s.trigger(v.FRAG_PARSING_METADATA,E)}if(p&&h){let E={id:r,frag:l,details:p,samples:h.samples};s.trigger(v.FRAG_PARSING_USERDATA,E)}}_bufferInitSegment(e,t,r,s){if(this.state!==O.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:n,video:a,audiovideo:o}=t;if(n){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5");let u=n.metadata;u&&"channelCount"in u&&(u.channelCount||1)!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5")}l&&l.indexOf("mp4a.40.5")!==-1&&d.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),n.levelCodec=l,n.id="main",this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${n.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),this.hls.trigger(v.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let u=t[l].initSegment;u!=null&&u.byteLength&&this.hls.trigger(v.BUFFER_APPENDING,{type:l,data:u,frag:r,part:null,chunkMeta:s,parent:r.type})}),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,re.MAIN)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=O.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let r=e.currentTime;if($e.isBuffered(e,r)?t=this.getAppendedFrag(r):$e.isBuffered(e,r+.1)&&(t=this.getAppendedFrag(r+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n)&&(this.fragPlaying=t,this.hls.trigger(v.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(v.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,r=this.currentFrag;if(r&&q(t)&&q(r.programDateTime)){let s=r.programDateTime+(t-r.start)*1e3;return new Date(s)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},Fa=class i{static get version(){return"1.5.15"}static isMSESupported(){return gy()}static isSupported(){return rk()}static getMediaSource(){return as()}static get Events(){return v}static get ErrorTypes(){return ie}static get ErrorDetails(){return w}static get DefaultConfig(){return i.defaultConfig?i.defaultConfig:my}static set DefaultConfig(e){i.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Mm,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,Gx(e.debug||!1,"Hls instance");let t=this.config=tk(i.DefaultConfig,e);this.userConfig=e,t.progressive&&ik(t);let{abrController:r,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new r(this),u=this.bufferController=new s(this),c=this.capLevelController=new n(this),h=new o(this),f=new Tf(this),m=new Sf(this),p=t.contentSteeringController,g=p?new p(this):null,E=this.levelController=new Tm(this,g),b=new Mf(this),T=new _m(this.config),_=this.streamController=new Sm(this,b,T);c.setStreamController(_),h.setStreamController(_);let A=[f,E,_];g&&A.splice(1,0,g),this.networkControllers=A;let R=[d,u,c,h,m,b];this.audioTrackController=this.createController(t.audioTrackController,A);let S=t.audioStreamController;S&&A.push(new S(this,b,T)),this.subtitleTrackController=this.createController(t.subtitleTrackController,A);let C=t.subtitleStreamController;C&&A.push(new C(this,b,T)),this.createController(t.timelineController,R),T.emeController=this.emeController=this.createController(t.emeController,R),this.cmcdController=this.createController(t.cmcdController,R),this.latencyController=this.createController(xf,R),this.coreComponents=R,A.push(l);let P=l.onErrorOut;typeof P=="function"&&this.on(v.ERROR,P,l)}createController(e,t){if(e){let r=new e(this);return t&&t.push(r),r}return null}on(e,t,r=this){this._emitter.on(e,t,r)}once(e,t,r=this){this._emitter.once(e,t,r)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,r=this,s){this._emitter.off(e,t,r,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,r){return this._emitter.emit(e,t,r)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(r){if(L.error("An internal error happened while handling event "+e+'. Error message: "'+r.message+'". Here is a stacktrace:',r),!this.triggeringException){this.triggeringException=!0;let s=e===v.ERROR;this.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:w.INTERNAL_EXCEPTION,fatal:s,event:e,error:r}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){L.log("destroy"),this.trigger(v.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){L.log("attachMedia"),this._media=e,this.trigger(v.MEDIA_ATTACHING,{media:e})}detachMedia(){L.log("detachMedia"),this.trigger(v.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,r=this.url,s=this.url=xm.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,L.log(`loadSource:${s}`),t&&r&&(r!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(v.MANIFEST_LOADING,{url:e})}startLoad(e=-1){L.log(`startLoad(${e})`),this.started=!0,this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){L.log("stopLoad"),this.started=!1,this.networkControllers.forEach(e=>{e.stopLoad()})}resumeBuffering(){this.started&&this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.startLoad(-1)})}pauseBuffering(){this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.stopLoad()})}swapAudioCodec(){L.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){L.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e){this.levelController.removeLevel(e)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){L.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){L.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){L.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){L.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){L.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(L.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){FR(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let r=e.length;for(let s=0;s=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:r}=this,s;if(t===-1&&e!=null&&e.length?s=e.length-1:s=t,r)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=r)return n}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(e){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(e)}setSubtitleOption(e){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(e),null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}};Fa.defaultConfig=void 0;var Ge=Fa,we={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},J={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},$a=i=>i===we.VIDEO?"playback":i,br=class Ba extends Error{constructor(e,t=Ba.MEDIA_ERR_CUSTOM,r,s){var n;super(e),this.name="MediaError",this.code=t,this.context=s,this.fatal=r!=null?r:t>=Ba.MEDIA_ERR_NETWORK&&t<=Ba.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(n=Ba.defaultMessages[this.code])!=null?n:"")}};br.MEDIA_ERR_ABORTED=1,br.MEDIA_ERR_NETWORK=2,br.MEDIA_ERR_DECODE=3,br.MEDIA_ERR_SRC_NOT_SUPPORTED=4,br.MEDIA_ERR_ENCRYPTED=5,br.MEDIA_ERR_CUSTOM=100,br.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var K=br,dk=i=>i==null,Vm=(i,e)=>dk(e)?!1:i in e,Bm={ANY:"any",MUTED:"muted"},Ae={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},Vt={MSE:"mse",NATIVE:"native"},Bd={HEADER:"header",QUERY:"query",NONE:"none"},xn=Object.values(Bd),Tr={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},$m={HLS:Tr.M3U8},i2=Object.keys($m),r2=[...Object.values(Tr),"hls","HLS"];var uk="en",Hm={code:uk},it=(i,e,t,r,s=i)=>{s.addEventListener(e,t,r),i.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function ck(i,e,t){e&&t>e&&(t=e);for(let r=0;r=t)return!0;return!1}var Wd=i=>{let e=i.indexOf("?");if(e<0)return[i];let t=i.slice(0,e),r=i.slice(e);return[t,r]},Vd=i=>{let e=i.type;if(e){let r=e.toUpperCase();return Vm(r,$m)?$m[r]:e}let{src:t}=i;return t?hk(t):""},xy=i=>i==="VOD"?Ae.ON_DEMAND:Ae.LIVE,Ry=i=>i==="EVENT"?Number.POSITIVE_INFINITY:i==="VOD"?Number.NaN:0,hk=i=>{let e="";try{e=new URL(i).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let r=e.slice(t+1).toUpperCase();return Vm(r,Tr)?Tr[r]:""},_r=i=>{let e=(i!=null?i:"").split(".")[1];if(e)try{let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(r)}catch{return}},fk=({exp:i},e=Date.now())=>!i||i*1e3i!==e,pk=({aud:i},e)=>!i,gk=({aud:i},e)=>i!==e,Iy="en";function j(i,e=!0){var t,r;let s=e&&(r=(t=Hm)==null?void 0:t[i])!=null?r:i,n=e?Hm.code:Iy;return new vk(s,n)}var vk=class{constructor(i,e=(t=>(t=Hm)!=null?t:Iy)()){this.message=i,this.locale=e}format(i){return this.message.replace(/\{(\w+)\}/g,(e,t)=>{var r;return(r=i[t])!=null?r:""})}toString(){return this.message}},Ek=Object.values(Bm),vy=i=>typeof i=="boolean"||typeof i=="string"&&Ek.includes(i),bk=(i,e,t)=>{let{autoplay:r}=i,s=!1,n=!1,a=vy(r)?r:!!r,o=()=>{s||it(e,"playing",()=>{s=!0},{once:!0})};if(o(),it(e,"loadstart",()=>{s=!1,o(),Um(e,a)},{once:!0}),it(e,"loadstart",()=>{t||(i.streamType&&i.streamType!==Ae.UNKNOWN?n=i.streamType===Ae.LIVE:n=!Number.isFinite(e.duration)),Um(e,a)},{once:!0}),t&&t.once(Ge.Events.LEVEL_LOADED,(l,d)=>{var u;i.streamType&&i.streamType!==Ae.UNKNOWN?n=i.streamType===Ae.LIVE:n=(u=d.details.live)!=null?u:!1}),!a){let l=()=>{!n||Number.isFinite(i.startTime)||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&it(e,"play",()=>{e.preload==="metadata"?t.once(Ge.Events.LEVEL_UPDATED,l):l()},{once:!0})}return l=>{s||(a=vy(l)?l:!!l,Um(e,a))}},Um=(i,e)=>{if(!e)return;let t=i.muted,r=()=>i.muted=t;switch(e){case Bm.ANY:i.play().catch(()=>{i.muted=!0,i.play().catch(r)});break;case Bm.MUTED:i.muted=!0,i.play().catch(r);break;default:i.play().catch(()=>{});break}},yk=({preload:i,src:e},t,r)=>{let s=c=>{c!=null&&["","none","metadata","auto"].includes(c)?t.setAttribute("preload",c):t.removeAttribute("preload")};if(!r)return s(i),s;let n=!1,a=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=c=>{s(c);let h=c!=null?c:t.preload;a||h==="none"||(h==="metadata"?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),u())},u=()=>{!n&&e&&(n=!0,r.loadSource(e))};return it(t,"play",()=>{a=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(i),d};function Tk(i,e){var t;if(!("videoTracks"in i))return;let r=new WeakMap;e.on(Ge.Events.MANIFEST_PARSED,function(d,u){l();let c=i.addVideoTrack("main");c.selected=!0;for(let[h,f]of u.levels.entries()){let m=c.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);r.set(f,`${h}`),m.id=`${h}`}}),e.on(Ge.Events.AUDIO_TRACKS_UPDATED,function(d,u){o();for(let c of u.audioTracks){let h=c.default?"main":"alternative",f=i.addAudioTrack(h,c.name,c.lang);f.id=`${c.id}`,c.default&&(f.enabled=!0)}}),i.audioTracks.addEventListener("change",()=>{var d;let u=+((d=[...i.audioTracks].find(h=>h.enabled))==null?void 0:d.id),c=e.audioTracks.map(h=>h.id);u!=e.audioTrack&&c.includes(u)&&(e.audioTrack=u)}),e.on(Ge.Events.LEVELS_UPDATED,function(d,u){var c;let h=i.videoTracks[(c=i.videoTracks.selectedIndex)!=null?c:0];if(!h)return;let f=u.levels.map(m=>r.get(m));for(let m of i.videoRenditions)m.id&&!f.includes(m.id)&&h.removeRendition(m)});let s=d=>{let u=d.target.selectedIndex;u!=e.nextLevel&&n(u)},n=d=>{let u=i.currentTime,c=!1,h=(f,m)=>{c||(c=!Number.isFinite(m.endOffset))};e.on(Ge.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(Ge.Events.BUFFER_FLUSHING,h),c||e.trigger(Ge.Events.BUFFER_FLUSHING,{startOffset:u+10,endOffset:1/0,type:"video"})};(t=i.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of i.videoTracks)i.removeVideoTrack(d)},o=()=>{for(let d of i.audioTracks)i.removeAudioTrack(d)},l=()=>{a(),o()};e.once(Ge.Events.DESTROYING,l)}var Fm=i=>"time"in i?i.time:i.startTime;function _k(i,e){e.on(Ge.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o,l;let d=(o=a.subtitleTrack)!=null?o:a.closedCaptions,u=e.subtitleTracks.findIndex(({lang:h,name:f,type:m})=>h==(d==null?void 0:d.lang)&&f===a.label&&m.toLowerCase()===a.kind),c=((l=a._id)!=null?l:a.default)?"default":`${a.kind}${u}`;Yd(i,a.kind,a.label,d==null?void 0:d.lang,c,a.default)})});let t=()=>{if(!e.subtitleTracks.length)return;let s=Array.from(i.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind));if(!s)return;let n=e.subtitleTracks[e.subtitleTrack],a=n?n.default?"default":`${e.subtitleTracks[e.subtitleTrack].type.toLowerCase()}${e.subtitleTrack}`:void 0;if(e.subtitleTrack<0||(s==null?void 0:s.id)!==a){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:u,default:c})=>s.id==="default"&&c||l==s.language&&d===s.label&&u.toLowerCase()===s.kind);e.subtitleTrack=o}(s==null?void 0:s.id)===a&&s.cues&&Array.from(s.cues).forEach(o=>{s.addCue(o)})};i.textTracks.addEventListener("change",t),e.on(Ge.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=i.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var u;(u=o.cues)!=null&&u.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(Ge.Events.DESTROYING,()=>{i.textTracks.removeEventListener("change",t),i.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let r=()=>{Array.from(i.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&(s.label==="thumbnails"||s.kind==="chapters")){if(!((n=s.cues)!=null&&n.length)){let o="track";s.kind&&(o+=`[kind="${s.kind}"]`),s.label&&(o+=`[label="${s.label}"]`);let l=i.querySelector(o),d=(a=l==null?void 0:l.getAttribute("src"))!=null?a:"";l==null||l.removeAttribute("src"),setTimeout(()=>{l==null||l.setAttribute("src",d)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(Ge.Events.MANIFEST_LOADED,r),e.once(Ge.Events.MEDIA_ATTACHED,r)}function Yd(i,e,t,r,s,n){let a=document.createElement("track");return a.kind=e,a.label=t,r&&(a.srclang=r),s&&(a.id=s),n&&(a.default=!0),a.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",a.setAttribute("data-removeondestroy",""),i.append(a),a.track}function Ly(i,e){let t=Array.prototype.find.call(i.querySelectorAll("track"),r=>r.track===e);t==null||t.remove()}function Ha(i,e,t){var r;return(r=Array.from(i.querySelectorAll("track")).find(s=>s.track.label===e&&s.track.kind===t))==null?void 0:r.track}async function ky(i,e,t,r){let s=Ha(i,t,r);return s||(s=Yd(i,r,t),s.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))),s.mode!=="hidden"&&(s.mode="hidden"),[...e].sort((n,a)=>Fm(a)-Fm(n)).forEach(n=>{var a,o;let l=n.value,d=Fm(n);if("endTime"in n&&n.endTime!=null)s==null||s.addCue(new VTTCue(d,n.endTime,r==="chapters"?l:JSON.stringify(l!=null?l:null)));else{let u=Array.prototype.findIndex.call(s==null?void 0:s.cues,m=>m.startTime>=d),c=(a=s==null?void 0:s.cues)==null?void 0:a[u],h=c?c.startTime:Number.isFinite(i.duration)?i.duration:Number.MAX_SAFE_INTEGER,f=(o=s==null?void 0:s.cues)==null?void 0:o[u-1];f&&(f.endTime=d),s==null||s.addCue(new VTTCue(d,h,r==="chapters"?l:JSON.stringify(l!=null?l:null)))}}),i.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),s}var Ym="cuepoints",Cy=Object.freeze({label:Ym});async function qm(i,e,t=Cy){return ky(i,e,t.label,"metadata")}var Gm=i=>({time:i.startTime,value:JSON.parse(i.text)});function wy(i,e={label:Ym}){let t=Ha(i,e.label,"metadata");return t!=null&&t.cues?Array.from(t.cues,r=>Gm(r)):[]}function jm(i,e={label:Ym}){var t,r;let s=Ha(i,e.label,"metadata");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return Gm(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return Gm(a||s.activeCues[0])}async function Ak(i,e=Cy){return new Promise(t=>{it(i,"loadstart",async()=>{let r=await qm(i,[],e);it(i,"cuechange",()=>{let s=jm(i);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}var zm="chapters",Dy=Object.freeze({label:zm}),Km=i=>({startTime:i.startTime,endTime:i.endTime,value:i.text});async function Xm(i,e,t=Dy){return ky(i,e,t.label,"chapters")}function My(i,e={label:zm}){var t;let r=Ha(i,e.label,"chapters");return(t=r==null?void 0:r.cues)!=null&&t.length?Array.from(r.cues,s=>Km(s)):[]}function Qm(i,e={label:zm}){var t,r;let s=Ha(i,e.label,"chapters");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return Km(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return Km(a||s.activeCues[0])}async function Sk(i,e=Dy){return new Promise(t=>{it(i,"loadstart",async()=>{let r=await Xm(i,[],e);it(i,"cuechange",()=>{let s=Qm(i);if(s){let n=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}function Py(i,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-i.currentTime*1e3)}return typeof i.getStartDate=="function"?i.getStartDate():new Date(NaN)}function Oy(i,e){if(e&&e.playingDate)return e.playingDate;if(typeof i.getStartDate=="function"){let t=i.getStartDate();return new Date(t.getTime()+i.currentTime*1e3)}return new Date(NaN)}var Sn={VIDEO:"v",THUMBNAIL:"t",STORYBOARD:"s",DRM:"d"},xk=i=>{if(i===we.VIDEO)return Sn.VIDEO;if(i===we.DRM)return Sn.DRM},Rk=(i,e)=>{var t,r;let s=$a(i),n=`${s}Token`;return(t=e.tokens)!=null&&t[s]?(r=e.tokens)==null?void 0:r[s]:Vm(n,e)?e[n]:void 0},Gd=(i,e,t,r=!1,s=!(n=>(n=globalThis.navigator)==null?void 0:n.onLine)())=>{var n,a;if(s){let g=j("Your device appears to be offline",r),E,b=K.MEDIA_ERR_NETWORK,T=new K(g,b,!0,E);return T.errorCategory=e,T.muxCode=J.NETWORK_OFFLINE,T.data=i,T}let o="status"in i?i.status:i.code,l=Date.now(),d=K.MEDIA_ERR_NETWORK;if(o===200)return;let u=$a(e),c=Rk(e,t),h=xk(e),[f]=Wd((n=t.playbackId)!=null?n:"");if(!o||!f)return;let m=_r(c);if(c&&!m){let g=j("The {tokenNamePrefix}-token provided is invalid or malformed.",r).format({tokenNamePrefix:u}),E=j("Compact JWT string: {token}",r).format({token:c}),b=new K(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_MALFORMED,b.data=i,b}if(o>=500){let g=new K("",d,!0);return g.errorCategory=e,g.muxCode=J.NETWORK_UNKNOWN_ERROR,g}if(o===403)if(m){if(fk(m,l)){let g={timeStyle:"medium",dateStyle:"medium"},E=j("The video\u2019s secured {tokenNamePrefix}-token has expired.",r).format({tokenNamePrefix:u}),b=j("Expired at: {expiredDate}. Current time: {currentDate}.",r).format({expiredDate:new Intl.DateTimeFormat("en",g).format((a=m.exp)!=null?a:0*1e3),currentDate:new Intl.DateTimeFormat("en",g).format(l)}),T=new K(E,d,!0,b);return T.errorCategory=e,T.muxCode=J.NETWORK_TOKEN_EXPIRED,T.data=i,T}if(mk(m,f)){let g=j("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u}),E=j("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",r).format({tokenNamePrefix:u,playbackId:f,tokenPlaybackId:m.sub}),b=new K(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_SUB_MISMATCH,b.data=i,b}if(pk(m,h)){let g=j("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=j("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h}),b=new K(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_AUD_MISSING,b.data=i,b}if(gk(m,h)){let g=j("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=j("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h,aud:m.aud}),b=new K(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_AUD_MISMATCH,b.data=i,b}}else{let g=j("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u,category:e}),E=j("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new K(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_TOKEN_MISSING,b.data=i,b}if(o===412){let g=j("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",r),E=j("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new K(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_NOT_READY,b.data=i,b}if(o===404){let g=j("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",r),E=j("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new K(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_NOT_FOUND,b.data=i,b}if(o===400){let g=j("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),E=j("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new K(g,d,!0,E);return b.errorCategory=e,b.muxCode=J.NETWORK_INVALID_URL,b.data=i,b}let p=new K("",d,!0);return p.errorCategory=e,p.muxCode=J.NETWORK_UNKNOWN_ERROR,p.data=i,p},$d={FAIRPLAY:"fairplay",PLAYREADY:"playready",WIDEVINE:"widevine"},Ik=i=>{if(i.includes("fps"))return $d.FAIRPLAY;if(i.includes("playready"))return $d.PLAYREADY;if(i.includes("widevine"))return $d.WIDEVINE},Lk=async i=>fetch(i).then(e=>e.status!==200?Promise.reject(e):e.text()).then(e=>{let t=e.split(` `).find((r,s,n)=>s&&n[s-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(r=>r.status!==200?Promise.reject(r):r.text()).then(r=>r.split(` `))}),kk=i=>{var e,t,r;let s=(t=((e=i.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),n=xy(s),a=Ry(s),o;if(n===Ae.LIVE){let l=i.find(d=>d.startsWith("#EXT-X-PART-INF"));if(l)o=+l.split(":")[1].split("=")[1]*2;else{let d=i.find(c=>c.startsWith("#EXT-X-TARGETDURATION")),u=(r=d==null?void 0:d.split(":"))==null?void 0:r[1];o=+(u!=null?u:6)*3}}return{streamType:n,targetLiveWindow:a,liveEdgeStartOffset:o}},Ck=async(i,e)=>{if(e===Tr.MP4)return{streamType:Ae.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Tr.M3U8){let t=await Lk(i);return kk(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${i}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},wk=async(i,e,t=Vd({src:i}))=>{var r,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await Ck(i,t);((r=Et.get(e))!=null?r:{}).liveEdgeStartOffset=l,((s=Et.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=Et.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Dk=i=>{var e;let t=i.type,r=xy(t),s=Ry(t),n,a=!!((e=i.partList)!=null&&e.length);return r===Ae.LIVE&&(n=a?i.partTarget*2:i.targetduration*3),{streamType:r,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},Mk=(i,e,t)=>{var r,s,n,a,o,l,d,u;let{streamType:c,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:m}=Dk(i);if(c===Ae.LIVE){m?(t.config.backBufferLength=(r=t.userConfig.backBufferLength)!=null?r:4,t.config.maxFragLookUpTolerance=(s=t.userConfig.maxFragLookUpTolerance)!=null?s:.001,t.config.abrBandWidthUpFactor=(n=t.userConfig.abrBandWidthUpFactor)!=null?n:t.config.abrBandWidthFactor):t.config.backBufferLength=(a=t.userConfig.backBufferLength)!=null?a:8;let p=Object.freeze({get length(){return e.seekable.length},start(g){return e.seekable.start(g)},end(g){var E;return g>this.length||g<0||Number.isFinite(e.duration)?e.seekable.end(g):(E=t.liveSyncPosition)!=null?E:e.seekable.end(g)}});((o=Et.get(e))!=null?o:{}).seekable=p}((l=Et.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=Et.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=Et.get(e))!=null?u:{}).streamType=c,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Ey,by,Pk=(by=(Ey=globalThis==null?void 0:globalThis.navigator)==null?void 0:Ey.userAgent)!=null?by:"",yy,Ty,_y,Ok=(_y=(Ty=(yy=globalThis==null?void 0:globalThis.navigator)==null?void 0:yy.userAgentData)==null?void 0:Ty.platform)!=null?_y:"",Nk=Pk.toLowerCase().includes("android")||["x11","android"].some(i=>Ok.toLowerCase().includes(i)),Et=new WeakMap,yr="mux.com",Ay,Sy,Ny=(Sy=(Ay=Ge).isSupported)==null?void 0:Sy.call(Ay),Uk=Nk,Uy=()=>ql.utils.now(),Fk=ql.utils.generateUUID,Ga=({playbackId:i,customDomain:e=yr,maxResolution:t,minResolution:r,renditionOrder:s,programStartTime:n,programEndTime:a,assetStartTime:o,assetEndTime:l,playbackToken:d,tokens:{playback:u=d}={},extraSourceParams:c={}}={})=>{if(!i)return;let[h,f=""]=Wd(i),m=new URL(`https://stream.${e}/${h}.m3u8${f}`);return u||m.searchParams.has("token")?(m.searchParams.forEach((p,g)=>{g!="token"&&m.searchParams.delete(g)}),u&&m.searchParams.set("token",u)):(t&&m.searchParams.set("max_resolution",t),r&&(m.searchParams.set("min_resolution",r),t&&+t.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",t)),s&&m.searchParams.set("rendition_order",s),n&&m.searchParams.set("program_start_time",`${n}`),a&&m.searchParams.set("program_end_time",`${a}`),o&&m.searchParams.set("asset_start_time",`${o}`),l&&m.searchParams.set("asset_end_time",`${l}`),Object.entries(c).forEach(([p,g])=>{g!=null&&m.searchParams.set(p,g)})),m.toString()},qd=i=>{if(!i)return;let[e]=i.split("?");return e||void 0},Zm=i=>{if(!i||!i.startsWith("https://stream."))return;let[e]=new URL(i).pathname.slice(1).split(".m3u8");return e||void 0},Bk=i=>{var e,t,r;return(e=i==null?void 0:i.metadata)!=null&&e.video_id?i.metadata.video_id:Vy(i)&&(r=(t=qd(i.playbackId))!=null?t:Zm(i.src))!=null?r:i.src},Jm=i=>{var e;return(e=Et.get(i))==null?void 0:e.error},Kd=i=>{var e,t;return(t=(e=Et.get(i))==null?void 0:e.streamType)!=null?t:Ae.UNKNOWN},Fy=i=>{var e,t;return(t=(e=Et.get(i))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},jd=i=>{var e,t;return(t=(e=Et.get(i))==null?void 0:e.seekable)!=null?t:i.seekable},By=i=>{var e;let t=(e=Et.get(i))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=jd(i);return r.length?r.end(r.length-1)-t:Number.NaN},ep=.034,$k=(i,e,t=ep)=>Math.abs(i-e)<=t,$y=(i,e,t=ep)=>i>e||$k(i,e,t),Hk=(i,e=ep)=>i.paused&&$y(i.currentTime,i.duration,e),Hy=(i,e)=>{var t,r,s;if(!e||!i.buffered.length)return;if(i.readyState>2)return!1;let n=e.currentLevel>=0?(r=(t=e.levels)==null?void 0:t[e.currentLevel])==null?void 0:r.details:(s=e.levels.find(c=>!!c.details))==null?void 0:s.details;if(!n||n.live)return;let{fragments:a}=n;if(!(a!=null&&a.length))return;if(i.currentTimed&&li.ended||i.loop?i.ended:e&&Hy(i,e)?!0:Hk(i),Gy=(i,e,t)=>{ip(e,t);let{metadata:r={}}=i,{view_session_id:s=Fk()}=r,n=Bk(i);r.view_session_id=s,r.video_id=n,i.metadata=r;let a=u=>{var c;(c=e.mux)==null||c.emit("hb",{view_drm_type:u})};i.drmTypeCb=a,Et.set(e,{});let o=Gk(i,e),l=yk(i,e,o);jk(i,e,o),zk(i,e,o),Ak(e),Sk(e);let d=bk(i,e,o);return{engine:o,setAutoplay:d,setPreload:l}},ip=(i,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),i!=null&&i.mux&&!i.mux.deleted&&(i.mux.destroy(),delete i.mux),i&&(i.removeAttribute("src"),i.load(),i.removeEventListener("error",qy),i.removeEventListener("error",Wm),i.removeEventListener("durationchange",Yy),Et.delete(i),i.dispatchEvent(new Event("teardown")))};function Ky(i,e){var t;let r=Vd(i);if(r!==Tr.M3U8)return!0;let s=!r||((t=e.canPlayType(r))!=null?t:!0),{preferPlayback:n}=i,a=n===Vt.MSE,o=n===Vt.NATIVE;return s&&(o||!(Ny&&(a||Uk)))}var Gk=(i,e)=>{let{debug:t,streamType:r,startTime:s=-1,metadata:n,preferCmcd:a,_hlsConfig:o={}}=i,l=Vd(i)===Tr.M3U8,d=Ky(i,e);if(l&&!d&&Ny){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=Kk(r),h=Wk(i),f=a!==Bd.NONE?{useHeaders:a===Bd.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new Ge({debug:t,startPosition:s,cmcd:f,xhrSetup:(m,p)=>{var g,E;if(a&&a!==Bd.QUERY)return;let b=new URL(p);if(!b.searchParams.has("CMCD"))return;let T=((E=(g=b.searchParams.get("CMCD"))==null?void 0:g.split(","))!=null?E:[]).filter(_=>_.startsWith("sid")||_.startsWith("cid")).join(",");b.searchParams.set("CMCD",T),m.open("GET",b)},...u,...c,...h,...o})}},Kk=i=>i===Ae.LIVE?{backBufferLength:8}:{},Wk=i=>{let{tokens:{drm:e}={},playbackId:t,drmTypeCb:r}=i,s=qd(t);return!e||!s?{}:{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:Hd(i,"fairplay"),serverCertificateUrl:Wy(i,"fairplay")},"com.widevine.alpha":{licenseUrl:Hd(i,"widevine")},"com.microsoft.playready":{licenseUrl:Hd(i,"playready")}},requestMediaKeySystemAccessFunc:(n,a)=>(n==="com.widevine.alpha"&&(a=[...a.map(o=>{var l;let d=(l=o.videoCapabilities)==null?void 0:l.map(u=>({...u,robustness:"HW_SECURE_ALL"}));return{...o,videoCapabilities:d}}),...a]),navigator.requestMediaKeySystemAccess(n,a).then(o=>{let l=Ik(n);return r==null||r(l),o}))}},Vk=async i=>{let e=await fetch(i);return e.status!==200?Promise.reject(e):await e.arrayBuffer()},Yk=async(i,e)=>{let t=await fetch(e,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:i});if(t.status!==200)return Promise.reject(t);let r=await t.arrayBuffer();return new Uint8Array(r)},qk=(i,e)=>{it(e,"encrypted",async t=>{try{let r=t.initDataType;if(r!=="skd"){console.error(`Received unexpected initialization data type "${r}"`);return}if(!e.mediaKeys){let l=await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[r],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}]).then(u=>{var c;return(c=i.drmTypeCb)==null||c.call(i,$d.FAIRPLAY),u}).catch(()=>{let u=j("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),c=new K(u,K.MEDIA_ERR_ENCRYPTED,!0);c.errorCategory=we.DRM,c.muxCode=J.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,e.dispatchEvent(new CustomEvent("error",{detail:c}))});if(!l)return;let d=await l.createMediaKeys();try{let u=await Vk(Wy(i,"fairplay")).catch(c=>{if(c instanceof Response){let h=Gd(c,we.DRM,i);return console.error("mediaError",h==null?void 0:h.message,h==null?void 0:h.context),h?Promise.reject(h):Promise.reject(new Error("Unexpected error in app cert request"))}return Promise.reject(c)});await d.setServerCertificate(u).catch(()=>{let c=j("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),h=new K(c,K.MEDIA_ERR_ENCRYPTED,!0);return h.errorCategory=we.DRM,h.muxCode=J.ENCRYPTED_UPDATE_SERVER_CERT_FAILED,Promise.reject(h)})}catch(u){e.dispatchEvent(new CustomEvent("error",{detail:u}));return}await e.setMediaKeys(d)}let s=t.initData;if(s==null){console.error(`Could not start encrypted playback due to missing initData in ${t.type} event`);return}let n=e.mediaKeys.createSession();n.addEventListener("keystatuseschange",()=>{n.keyStatuses.forEach(l=>{let d;if(l==="internal-error"){let u=j("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");d=new K(u,K.MEDIA_ERR_ENCRYPTED,!0),d.errorCategory=we.DRM,d.muxCode=J.ENCRYPTED_CDM_ERROR}else if(l==="output-restricted"||l==="output-downscaled"){let u=j("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");d=new K(u,K.MEDIA_ERR_ENCRYPTED,!1),d.errorCategory=we.DRM,d.muxCode=J.ENCRYPTED_OUTPUT_RESTRICTED}d&&e.dispatchEvent(new CustomEvent("error",{detail:d}))})});let a=await Promise.all([n.generateRequest(r,s).catch(()=>{let l=j("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),d=new K(l,K.MEDIA_ERR_ENCRYPTED,!0);d.errorCategory=we.DRM,d.muxCode=J.ENCRYPTED_GENERATE_REQUEST_FAILED,e.dispatchEvent(new CustomEvent("error",{detail:d}))}),new Promise(l=>{n.addEventListener("message",d=>{l(d.message)},{once:!0})})]).then(([,l])=>l);n.generateRequest(r,s);let o=await Yk(a,Hd(i,"fairplay")).catch(l=>{if(l instanceof Response){let d=Gd(l,we.DRM,i);return console.error("mediaError",d==null?void 0:d.message,d==null?void 0:d.context),d?Promise.reject(d):Promise.reject(new Error("Unexpected error in license key request"))}return Promise.reject(l)});await n.update(o).catch(()=>{let l=j("Failed to update DRM license. This may be an issue with the player or your protected content."),d=new K(l,K.MEDIA_ERR_ENCRYPTED,!0);return d.errorCategory=we.DRM,d.muxCode=J.ENCRYPTED_UPDATE_LICENSE_FAILED,Promise.reject(d)})}catch(r){e.dispatchEvent(new CustomEvent("error",{detail:r}));return}})},Hd=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=qd(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/license/${r}/${s}?token=${e}`},Wy=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=qd(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/appcert/${r}/${s}?token=${e}`},Vy=({playbackId:i,src:e,customDomain:t})=>{if(i)return!0;if(typeof e!="string")return!1;let r=window==null?void 0:window.location.href,s=new URL(e,r).hostname.toLocaleLowerCase();return s.includes(yr)||!!t&&s.includes(t.toLocaleLowerCase())},jk=(i,e,t)=>{var r;let{envKey:s,disableTracking:n}=i,a=Vy(i);if(!n&&(s||a)){let{playerInitTime:o,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:u,debug:c,disableCookies:h}=i,f={...i.metadata,video_title:((r=i==null?void 0:i.metadata)==null?void 0:r.video_title)||void 0},m=p=>typeof p.player_error_code=="string"?!1:typeof i.errorTranslator=="function"?i.errorTranslator(p):p;ql.monitor(e,{debug:c,beaconCollectionDomain:u,hlsjs:t,Hls:t?Ge:void 0,automaticErrorTracking:!1,errorTranslator:m,disableCookies:h,data:{...s?{env_key:s}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:o,...f}})}},zk=(i,e,t)=>{var r,s;let n=Ky(i,e),{src:a}=i,o=()=>{e.ended||!tp(e,t)||(Hy(e,t)?e.currentTime=e.buffered.end(e.buffered.length-1):e.dispatchEvent(new Event("ended")))},l,d,u=()=>{let c=jd(e),h,f;c.length>0&&(h=c.start(0),f=c.end(0)),(d!==f||l!==h)&&e.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),l=h,d=f};if(it(e,"durationchange",u),e&&n){let c=Vd(i);if(typeof a=="string"){let h=()=>{if(Kd(e)!==Ae.LIVE||Number.isFinite(e.duration))return;let m=setInterval(u,1e3);e.addEventListener("teardown",()=>{clearInterval(m)},{once:!0}),it(e,"durationchange",()=>{Number.isFinite(e.duration)&&clearInterval(m)})},f=async()=>wk(a,e,c).then(h).catch(m=>{if(m instanceof Response){let p=Gd(m,we.VIDEO,i);if(p){e.dispatchEvent(new CustomEvent("error",{detail:p}));return}}else m instanceof Error});if(e.preload==="none"){let m=()=>{f(),e.removeEventListener("loadedmetadata",p)},p=()=>{f(),e.removeEventListener("play",m)};it(e,"play",m,{once:!0}),it(e,"loadedmetadata",p,{once:!0})}else f();(r=i.tokens)!=null&&r.drm?qk(i,e):it(e,"encrypted",()=>{let m=j("Attempting to play DRM-protected content without providing a DRM token."),p=new K(m,K.MEDIA_ERR_ENCRYPTED,!0);p.errorCategory=we.DRM,p.muxCode=J.ENCRYPTED_MISSING_TOKEN,e.dispatchEvent(new CustomEvent("error",{detail:p}))},{once:!0}),e.setAttribute("src",a),i.startTime&&(((s=Et.get(e))!=null?s:{}).startTime=i.startTime,e.addEventListener("durationchange",Yy,{once:!0}))}else e.removeAttribute("src");e.addEventListener("error",qy),e.addEventListener("error",Wm),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(h=>{h.remove()})},{once:!0}),it(e,"pause",o),it(e,"seeked",o),it(e,"play",()=>{e.ended||$y(e.currentTime,e.duration)&&(e.currentTime=e.seekable.length?e.seekable.start(0):0)})}else t&&a?(t.once(Ge.Events.LEVEL_LOADED,(c,h)=>{Mk(h.details,e,t),u(),Kd(e)===Ae.LIVE&&!Number.isFinite(e.duration)&&(t.on(Ge.Events.LEVEL_UPDATED,u),it(e,"durationchange",()=>{Number.isFinite(e.duration)&&t.off(Ge.Events.LEVELS_UPDATED,u)}))}),t.on(Ge.Events.ERROR,(c,h)=>{e.dispatchEvent(new CustomEvent("error",{detail:Xk(h,i)}))}),e.addEventListener("error",Wm),it(e,"waiting",o),Tk(i,t),_k(e,t),t.attachMedia(e)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function Yy(i){var e;let t=i.target,r=(e=Et.get(t))==null?void 0:e.startTime;if(r&&ck(t.seekable,t.duration,r)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=r,s&&(t.preload="auto")}}async function qy(i){if(!i.isTrusted)return;i.stopImmediatePropagation();let e=i.target;if(!(e!=null&&e.error))return;let{message:t,code:r}=e.error,s=new K(t,r);if(e.src&&r===K.MEDIA_ERR_SRC_NOT_SUPPORTED&&e.readyState===HTMLMediaElement.HAVE_NOTHING){setTimeout(()=>{var n;let a=(n=Jm(e))!=null?n:e.error;(a==null?void 0:a.code)===K.MEDIA_ERR_SRC_NOT_SUPPORTED&&e.dispatchEvent(new CustomEvent("error",{detail:s}))},500);return}if(e.src&&(r!==K.MEDIA_ERR_DECODE||r!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}e.dispatchEvent(new CustomEvent("error",{detail:s}))}function Wm(i){var e,t;if(!(i instanceof CustomEvent)||!(i.detail instanceof K))return;let r=i.target,s=i.detail;!s||!s.fatal||(((e=Et.get(r))!=null?e:{}).error=s,(t=r.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var Xk=(i,e)=>{var t,r,s;console.error("getErrorFromHlsErrorData()",i);let n={[Ge.ErrorTypes.NETWORK_ERROR]:K.MEDIA_ERR_NETWORK,[Ge.ErrorTypes.MEDIA_ERROR]:K.MEDIA_ERR_DECODE,[Ge.ErrorTypes.KEY_SYSTEM_ERROR]:K.MEDIA_ERR_ENCRYPTED},a=u=>[w.KEY_SYSTEM_LICENSE_REQUEST_FAILED,w.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(u.details)?K.MEDIA_ERR_NETWORK:n[u.type],o=u=>{if(u.type===ie.KEY_SYSTEM_ERROR)return we.DRM;if(u.type===ie.NETWORK_ERROR)return we.VIDEO},l,d=a(i);if(d===K.MEDIA_ERR_NETWORK&&i.response){let u=(t=o(i))!=null?t:we.VIDEO;l=(r=Gd(i.response,u,e))!=null?r:new K("",d)}else if(d===K.MEDIA_ERR_ENCRYPTED)if(i.details===w.KEY_SYSTEM_NO_CONFIGURED_LICENSE){let u=j("Attempting to play DRM-protected content without providing a DRM token.");l=new K(u,K.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=we.DRM,l.muxCode=J.ENCRYPTED_MISSING_TOKEN}else if(i.details===w.KEY_SYSTEM_NO_ACCESS){let u=j("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.");l=new K(u,K.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=we.DRM,l.muxCode=J.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM}else if(i.details===w.KEY_SYSTEM_NO_SESSION){let u=j("Failed to generate a DRM license request. This may be an issue with the player or your protected content.");l=new K(u,K.MEDIA_ERR_ENCRYPTED,!0),l.errorCategory=we.DRM,l.muxCode=J.ENCRYPTED_GENERATE_REQUEST_FAILED}else if(i.details===w.KEY_SYSTEM_SESSION_UPDATE_FAILED){let u=j("Failed to update DRM license. This may be an issue with the player or your protected content.");l=new K(u,K.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=we.DRM,l.muxCode=J.ENCRYPTED_UPDATE_LICENSE_FAILED}else if(i.details===w.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED){let u=j("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate.");l=new K(u,K.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=we.DRM,l.muxCode=J.ENCRYPTED_UPDATE_SERVER_CERT_FAILED}else if(i.details===w.KEY_SYSTEM_STATUS_INTERNAL_ERROR){let u=j("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");l=new K(u,K.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=we.DRM,l.muxCode=J.ENCRYPTED_CDM_ERROR}else if(i.details===w.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED){let u=j("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");l=new K(u,K.MEDIA_ERR_ENCRYPTED,!1),l.errorCategory=we.DRM,l.muxCode=J.ENCRYPTED_OUTPUT_RESTRICTED}else l=new K(i.error.message,K.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=we.DRM,l.muxCode=J.ENCRYPTED_ERROR;else l=new K("",d,i.fatal);return l.context||(l.context=`${i.url?`url: ${i.url} `:""}${i.response&&(i.response.code||i.response.text)?`response: ${i.response.code}, ${i.response.text} `:""}${i.reason?`failure reason: ${i.reason} `:""}${i.level?`level: ${i.level} `:""}${i.parent?`parent stream controller: ${i.parent} `:""}${i.buffer?`buffer length: ${i.buffer} `:""}${i.error?`error: ${i.error} `:""}${i.event?`event: ${i.event} `:""}${i.err?`error message: ${(s=i.err)==null?void 0:s.message} `:""}`),l.data=i,l};var Qk=Object.defineProperty,Zk=Object.getPrototypeOf,Jk=Reflect.get,eC=(i,e,t)=>e in i?Qk(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,De=(i,e,t)=>(eC(i,typeof e!="symbol"?e+"":e,t),t),Sp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},I=(i,e,t)=>(Sp(i,e,"read from private field"),t?t.call(i):e.get(i)),z=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ee=(i,e,t,r)=>(Sp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ke=(i,e,t)=>(Sp(i,e,"access private method"),t),rp=(i,e,t)=>Jk(Zk(i),t,e),cu=class{addEventListener(){}removeEventListener(){}dispatchEvent(i){return!0}};if(typeof DocumentFragment=="undefined"){class i extends cu{}globalThis.DocumentFragment=i}var xp=class extends cu{},tC=class extends cu{},iC={get(i){},define(i,e,t){},getName(i){return null},upgrade(i){},whenDefined(i){return Promise.resolve(xp)}},zd,rC=class{constructor(i,e={}){z(this,zd,void 0),ee(this,zd,e==null?void 0:e.detail)}get detail(){return I(this,zd)}initCustomEvent(){}};zd=new WeakMap;function sC(i,e){return new xp}var tT={document:{createElement:sC},DocumentFragment,customElements:iC,CustomEvent:rC,EventTarget:cu,HTMLElement:xp,HTMLVideoElement:tC},iT=typeof window=="undefined"||typeof globalThis.customElements=="undefined",sp=iT?tT:globalThis,o2=iT?tT.document:globalThis.document,nC=()=>{try{return"0.22.0"}catch{}return"UNKNOWN"},aC=nC(),oC=()=>aC,hu=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"];function lC(i){return` `}function dC(i){return` `}var rT=(i,{tag:e,is:t})=>{var r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,b,T;let _=(s=(r=globalThis.document)==null?void 0:r.createElement)==null?void 0:s.call(r,e,{is:t}),A=_?uC(_):[];return n=class extends i{constructor(){super(),z(this,h),z(this,m),z(this,g),z(this,b),z(this,d,void 0),z(this,u,void 0),z(this,c,new Map)}static get observedAttributes(){var R,S,C;return Ke(R=n,o,l).call(R),[...(C=(S=_==null?void 0:_.constructor)==null?void 0:S.observedAttributes)!=null?C:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var R,S,C;return Ke(this,h,f).call(this),(C=(S=(R=I(this,u))!=null?R:this.shadowRoot.querySelector(e))!=null?S:this.querySelector(":scope > [slot=media]"))!=null?C:this.querySelector(e)}set nativeEl(R){ee(this,u,R)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(R){this.toggleAttribute("muted",!!R)}get src(){return this.getAttribute("src")}set src(R){this.setAttribute("src",`${R}`)}get preload(){var R,S;return(S=this.getAttribute("preload"))!=null?S:(R=this.nativeEl)==null?void 0:R.preload}set preload(R){this.setAttribute("preload",`${R}`)}init(){var R,S;if(!this.shadowRoot){this.attachShadow({mode:"open"});let C=cC(this.attributes);t&&(C.is=t),e&&(C.part=e),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(C)}this.nativeEl.muted=this.hasAttribute("muted");for(let C of A)Ke(this,g,E).call(this,C);this.shadowRoot.addEventListener("slotchange",this),Ke(this,m,p).call(this);for(let C of this.constructor.Events)(S=(R=this.shadowRoot).addEventListener)==null||S.call(R,C,this,!0)}handleEvent(R){if(R.type==="slotchange"){Ke(this,m,p).call(this);return}R.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(R.type,{detail:R.detail}))}attributeChangedCallback(R,S,C){Ke(this,h,f).call(this),Ke(this,b,T).call(this,R,S,C)}connectedCallback(){Ke(this,h,f).call(this)}},a=new WeakMap,o=new WeakSet,l=function(){if(I(this,a))return;ee(this,a,!0);let R=new Set(this.observedAttributes);R.delete("muted");for(let S of A)if(!(S in this.prototype))if(typeof _[S]=="function")this.prototype[S]=function(...C){return Ke(this,h,f).call(this),this.call?this.call(S,...C):this.nativeEl[S].apply(this.nativeEl,C)};else{let C={get(){var P,k,M;Ke(this,h,f).call(this);let B=S.toLowerCase();if(R.has(B)){let F=this.getAttribute(B);return F===null?!1:F===""?!0:F}return(M=(P=this.get)==null?void 0:P.call(this,S))!=null?M:(k=this.nativeEl)==null?void 0:k[S]}};S!==S.toUpperCase()&&(C.set=function(P){Ke(this,h,f).call(this);let k=S.toLowerCase();if(R.has(k)){P===!0||P===!1||P==null?this.toggleAttribute(k,!!P):this.setAttribute(k,P);return}if(this.set){this.set(S,P);return}this.nativeEl[S]=P}),Object.defineProperty(this.prototype,S,C)}},d=new WeakMap,u=new WeakMap,c=new WeakMap,h=new WeakSet,f=function(){I(this,d)||(ee(this,d,!0),this.init())},m=new WeakSet,p=function(){let R=new Map(I(this,c));this.shadowRoot.querySelector("slot:not([name])").assignedElements({flatten:!0}).filter(S=>["track","source"].includes(S.localName)).forEach(S=>{var C,P;R.delete(S);let k=I(this,c).get(S);k||(k=S.cloneNode(),I(this,c).set(S,k)),(P=(C=this.nativeEl).append)==null||P.call(C,k),k.localName==="track"&&k.default&&(k.kind==="chapters"||k.kind==="metadata")&&k.track.mode==="disabled"&&(k.track.mode="hidden")}),R.forEach(S=>S.remove())},g=new WeakSet,E=function(R){if(Object.prototype.hasOwnProperty.call(this,R)){let S=this[R];delete this[R],this[R]=S}},b=new WeakSet,T=function(R,S,C){var P,k,M,B,F,X;["id","class"].includes(R)||!n.observedAttributes.includes(R)&&this.constructor.observedAttributes.includes(R)||(C===null?(k=(P=this.nativeEl).removeAttribute)==null||k.call(P,R):((B=(M=this.nativeEl).getAttribute)==null?void 0:B.call(M,R))!=C&&((X=(F=this.nativeEl).setAttribute)==null||X.call(F,R,C)))},z(n,o),De(n,"getTemplateHTML",e.endsWith("audio")?lC:dC),De(n,"shadowRootOptions",{mode:"open"}),De(n,"Events",hu),z(n,a,void 0),n};function uC(i){let e=[];for(let t=Object.getPrototypeOf(i);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t))e.push(...Object.getOwnPropertyNames(t));return e}function sT(i){let e="";for(let t in i){let r=i[t];r===""?e+=` ${t}`:e+=` ${t}="${r}"`}return e}function cC(i){let e={};for(let t of i)e[t.name]=t.value;return e}var jy,np=rT((jy=globalThis.HTMLElement)!=null?jy:class{},{tag:"video"}),zy,d2=rT((zy=globalThis.HTMLElement)!=null?zy:class{},{tag:"audio"}),Ts=new WeakMap,ap=class extends Error{},hC=class extends Error{},fC=globalThis.WeakRef?class extends Set{add(i){super.add(new WeakRef(i))}forEach(i){super.forEach(e=>{let t=e.deref();t&&i(t)})}}:Set;function mC(i){var e,t,r;(t=(e=globalThis.chrome)==null?void 0:e.cast)!=null&&t.isAvailable?(r=globalThis.cast)!=null&&r.framework?i():customElements.whenDefined("google-cast-button").then(i):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(i)}}function pC(){return globalThis.chrome}function gC(){var i;let e="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if((i=globalThis.chrome)!=null&&i.cast||document.querySelector(`script[src="${e}"]`))return;let t=document.createElement("script");t.src=e,document.head.append(t)}function _s(){var i,e;return(e=(i=globalThis.cast)==null?void 0:i.framework)==null?void 0:e.CastContext.getInstance()}function Rp(){var i;return(i=_s())==null?void 0:i.getCurrentSession()}function Ip(){var i;return(i=Rp())==null?void 0:i.getSessionObj().media[0]}function vC(i){return new Promise((e,t)=>{Ip().editTracksInfo(i,e,t)})}function EC(i){return new Promise((e,t)=>{Ip().getStatus(i,e,t)})}function nT(i){return _s().setOptions({...aT(),...i})}function aT(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}var Xd=new fC,xr=new WeakSet,ot;mC(()=>{var i,e,t,r;if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable)){console.debug("chrome.cast.isAvailable",(r=(t=globalThis.chrome)==null?void 0:t.cast)==null?void 0:r.isAvailable);return}ot||(ot=cast.framework,_s().addEventListener(ot.CastContextEventType.CAST_STATE_CHANGED,s=>{Xd.forEach(n=>{var a,o;return(o=(a=Ts.get(n)).onCastStateChanged)==null?void 0:o.call(a,s)})}),_s().addEventListener(ot.CastContextEventType.SESSION_STATE_CHANGED,s=>{Xd.forEach(n=>{var a,o;return(o=(a=Ts.get(n)).onSessionStateChanged)==null?void 0:o.call(a,s)})}),Xd.forEach(s=>{var n,a;return(a=(n=Ts.get(s)).init)==null?void 0:a.call(n)}))});var Xy=0,xe,Qd,Yt,Ar,Cn,Rn,ys,lp,Sr,os,dp,Qy,du,up,cp,oT,Zd,hp,fp,Zy,Jd,op,bC=class extends EventTarget{constructor(i){super(),z(this,Sr),z(this,dp),z(this,du),z(this,cp),z(this,Zd),z(this,fp),z(this,Jd),z(this,xe,void 0),z(this,Qd,void 0),z(this,Yt,void 0),z(this,Ar,void 0),z(this,Cn,"disconnected"),z(this,Rn,!1),z(this,ys,new Set),z(this,lp,new WeakMap),ee(this,xe,i),Xd.add(this),Ts.set(this,{init:()=>Ke(this,Zd,hp).call(this),onCastStateChanged:()=>Ke(this,du,up).call(this),onSessionStateChanged:()=>Ke(this,cp,oT).call(this),getCastPlayer:()=>I(this,Sr,os)}),Ke(this,Zd,hp).call(this)}get state(){return I(this,Cn)}async watchAvailability(i){if(I(this,xe).disableRemotePlayback)throw new ap("disableRemotePlayback attribute is present.");return I(this,lp).set(i,++Xy),I(this,ys).add(i),Xy}async cancelWatchAvailability(i){if(I(this,xe).disableRemotePlayback)throw new ap("disableRemotePlayback attribute is present.");i?I(this,ys).delete(i):I(this,ys).clear()}async prompt(){var i,e,t,r;if(I(this,xe).disableRemotePlayback)throw new ap("disableRemotePlayback attribute is present.");if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable))throw new hC("The RemotePlayback API is disabled on this platform.");let s=xr.has(I(this,xe));xr.add(I(this,xe)),nT(I(this,xe).castOptions),Object.entries(I(this,Ar)).forEach(([n,a])=>{I(this,Yt).controller.addEventListener(n,a)});try{await _s().requestSession()}catch(n){if(n==="cancel"){s||xr.delete(I(this,xe));return}throw new Error(n)}(r=(t=Ts.get(I(this,xe)))==null?void 0:t.loadOnPrompt)==null||r.call(t)}};xe=new WeakMap,Qd=new WeakMap,Yt=new WeakMap,Ar=new WeakMap,Cn=new WeakMap,Rn=new WeakMap,ys=new WeakMap,lp=new WeakMap,Sr=new WeakSet,os=function(){if(xr.has(I(this,xe)))return I(this,Yt)},dp=new WeakSet,Qy=function(){xr.has(I(this,xe))&&(Object.entries(I(this,Ar)).forEach(([i,e])=>{I(this,Yt).controller.removeEventListener(i,e)}),xr.delete(I(this,xe)),I(this,xe).muted=I(this,Yt).isMuted,I(this,xe).currentTime=I(this,Yt).savedPlayerState.currentTime,I(this,Yt).savedPlayerState.isPaused===!1&&I(this,xe).play())},du=new WeakSet,up=function(){let i=_s().getCastState();if(xr.has(I(this,xe))&&i==="CONNECTING"&&(ee(this,Cn,"connecting"),this.dispatchEvent(new Event("connecting"))),!I(this,Rn)&&i!=null&&i.includes("CONNECT")){ee(this,Rn,!0);for(let e of I(this,ys))e(!0)}else if(I(this,Rn)&&(!i||i==="NO_DEVICES_AVAILABLE")){ee(this,Rn,!1);for(let e of I(this,ys))e(!1)}},cp=new WeakSet,oT=async function(){var i;let{SESSION_RESUMED:e}=ot.SessionState;if(_s().getSessionState()===e&&I(this,xe).castSrc===((i=Ip())==null?void 0:i.media.contentId)){xr.add(I(this,xe)),Object.entries(I(this,Ar)).forEach(([t,r])=>{I(this,Yt).controller.addEventListener(t,r)});try{await EC(new chrome.cast.media.GetStatusRequest)}catch(t){console.error(t)}I(this,Ar)[ot.RemotePlayerEventType.IS_PAUSED_CHANGED](),I(this,Ar)[ot.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},Zd=new WeakSet,hp=function(){!ot||I(this,Qd)||(ee(this,Qd,!0),nT(I(this,xe).castOptions),I(this,xe).textTracks.addEventListener("change",()=>Ke(this,Jd,op).call(this)),Ke(this,du,up).call(this),ee(this,Yt,new ot.RemotePlayer),new ot.RemotePlayerController(I(this,Yt)),ee(this,Ar,{[ot.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:i})=>{i===!0?(ee(this,Cn,"connected"),this.dispatchEvent(new Event("connect"))):(Ke(this,dp,Qy).call(this),ee(this,Cn,"disconnected"),this.dispatchEvent(new Event("disconnect")))},[ot.RemotePlayerEventType.DURATION_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event("durationchange"))},[ot.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event("volumechange"))},[ot.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event("volumechange"))},[ot.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{var i;(i=I(this,Sr,os))!=null&&i.isMediaLoaded&&I(this,xe).dispatchEvent(new Event("timeupdate"))},[ot.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event("resize"))},[ot.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event(this.paused?"pause":"play"))},[ot.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var i,e;((i=I(this,Sr,os))==null?void 0:i.playerState)!==chrome.cast.media.PlayerState.PAUSED&&I(this,xe).dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(e=I(this,Sr,os))==null?void 0:e.playerState]))},[ot.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{var i;(i=I(this,Sr,os))!=null&&i.isMediaLoaded&&(await Promise.resolve(),Ke(this,fp,Zy).call(this))}}))},fp=new WeakSet,Zy=function(){Ke(this,Jd,op).call(this)},Jd=new WeakSet,op=async function(){var i,e,t,r,s;if(!I(this,Sr,os))return;let n=((e=(i=I(this,Yt).mediaInfo)==null?void 0:i.tracks)!=null?e:[]).filter(({type:h})=>h===chrome.cast.media.TrackType.TEXT),a=[...I(this,xe).textTracks].filter(({kind:h})=>h==="subtitles"||h==="captions"),o=n.map(({language:h,name:f,trackId:m})=>{var p;let{mode:g}=(p=a.find(E=>E.language===h&&E.label===f))!=null?p:{};return g?{mode:g,trackId:m}:!1}).filter(Boolean),l=o.filter(({mode:h})=>h!=="showing").map(({trackId:h})=>h),d=o.find(({mode:h})=>h==="showing"),u=(s=(r=(t=Rp())==null?void 0:t.getSessionObj().media[0])==null?void 0:r.activeTrackIds)!=null?s:[],c=u;if(u.length&&(c=c.filter(h=>!l.includes(h))),d!=null&&d.trackId&&(c=[...c,d.trackId]),c=[...new Set(c)],!((h,f)=>h.length===f.length&&h.every(m=>f.includes(m)))(u,c))try{let h=new chrome.cast.media.EditTracksInfoRequest(c);await vC(h)}catch(h){console.error(h)}};var yC=i=>{var e,t,r,s,n,a,o,l,d,u;return t=class extends i{constructor(){super(...arguments),z(this,o),z(this,d),z(this,r,{paused:!1}),z(this,s,aT()),z(this,n,void 0),z(this,a,void 0)}get remote(){return I(this,a)?I(this,a):pC()?(gC(),Ts.set(this,{loadOnPrompt:()=>Ke(this,d,u).call(this)}),ee(this,a,new bC(this))):super.remote}attributeChangedCallback(c,h,f){if(super.attributeChangedCallback(c,h,f),c==="cast-receiver"&&f){I(this,s).receiverApplicationId=f;return}if(I(this,o,l))switch(c){case"cast-stream-type":case"cast-src":this.load();break}}async load(){var c,h;if(!I(this,o,l))return super.load();let f=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType);f.customData=this.castCustomData;let m=[...this.querySelectorAll("track")].filter(({kind:b,src:T})=>T&&(b==="subtitles"||b==="captions")),p=[],g=0;m.length&&(f.tracks=m.map(b=>{let T=++g;p.length===0&&b.track.mode==="showing"&&p.push(T);let _=new chrome.cast.media.Track(T,chrome.cast.media.TrackType.TEXT);return _.trackContentId=b.src,_.trackContentType="text/vtt",_.subtype=b.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,_.name=b.label,_.language=b.srclang,_})),this.castStreamType==="live"?f.streamType=chrome.cast.media.StreamType.LIVE:f.streamType=chrome.cast.media.StreamType.BUFFERED,f.metadata=new chrome.cast.media.GenericMediaMetadata,f.metadata.title=this.title,f.metadata.images=[{url:this.poster}];let E=new chrome.cast.media.LoadRequest(f);E.currentTime=(c=super.currentTime)!=null?c:0,E.autoplay=!I(this,r).paused,E.activeTrackIds=p,await((h=Rp())==null?void 0:h.loadMedia(E)),this.dispatchEvent(new Event("volumechange"))}play(){var c;if(I(this,o,l)){I(this,o,l).isPaused&&((c=I(this,o,l).controller)==null||c.playOrPause());return}return super.play()}pause(){var c;if(I(this,o,l)){I(this,o,l).isPaused||(c=I(this,o,l).controller)==null||c.playOrPause();return}super.pause()}get castOptions(){return I(this,s)}get castReceiver(){var c;return(c=this.getAttribute("cast-receiver"))!=null?c:void 0}set castReceiver(c){this.castReceiver!=c&&this.setAttribute("cast-receiver",`${c}`)}get castSrc(){var c,h,f;return(f=(h=this.getAttribute("cast-src"))!=null?h:(c=this.querySelector("source"))==null?void 0:c.src)!=null?f:this.currentSrc}set castSrc(c){this.castSrc!=c&&this.setAttribute("cast-src",`${c}`)}get castContentType(){var c;return(c=this.getAttribute("cast-content-type"))!=null?c:void 0}set castContentType(c){this.setAttribute("cast-content-type",`${c}`)}get castStreamType(){var c,h;return(h=(c=this.getAttribute("cast-stream-type"))!=null?c:this.streamType)!=null?h:void 0}set castStreamType(c){this.setAttribute("cast-stream-type",`${c}`)}get castCustomData(){return I(this,n)}set castCustomData(c){let h=typeof c;if(!["object","undefined"].includes(h)){console.error(`castCustomData must be nullish or an object but value was of type ${h}`);return}ee(this,n,c)}get readyState(){if(I(this,o,l))switch(I(this,o,l).playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return I(this,o,l)?I(this,o,l).isPaused:super.paused}get muted(){var c;return I(this,o,l)?(c=I(this,o,l))==null?void 0:c.isMuted:super.muted}set muted(c){var h;if(I(this,o,l)){(c&&!I(this,o,l).isMuted||!c&&I(this,o,l).isMuted)&&((h=I(this,o,l).controller)==null||h.muteOrUnmute());return}super.muted=c}get volume(){var c,h;return I(this,o,l)?(h=(c=I(this,o,l))==null?void 0:c.volumeLevel)!=null?h:1:super.volume}set volume(c){var h;if(I(this,o,l)){I(this,o,l).volumeLevel=+c,(h=I(this,o,l).controller)==null||h.setVolumeLevel();return}super.volume=c}get duration(){var c,h,f;return I(this,o,l)&&(c=I(this,o,l))!=null&&c.isMediaLoaded?(f=(h=I(this,o,l))==null?void 0:h.duration)!=null?f:NaN:super.duration}get currentTime(){var c,h,f;return I(this,o,l)&&(c=I(this,o,l))!=null&&c.isMediaLoaded?(f=(h=I(this,o,l))==null?void 0:h.currentTime)!=null?f:0:super.currentTime}set currentTime(c){var h;if(I(this,o,l)){I(this,o,l).currentTime=c,(h=I(this,o,l).controller)==null||h.seek();return}super.currentTime=c}},r=new WeakMap,s=new WeakMap,n=new WeakMap,a=new WeakMap,o=new WeakSet,l=function(){var c,h;return(h=(c=Ts.get(this.remote))==null?void 0:c.getCastPlayer)==null?void 0:h.call(c)},d=new WeakSet,u=async function(){I(this,r).paused=rp(t.prototype,this,"paused"),rp(t.prototype,this,"pause").call(this),this.muted=rp(t.prototype,this,"muted");try{await this.load()}catch(c){console.error(c)}},De(t,"observedAttributes",[...(e=i.observedAttributes)!=null?e:[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"]),t},fu=class extends Event{constructor(i,e){super(i),De(this,"track"),this.track=e.track}},mp=new WeakMap;function Y(i){var e;return(e=mp.get(i))!=null?e:TC(i,{})}function TC(i,e){let t=mp.get(i);return t||mp.set(i,t={}),Object.assign(t,e)}function pp(i,e){let t=i.videoTracks;Y(e).media=i,Y(e).renditionSet||(Y(e).renditionSet=new Set);let r=Y(t).trackSet;r.add(e);let s=r.size-1;s in vp.prototype||Object.defineProperty(vp.prototype,s,{get(){return[...Y(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new fu("addtrack",{track:e}))})}function gp(i){var e;let t=(e=Y(i).media)==null?void 0:e.videoTracks;t&&(Y(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new fu("removetrack",{track:i}))}))}function _C(i){var e;let t=(e=Y(i).media.videoTracks)!=null?e:[],r=!1;for(let s of t)s!==i&&(s.selected=!1,r=!0);if(r){if(Y(t).changeRequested)return;Y(t).changeRequested=!0,queueMicrotask(()=>{delete Y(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var ls,ds,us,In,Ka,vp=class extends EventTarget{constructor(){super(),z(this,In),z(this,ls,void 0),z(this,ds,void 0),z(this,us,void 0),Y(this).trackSet=new Set}[Symbol.iterator](){return I(this,In,Ka).values()}get length(){return I(this,In,Ka).size}getTrackById(i){var e;return(e=[...I(this,In,Ka)].find(t=>t.id===i))!=null?e:null}get selectedIndex(){return[...I(this,In,Ka)].findIndex(i=>i.selected)}get onaddtrack(){return I(this,ls)}set onaddtrack(i){I(this,ls)&&(this.removeEventListener("addtrack",I(this,ls)),ee(this,ls,void 0)),typeof i=="function"&&(ee(this,ls,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,ds)}set onremovetrack(i){I(this,ds)&&(this.removeEventListener("removetrack",I(this,ds)),ee(this,ds,void 0)),typeof i=="function"&&(ee(this,ds,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,us)}set onchange(i){I(this,us)&&(this.removeEventListener("change",I(this,us)),ee(this,us,void 0)),typeof i=="function"&&(ee(this,us,i),this.addEventListener("change",i))}};ls=new WeakMap,ds=new WeakMap,us=new WeakMap,In=new WeakSet,Ka=function(){return Y(this).trackSet};var mu=class extends Event{constructor(i,e){super(i),De(this,"rendition"),this.rendition=e.rendition}};function AC(i,e){let t=Y(i).media.videoRenditions;Y(e).media=Y(i).media,Y(e).track=i;let r=Y(i).renditionSet;r.add(e);let s=r.size-1;s in Ep.prototype||Object.defineProperty(Ep.prototype,s,{get(){return Ln(this)[s]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new mu("addrendition",{rendition:e}))})}function SC(i){let e=Y(i).media.videoRenditions,t=Y(i).track;Y(t).renditionSet.delete(i),queueMicrotask(()=>{Y(i).track.selected&&e.dispatchEvent(new mu("removerendition",{rendition:i}))})}function xC(i){let e=Y(i).media.videoRenditions;!e||Y(e).changeRequested||(Y(e).changeRequested=!0,queueMicrotask(()=>{delete Y(e).changeRequested,Y(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function Ln(i){return[...Y(i).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...Y(e).renditionSet])}var cs,hs,fs,Ep=class extends EventTarget{constructor(){super(...arguments),z(this,cs,void 0),z(this,hs,void 0),z(this,fs,void 0)}[Symbol.iterator](){return Ln(this).values()}get length(){return Ln(this).length}getRenditionById(i){var e;return(e=Ln(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Ln(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Ln(this).entries())t.selected=e===i}get onaddrendition(){return I(this,cs)}set onaddrendition(i){I(this,cs)&&(this.removeEventListener("addrendition",I(this,cs)),ee(this,cs,void 0)),typeof i=="function"&&(ee(this,cs,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,hs)}set onremoverendition(i){I(this,hs)&&(this.removeEventListener("removerendition",I(this,hs)),ee(this,hs,void 0)),typeof i=="function"&&(ee(this,hs,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,fs)}set onchange(i){I(this,fs)&&(this.removeEventListener("change",I(this,fs)),ee(this,fs,void 0)),typeof i=="function"&&(ee(this,fs,i),this.addEventListener("change",i))}};cs=new WeakMap,hs=new WeakMap,fs=new WeakMap;var Wa,RC=class{constructor(){De(this,"src"),De(this,"id"),De(this,"width"),De(this,"height"),De(this,"bitrate"),De(this,"frameRate"),De(this,"codec"),z(this,Wa,!1)}get selected(){return I(this,Wa)}set selected(i){I(this,Wa)!==i&&(ee(this,Wa,i),xC(this))}};Wa=new WeakMap;var Va,lT=class{constructor(){De(this,"id"),De(this,"kind"),De(this,"label",""),De(this,"language",""),De(this,"sourceBuffer"),z(this,Va,!1)}addRendition(i,e,t,r,s,n){let a=new RC;return a.src=i,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=r,AC(this,a),a}removeRendition(i){SC(i)}get selected(){return I(this,Va)}set selected(i){I(this,Va)!==i&&(ee(this,Va,i),i===!0&&_C(this))}};Va=new WeakMap;function IC(i,e){let t=Y(i).media.audioRenditions;Y(e).media=Y(i).media,Y(e).track=i;let r=Y(i).renditionSet;r.add(e);let s=r.size-1;s in bp.prototype||Object.defineProperty(bp.prototype,s,{get(){return kn(this)[s]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new mu("addrendition",{rendition:e}))})}function LC(i){let e=Y(i).media.audioRenditions,t=Y(i).track;Y(t).renditionSet.delete(i),queueMicrotask(()=>{Y(i).track.enabled&&e.dispatchEvent(new mu("removerendition",{rendition:i}))})}function kC(i){let e=Y(i).media.audioRenditions;!e||Y(e).changeRequested||(Y(e).changeRequested=!0,queueMicrotask(()=>{delete Y(e).changeRequested,Y(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function kn(i){return[...Y(i).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...Y(e).renditionSet])}var ms,ps,gs,bp=class extends EventTarget{constructor(){super(...arguments),z(this,ms,void 0),z(this,ps,void 0),z(this,gs,void 0)}[Symbol.iterator](){return kn(this).values()}get length(){return kn(this).length}getRenditionById(i){var e;return(e=kn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return kn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of kn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,ms)}set onaddrendition(i){I(this,ms)&&(this.removeEventListener("addrendition",I(this,ms)),ee(this,ms,void 0)),typeof i=="function"&&(ee(this,ms,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,ps)}set onremoverendition(i){I(this,ps)&&(this.removeEventListener("removerendition",I(this,ps)),ee(this,ps,void 0)),typeof i=="function"&&(ee(this,ps,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,gs)}set onchange(i){I(this,gs)&&(this.removeEventListener("change",I(this,gs)),ee(this,gs,void 0)),typeof i=="function"&&(ee(this,gs,i),this.addEventListener("change",i))}};ms=new WeakMap,ps=new WeakMap,gs=new WeakMap;var Ya,CC=class{constructor(){De(this,"src"),De(this,"id"),De(this,"bitrate"),De(this,"codec"),z(this,Ya,!1)}get selected(){return I(this,Ya)}set selected(i){I(this,Ya)!==i&&(ee(this,Ya,i),kC(this))}};Ya=new WeakMap;function yp(i,e){let t=i.audioTracks;Y(e).media=i,Y(e).renditionSet||(Y(e).renditionSet=new Set);let r=Y(t).trackSet;r.add(e);let s=r.size-1;s in _p.prototype||Object.defineProperty(_p.prototype,s,{get(){return[...Y(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new fu("addtrack",{track:e}))})}function Tp(i){var e;let t=(e=Y(i).media)==null?void 0:e.audioTracks;t&&(Y(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new fu("removetrack",{track:i}))}))}function wC(i){let e=Y(i).media.audioTracks;!e||Y(e).changeRequested||(Y(e).changeRequested=!0,queueMicrotask(()=>{delete Y(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var vs,Es,bs,qa,eu,_p=class extends EventTarget{constructor(){super(),z(this,qa),z(this,vs,void 0),z(this,Es,void 0),z(this,bs,void 0),Y(this).trackSet=new Set}[Symbol.iterator](){return I(this,qa,eu).values()}get length(){return I(this,qa,eu).size}getTrackById(i){var e;return(e=[...I(this,qa,eu)].find(t=>t.id===i))!=null?e:null}get onaddtrack(){return I(this,vs)}set onaddtrack(i){I(this,vs)&&(this.removeEventListener("addtrack",I(this,vs)),ee(this,vs,void 0)),typeof i=="function"&&(ee(this,vs,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,Es)}set onremovetrack(i){I(this,Es)&&(this.removeEventListener("removetrack",I(this,Es)),ee(this,Es,void 0)),typeof i=="function"&&(ee(this,Es,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,bs)}set onchange(i){I(this,bs)&&(this.removeEventListener("change",I(this,bs)),ee(this,bs,void 0)),typeof i=="function"&&(ee(this,bs,i),this.addEventListener("change",i))}};vs=new WeakMap,Es=new WeakMap,bs=new WeakMap,qa=new WeakSet,eu=function(){return Y(this).trackSet};var ja,dT=class{constructor(){De(this,"id"),De(this,"kind"),De(this,"label",""),De(this,"language",""),De(this,"sourceBuffer"),z(this,ja,!1)}addRendition(i,e,t){let r=new CC;return r.src=i,r.codec=e,r.bitrate=t,IC(this,r),r}removeRendition(i){LC(i)}get enabled(){return I(this,ja)}set enabled(i){I(this,ja)!==i&&(ee(this,ja,i),wC(this))}};ja=new WeakMap;var Jy=uu(globalThis.HTMLMediaElement,"video"),eT=uu(globalThis.HTMLMediaElement,"audio");function DC(i){if(!(i!=null&&i.prototype))return i;let e=uu(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return MC(this)}});let t=uu(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return PC(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",o=""){let l=new lT;return l.kind=n,l.label=a,l.language=o,pp(this,l),l}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=gp),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",o=""){let l=new dT;return l.kind=n,l.label=a,l.language=o,yp(this,l),l}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=Tp),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=Y(n).videoRenditions;return a||(a=new Ep,Y(a).media=n,Y(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=Y(n).audioRenditions;return a||(a=new bp,Y(a).media=n,Y(n).audioRenditions=a),a};return i}function uu(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function MC(i){var e;let t=Y(i).videoTracks;if(!t&&(t=new vp,Y(i).videoTracks=t,Jy)){let r=Jy.call((e=i.nativeEl)!=null?e:i);for(let s of r)pp(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof lT)){for(let n of r)gp(n);return}pp(i,s.track)}),r.addEventListener("removetrack",s=>{gp(s.track)})}return t}function PC(i){var e;let t=Y(i).audioTracks;if(!t&&(t=new _p,Y(i).audioTracks=t,eT)){let r=eT.call((e=i.nativeEl)!=null?e:i);for(let s of r)yp(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof dT)){for(let n of r)Tp(n);return}yp(i,s.track)}),r.addEventListener("removetrack",s=>{Tp(s.track)})}return t}hu.push("castchange","entercast","leavecast");var D={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",DRM_TOKEN:"drm-token",PLAYBACK_TOKEN:"playback-token",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",MIN_RESOLUTION:"min-resolution",RENDITION_ORDER:"rendition-order",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type"},OC=Object.values(D),NC=oC(),UC="mux-video",wi,za,tu,Xa,iu,ru,su,nu,au,Qa,ou,FC=class extends np{constructor(){super(),z(this,Qa),z(this,wi,void 0),z(this,za,void 0),z(this,tu,void 0),z(this,Xa,{}),z(this,iu,{}),z(this,ru,void 0),z(this,su,void 0),z(this,nu,void 0),z(this,au,void 0),ee(this,tu,Uy())}static get observedAttributes(){var i;return[...OC,...(i=np.observedAttributes)!=null?i:[]]}get preferCmcd(){var i;return(i=this.getAttribute(D.PREFER_CMCD))!=null?i:void 0}set preferCmcd(i){i!==this.preferCmcd&&(i?xn.includes(i)?this.setAttribute(D.PREFER_CMCD,i):console.warn(`Invalid value for preferCmcd. Must be one of ${xn.join()}`):this.removeAttribute(D.PREFER_CMCD))}get playerInitTime(){return I(this,tu)}get playerSoftwareName(){var i;return(i=I(this,nu))!=null?i:UC}set playerSoftwareName(i){ee(this,nu,i)}get playerSoftwareVersion(){var i;return(i=I(this,su))!=null?i:NC}set playerSoftwareVersion(i){ee(this,su,i)}get _hls(){var i;return(i=I(this,wi))==null?void 0:i.engine}get mux(){var i;return(i=this.nativeEl)==null?void 0:i.mux}get error(){var i;return(i=Jm(this.nativeEl))!=null?i:null}get errorTranslator(){return I(this,au)}set errorTranslator(i){ee(this,au,i)}get src(){return this.getAttribute("src")}set src(i){i!==this.src&&(i==null?this.removeAttribute("src"):this.setAttribute("src",i))}get type(){var i;return(i=this.getAttribute(D.TYPE))!=null?i:void 0}set type(i){i!==this.type&&(i?this.setAttribute(D.TYPE,i):this.removeAttribute(D.TYPE))}get autoplay(){let i=this.getAttribute("autoplay");return i===null?!1:i===""?!0:i}set autoplay(i){let e=this.autoplay;i!==e&&(i?this.setAttribute("autoplay",typeof i=="string"?i:""):this.removeAttribute("autoplay"))}get preload(){let i=this.getAttribute("preload");return i===""?"auto":["none","metadata","auto"].includes(i)?i:super.preload}set preload(i){i!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(i)?this.setAttribute("preload",i):this.removeAttribute("preload"))}get debug(){return this.getAttribute(D.DEBUG)!=null}set debug(i){i!==this.debug&&(i?this.setAttribute(D.DEBUG,""):this.removeAttribute(D.DEBUG))}get disableTracking(){return this.hasAttribute(D.DISABLE_TRACKING)}set disableTracking(i){i!==this.disableTracking&&this.toggleAttribute(D.DISABLE_TRACKING,!!i)}get disableCookies(){return this.hasAttribute(D.DISABLE_COOKIES)}set disableCookies(i){i!==this.disableCookies&&(i?this.setAttribute(D.DISABLE_COOKIES,""):this.removeAttribute(D.DISABLE_COOKIES))}get startTime(){let i=this.getAttribute(D.START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set startTime(i){i!==this.startTime&&(i==null?this.removeAttribute(D.START_TIME):this.setAttribute(D.START_TIME,`${i}`))}get playbackId(){var i;return this.hasAttribute(D.PLAYBACK_ID)?this.getAttribute(D.PLAYBACK_ID):(i=Zm(this.src))!=null?i:void 0}set playbackId(i){i!==this.playbackId&&(i?this.setAttribute(D.PLAYBACK_ID,i):this.removeAttribute(D.PLAYBACK_ID))}get maxResolution(){var i;return(i=this.getAttribute(D.MAX_RESOLUTION))!=null?i:void 0}set maxResolution(i){i!==this.maxResolution&&(i?this.setAttribute(D.MAX_RESOLUTION,i):this.removeAttribute(D.MAX_RESOLUTION))}get minResolution(){var i;return(i=this.getAttribute(D.MIN_RESOLUTION))!=null?i:void 0}set minResolution(i){i!==this.minResolution&&(i?this.setAttribute(D.MIN_RESOLUTION,i):this.removeAttribute(D.MIN_RESOLUTION))}get renditionOrder(){var i;return(i=this.getAttribute(D.RENDITION_ORDER))!=null?i:void 0}set renditionOrder(i){i!==this.renditionOrder&&(i?this.setAttribute(D.RENDITION_ORDER,i):this.removeAttribute(D.RENDITION_ORDER))}get programStartTime(){let i=this.getAttribute(D.PROGRAM_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programStartTime(i){i==null?this.removeAttribute(D.PROGRAM_START_TIME):this.setAttribute(D.PROGRAM_START_TIME,`${i}`)}get programEndTime(){let i=this.getAttribute(D.PROGRAM_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programEndTime(i){i==null?this.removeAttribute(D.PROGRAM_END_TIME):this.setAttribute(D.PROGRAM_END_TIME,`${i}`)}get assetStartTime(){let i=this.getAttribute(D.ASSET_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetStartTime(i){i==null?this.removeAttribute(D.ASSET_START_TIME):this.setAttribute(D.ASSET_START_TIME,`${i}`)}get assetEndTime(){let i=this.getAttribute(D.ASSET_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetEndTime(i){i==null?this.removeAttribute(D.ASSET_END_TIME):this.setAttribute(D.ASSET_END_TIME,`${i}`)}get customDomain(){var i;return(i=this.getAttribute(D.CUSTOM_DOMAIN))!=null?i:void 0}set customDomain(i){i!==this.customDomain&&(i?this.setAttribute(D.CUSTOM_DOMAIN,i):this.removeAttribute(D.CUSTOM_DOMAIN))}get drmToken(){var i;return(i=this.getAttribute(D.DRM_TOKEN))!=null?i:void 0}set drmToken(i){i!==this.drmToken&&(i?this.setAttribute(D.DRM_TOKEN,i):this.removeAttribute(D.DRM_TOKEN))}get playbackToken(){var i,e,t,r;if(this.hasAttribute(D.PLAYBACK_TOKEN))return(i=this.getAttribute(D.PLAYBACK_TOKEN))!=null?i:void 0;if(this.hasAttribute(D.PLAYBACK_ID)){let[,s]=Wd((e=this.playbackId)!=null?e:"");return(t=new URLSearchParams(s).get("token"))!=null?t:void 0}if(this.src)return(r=new URLSearchParams(this.src).get("token"))!=null?r:void 0}set playbackToken(i){i!==this.playbackToken&&(i?this.setAttribute(D.PLAYBACK_TOKEN,i):this.removeAttribute(D.PLAYBACK_TOKEN))}get tokens(){let i=this.getAttribute(D.PLAYBACK_TOKEN),e=this.getAttribute(D.DRM_TOKEN);return{...I(this,iu),...i!=null?{playback:i}:{},...e!=null?{drm:e}:{}}}set tokens(i){ee(this,iu,i!=null?i:{})}get ended(){return tp(this.nativeEl,this._hls)}get envKey(){var i;return(i=this.getAttribute(D.ENV_KEY))!=null?i:void 0}set envKey(i){i!==this.envKey&&(i?this.setAttribute(D.ENV_KEY,i):this.removeAttribute(D.ENV_KEY))}get beaconCollectionDomain(){var i;return(i=this.getAttribute(D.BEACON_COLLECTION_DOMAIN))!=null?i:void 0}set beaconCollectionDomain(i){i!==this.beaconCollectionDomain&&(i?this.setAttribute(D.BEACON_COLLECTION_DOMAIN,i):this.removeAttribute(D.BEACON_COLLECTION_DOMAIN))}get streamType(){var i;return(i=this.getAttribute(D.STREAM_TYPE))!=null?i:Kd(this.nativeEl)}set streamType(i){i!==this.streamType&&(i?this.setAttribute(D.STREAM_TYPE,i):this.removeAttribute(D.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(D.TARGET_LIVE_WINDOW)?+this.getAttribute(D.TARGET_LIVE_WINDOW):Fy(this.nativeEl)}set targetLiveWindow(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(D.TARGET_LIVE_WINDOW):this.setAttribute(D.TARGET_LIVE_WINDOW,`${+i}`))}get liveEdgeStart(){var i,e;if(this.hasAttribute(D.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,r=(i=this.nativeEl.seekable.end(0))!=null?i:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,r-t)}return By(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(D.LIVE_EDGE_OFFSET))return+this.getAttribute(D.LIVE_EDGE_OFFSET)}set liveEdgeOffset(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(D.LIVE_EDGE_OFFSET):this.setAttribute(D.LIVE_EDGE_OFFSET,`${+i}`))}get seekable(){return jd(this.nativeEl)}async addCuePoints(i){return qm(this.nativeEl,i)}get activeCuePoint(){return jm(this.nativeEl)}get cuePoints(){return wy(this.nativeEl)}async addChapters(i){return Xm(this.nativeEl,i)}get activeChapter(){return Qm(this.nativeEl)}get chapters(){return My(this.nativeEl)}getStartDate(){return Py(this.nativeEl,this._hls)}get currentPdt(){return Oy(this.nativeEl,this._hls)}get preferPlayback(){let i=this.getAttribute(D.PREFER_PLAYBACK);if(i===Vt.MSE||i===Vt.NATIVE)return i}set preferPlayback(i){i!==this.preferPlayback&&(i===Vt.MSE||i===Vt.NATIVE?this.setAttribute(D.PREFER_PLAYBACK,i):this.removeAttribute(D.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith("metadata-")&&![D.METADATA_URL].includes(i)).reduce((i,e)=>{let t=this.getAttribute(e);return t!=null&&(i[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),i},{}),...I(this,Xa)}}set metadata(i){ee(this,Xa,i!=null?i:{}),this.mux&&this.mux.emit("hb",I(this,Xa))}get _hlsConfig(){return I(this,ru)}set _hlsConfig(i){ee(this,ru,i)}load(){ee(this,wi,Gy(this,this.nativeEl,I(this,wi)))}unload(){ip(this.nativeEl,I(this,wi)),ee(this,wi,void 0)}attributeChangedCallback(i,e,t){var r,s;switch(np.observedAttributes.includes(i)&&!["src","autoplay","preload"].includes(i)&&super.attributeChangedCallback(i,e,t),i){case D.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case D.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?Ke(this,Qa,ou).call(this):n&&!a?this.unload():n&&a&&(this.unload(),Ke(this,Qa,ou).call(this));break}case"autoplay":if(t===e)break;(r=I(this,wi))==null||r.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=I(this,wi))==null||s.setPreload(t);break;case D.PLAYBACK_ID:this.src=Ga(this);break;case D.DEBUG:{let n=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=n);break}case D.METADATA_URL:t&&fetch(t).then(n=>n.json()).then(n=>this.metadata=n).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${t}!`));break;case D.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case D.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}connectedCallback(){var i;(i=super.connectedCallback)==null||i.call(this),this.nativeEl&&this.src&&!I(this,wi)&&Ke(this,Qa,ou).call(this)}disconnectedCallback(){this.unload()}};wi=new WeakMap,za=new WeakMap,tu=new WeakMap,Xa=new WeakMap,iu=new WeakMap,ru=new WeakMap,su=new WeakMap,nu=new WeakMap,au=new WeakMap,Qa=new WeakSet,ou=async function(){I(this,za)||(await ee(this,za,Promise.resolve()),ee(this,za,null),this.load())};var lu,Ap=class extends yC(DC(FC)){constructor(){super(...arguments),z(this,lu,void 0)}get muxCastCustomData(){return{mux:{playbackId:this.playbackId,minResolution:this.minResolution,maxResolution:this.maxResolution,renditionOrder:this.renditionOrder,customDomain:this.customDomain,tokens:{drm:this.drmToken},envKey:this.envKey,metadata:this.metadata,disableCookies:this.disableCookies,disableTracking:this.disableTracking,beaconCollectionDomain:this.beaconCollectionDomain,startTime:this.startTime,preferCmcd:this.preferCmcd}}}get castCustomData(){var i;return(i=I(this,lu))!=null?i:this.muxCastCustomData}set castCustomData(i){ee(this,lu,i)}};lu=new WeakMap;sp.customElements.get("mux-video")||(sp.customElements.define("mux-video",Ap),sp.MuxVideoElement=Ap);var uT=Ap;function cT(i){let e="";return Object.entries(i).forEach(([t,r])=>{r!=null&&(e+=`${pu(t)}: ${r}; `)}),e?e.trim():void 0}function pu(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function gu(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Mt(i){if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}function Lp(i){let e=BC(i).toString();return e?"?"+e:""}function BC(i){let e={};for(let t in i)i[t]!=null&&(e[t]=i[t]);return new URLSearchParams(e)}var kp=(i,e)=>!i||!e?!1:i.contains(e)?!0:kp(i,e.getRootNode().host);var hT="mux.com",$C=()=>{try{return"3.1.0"}catch{}return"UNKNOWN"},HC=$C(),Eu=()=>HC,fT=(i,{token:e,customDomain:t=hT,thumbnailTime:r,programTime:s}={})=>{var o;let n=e==null?r:void 0,{aud:a}=(o=_r(e))!=null?o:{};if(!(e&&a!=="t"))return`https://image.${t}/${i}/thumbnail.webp${Lp({token:e,time:n,program_time:s})}`},mT=(i,{token:e,customDomain:t=hT,programStartTime:r,programEndTime:s}={})=>{var a;let{aud:n}=(a=_r(e))!=null?a:{};if(!(e&&n!=="s"))return`https://image.${t}/${i}/storyboard.vtt${Lp({token:e,format:"webp",program_start_time:r,program_end_time:s})}`},Za=i=>{if(i){if([Ae.LIVE,Ae.ON_DEMAND].includes(i))return i;if(i!=null&&i.includes("live"))return Ae.LIVE}};var GC={crossorigin:"crossOrigin",playsinline:"playsInline"};function pT(i){var e;return(e=GC[i])!=null?e:gu(i)}var As,Ss,xt,vu=class{constructor(e,t){Xe(this,As,void 0);Xe(this,Ss,void 0);Xe(this,xt,[]);Ht(this,As,e),Ht(this,Ss,t)}[Symbol.iterator](){return me(this,xt).values()}get length(){return me(this,xt).length}get value(){var e;return(e=me(this,xt).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Ht(this,xt,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return me(this,xt)[e]}values(){return me(this,xt).values()}keys(){return me(this,xt).keys()}forEach(e){me(this,xt).forEach(e)}add(...e){var t,r;e.forEach(s=>{this.contains(s)||me(this,xt).push(s)}),!(this.value===""&&!((t=me(this,As))!=null&&t.hasAttribute(`${me(this,Ss)}`)))&&((r=me(this,As))==null||r.setAttribute(`${me(this,Ss)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>{me(this,xt).splice(me(this,xt).indexOf(r),1)}),(t=me(this,As))==null||t.setAttribute(`${me(this,Ss)}`,`${this.value}`)}contains(e){return me(this,xt).includes(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};As=new WeakMap,Ss=new WeakMap,xt=new WeakMap;var gT=`[mux-player ${Eu()}]`;function Di(...i){console.warn(gT,...i)}function Pt(...i){console.error(gT,...i)}function Cp(i){var t;let e=(t=i.message)!=null?t:"";i.context&&(e+=` ${i.context}`),i.file&&(e+=` ${j("Read more: ")} https://github.com/muxinc/elements/blob/main/errors/${i.file}`),Di(e)}var _t={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},xs={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},ET=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),KC=hu.filter(i=>i!=="error"),WC=Object.values(_t).filter(i=>![_t.PLAYSINLINE].includes(i)),VC=Object.values(xs),wn,wp=class extends Ve.HTMLElement{constructor(){super();Xe(this,wn,new WeakMap);let t=s=>{for(let n of s)n.type==="childList"&&(n.removedNodes.forEach(a=>{var o;(o=me(this,wn).get(a))==null||o.remove()}),n.addedNodes.forEach(a=>{var l;let o=a;o!=null&&o.slot||(l=this.media)==null||l.append(bT(me(this,wn),a))}))};new MutationObserver(t).observe(this,{childList:!0,subtree:!0})}static get observedAttributes(){return[...WC,...VC]}init(){this.querySelectorAll(":scope > :not([slot])").forEach(t=>{var r;(r=this.media)==null||r.append(bT(me(this,wn),t))}),KC.forEach(t=>{var r;(r=this.media)==null||r.addEventListener(t,s=>{this.dispatchEvent(new Event(s.type))})})}attributeChangedCallback(t,r,s){var n,a;switch(t){case xs.MUTED:{this.media&&(this.media.muted=s!=null,this.media.defaultMuted=s!=null);return}case xs.VOLUME:{let o=(n=Mt(s))!=null?n:1;this.media&&(this.media.volume=o);return}case xs.PLAYBACKRATE:{let o=(a=Mt(s))!=null?a:1;this.media&&(this.media.playbackRate=o,this.media.defaultPlaybackRate=o);return}}}play(){var t,r;return(r=(t=this.media)==null?void 0:t.play())!=null?r:Promise.reject()}pause(){var t;(t=this.media)==null||t.pause()}load(){var t;(t=this.media)==null||t.load()}requestCast(t){var r;return(r=this.media)==null?void 0:r.requestCast(t)}get media(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var t,r;return(r=(t=this.media)==null?void 0:t.paused)!=null?r:!0}get duration(){var t,r;return(r=(t=this.media)==null?void 0:t.duration)!=null?r:NaN}get ended(){var t,r;return(r=(t=this.media)==null?void 0:t.ended)!=null?r:!1}get buffered(){var t,r;return(r=(t=this.media)==null?void 0:t.buffered)!=null?r:ET}get seekable(){var t,r;return(r=(t=this.media)==null?void 0:t.seekable)!=null?r:ET}get readyState(){var t,r;return(r=(t=this.media)==null?void 0:t.readyState)!=null?r:0}get videoWidth(){var t,r;return(r=(t=this.media)==null?void 0:t.videoWidth)!=null?r:0}get videoHeight(){var t,r;return(r=(t=this.media)==null?void 0:t.videoHeight)!=null?r:0}get currentSrc(){var t,r;return(r=(t=this.media)==null?void 0:t.currentSrc)!=null?r:""}get currentTime(){var t,r;return(r=(t=this.media)==null?void 0:t.currentTime)!=null?r:0}set currentTime(t){this.media&&(this.media.currentTime=Number(t))}get volume(){var t,r;return(r=(t=this.media)==null?void 0:t.volume)!=null?r:1}set volume(t){this.media&&(this.media.volume=Number(t))}get playbackRate(){var t,r;return(r=(t=this.media)==null?void 0:t.playbackRate)!=null?r:1}set playbackRate(t){this.media&&(this.media.playbackRate=Number(t))}get defaultPlaybackRate(){var t;return(t=Mt(this.getAttribute(xs.PLAYBACKRATE)))!=null?t:1}set defaultPlaybackRate(t){t!=null?this.setAttribute(xs.PLAYBACKRATE,`${t}`):this.removeAttribute(xs.PLAYBACKRATE)}get crossOrigin(){return Ja(this,_t.CROSSORIGIN)}set crossOrigin(t){this.setAttribute(_t.CROSSORIGIN,`${t}`)}get autoplay(){return Ja(this,_t.AUTOPLAY)!=null}set autoplay(t){t?this.setAttribute(_t.AUTOPLAY,typeof t=="string"?t:""):this.removeAttribute(_t.AUTOPLAY)}get loop(){return Ja(this,_t.LOOP)!=null}set loop(t){t?this.setAttribute(_t.LOOP,""):this.removeAttribute(_t.LOOP)}get muted(){var t,r;return(r=(t=this.media)==null?void 0:t.muted)!=null?r:!1}set muted(t){this.media&&(this.media.muted=!!t)}get defaultMuted(){return Ja(this,_t.MUTED)!=null}set defaultMuted(t){t?this.setAttribute(_t.MUTED,""):this.removeAttribute(_t.MUTED)}get playsInline(){return Ja(this,_t.PLAYSINLINE)!=null}set playsInline(t){Pt("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(t){["","none","metadata","auto"].includes(t)?this.setAttribute(_t.PRELOAD,t):this.removeAttribute(_t.PRELOAD)}};wn=new WeakMap;function Ja(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}function bT(i,e){let t=i.get(e);return t||(t=e.cloneNode(),i.set(e,t)),t}var Dp=wp;var ST=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},de=(i,e,t)=>(ST(i,e,"read from private field"),t?t.call(i):e.get(i)),Mi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Zi=(i,e,t,r)=>(ST(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Dn,bu,Rs,eo,Rr,Ir,Lr,Is,Mn,yu,oi,yT=1,TT=0,YC=1,qC={processCallback(i,e,t){if(t){for(let[r,s]of e)if(r in t){let n=t[r];typeof n=="boolean"&&s instanceof Rt&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Rt?s.element[s.attributeName]=n:s.value=n}}}},Ji=class extends x.DocumentFragment{constructor(e,t,r=qC){var s;super(),Mi(this,Dn,void 0),Mi(this,bu,void 0),this.append(e.content.cloneNode(!0)),Zi(this,Dn,xT(this)),Zi(this,bu,r),(s=r.createCallback)==null||s.call(r,this,de(this,Dn),t),r.processCallback(this,de(this,Dn),t)}update(e){de(this,bu).processCallback(this,de(this,Dn),e)}};Dn=new WeakMap;bu=new WeakMap;var xT=(i,e=[])=>{let t,r;for(let s of i.attributes||[])if(s.value.includes("{{")){let n=new Mp;for([t,r]of AT(s.value))if(!t)n.append(r);else{let a=new Rt(i,s.name,s.namespaceURI);n.append(a),e.push([r,a])}s.value=n.toString()}for(let s of i.childNodes)if(s.nodeType===yT&&!(s instanceof HTMLTemplateElement))xT(s,e);else{let n=s.data;if(s.nodeType===yT||n.includes("{{")){let a=[];if(n)for([t,r]of AT(n))if(!t)a.push(new Text(r));else{let o=new er(i);a.push(o),e.push([r,o])}else if(s instanceof HTMLTemplateElement){let o=new to(i,s);a.push(o),e.push([o.expression,o])}s.replaceWith(...a.flatMap(o=>o.replacementNodes||[o]))}}return e},_T={},AT=i=>{let e="",t=0,r=_T[i],s=0,n;if(r)return r;for(r=[];n=i[s];s++)n==="{"&&i[s+1]==="{"&&i[s-1]!=="\\"&&i[s+2]&&++t==1?(e&&r.push([TT,e]),e="",s++):n==="}"&&i[s+1]==="}"&&i[s-1]!=="\\"&&!--t?(r.push([YC,e.trim()]),e="",s++):e+=n||"";return e&&r.push([TT,(t>0?"{{":"")+e]),_T[i]=r},jC=11,Tu=class{get value(){return""}set value(e){}toString(){return this.value}},RT=new WeakMap,Mp=class{constructor(){Mi(this,Rs,[])}[Symbol.iterator](){return de(this,Rs).values()}get length(){return de(this,Rs).length}item(e){return de(this,Rs)[e]}append(...e){for(let t of e)t instanceof Rt&&RT.set(t,this),de(this,Rs).push(t)}toString(){return de(this,Rs).join("")}};Rs=new WeakMap;var Rt=class extends Tu{constructor(e,t,r){super(),Mi(this,Is),Mi(this,eo,""),Mi(this,Rr,void 0),Mi(this,Ir,void 0),Mi(this,Lr,void 0),Zi(this,Rr,e),Zi(this,Ir,t),Zi(this,Lr,r)}get attributeName(){return de(this,Ir)}get attributeNamespace(){return de(this,Lr)}get element(){return de(this,Rr)}get value(){return de(this,eo)}set value(e){de(this,eo)!==e&&(Zi(this,eo,e),!de(this,Is,Mn)||de(this,Is,Mn).length===1?e==null?de(this,Rr).removeAttributeNS(de(this,Lr),de(this,Ir)):de(this,Rr).setAttributeNS(de(this,Lr),de(this,Ir),e):de(this,Rr).setAttributeNS(de(this,Lr),de(this,Ir),de(this,Is,Mn).toString()))}get booleanValue(){return de(this,Rr).hasAttributeNS(de(this,Lr),de(this,Ir))}set booleanValue(e){if(!de(this,Is,Mn)||de(this,Is,Mn).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};eo=new WeakMap;Rr=new WeakMap;Ir=new WeakMap;Lr=new WeakMap;Is=new WeakSet;Mn=function(){return RT.get(this)};var er=class extends Tu{constructor(e,t){super(),Mi(this,yu,void 0),Mi(this,oi,void 0),Zi(this,yu,e),Zi(this,oi,t?[...t]:[new Text])}get replacementNodes(){return de(this,oi)}get parentNode(){return de(this,yu)}get nextSibling(){return de(this,oi)[de(this,oi).length-1].nextSibling}get previousSibling(){return de(this,oi)[0].previousSibling}get value(){return de(this,oi).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(r=>r==null?[new Text]:r.forEach?[...r]:r.nodeType===jC?[...r.childNodes]:r.nodeType?[r]:[new Text(r)]);t.length||t.push(new Text),Zi(this,oi,zC(de(this,oi)[0].parentNode,de(this,oi),t,this.nextSibling))}};yu=new WeakMap;oi=new WeakMap;var to=class extends er{constructor(e,t){let r=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(r)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),this.expression=s,this.template=t,this.directive=r}};function zC(i,e,t,r=null){let s=0,n,a,o,l=t.length,d=e.length;for(;sString(i)},Au=class{constructor(e){this.template=e,this.state=void 0}},Ls=new WeakMap,ks=new WeakMap,Pp={partial:(i,e)=>{e[i.expression]=new Au(i.template)},if:(i,e)=>{var t;if(kT(i.expression,e))if(Ls.get(i)!==i.template){Ls.set(i,i.template);let r=new Ji(i.template,e,Su);i.replace(r),ks.set(i,r)}else(t=ks.get(i))==null||t.update(e);else i.replace(""),Ls.delete(i),ks.delete(i)}},XC=Object.keys(Pp),Su={processCallback(i,e,t){var r,s;if(t)for(let[n,a]of e){if(a instanceof to){if(!a.directive){let l=XC.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(r=Pp[a.directive])==null||r.call(Pp,a,t);continue}let o=kT(n,t);if(o instanceof Au){Ls.get(a)!==o.template?(Ls.set(a,o.template),o=new Ji(o.template,o.state,Su),a.value=o,ks.set(a,o)):(s=ks.get(a))==null||s.update(o.state);continue}o?(a instanceof Rt&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Rt?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,Ls.delete(a),ks.delete(a))):a instanceof Rt?a.value=void 0:(a.value=void 0,Ls.delete(a),ks.delete(a))}}},LT={"!":i=>!i,"!!":i=>!!i,"==":(i,e)=>i==e,"!=":(i,e)=>i!=e,">":(i,e)=>i>e,">=":(i,e)=>i>=e,"<":(i,e)=>ii<=e,"??":(i,e)=>i!=null?i:e,"|":(i,e)=>{var t;return(t=IT[e])==null?void 0:t.call(IT,i)}};function QC(i){return ZC(i,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function kT(i,e={}){var t,r,s,n,a,o,l;let d=QC(i);if(d.length===0||d.some(({type:u})=>!u))return io(i);if(((t=d[0])==null?void 0:t.token)===">"){let u=e[(r=d[1])==null?void 0:r.token];if(!u)return io(i);let c={...e};u.state=c;let h=d.slice(2);for(let f=0;f{if(!e.has(i))throw TypeError("Cannot "+t)},Up=(i,e,t)=>($p(i,e,"read from private field"),t?t.call(i):e.get(i)),so=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Cs=(i,e,t,r)=>($p(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Op=(i,e,t)=>($p(i,e,"access private method"),t),Pn,xu,On,Fp,CT,Ru,Bp,Np={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},wT=N.createElement("template");wT.innerHTML=` `;var ws=class extends x.HTMLElement{constructor(){super(),so(this,Fp),so(this,Ru),so(this,Pn,void 0),so(this,xu,void 0),so(this,On,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());let e=new MutationObserver(t=>{var r;this.mediaController&&!((r=this.mediaController)!=null&&r.breakpointsComputed)||t.some(s=>{let n=s.target;return n===this?!0:n.localName!=="media-controller"?!1:!!(Np[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(Hi.BREAKPOINTS_COMPUTED,this.render),Op(this,Fp,CT).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=Up(this,Pn))!=null?e:this.constructor.template}set template(e){Cs(this,On,null),Cs(this,Pn,e),this.createRenderer()}get props(){var e,t,r;let s=[...Array.from((t=(e=this.mediaController)==null?void 0:e.attributes)!=null?t:[]).filter(({name:a})=>Np[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(r=Np[a.name])!=null?r:Jg(a.name),{value:l}=a;l!=null?(wo(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,r){e==="template"&&t!=r&&Op(this,Ru,Bp).call(this)}connectedCallback(){Op(this,Ru,Bp).call(this)}createRenderer(){this.template&&this.template!==Up(this,xu)&&(Cs(this,xu,this.template),this.renderer=new Ji(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(wT.content.cloneNode(!0),this.renderer))}render(){var e;if((e=this.renderer)==null||e.update(this.props),this.renderRoot.isConnected){let{style:t}=Le(this.renderRoot,":host");t.visibility==="hidden"&&t.removeProperty("visibility")}}};Pn=new WeakMap;xu=new WeakMap;On=new WeakMap;Fp=new WeakSet;CT=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let e=this[i];delete this[i],this[i]=e}};Ru=new WeakSet;Bp=function(){var i;let e=this.getAttribute("template");if(!e||e===Up(this,On))return;let t=this.getRootNode(),r=(i=t==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(r){Cs(this,On,e),Cs(this,Pn,r),this.createRenderer();return}JC(e)&&(Cs(this,On,e),ew(e).then(s=>{let n=N.createElement("template");n.innerHTML=s,Cs(this,Pn,n),this.createRenderer()}).catch(console.error))};ws.observedAttributes=["template"];ws.processor=Su;function JC(i){if(!/^(\/|\.\/|https?:\/\/)/.test(i))return!1;let e=/^https?:\/\//.test(i)?void 0:location.origin;try{new URL(i,e)}catch{return!1}return!0}async function ew(i){let e=await fetch(i);if(e.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${e.status}`);return e.text()}x.customElements.get("media-theme")||x.customElements.define("media-theme",ws);var DT=`:host { --media-control-display: var(--controls); --media-loading-indicator-display: var(--loading-indicator); --media-dialog-display: var(--dialog); --media-play-button-display: var(--play-button); --media-live-button-display: var(--live-button); --media-seek-backward-button-display: var(--seek-backward-button); --media-seek-forward-button-display: var(--seek-forward-button); --media-mute-button-display: var(--mute-button); --media-captions-button-display: var(--captions-button); --media-captions-menu-button-display: var(--captions-menu-button, var(--media-captions-button-display)); --media-rendition-menu-button-display: var(--rendition-menu-button); --media-audio-track-menu-button-display: var(--audio-track-menu-button); --media-airplay-button-display: var(--airplay-button); --media-pip-button-display: var(--pip-button); --media-fullscreen-button-display: var(--fullscreen-button); --media-cast-button-display: var(--cast-button, var(--_cast-button-drm-display)); --media-playback-rate-button-display: var(--playback-rate-button); --media-playback-rate-menu-button-display: var(--playback-rate-menu-button); --media-volume-range-display: var(--volume-range); --media-time-range-display: var(--time-range); --media-time-display-display: var(--time-display); --media-duration-display-display: var(--duration-display); --media-title-display-display: var(--title-display); display: inline-block; width: 100%; line-height: 0; } /* Hide custom elements that are not defined yet */ :not(:defined) { display: none; } a { color: #fff; font-size: 0.9em; text-decoration: underline; } media-theme { width: 100%; height: 100%; direction: ltr; } media-poster-image { width: 100%; height: 100%; } media-poster-image:not([src]):not([placeholdersrc]) { display: none; } ::part(top), [part~='top'] { --media-control-display: var(--controls, var(--top-controls)); --media-play-button-display: var(--play-button, var(--top-play-button)); --media-live-button-display: var(--live-button, var(--top-live-button)); --media-seek-backward-button-display: var(--seek-backward-button, var(--top-seek-backward-button)); --media-seek-forward-button-display: var(--seek-forward-button, var(--top-seek-forward-button)); --media-mute-button-display: var(--mute-button, var(--top-mute-button)); --media-captions-button-display: var(--captions-button, var(--top-captions-button)); --media-captions-menu-button-display: var( --captions-menu-button, var(--media-captions-button-display, var(--top-captions-menu-button)) ); --media-rendition-menu-button-display: var(--rendition-menu-button, var(--top-rendition-menu-button)); --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--top-audio-track-menu-button)); --media-airplay-button-display: var(--airplay-button, var(--top-airplay-button)); --media-pip-button-display: var(--pip-button, var(--top-pip-button)); --media-fullscreen-button-display: var(--fullscreen-button, var(--top-fullscreen-button)); --media-cast-button-display: var(--cast-button, var(--top-cast-button, var(--_cast-button-drm-display))); --media-playback-rate-button-display: var(--playback-rate-button, var(--top-playback-rate-button)); --media-playback-rate-menu-button-display: var( --captions-menu-button, var(--media-playback-rate-button-display, var(--top-playback-rate-menu-button)) ); --media-volume-range-display: var(--volume-range, var(--top-volume-range)); --media-time-range-display: var(--time-range, var(--top-time-range)); --media-time-display-display: var(--time-display, var(--top-time-display)); --media-duration-display-display: var(--duration-display, var(--top-duration-display)); --media-title-display-display: var(--title-display, var(--top-title-display)); } ::part(center), [part~='center'] { --media-control-display: var(--controls, var(--center-controls)); --media-play-button-display: var(--play-button, var(--center-play-button)); --media-live-button-display: var(--live-button, var(--center-live-button)); --media-seek-backward-button-display: var(--seek-backward-button, var(--center-seek-backward-button)); --media-seek-forward-button-display: var(--seek-forward-button, var(--center-seek-forward-button)); --media-mute-button-display: var(--mute-button, var(--center-mute-button)); --media-captions-button-display: var(--captions-button, var(--center-captions-button)); --media-captions-menu-button-display: var( --captions-menu-button, var(--media-captions-button-display, var(--center-captions-menu-button)) ); --media-rendition-menu-button-display: var(--rendition-menu-button, var(--center-rendition-menu-button)); --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--center-audio-track-menu-button)); --media-airplay-button-display: var(--airplay-button, var(--center-airplay-button)); --media-pip-button-display: var(--pip-button, var(--center-pip-button)); --media-fullscreen-button-display: var(--fullscreen-button, var(--center-fullscreen-button)); --media-cast-button-display: var(--cast-button, var(--center-cast-button, var(--_cast-button-drm-display))); --media-playback-rate-button-display: var(--playback-rate-button, var(--center-playback-rate-button)); --media-playback-rate-menu-button-display: var( --playback-rate-menu-button, var(--media-playback-rate-button-display, var(--center-playback-rate-menu-button)) ); --media-volume-range-display: var(--volume-range, var(--center-volume-range)); --media-time-range-display: var(--time-range, var(--center-time-range)); --media-time-display-display: var(--time-display, var(--center-time-display)); --media-duration-display-display: var(--duration-display, var(--center-duration-display)); } ::part(bottom), [part~='bottom'] { --media-control-display: var(--controls, var(--bottom-controls)); --media-play-button-display: var(--play-button, var(--bottom-play-button)); --media-live-button-display: var(--live-button, var(--bottom-live-button)); --media-seek-backward-button-display: var(--seek-backward-button, var(--bottom-seek-backward-button)); --media-seek-forward-button-display: var(--seek-forward-button, var(--bottom-seek-forward-button)); --media-mute-button-display: var(--mute-button, var(--bottom-mute-button)); --media-captions-button-display: var(--captions-button, var(--bottom-captions-button)); --media-captions-menu-button-display: var( --captions-menu-button, var(--media-captions-button-display, var(--bottom-captions-menu-button)) ); --media-rendition-menu-button-display: var(--rendition-menu-button, var(--bottom-rendition-menu-button)); --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--bottom-audio-track-menu-button)); --media-airplay-button-display: var(--airplay-button, var(--bottom-airplay-button)); --media-pip-button-display: var(--pip-button, var(--bottom-pip-button)); --media-fullscreen-button-display: var(--fullscreen-button, var(--bottom-fullscreen-button)); --media-cast-button-display: var(--cast-button, var(--bottom-cast-button, var(--_cast-button-drm-display))); --media-playback-rate-button-display: var(--playback-rate-button, var(--bottom-playback-rate-button)); --media-playback-rate-menu-button-display: var( --playback-rate-menu-button, var(--media-playback-rate-button-display, var(--bottom-playback-rate-menu-button)) ); --media-volume-range-display: var(--volume-range, var(--bottom-volume-range)); --media-time-range-display: var(--time-range, var(--bottom-time-range)); --media-time-display-display: var(--time-display, var(--bottom-time-display)); --media-duration-display-display: var(--duration-display, var(--bottom-duration-display)); --media-title-display-display: var(--title-display, var(--bottom-title-display)); } :host([no-tooltips]) { --media-tooltip-display: none; } `;var PT=` :host { z-index: 100; display: var(--media-dialog-display, flex); justify-content: center; align-items: center; width: 100%; height: 100%; position: absolute; top: 0; left: 0; box-sizing: border-box; color: #fff; line-height: 18px; font-family: Arial, sans-serif; padding: var(--media-dialog-backdrop-padding, 0); background: var(--media-dialog-backdrop-background, linear-gradient(to bottom, rgba(20, 20, 30, 0.7) 50%, rgba(20, 20, 30, 0.9)) ); /* Needs to use !important to prevent overwrite of media-chrome */ transition: var(--media-dialog-transition-open, visibility .2s, opacity .2s) !important; transform: var(--media-dialog-transform-open, none) !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; } :host(:not([open])) { /* Needs to use !important to prevent overwrite of media-chrome */ transition: var(--media-dialog-transition-close, visibility .1s, opacity .1s) !important; transform: var(--media-dialog-transform-close, none) !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; } :focus-visible { box-shadow: 0 0 0 2px rgba(27, 127, 204, 0.9); } .dialog { position: relative; box-sizing: border-box; background: var(--media-dialog-background, none); padding: var(--media-dialog-padding, 10px); width: min(320px, 100%); word-wrap: break-word; max-height: 100%; overflow: auto; text-align: center; line-height: 1.4; } `,OT=Ut.createElement("template");OT.innerHTML=`
`;var kr=class extends Ve.HTMLElement{constructor(){var e;super(),this.attachShadow({mode:"open"}),(e=this.shadowRoot)==null||e.appendChild(this.constructor.template.content.cloneNode(!0))}show(){this.setAttribute("open",""),this.dispatchEvent(new CustomEvent("open",{composed:!0,bubbles:!0})),MT(this)}close(){this.hasAttribute("open")&&(this.removeAttribute("open"),this.dispatchEvent(new CustomEvent("close",{composed:!0,bubbles:!0})),iw(this))}attributeChangedCallback(e,t,r){e==="open"&&t!==r&&(r!=null?this.show():this.close())}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","dialog"),this.hasAttribute("open")&&MT(this)}};kr.styles=PT,kr.template=OT,kr.observedAttributes=["open"];function MT(i){let e=new CustomEvent("initfocus",{composed:!0,bubbles:!0,cancelable:!0});if(i.dispatchEvent(e),e.defaultPrevented)return;let t=i.querySelector("[autofocus]:not([disabled])");!t&&i.tabIndex>=0&&(t=i),t||(t=NT(i.shadowRoot)),i._previouslyFocusedElement=Ut.activeElement,Ut.activeElement instanceof HTMLElement&&Ut.activeElement.blur(),i.addEventListener("transitionend",()=>{t instanceof HTMLElement&&t.focus({preventScroll:!0})},{once:!0})}function NT(i){let t=["button","input","keygen","select","textarea"].map(function(s){return s+":not([disabled])"});t.push('[tabindex]:not([disabled]):not([tabindex=""])');let r=i==null?void 0:i.querySelector(t.join(", "));if(!r&&"attachShadow"in Element.prototype){let s=(i==null?void 0:i.querySelectorAll("*"))||[];for(let n=0;n ${Hp.styles} .close { background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit; width: 28px; height: 28px; position: absolute; top: 1rem; right: 1rem; }
`;var no=class extends Hp{constructor(){var e,t;super(),(t=(e=this.shadowRoot)==null?void 0:e.querySelector(".close"))==null||t.addEventListener("click",()=>{this.close()})}};no.template=UT;Ve.customElements.get("mxp-dialog")||(Ve.customElements.define("mxp-dialog",no),Ve.MxpDialog=no);var ao=new WeakMap,Kp=class i{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let r=ao.get(this.element);r&&r.set(this.type,this)}set(e){if(typeof e=="function")this.handleEvent=e.bind(this.element);else if(typeof e=="object"&&typeof e.handleEvent=="function")this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let t=ao.get(this.element);t&&t.delete(this.type)}}static for(e){ao.has(e.element)||ao.set(e.element,new Map);let t=e.attributeName.slice(2),r=ao.get(e.element);return r&&r.has(t)?r.get(t):new i(e.element,t)}};function rw(i,e){return i instanceof Rt&&i.attributeName.startsWith("on")?(Kp.for(i).set(e),i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),!0):!1}function sw(i,e){return e instanceof Iu&&i instanceof er?(e.renderInto(i),!0):!1}function nw(i,e){return e instanceof DocumentFragment&&i instanceof er?(e.childNodes.length&&i.replace(...e.childNodes),!0):!1}function aw(i,e){if(i instanceof Rt){let t=i.attributeNamespace,r=i.element.getAttributeNS(t,i.attributeName);return String(e)!==r&&(i.value=String(e)),!0}return i.value=String(e),!0}function ow(i,e){if(i instanceof Rt&&e instanceof Element){let t=i.element;return t[i.attributeName]!==e&&(i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),t[i.attributeName]=e),!0}return!1}function lw(i,e){if(typeof e=="boolean"&&i instanceof Rt){let t=i.attributeNamespace,r=i.element.hasAttributeNS(t,i.attributeName);return e!==r&&(i.booleanValue=e),!0}return!1}function dw(i,e){return e===!1&&i instanceof er?(i.replace(""),!0):!1}function uw(i,e){ow(i,e)||lw(i,e)||rw(i,e)||dw(i,e)||sw(i,e)||nw(i,e)||aw(i,e)}var Gp=new Map,FT=new WeakMap,BT=new WeakMap,Iu=class{constructor(e,t,r){this.strings=e;this.values=t;this.processor=r;this.stringsKey=this.strings.join("")}get template(){if(Gp.has(this.stringsKey))return Gp.get(this.stringsKey);{let e=Ut.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((r,s,n)=>r+s+(n{let{tokens:e}=i;return e.drm?":host { --_cast-button-drm-display: none; }":""},HT=i=>tr` ${gw(i)} `,fw=i=>{let e=i.hotKeys?`${i.hotKeys}`:"";return Za(i.streamType)==="live"&&(e+=" noarrowleft noarrowright"),e},mw={TOP:"top",CENTER:"center",BOTTOM:"bottom",LAYER:"layer",MEDIA_LAYER:"media-layer",POSTER_LAYER:"poster-layer",VERTICAL_LAYER:"vertical-layer",CENTERED_LAYER:"centered-layer",GESTURE_LAYER:"gesture-layer",CONTROLLER_LAYER:"controller",BUTTON:"button",RANGE:"range",DISPLAY:"display",CONTROL_BAR:"control-bar",MENU_BUTTON:"menu-button",LISTBOX:"listbox",OPTION:"option",POSTER:"poster",LIVE:"live",PLAY:"play",PRE_PLAY:"pre-play",SEEK_BACKWARD:"seek-backward",SEEK_FORWARD:"seek-forward",MUTE:"mute",CAPTIONS:"captions",AIRPLAY:"airplay",PIP:"pip",FULLSCREEN:"fullscreen",CAST:"cast",PLAYBACK_RATE:"playback-rate",VOLUME:"volume",TIME:"time",TITLE:"title",AUDIO_TRACK:"audio-track",RENDITION:"rendition"},pw=Object.values(mw).join(", "),gw=i=>{var e,t,r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,b,T,_,A,R,S,C,P,k,M,B,F,X,Q,V,ne,le,W,G,ae,Z;return tr` ${i.storyboard?tr``:tr``} ${(le=i.dialog)!=null&&le.title?tr`

${i.dialog.title}

`:tr``}

${(W=i.dialog)==null?void 0:W.message} ${(G=i.dialog)!=null&&G.linkUrl?tr`${(Z=i.dialog.linkText)!=null?Z:i.dialog.linkUrl}`:tr``}

`};var GT=i=>i.charAt(0).toUpperCase()+i.slice(1),vw=(i,e=!1)=>{var t,r;if(i.muxCode){let s=GT((t=i.errorCategory)!=null?t:"video"),n=$a((r=i.errorCategory)!=null?r:we.VIDEO);if(i.muxCode===J.NETWORK_OFFLINE)return j("Your device appears to be offline",e);if(i.muxCode===J.NETWORK_TOKEN_EXPIRED)return j("{category} URL has expired",e).format({category:s});if([J.NETWORK_TOKEN_SUB_MISMATCH,J.NETWORK_TOKEN_AUD_MISMATCH,J.NETWORK_TOKEN_AUD_MISSING,J.NETWORK_TOKEN_MALFORMED].includes(i.muxCode))return j("{category} URL is formatted incorrectly",e).format({category:s});if(i.muxCode===J.NETWORK_TOKEN_MISSING)return j("Invalid {categoryName} URL",e).format({categoryName:n});if(i.muxCode===J.NETWORK_NOT_FOUND)return j("{category} does not exist",e).format({category:s});if(i.muxCode===J.NETWORK_NOT_READY)return j("{category} is not currently available",e).format({category:s})}if(i.code){if(i.code===K.MEDIA_ERR_NETWORK)return j("Network Error",e);if(i.code===K.MEDIA_ERR_DECODE)return j("Media Error",e);if(i.code===K.MEDIA_ERR_SRC_NOT_SUPPORTED)return j("Source Not Supported",e)}return j("Error",e)},Ew=(i,e=!1)=>{var t,r;if(i.muxCode){let s=GT((t=i.errorCategory)!=null?t:"video"),n=$a((r=i.errorCategory)!=null?r:we.VIDEO);return i.muxCode===J.NETWORK_OFFLINE?j("Check your internet connection and try reloading this video.",e):i.muxCode===J.NETWORK_TOKEN_EXPIRED?j("The video\u2019s secured {tokenNamePrefix}-token has expired.",e).format({tokenNamePrefix:n}):i.muxCode===J.NETWORK_TOKEN_SUB_MISMATCH?j("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",e).format({tokenNamePrefix:n}):i.muxCode===J.NETWORK_TOKEN_MALFORMED?j("{category} URL is formatted incorrectly",e).format({category:s}):[J.NETWORK_TOKEN_AUD_MISMATCH,J.NETWORK_TOKEN_AUD_MISSING].includes(i.muxCode)?j("The {tokenNamePrefix}-token is formatted with incorrect information.",e).format({tokenNamePrefix:n}):[J.NETWORK_TOKEN_MISSING,J.NETWORK_INVALID_URL].includes(i.muxCode)?j("The video URL or {tokenNamePrefix}-token are formatted with incorrect or incomplete information.",e).format({tokenNamePrefix:n}):i.muxCode===J.NETWORK_NOT_FOUND?"":i.muxCode===J.NETWORK_NOT_READY?j("The live stream or video file are not yet ready.",e):i.message}return i.code&&(i.code===K.MEDIA_ERR_NETWORK||i.code===K.MEDIA_ERR_DECODE||i.code===K.MEDIA_ERR_SRC_NOT_SUPPORTED),i.message},bw=(i,e=!1)=>{let t=vw(i,e),r=Ew(i,e);return{title:t,message:r}},yw=i=>{if(i.muxCode){if(i.muxCode===J.NETWORK_TOKEN_EXPIRED)return"403-expired-token.md";if(i.muxCode===J.NETWORK_TOKEN_MALFORMED)return"403-malformatted-token.md";if([J.NETWORK_TOKEN_AUD_MISMATCH,J.NETWORK_TOKEN_AUD_MISSING].includes(i.muxCode))return"403-incorrect-aud-value.md";if(i.muxCode===J.NETWORK_TOKEN_SUB_MISMATCH)return"403-playback-id-mismatch.md";if(i.muxCode===J.NETWORK_TOKEN_MISSING)return"missing-signed-tokens.md";if(i.muxCode===J.NETWORK_NOT_FOUND)return"404-not-found.md";if(i.muxCode===J.NETWORK_NOT_READY)return"412-not-playable.md"}if(i.code){if(i.code===K.MEDIA_ERR_NETWORK)return"";if(i.code===K.MEDIA_ERR_DECODE)return"media-decode-error.md";if(i.code===K.MEDIA_ERR_SRC_NOT_SUPPORTED)return"media-src-not-supported.md"}return""},Tw=(i,e)=>{let t=yw(i);return{message:i.message,context:i.context,file:t}};function Wp(i,e=!1){let t=bw(i,e),r=Tw(i,e);return{dialog:t,devlog:r}}var KT=` `;function WT({anchor:i,floating:e,placement:t}){let r=Aw({anchor:i,floating:e}),{x:s,y:n}=xw(r,t);return{x:s,y:n}}function Aw({anchor:i,floating:e}){return{anchor:Sw(i,e.offsetParent),floating:{x:0,y:0,width:e.offsetWidth,height:e.offsetHeight}}}function Sw(i,e){var t;let r=i.getBoundingClientRect(),s=(t=e==null?void 0:e.getBoundingClientRect())!=null?t:{x:0,y:0};return{x:r.x-s.x,y:r.y-s.y,width:r.width,height:r.height}}function xw({anchor:i,floating:e},t){let r=Rw(t)==="x"?"y":"x",s=r==="y"?"height":"width",n=VT(t),a=i.x+i.width/2-e.width/2,o=i.y+i.height/2-e.height/2,l=i[s]/2-e[s]/2,d;switch(n){case"top":d={x:a,y:i.y-e.height};break;case"bottom":d={x:a,y:i.y+i.height};break;case"right":d={x:i.x+i.width,y:o};break;case"left":d={x:i.x-e.width,y:o};break;default:d={x:i.x,y:i.y}}switch(t.split("-")[1]){case"start":d[r]-=l;break;case"end":d[r]+=l;break}return d}function VT(i){return i.split("-")[0]}function Rw(i){return["top","bottom"].includes(VT(i))?"y":"x"}var Cr=class extends Event{constructor({action:e="auto",relatedTarget:t,...r}){super("invoke",r),this.action=e,this.relatedTarget=t}},Lu=class extends Event{constructor({newState:e,oldState:t,...r}){super("toggle",r),this.newState=e,this.oldState=t}};var ig=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},_e=(i,e,t)=>(ig(i,e,"read from private field"),t?t.call(i):e.get(i)),Me=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Pi=(i,e,t,r)=>(ig(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ue=(i,e,t)=>(ig(i,e,"access private method"),t),Oi,Ms,wr,ku,Cu,Ps,uo,Vp,YT,Mu,wu,Yp,qp,qT,jp,jT,zp,zT,Nn,Un,Fn,co,Pu,rg,Xp,XT,sg,QT,Qp,ZT,ng,JT,Zp,e_,Jp,t_,oo,Ou,eg,i_,lo,Nu,Du,tg;function Ni({type:i,text:e,value:t,checked:r}){let s=N.createElement("media-chrome-menu-item");s.type=i!=null?i:"",s.part.add("menu-item"),i&&s.part.add(i),s.value=t,s.checked=r;let n=N.createElement("span");return n.textContent=e,s.append(n),s}function li(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);if((t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t)return t=t.cloneNode(!0),t;let r=i.shadowRoot.querySelector(`[name="${e}"] > svg`);return r?r.cloneNode(!0):""}var r_=N.createElement("template");r_.innerHTML=`
`;var Ds={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},bt=class extends x.HTMLElement{constructor(){super(),Me(this,Vp),Me(this,wu),Me(this,qp),Me(this,jp),Me(this,zp),Me(this,Fn),Me(this,Pu),Me(this,Xp),Me(this,sg),Me(this,Qp),Me(this,ng),Me(this,Zp),Me(this,Jp),Me(this,oo),Me(this,eg),Me(this,lo),Me(this,Du),Me(this,Oi,null),Me(this,Ms,null),Me(this,wr,null),Me(this,ku,new Set),Me(this,Cu,void 0),Me(this,Ps,!1),Me(this,uo,null),Me(this,Mu,()=>{let e=_e(this,ku),t=new Set(this.items);for(let r of e)t.has(r)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:r}));for(let r of t)e.has(r)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:r}));Pi(this,ku,t)}),Me(this,Nn,()=>{Ue(this,Fn,co).call(this),Ue(this,Pu,rg).call(this,!1)}),Me(this,Un,()=>{Ue(this,Fn,co).call(this)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),Pi(this,Cu,new MutationObserver(_e(this,Mu))),_e(this,Cu).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[Ds.DISABLED,Ds.HIDDEN,Ds.STYLE,Ds.ANCHOR,ue.MEDIA_CONTROLLER]}static formatMenuItemText(e){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":Ue(this,Vp,YT).call(this,e);break;case"invoke":Ue(this,qp,qT).call(this,e);break;case"click":Ue(this,Xp,XT).call(this,e);break;case"toggle":Ue(this,Qp,ZT).call(this,e);break;case"focusout":Ue(this,Zp,e_).call(this,e);break;case"keydown":Ue(this,Jp,t_).call(this,e);break}}connectedCallback(){var e,t;Pi(this,uo,_c(this.shadowRoot,":host")),Ue(this,wu,Yp).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),Pi(this,Oi,No(this)),(t=(e=_e(this,Oi))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(Gi(ho(this),_e(this,Nn)),Gi(this,_e(this,Un)))}disconnectedCallback(){var e,t;Nr(ho(this),_e(this,Nn)),Nr(this,_e(this,Un)),this.disable(),(t=(e=_e(this,Oi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Pi(this,Oi,null)}attributeChangedCallback(e,t,r){var s,n,a,o;e===Ds.HIDDEN&&r!==t?(_e(this,Ps)||Pi(this,Ps,!0),this.hidden?Ue(this,zp,zT).call(this):Ue(this,jp,jT).call(this),this.dispatchEvent(new Lu({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===ue.MEDIA_CONTROLLER?(t&&((n=(s=_e(this,Oi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Pi(this,Oi,null)),r&&this.isConnected&&(Pi(this,Oi,No(this)),(o=(a=_e(this,Oi))==null?void 0:a.associateElement)==null||o.call(a,this))):e===Ds.DISABLED&&r!==t?r==null?this.enable():this.disable():e===Ds.STYLE&&r!==t&&Ue(this,wu,Yp).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?(e=Ur(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(Iw)}get radioGroupItems(){return this.items.filter(e=>e.role==="menuitemradio")}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return(t=(e=this.checkedItems[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.items.find(r=>r.value===e);t&&Ue(this,Du,tg).call(this,t)}focus(){if(Pi(this,Ms,qn()),this.items.length){Ue(this,lo,Nu).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}handleSelect(e){var t;let r=Ue(this,oo,Ou).call(this,e);r&&(Ue(this,Du,tg).call(this,r,r.type==="checkbox"),_e(this,wr)&&!this.hidden&&((t=_e(this,Ms))==null||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,r;let{key:s}=e,n=this.items,a=(r=(t=Ue(this,oo,Ou).call(this,e))!=null?t:Ue(this,eg,i_).call(this))!=null?r:n[0],o=n.indexOf(a),l=Math.max(0,o);s==="ArrowDown"?l++:s==="ArrowUp"?l--:e.key==="Home"?l=0:e.key==="End"&&(l=n.length-1),l<0&&(l=n.length-1),l>n.length-1&&(l=0),Ue(this,lo,Nu).call(this,n[l]),n[l].focus()}};Oi=new WeakMap;Ms=new WeakMap;wr=new WeakMap;ku=new WeakMap;Cu=new WeakMap;Ps=new WeakMap;uo=new WeakMap;Vp=new WeakSet;YT=function(i){let e=i.target;for(let t of e.assignedNodes({flatten:!0}))t.nodeType===3&&t.textContent.trim()===""&&t.remove();if(["header","title"].includes(e.name)){let t=this.shadowRoot.querySelector('slot[name="header"]');t.hidden=e.assignedNodes().length===0}e.name||_e(this,Mu).call(this)};Mu=new WeakMap;wu=new WeakSet;Yp=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=(i=getComputedStyle(this).getPropertyValue("--media-menu-layout"))==null?void 0:i.trim();e.setAttribute("media",t==="row"?"":"width:0")};qp=new WeakSet;qT=function(i){Pi(this,wr,i.relatedTarget),St(this,i.relatedTarget)||(this.hidden=!this.hidden)};jp=new WeakSet;jT=function(){var i;(i=_e(this,wr))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),Gi(ho(this),_e(this,Nn)),Gi(this,_e(this,Un))};zp=new WeakSet;zT=function(){var i;(i=_e(this,wr))==null||i.setAttribute("aria-expanded","false"),Nr(ho(this),_e(this,Nn)),Nr(this,_e(this,Un))};Nn=new WeakMap;Un=new WeakMap;Fn=new WeakSet;co=function(i){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:e,y:t}=WT({anchor:this.anchorElement,floating:this,placement:"top-start"});i!=null||(i=this.offsetWidth);let s=ho(this).getBoundingClientRect(),n=s.width-e-i,a=s.height-t-this.offsetHeight,{style:o}=_e(this,uo);o.setProperty("position","absolute"),o.setProperty("right",`${Math.max(0,n)}px`),o.setProperty("--_menu-bottom",`${a}px`);let l=getComputedStyle(this),u=o.getPropertyValue("--_menu-bottom")===l.bottom?a:parseFloat(l.bottom),c=s.height-u-parseFloat(l.marginBottom);this.style.setProperty("--_menu-max-height",`${c}px`)};Pu=new WeakSet;rg=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=_e(this,uo);if(i||r.setProperty("--media-menu-transition-in","none"),t){let s=t.offsetHeight,n=Math.max(t.offsetWidth,e.offsetWidth);this.style.setProperty("min-width",`${n}px`),this.style.setProperty("min-height",`${s}px`),Ue(this,Fn,co).call(this,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),Ue(this,Fn,co).call(this);r.removeProperty("--media-menu-transition-in")};Xp=new WeakSet;XT=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(_e(this,sg,QT))){(e=_e(this,Ms))==null||e.focus(),this.hidden=!0;return}let t=Ue(this,oo,Ou).call(this,i);!t||t.hasAttribute("disabled")||(Ue(this,lo,Nu).call(this,t),this.handleSelect(i))};sg=new WeakSet;QT=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.matches('button[part~="back"]'))};Qp=new WeakSet;ZT=function(i){if(i.target===this)return;Ue(this,ng,JT).call(this);let e=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let t of e)t.invokeTargetElement!=i.target&&i.newState=="open"&&t.getAttribute("aria-expanded")=="true"&&!t.invokeTargetElement.hidden&&t.invokeTargetElement.dispatchEvent(new Cr({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);Ue(this,Pu,rg).call(this,!0)};ng=new WeakSet;JT=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)};Zp=new WeakSet;e_=function(i){var e;St(this,i.relatedTarget)||(_e(this,Ps)&&((e=_e(this,Ms))==null||e.focus()),_e(this,wr)&&_e(this,wr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};Jp=new WeakSet;t_=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;if(!(o||l||d)&&this.keysUsed.includes(a))if(i.preventDefault(),i.stopPropagation(),a==="Tab"){if(_e(this,Ps)){this.hidden=!0;return}i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()}else a==="Escape"?((n=_e(this,Ms))==null||n.focus(),_e(this,Ps)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};oo=new WeakSet;Ou=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};eg=new WeakSet;i_=function(){return this.items.find(i=>i.tabIndex===0)};lo=new WeakSet;Nu=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};Du=new WeakSet;tg=function(i,e){let t=[...this.checkedItems];i.type==="radio"&&this.radioGroupItems.forEach(r=>r.checked=!1),e?i.checked=!i.checked:i.checked=!0,this.checkedItems.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};bt.template=r_;function Iw(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function ho(i){var e;return(e=i.getAttribute("bounds")?ui(i,`#${i.getAttribute("bounds")}`):He(i)||i.parentElement)!=null?e:i}x.customElements.get("media-chrome-menu")||x.customElements.define("media-chrome-menu",bt);var cg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Fi=(i,e,t)=>(cg(i,e,"read from private field"),t?t.call(i):e.get(i)),ir=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ag=(i,e,t,r)=>(cg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ui=(i,e,t)=>(cg(i,e,"access private method"),t),Uu,mo,og,s_,hg,n_,fg,a_,Bi,Bn,po,lg,o_,Fu,dg,l_=N.createElement("template");l_.innerHTML=` `;var qt={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},Dr=class extends x.HTMLElement{constructor(){super(),ir(this,og),ir(this,hg),ir(this,fg),ir(this,Bn),ir(this,lg),ir(this,Fu),ir(this,Uu,!1),ir(this,mo,void 0),ir(this,Bi,()=>{var e,t;this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let r=this.shadowRoot.querySelector('slot[name="description"]'),s=(e=this.submenuElement.checkedItems)==null?void 0:e[0],n=(t=s==null?void 0:s.dataset.description)!=null?t:s==null?void 0:s.text,a=N.createElement("span");a.textContent=n!=null?n:"",r.replaceChildren(a)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0))),this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[qt.TYPE,qt.DISABLED,qt.CHECKED,qt.VALUE]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),fo(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":Ui(this,og,s_).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":Ui(this,lg,o_).call(this,e);break;case"keyup":Ui(this,Bn,po).call(this,e);break}}attributeChangedCallback(e,t,r){e===qt.CHECKED&&fo(this)&&!Fi(this,Uu)?this.setAttribute("aria-checked",r!=null?"true":"false"):e===qt.TYPE&&r!==t?this.role="menuitem"+r:e===qt.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(qt.DISABLED)||this.enable(),this.role="menuitem"+this.type,ag(this,mo,ug(this,this.parentNode)),Ui(this,Fu,dg).call(this)}disconnectedCallback(){this.disable(),Ui(this,Fu,dg).call(this),ag(this,mo,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Ur(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return(e=this.getAttribute(qt.TYPE))!=null?e:""}set type(e){this.setAttribute(qt.TYPE,`${e}`)}get value(){var e;return(e=this.getAttribute(qt.VALUE))!=null?e:this.text}set value(e){this.setAttribute(qt.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get checked(){if(fo(this))return this.getAttribute("aria-checked")==="true"}set checked(e){fo(this)&&(ag(this,Uu,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){fo(this)||this.invokeTargetElement&&St(this,e.target)&&this.invokeTargetElement.dispatchEvent(new Cr({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}};Uu=new WeakMap;mo=new WeakMap;og=new WeakSet;s_=function(i){let e=i.target;if(!(e!=null&&e.name))for(let r of e.assignedNodes({flatten:!0}))r instanceof Text&&r.textContent.trim()===""&&r.remove();e.name==="submenu"&&(this.submenuElement?Ui(this,hg,n_).call(this):Ui(this,fg,a_).call(this))};hg=new WeakSet;n_=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",Fi(this,Bi)),this.submenuElement.addEventListener("addmenuitem",Fi(this,Bi)),this.submenuElement.addEventListener("removemenuitem",Fi(this,Bi)),Fi(this,Bi).call(this)};fg=new WeakSet;a_=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",Fi(this,Bi)),this.submenuElement.removeEventListener("addmenuitem",Fi(this,Bi)),this.submenuElement.removeEventListener("removemenuitem",Fi(this,Bi)),Fi(this,Bi).call(this)};Bi=new WeakMap;Bn=new WeakSet;po=function(i){let{key:e}=i;if(!this.keysUsed.includes(e)){this.removeEventListener("keyup",Ui(this,Bn,po));return}this.handleClick(i)};lg=new WeakSet;o_=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!this.keysUsed.includes(r)){this.removeEventListener("keyup",Ui(this,Bn,po));return}this.addEventListener("keyup",Ui(this,Bn,po),{once:!0})};Fu=new WeakSet;dg=function(){var i;let e=(i=Fi(this,mo))==null?void 0:i.radioGroupItems;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-checked")==="true").pop();t||(t=e[0]);for(let r of e)r.setAttribute("aria-checked","false");t==null||t.setAttribute("aria-checked","true")};Dr.template=l_;function fo(i){return i.type==="radio"||i.type==="checkbox"}function ug(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?ug(i,t):e!=null&&e.items?e:ug(e,e==null?void 0:e.parentNode)}x.customElements.get("media-chrome-menu-item")||x.customElements.define("media-chrome-menu-item",Dr);var d_=N.createElement("template");d_.innerHTML=bt.template.innerHTML+` `;var go=class extends bt{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:He(this).querySelector("media-settings-menu-button")}};go.template=d_;x.customElements.get("media-settings-menu")||x.customElements.define("media-settings-menu",go);var u_,Bu=N.createElement("template");Bu.innerHTML=Dr.template.innerHTML+` `;(u_=Bu.content)!=null&&u_.querySelector&&(Bu.content.querySelector('slot[name="suffix"]').innerHTML=` `);var vo=class extends Dr{};vo.template=Bu;x.customElements.get("media-settings-menu-item")||x.customElements.define("media-settings-menu-item",vo);var $t=class extends Ce{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Ur(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){var e;(e=this.invokeTargetElement)==null||e.dispatchEvent(new Cr({relatedTarget:this}))}};x.customElements.get("media-chrome-menu-button")||x.customElements.define("media-chrome-menu-button",$t);var c_=N.createElement("template");c_.innerHTML=` `;var $u=class extends $t{static get observedAttributes(){return[...super.observedAttributes,"target"]}constructor(){super({slotTemplate:c_,tooltipContent:ce.SETTINGS})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Pe.SETTINGS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:He(this).querySelector("media-settings-menu")}};x.customElements.get("media-settings-menu-button")||x.customElements.define("media-settings-menu-button",$u);var vg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},h_=(i,e,t)=>(vg(i,e,"read from private field"),t?t.call(i):e.get(i)),Hu=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},mg=(i,e,t,r)=>(vg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Gu=(i,e,t)=>(vg(i,e,"access private method"),t),Eo,Vu,Ku,pg,Wu,gg,Yu=class extends bt{constructor(){super(...arguments),Hu(this,Ku),Hu(this,Wu),Hu(this,Eo,[]),Hu(this,Vu,void 0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_AUDIO_TRACK_LIST,y.MEDIA_AUDIO_TRACK_ENABLED,y.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===y.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(mg(this,Eo,Zg(r!=null?r:"")),Gu(this,Ku,pg).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Gu(this,Wu,gg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Gu(this,Wu,gg))}get anchorElement(){var e;return this.anchor!=="auto"?super.anchorElement:(e=He(this))==null?void 0:e.querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return h_(this,Eo)}set mediaAudioTrackList(e){mg(this,Eo,e),Gu(this,Ku,pg).call(this)}get mediaAudioTrackEnabled(){var e;return(e=ge(this,y.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){fe(this,y.MEDIA_AUDIO_TRACK_ENABLED,e)}};Eo=new WeakMap;Vu=new WeakMap;Ku=new WeakSet;pg=function(){if(h_(this,Vu)===JSON.stringify(this.mediaAudioTrackList))return;mg(this,Vu,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList;this.defaultSlot.textContent="";for(let e of i){let t=this.formatMenuItemText(e.label,e),r=Ni({type:"radio",text:t,value:`${e.id}`,checked:e.enabled});r.prepend(li(this,"checked-indicator")),this.defaultSlot.append(r)}};Wu=new WeakSet;gg=function(){if(this.value==null)return;let i=new x.CustomEvent($.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};x.customElements.get("media-audio-track-menu")||x.customElements.define("media-audio-track-menu",Yu);var Lw=``,f_=N.createElement("template");f_.innerHTML=` ${Lw} `;var qu=class extends $t{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_AUDIO_TRACK_ENABLED,y.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:f_,tooltipContent:ce.AUDIO_TRACK_MENU})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Pe.AUDIO_TRACKS())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=He(this))==null?void 0:e.querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){var e;return(e=ge(this,y.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){fe(this,y.MEDIA_AUDIO_TRACK_ENABLED,e)}};x.customElements.get("media-audio-track-menu-button")||x.customElements.define("media-audio-track-menu-button",qu);var _g=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},kw=(i,e,t)=>(_g(i,e,"read from private field"),t?t.call(i):e.get(i)),Eg=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Cw=(i,e,t,r)=>(_g(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),bg=(i,e,t)=>(_g(i,e,"access private method"),t),zu,yg,g_,ju,Tg,ww=` `,v_=N.createElement("template");v_.innerHTML=bt.template.innerHTML+` `;var bo=class extends bt{constructor(){super(...arguments),Eg(this,yg),Eg(this,ju),Eg(this,zu,void 0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_LIST&&t!==r?bg(this,yg,g_).call(this):e===y.MEDIA_SUBTITLES_SHOWING&&t!==r&&(this.value=r)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",bg(this,ju,Tg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",bg(this,ju,Tg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:He(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return m_(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){p_(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return m_(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){p_(this,y.MEDIA_SUBTITLES_SHOWING,e)}};zu=new WeakMap;yg=new WeakSet;g_=function(){var i;if(kw(this,zu)===JSON.stringify(this.mediaSubtitlesList))return;Cw(this,zu,JSON.stringify(this.mediaSubtitlesList)),this.defaultSlot.textContent="";let e=!this.value,t=Ni({type:"radio",text:this.formatMenuItemText("Off"),value:"off",checked:e});t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t);let r=this.mediaSubtitlesList;for(let s of r){let n=Ni({type:"radio",text:this.formatMenuItemText(s.label,s),value:Vo(s),checked:this.value==Vo(s)});n.prepend(li(this,"checked-indicator")),((i=s.kind)!=null?i:"subs")==="captions"&&n.append(li(this,"captions-indicator")),this.defaultSlot.append(n)}};ju=new WeakSet;Tg=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(y.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new x.CustomEvent($.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new x.CustomEvent($.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};bo.template=v_;var m_=(i,e)=>{let t=i.getAttribute(e);return t?Br(t):[]},p_=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Vi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};x.customElements.get("media-captions-menu")||x.customElements.define("media-captions-menu",bo);var Dw=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Mw=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Pw=(i,e,t,r)=>(Dw(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ag,Ow=``,Nw=``,T_=N.createElement("template");T_.innerHTML=` ${Ow} ${Nw} `;var E_=i=>{i.setAttribute("aria-checked",Yo(i).toString())},Xu=class extends $t{constructor(e={}){super({slotTemplate:T_,tooltipContent:ce.CAPTIONS,...e}),Mw(this,Ag,void 0),Pw(this,Ag,!1)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Pe.CLOSED_CAPTIONS()),E_(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_SHOWING&&E_(this)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=He(this))==null?void 0:e.querySelector("media-captions-menu")}get mediaSubtitlesList(){return b_(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){y_(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return b_(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){y_(this,y.MEDIA_SUBTITLES_SHOWING,e)}};Ag=new WeakMap;var b_=(i,e)=>{let t=i.getAttribute(e);return t?Br(t):[]},y_=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Vi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};x.customElements.get("media-captions-menu-button")||x.customElements.define("media-captions-menu-button",Xu);var __=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Qu=(i,e,t)=>(__(i,e,"read from private field"),t?t.call(i):e.get(i)),Sg=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yo=(i,e,t)=>(__(i,e,"access private method"),t),$n,To,Zu,Ju,Rg,xg={RATES:"rates"},ec=class extends bt{constructor(){super(),Sg(this,To),Sg(this,Ju),Sg(this,$n,new ci(this,xg.RATES,{defaultValue:mh})),yo(this,To,Zu).call(this)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,xg.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===xg.RATES&&t!=r&&(Qu(this,$n).value=r,yo(this,To,Zu).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",yo(this,Ju,Rg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",yo(this,Ju,Rg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:He(this).querySelector("media-playback-rate-menu-button")}get rates(){return Qu(this,$n)}set rates(e){e?Array.isArray(e)&&(Qu(this,$n).value=e.join(" ")):Qu(this,$n).value="",yo(this,To,Zu).call(this)}get mediaPlaybackRate(){return pe(this,y.MEDIA_PLAYBACK_RATE,en)}set mediaPlaybackRate(e){Te(this,y.MEDIA_PLAYBACK_RATE,e)}};$n=new WeakMap;To=new WeakSet;Zu=function(){this.defaultSlot.textContent="";for(let i of this.rates){let e=Ni({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i,checked:this.mediaPlaybackRate==i});e.prepend(li(this,"checked-indicator")),this.defaultSlot.append(e)}};Ju=new WeakSet;Rg=function(){if(!this.value)return;let i=new x.CustomEvent($.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};x.customElements.get("media-playback-rate-menu")||x.customElements.define("media-playback-rate-menu",ec);var Uw=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},tc=(i,e,t)=>(Uw(i,e,"read from private field"),t?t.call(i):e.get(i)),Fw=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Hn,Ig={RATES:"rates"},Bw=[1,1.2,1.5,1.7,2],Lg=1,A_=N.createElement("template");A_.innerHTML=` `;var ic=class extends $t{constructor(e={}){super({slotTemplate:A_,tooltipContent:ce.PLAYBACK_RATE,...e}),Fw(this,Hn,new ci(this,Ig.RATES,{defaultValue:Bw})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${Lg}x`}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,Ig.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Ig.RATES&&(tc(this,Hn).value=r),e===y.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?Lg:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Pe.PLAYBACK_RATE({playbackRate:n}))}}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:He(this).querySelector("media-playback-rate-menu")}get rates(){return tc(this,Hn)}set rates(e){e?Array.isArray(e)&&(tc(this,Hn).value=e.join(" ")):tc(this,Hn).value=""}get mediaPlaybackRate(){return pe(this,y.MEDIA_PLAYBACK_RATE,Lg)}set mediaPlaybackRate(e){Te(this,y.MEDIA_PLAYBACK_RATE,e)}};Hn=new WeakMap;x.customElements.get("media-playback-rate-menu-button")||x.customElements.define("media-playback-rate-menu-button",ic);var Cg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ao=(i,e,t)=>(Cg(i,e,"read from private field"),t?t.call(i):e.get(i)),rc=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},S_=(i,e,t,r)=>(Cg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),_o=(i,e,t)=>(Cg(i,e,"access private method"),t),So,Gn,xo,sc,nc,kg,ac=class extends bt{constructor(){super(...arguments),rc(this,xo),rc(this,nc),rc(this,So,[]),rc(this,Gn,{})}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_RENDITION_LIST,y.MEDIA_RENDITION_SELECTED,y.MEDIA_RENDITION_UNAVAILABLE,y.MEDIA_HEIGHT]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===y.MEDIA_RENDITION_LIST&&t!==r?(S_(this,So,Xg(r)),_o(this,xo,sc).call(this)):e===y.MEDIA_HEIGHT&&t!==r&&_o(this,xo,sc).call(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",_o(this,nc,kg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",_o(this,nc,kg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:He(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return Ao(this,So)}set mediaRenditionList(e){S_(this,So,e),_o(this,xo,sc).call(this)}get mediaRenditionSelected(){return ge(this,y.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){fe(this,y.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return pe(this,y.MEDIA_HEIGHT)}set mediaHeight(e){Te(this,y.MEDIA_HEIGHT,e)}};So=new WeakMap;Gn=new WeakMap;xo=new WeakSet;sc=function(){if(Ao(this,Gn).mediaRenditionList===JSON.stringify(this.mediaRenditionList)&&Ao(this,Gn).mediaHeight===this.mediaHeight)return;Ao(this,Gn).mediaRenditionList=JSON.stringify(this.mediaRenditionList),Ao(this,Gn).mediaHeight=this.mediaHeight;let i=this.mediaRenditionList.sort((s,n)=>n.height-s.height);for(let s of i)s.selected=s.id===this.mediaRenditionSelected;this.defaultSlot.textContent="";let e=!this.mediaRenditionSelected;for(let s of i){let n=this.formatMenuItemText(`${Math.min(s.width,s.height)}p`,s),a=Ni({type:"radio",text:n,value:`${s.id}`,checked:s.selected&&!e});a.prepend(li(this,"checked-indicator")),this.defaultSlot.append(a)}let t=Ni({type:"radio",text:this.formatMenuItemText("Auto"),value:"auto",checked:e}),r=this.mediaHeight>0?`Auto (${this.mediaHeight}p)`:"Auto";t.dataset.description=r,t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t)};nc=new WeakSet;kg=function(){if(this.value==null)return;let i=new x.CustomEvent($.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};x.customElements.get("media-rendition-menu")||x.customElements.define("media-rendition-menu",ac);var $w=``,x_=N.createElement("template");x_.innerHTML=` ${$w} `;var oc=class extends $t{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_RENDITION_SELECTED,y.MEDIA_RENDITION_UNAVAILABLE,y.MEDIA_HEIGHT]}constructor(){super({slotTemplate:x_,tooltipContent:ce.RENDITIONS})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",Pe.QUALITY())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:He(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return ge(this,y.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){fe(this,y.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return pe(this,y.MEDIA_HEIGHT)}set mediaHeight(e){Te(this,y.MEDIA_HEIGHT,e)}};x.customElements.get("media-rendition-menu-button")||x.customElements.define("media-rendition-menu-button",oc);var wg=Ut.createElement("template");"innerHTML"in wg&&(wg.innerHTML=KT);var R_,I_,lc=class extends ws{};lc.template=(I_=(R_=wg.content)==null?void 0:R_.children)==null?void 0:I_[0];Ve.customElements.get("media-theme-gerwig")||Ve.customElements.define("media-theme-gerwig",lc);var Hw="gerwig";var rr={SRC:"src",POSTER:"poster"},U={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",ACCENT_COLOR:"accent-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",DRM_TOKEN:"drm-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",DEFAULT_DURATION:"default-duration",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",EXTRA_SOURCE_PARAMS:"extra-source-params",NO_VOLUME_PREF:"no-volume-pref",CAST_RECEIVER:"cast-receiver",NO_TOOLTIPS:"no-tooltips"},Dg=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function Gw(i,e){var r;return{src:!i.playbackId&&i.src,playbackId:i.playbackId,hasSrc:!!i.playbackId||!!i.src||!!i.currentSrc,poster:i.poster,storyboard:i.storyboard,storyboardSrc:i.getAttribute(U.STORYBOARD_SRC),placeholder:i.getAttribute("placeholder"),themeTemplate:Kw(i),thumbnailTime:!i.tokens.thumbnail&&i.thumbnailTime,autoplay:i.autoplay,crossOrigin:i.crossOrigin,loop:i.loop,noHotKeys:i.hasAttribute(U.NOHOTKEYS),hotKeys:i.getAttribute(U.HOTKEYS),muted:i.muted,paused:i.paused,preload:i.preload,envKey:i.envKey,preferCmcd:i.preferCmcd,debug:i.debug,disableTracking:i.disableTracking,disableCookies:i.disableCookies,tokens:i.tokens,beaconCollectionDomain:i.beaconCollectionDomain,maxResolution:i.maxResolution,minResolution:i.minResolution,programStartTime:i.programStartTime,programEndTime:i.programEndTime,assetStartTime:i.assetStartTime,assetEndTime:i.assetEndTime,renditionOrder:i.renditionOrder,metadata:i.metadata,playerSoftwareName:i.playerSoftwareName,playerSoftwareVersion:i.playerSoftwareVersion,startTime:i.startTime,preferPlayback:i.preferPlayback,audio:i.audio,defaultStreamType:i.defaultStreamType,targetLiveWindow:i.getAttribute(D.TARGET_LIVE_WINDOW),streamType:Za(i.getAttribute(D.STREAM_TYPE)),primaryColor:i.getAttribute(U.PRIMARY_COLOR),secondaryColor:i.getAttribute(U.SECONDARY_COLOR),accentColor:i.getAttribute(U.ACCENT_COLOR),forwardSeekOffset:i.forwardSeekOffset,backwardSeekOffset:i.backwardSeekOffset,defaultHiddenCaptions:i.defaultHiddenCaptions,defaultDuration:i.defaultDuration,defaultShowRemainingTime:i.defaultShowRemainingTime,hideDuration:Ww(i),playbackRates:i.getAttribute(U.PLAYBACK_RATES),customDomain:(r=i.getAttribute(D.CUSTOM_DOMAIN))!=null?r:void 0,title:i.getAttribute(U.TITLE),novolumepref:i.hasAttribute(U.NO_VOLUME_PREF),castReceiver:i.castReceiver,...e,extraSourceParams:i.extraSourceParams}}function Kw(i){var t,r;let e=i.theme;if(e){let s=(r=(t=i.getRootNode())==null?void 0:t.getElementById)==null?void 0:r.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=Ve.customElements.get(e);if(n!=null&&n.template)return n.template}}function Ww(i){var t;let e=(t=i.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function L_(i){let e=i.hasAttribute(U.TITLE)?{video_title:i.getAttribute(U.TITLE)}:{};return i.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,r)=>{let s=i.getAttribute(r);return s!==null&&(t[r.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var Vw=Object.values(D),Yw=Object.values(rr),qw=Object.values(U),jw=Eu(),zw="mux-player",k_={dialog:void 0,isDialogOpen:!1},Xw={redundant_streams:!0},Io,Lo,Pr,ko,Us,$i,Mr,dc,C_,Co,Mg,sr,Ns,uc,w_,cc,D_,hc,M_,fc,P_,Ro=class extends Dp{constructor(){super();Xe(this,$i);Xe(this,dc);Xe(this,Co);Xe(this,sr);Xe(this,uc);Xe(this,cc);Xe(this,hc);Xe(this,fc);Xe(this,Io,!1);Xe(this,Lo,{});Xe(this,Pr,!0);Xe(this,ko,new vu(this,"hotkeys"));Xe(this,Us,{...k_,onCloseErrorDialog:()=>Ze(this,Co,Mg).call(this,{dialog:void 0,isDialogOpen:!1}),onInitFocusDialog:t=>{kp(this,Ut.activeElement)||t.preventDefault()}});this.attachShadow({mode:"open"}),Ze(this,dc,C_).call(this),this.isConnected&&Ze(this,$i,Mr).call(this)}static get observedAttributes(){var t;return[...(t=Dp.observedAttributes)!=null?t:[],...Yw,...Vw,...qw]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,r;return(r=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:r.querySelector("media-controller")}connectedCallback(){var r;let t=(r=this.shadowRoot)==null?void 0:r.querySelector("mux-video");t&&(t.metadata=L_(this))}attributeChangedCallback(t,r,s){switch(Ze(this,$i,Mr).call(this),super.attributeChangedCallback(t,r,s),t){case U.HOTKEYS:me(this,ko).value=s;break;case U.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&Di(j("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time."));break}case U.THUMBNAIL_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Sn.THUMBNAIL;o!==l&&Di(j("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"thumbnail"}))}}break}case U.STORYBOARD_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Sn.STORYBOARD;o!==l&&Di(j("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"storyboard"}))}}break}case U.DRM_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Sn.DRM;o!==l&&Di(j("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"drm"}))}}break}case D.PLAYBACK_ID:{s!=null&&s.includes("?token")&&Pt(j("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case D.STREAM_TYPE:s&&![Ae.LIVE,Ae.ON_DEMAND,Ae.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:Cp({file:"invalid-stream-type.md",message:j("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):s===Ae.LIVE?this.getAttribute(U.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN}[D.PLAYBACK_ID,rr.SRC,U.PLAYBACK_TOKEN].includes(t)&&r!==s&&Ht(this,Us,{...me(this,Us),...k_}),Ze(this,sr,Ns).call(this,{[pT(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(D.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?xn.includes(t)?this.setAttribute(D.PREFER_CMCD,t):Di(`Invalid value for preferCmcd. Must be one of ${xn.join()}`):this.removeAttribute(D.PREFER_CMCD))}get hasPlayed(){var t,r;return(r=(t=this.mediaController)==null?void 0:t.hasAttribute(y.MEDIA_HAS_PLAYED))!=null?r:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute(y.MEDIA_TIME_IS_LIVE)}get _hls(){var t;return(t=this.media)==null?void 0:t._hls}get mux(){var t;return(t=this.media)==null?void 0:t.mux}get theme(){var t;return(t=this.getAttribute(U.THEME))!=null?t:Hw}set theme(t){this.setAttribute(U.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let r={};for(let s of t.getAttributeNames()){if(Dg.includes(s))continue;let n=t.getAttribute(s);r[gu(s)]=n===""?!0:n}return r}set themeProps(t){var s,n;Ze(this,$i,Mr).call(this);let r={...this.themeProps,...t};for(let a in r){if(Dg.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(pu(a),!!o):(n=this.mediaTheme)==null||n.setAttribute(pu(a),o)}}get playbackId(){var t;return(t=this.getAttribute(D.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(D.PLAYBACK_ID,t):this.removeAttribute(D.PLAYBACK_ID)}get src(){var t,r;return this.playbackId?(t=Os(this,rr.SRC))!=null?t:void 0:(r=this.getAttribute(rr.SRC))!=null?r:void 0}set src(t){t?this.setAttribute(rr.SRC,t):this.removeAttribute(rr.SRC)}get poster(){var s;let t=this.getAttribute(rr.POSTER);if(t!=null)return t;let{tokens:r}=this;if(r.playback&&!r.thumbnail){Di("Missing expected thumbnail token. No poster image will be shown");return}if(this.playbackId&&!this.audio)return fT(this.playbackId,{customDomain:this.customDomain,thumbnailTime:(s=this.thumbnailTime)!=null?s:this.startTime,programTime:this.programStartTime,token:r.thumbnail})}set poster(t){t||t===""?this.setAttribute(rr.POSTER,t):this.removeAttribute(rr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute(U.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute(U.STORYBOARD_SRC,t):this.removeAttribute(U.STORYBOARD_SRC)}get storyboard(){let{tokens:t}=this;if(this.storyboardSrc&&!t.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[Ae.LIVE,Ae.UNKNOWN].includes(this.streamType)||t.playback&&!t.storyboard))return mT(this.playbackId,{customDomain:this.customDomain,token:t.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute(U.AUDIO)}set audio(t){if(!t){this.removeAttribute(U.AUDIO);return}this.setAttribute(U.AUDIO,"")}get hotkeys(){return me(this,ko)}get nohotkeys(){return this.hasAttribute(U.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute(U.NOHOTKEYS);return}this.setAttribute(U.NOHOTKEYS,"")}get thumbnailTime(){return Mt(this.getAttribute(U.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute(U.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute(U.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute(U.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Os(this,U.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute(U.PLACEHOLDER,`${t}`)}get primaryColor(){var r,s;let t=this.getAttribute(U.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=Ve.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute(U.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var r,s;let t=this.getAttribute(U.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=Ve.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute(U.SECONDARY_COLOR,`${t}`)}get accentColor(){var r,s;let t=this.getAttribute(U.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=Ve.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute(U.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute(U.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute(U.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(U.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute(U.PLAYBACK_RATES))return this.getAttribute(U.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,r)=>t-r)}set playbackRates(t){if(!t){this.removeAttribute(U.PLAYBACK_RATES);return}this.setAttribute(U.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=Mt(this.getAttribute(U.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute(U.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=Mt(this.getAttribute(U.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute(U.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute(U.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute(U.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(U.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return Mt(this.getAttribute(U.DEFAULT_DURATION))}set defaultDuration(t){t==null?this.removeAttribute(U.DEFAULT_DURATION):this.setAttribute(U.DEFAULT_DURATION,`${t}`)}get playerSoftwareName(){var t;return(t=this.getAttribute(D.PLAYER_SOFTWARE_NAME))!=null?t:zw}get playerSoftwareVersion(){var t;return(t=this.getAttribute(D.PLAYER_SOFTWARE_VERSION))!=null?t:jw}get beaconCollectionDomain(){var t;return(t=this.getAttribute(D.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(D.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(D.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(D.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(D.MAX_RESOLUTION,t):this.removeAttribute(D.MAX_RESOLUTION))}get minResolution(){var t;return(t=this.getAttribute(D.MIN_RESOLUTION))!=null?t:void 0}set minResolution(t){t!==this.minResolution&&(t?this.setAttribute(D.MIN_RESOLUTION,t):this.removeAttribute(D.MIN_RESOLUTION))}get renditionOrder(){var t;return(t=this.getAttribute(D.RENDITION_ORDER))!=null?t:void 0}set renditionOrder(t){t!==this.renditionOrder&&(t?this.setAttribute(D.RENDITION_ORDER,t):this.removeAttribute(D.RENDITION_ORDER))}get programStartTime(){return Mt(this.getAttribute(D.PROGRAM_START_TIME))}set programStartTime(t){t==null?this.removeAttribute(D.PROGRAM_START_TIME):this.setAttribute(D.PROGRAM_START_TIME,`${t}`)}get programEndTime(){return Mt(this.getAttribute(D.PROGRAM_END_TIME))}set programEndTime(t){t==null?this.removeAttribute(D.PROGRAM_END_TIME):this.setAttribute(D.PROGRAM_END_TIME,`${t}`)}get assetStartTime(){return Mt(this.getAttribute(D.ASSET_START_TIME))}set assetStartTime(t){t==null?this.removeAttribute(D.ASSET_START_TIME):this.setAttribute(D.ASSET_START_TIME,`${t}`)}get assetEndTime(){return Mt(this.getAttribute(D.ASSET_END_TIME))}set assetEndTime(t){t==null?this.removeAttribute(D.ASSET_END_TIME):this.setAttribute(D.ASSET_END_TIME,`${t}`)}get extraSourceParams(){return this.hasAttribute(U.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute(U.EXTRA_SOURCE_PARAMS)).entries()].reduce((t,[r,s])=>(t[r]=s,t),{}):Xw}set extraSourceParams(t){t==null?this.removeAttribute(U.EXTRA_SOURCE_PARAMS):this.setAttribute(U.EXTRA_SOURCE_PARAMS,new URLSearchParams(t).toString())}get customDomain(){var t;return(t=this.getAttribute(D.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(D.CUSTOM_DOMAIN,t):this.removeAttribute(D.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Os(this,D.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(D.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute(U.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute(U.NO_VOLUME_PREF,""):this.removeAttribute(U.NO_VOLUME_PREF)}get debug(){return Os(this,D.DEBUG)!=null}set debug(t){t?this.setAttribute(D.DEBUG,""):this.removeAttribute(D.DEBUG)}get disableTracking(){return Os(this,D.DISABLE_TRACKING)!=null}set disableTracking(t){this.toggleAttribute(D.DISABLE_TRACKING,!!t)}get disableCookies(){return Os(this,D.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(D.DISABLE_COOKIES,""):this.removeAttribute(D.DISABLE_COOKIES)}get streamType(){var t,r,s;return(s=(r=this.getAttribute(D.STREAM_TYPE))!=null?r:(t=this.media)==null?void 0:t.streamType)!=null?s:Ae.UNKNOWN}set streamType(t){this.setAttribute(D.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,r,s;return(s=(r=this.getAttribute(U.DEFAULT_STREAM_TYPE))!=null?r:(t=this.mediaController)==null?void 0:t.getAttribute(U.DEFAULT_STREAM_TYPE))!=null?s:Ae.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute(U.DEFAULT_STREAM_TYPE,t):this.removeAttribute(U.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,r;return this.hasAttribute(U.TARGET_LIVE_WINDOW)?+this.getAttribute(U.TARGET_LIVE_WINDOW):(r=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN}set targetLiveWindow(t){t==this.targetLiveWindow||Number.isNaN(t)&&Number.isNaN(this.targetLiveWindow)||(t==null?this.removeAttribute(U.TARGET_LIVE_WINDOW):this.setAttribute(U.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return Mt(Os(this,D.START_TIME))}set startTime(t){this.setAttribute(D.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(D.PREFER_PLAYBACK);if(t===Vt.MSE||t===Vt.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===Vt.MSE||t===Vt.NATIVE?this.setAttribute(D.PREFER_PLAYBACK,t):this.removeAttribute(D.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(Ze(this,$i,Mr).call(this),!this.media){Pt("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...L_(this),...t}}get _hlsConfig(){var t;return(t=this.media)==null?void 0:t._hlsConfig}set _hlsConfig(t){if(Ze(this,$i,Mr).call(this),!this.media){Pt("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.");return}this.media._hlsConfig=t}async addCuePoints(t){var r;if(Ze(this,$i,Mr).call(this),!this.media){Pt("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(r=this.media)==null?void 0:r.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,r;return(r=(t=this.media)==null?void 0:t.cuePoints)!=null?r:[]}addChapters(t){var r;if(Ze(this,$i,Mr).call(this),!this.media){Pt("underlying media element missing when trying to addChapters. chapters will not be added.");return}return(r=this.media)==null?void 0:r.addChapters(t)}get activeChapter(){var t;return(t=this.media)==null?void 0:t.activeChapter}get chapters(){var t,r;return(r=(t=this.media)==null?void 0:t.chapters)!=null?r:[]}getStartDate(){var t;return(t=this.media)==null?void 0:t.getStartDate()}get currentPdt(){var t;return(t=this.media)==null?void 0:t.currentPdt}get tokens(){let t=this.getAttribute(U.PLAYBACK_TOKEN),r=this.getAttribute(U.DRM_TOKEN),s=this.getAttribute(U.THUMBNAIL_TOKEN),n=this.getAttribute(U.STORYBOARD_TOKEN);return{...me(this,Lo),...t!=null?{playback:t}:{},...r!=null?{drm:r}:{},...s!=null?{thumbnail:s}:{},...n!=null?{storyboard:n}:{}}}set tokens(t){Ht(this,Lo,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute(U.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute(U.PLAYBACK_TOKEN,`${t}`)}get drmToken(){var t;return(t=this.getAttribute(U.DRM_TOKEN))!=null?t:void 0}set drmToken(t){this.setAttribute(U.DRM_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute(U.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute(U.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute(U.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute(U.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,r,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(a)return Yd(a,t,r,s,n)}removeTextTrack(t){var s;let r=(s=this.media)==null?void 0:s.nativeEl;if(r)return Ly(r,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}get castReceiver(){var t;return(t=this.getAttribute(U.CAST_RECEIVER))!=null?t:void 0}set castReceiver(t){t!==this.castReceiver&&(t?this.setAttribute(U.CAST_RECEIVER,t):this.removeAttribute(U.CAST_RECEIVER))}get castCustomData(){var t;return(t=this.media)==null?void 0:t.castCustomData}set castCustomData(t){if(!this.media){Pt("underlying media element missing when trying to set castCustomData. castCustomData will not be set.");return}this.media.castCustomData=t}get noTooltips(){return this.hasAttribute(U.NO_TOOLTIPS)}set noTooltips(t){if(!t){this.removeAttribute(U.NO_TOOLTIPS);return}this.setAttribute(U.NO_TOOLTIPS,"")}};Io=new WeakMap,Lo=new WeakMap,Pr=new WeakMap,ko=new WeakMap,Us=new WeakMap,$i=new WeakSet,Mr=function(){var t,r,s,n;if(!me(this,Io)){Ht(this,Io,!0),Ze(this,sr,Ns).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof Ve.HTMLElement))throw""}catch{Pt(" failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof uT))throw""}catch{Pt(" failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Uc))throw""}catch{Pt(" failed to upgrade!")}this.init(),Ze(this,uc,w_).call(this),Ze(this,cc,D_).call(this),Ze(this,hc,M_).call(this),Ht(this,Pr,(r=(t=this.mediaController)==null?void 0:t.hasAttribute(ve.USER_INACTIVE))!=null?r:!0),Ze(this,fc,P_).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>Ze(this,sr,Ns).call(this)),(n=this.media)==null||n.addEventListener("loadstart",()=>Ze(this,sr,Ns).call(this))}},dc=new WeakSet,C_=function(){var t,r;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"",inherits:!0}),(r=window==null?void 0:window.CSS)==null||r.registerProperty({name:"--media-secondary-color",syntax:"",inherits:!0})}catch{}},Co=new WeakSet,Mg=function(t){Object.assign(me(this,Us),t),Ze(this,sr,Ns).call(this)},sr=new WeakSet,Ns=function(t={}){$T(HT(Gw(this,{...me(this,Us),...t})),this.shadowRoot)},uc=new WeakSet,w_=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(Dg.includes(n))return;let a=this.getAttribute(s);a!=null?(o=this.mediaTheme)==null||o.setAttribute(n,a):(l=this.mediaTheme)==null||l.removeAttribute(n)};new MutationObserver(s=>{for(let{attributeName:n}of s)t(n)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(t)},cc=new WeakSet,D_=function(){var r;let t=s=>{let{detail:n}=s;if(n instanceof K||(n=new K(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){Di(n),n.data&&Di(`${n.name} data:`,n.data);return}let{dialog:a,devlog:o}=Wp(n,!1);o.message&&Cp(o),Pt(n),n.data&&Pt(`${n.name} data:`,n.data),Ze(this,Co,Mg).call(this,{isDialogOpen:!0,dialog:a})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof K))return s;let{devlog:n}=Wp((o=this.media)==null?void 0:o.error,!1);return{player_error_code:(l=this.media)==null?void 0:l.error.code,player_error_message:n.message?String(n.message):s.player_error_message,player_error_context:n.context?String(n.context):s.player_error_context}}),(r=this.media)==null||r.addEventListener("error",s=>{var a,o;let{detail:n}=s;if(!n){let{message:l,code:d}=(o=(a=this.media)==null?void 0:a.error)!=null?o:{};n=new K(l,d)}n!=null&&n.fatal&&this.dispatchEvent(new CustomEvent("error",{detail:n}))})},hc=new WeakSet,M_=function(){var r,s,n,a;let t=()=>Ze(this,sr,Ns).call(this);(s=(r=this.media)==null?void 0:r.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},fc=new WeakSet,P_=function(){var d,u;if(!/Firefox/i.test(navigator.userAgent))return;let r,s=new WeakMap,n=()=>this.streamType===Ae.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,a=(c,h,f=!1)=>{if(n())return;Array.from(c&&c.activeCues||[]).forEach(p=>{if(!(!p.snapToLines||p.line<-5||p.line>=0&&p.line<10))if(!h||this.paused){let g=p.text.split(` `).length,E=-3;this.streamType===Ae.LIVE&&(E=-2);let b=E-g;if(p.line===b&&!f)return;s.has(p)||s.set(p,p.line),p.line=b}else setTimeout(()=>{p.line=s.get(p)||"auto"},500)})},o=()=>{var c,h;a(r,(h=(c=this.mediaController)==null?void 0:c.hasAttribute(ve.USER_INACTIVE))!=null?h:!1)},l=()=>{var f,m;let h=Array.from(((m=(f=this.mediaController)==null?void 0:f.media)==null?void 0:m.textTracks)||[]).filter(p=>["subtitles","captions"].includes(p.kind)&&p.mode==="showing")[0];h!==r&&(r==null||r.removeEventListener("cuechange",o)),r=h,r==null||r.addEventListener("cuechange",o),a(r,me(this,Pr))};l(),(d=this.textTracks)==null||d.addEventListener("change",l),(u=this.textTracks)==null||u.addEventListener("addtrack",l),this.addEventListener("userinactivechange",()=>{var h,f;let c=(f=(h=this.mediaController)==null?void 0:h.hasAttribute(ve.USER_INACTIVE))!=null?f:!0;me(this,Pr)!==c&&(Ht(this,Pr,c),a(r,me(this,Pr)))})};function Os(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}Ve.customElements.get("mux-player")||(Ve.customElements.define("mux-player",Ro),Ve.MuxPlayerElement=Ro);var MF=Ro;export{K as MediaError,MF as default,Os as getVideoAttribute}; /*! Bundled license information: mux-embed/dist/mux.mjs: (*! * JavaScript Cookie v2.1.3 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license *) */