@mux/mux-player 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +29 -29
- package/dist/index.mjs +11 -11
- package/dist/mux-player.js +16 -16
- package/dist/mux-player.mjs +16 -16
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +8 -0
- package/dist/types-ts3.4/index.d.ts +7 -0
- package/package.json +2 -2
package/dist/mux-player.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";(()=>{var hb=Object.create;var am=Object.defineProperty;var fb=Object.getOwnPropertyDescriptor;var mb=Object.getOwnPropertyNames;var pb=Object.getPrototypeOf,gb=Object.prototype.hasOwnProperty;var vb=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Eb=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of mb(e))!gb.call(r,s)&&s!==t&&am(r,s,{get:()=>e[s],enumerable:!(i=fb(e,s))||i.enumerable});return r};var bb=(r,e,t)=>(t=r!=null?hb(pb(r)):{},Eb(e||!r||!r.__esModule?am(t,"default",{value:r,enumerable:!0}):t,r));var Ad=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var Ne=(r,e,t)=>(Ad(r,e,"read from private field"),t?t.call(r):e.get(r)),ut=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ii=(r,e,t,i)=>(Ad(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var bt=(r,e,t)=>(Ad(r,e,"access private method"),t);var Jp=vb((el,ru)=>{(function(){var r,e;r=this,e=function(){return function(){var t={80:function(n,a,o){n.exports=o(728).default},728:function(n,a,o){"use strict";o.d(a,{default:function(){return lb}});var l=o(48),d=o.n(l),c=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(v){var m=16*Math.random()|0;return(v==="x"?m:3&m|8).toString(16)})},u=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},h=function(v){return v&&v.nodeName!==void 0?(v.muxId||(v.muxId=v.id||u()),v.muxId):v},f=function(v){var m;v&&v.nodeName!==void 0?v=h(m=v):m=document.querySelector(v);var p=m&&m.nodeName?m.nodeName.toLowerCase():"";return[m,v,p]},g=o(640),E=o.n(g),T=E().methodFactory;E().methodFactory=function(v,m,p){var y=T(v,m,p);return function(){for(var _=["[mux]"],I=0;I<arguments.length;I++)_.push(arguments[I]);y.apply(void 0,_)}},E().setLevel(E().getLevel());var A=E();function k(){return(d().doNotTrack||d().navigator&&d().navigator.doNotTrack)==="1"}var L={now:function(){var v=d().performance,m=v&&v.timing,p=m&&m.navigationStart,y=typeof p=="number"&&typeof v.now=="function"?p+v.now():Date.now();return Math.round(y)}},N=function(v){return D(v)[0]},D=function(v){if(typeof v!="string"||v==="")return["localhost"];var m,p=(v.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/)||[])[4];return p&&(m=(p.match(/[^\.]+\.[^\.]+$/)||[])[0]),[p,m]},$={exists:function(){var v=d().performance;return(v&&v.timing)!==void 0},domContentLoadedEventEnd:function(){var v=d().performance,m=v&&v.timing;return m&&m.domContentLoadedEventEnd},navigationStart:function(){var v=d().performance,m=v&&v.timing;return m&&m.navigationStart}};function O(v,m,p){p=p===void 0?1:p,v[m]=v[m]||0,v[m]+=p}var G=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],q=["x-cdn","content-type"].concat(G);function P(v){var m={};return(v=v||"").trim().split(/[\r\n]+/).forEach(function(p){if(p){var y=p.split(": "),_=y.shift();_&&(q.indexOf(_.toLowerCase())>=0||_.toLowerCase().indexOf("x-litix-")===0)&&(m[_]=y.join(": "))}}),m}function X(v){if(v){var m=G.find(function(p){return v[p]!==void 0});return m?v[m]:void 0}}var z=function(v){var m={};for(var p in v){var y=v[p];y["DATA-ID"].search("io.litix.data.")!==-1&&(m[y["DATA-ID"].replace("io.litix.data.","")]=y.VALUE)}return m};function Ae(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(v);m&&(y=y.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,y)}return p}function Ee(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?Ae(Object(p),!0).forEach(function(y){be(v,y,p[y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):Ae(Object(p)).forEach(function(y){Object.defineProperty(v,y,Object.getOwnPropertyDescriptor(p,y))})}return v}function be(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var we=function(v){if(!v)return{};var m=$.navigationStart(),p=v.loading,y=p?p.start:v.trequest,_=p?p.first:v.tfirst,I=p?p.end:v.tload;return{bytesLoaded:v.total,requestStart:Math.round(m+y),responseStart:Math.round(m+_),responseEnd:Math.round(m+I)}},Se=function(v){if(v&&typeof v.getAllResponseHeaders=="function")return P(v.getAllResponseHeaders())};function Z(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(v);m&&(y=y.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,y)}return p}function ne(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?Z(Object(p),!0).forEach(function(y){se(v,y,p[y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):Z(Object(p)).forEach(function(y){Object.defineProperty(v,y,Object.getOwnPropertyDescriptor(p,y))})}return v}function se(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var xe=function(v,m){if(!v||typeof v.getRequests!="function")return{};var p=v.getRequests({state:"executed"});if(p.length===0)return{};var y,_=p[p.length-1],I=N(_.url),x=_.url,R=_.bytesLoaded,U=new Date(_.requestStartDate).getTime(),C=new Date(_.firstByteDate).getTime(),K=new Date(_.requestEndDate).getTime(),ve=isNaN(_.duration)?0:_.duration,de=typeof m.getMetricsFor=="function"?m.getMetricsFor(_.mediaType).HttpList:m.getDashMetrics().getHttpRequests(_.mediaType);return de.length>0&&(y=P(de[de.length-1]._responseHeaders||"")),{requestStart:U,requestResponseStart:C,requestResponseEnd:K,requestBytesLoaded:R,requestResponseHeaders:y,requestMediaDuration:ve,requestHostname:I,requestUrl:x,requestId:y?X(y):void 0}},Ie=function(v,m){var p=m.getQualityFor(v),y=m.getCurrentTrackFor(v).bitrateList;return y?{currentLevel:p,renditionWidth:y[p].width||null,renditionHeight:y[p].height||null,renditionBitrate:y[p].bandwidth}:{}},Ve=function(v){var m;return(m=v.match(/.*codecs\*?="(.*)"/))===null||m===void 0?void 0:m[1]};function ht(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var V=0,J=function(){function v(){(function(_,I){if(!(_ instanceof I))throw new TypeError("Cannot call a class as a function")})(this,v)}var m,p,y;return m=v,p=[{key:"on",value:function(_,I,x){return I._eventEmitterGuid=I._eventEmitterGuid||++V,this._listeners=this._listeners||{},this._listeners[_]=this._listeners[_]||[],x&&(I=I.bind(x)),this._listeners[_].push(I),I}},{key:"off",value:function(_,I){var x=this._listeners&&this._listeners[_];x&&x.forEach(function(R,U){R._eventEmitterGuid===I._eventEmitterGuid&&x.splice(U,1)})}},{key:"one",value:function(_,I,x){var R=this;I._eventEmitterGuid=I._eventEmitterGuid||++V;var U=function C(){R.off(_,C),I.apply(x||this,arguments)};U._eventEmitterGuid=I._eventEmitterGuid,this.on(_,U)}},{key:"emit",value:function(_,I){var x=this;if(this._listeners){I=I||{};var R=this._listeners["before*"]||[],U=this._listeners[_]||[],C=this._listeners["after"+_]||[],K=function(ve,de){(ve=ve.slice()).forEach(function(he){he.call(x,{type:_},de)})};K(R,I),K(U,I),K(C,I)}}}],p&&ht(m.prototype,p),y&&ht(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}(),ke=J;function et(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var _t=function(){function v(_){var I=this;(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,_.on("playing",function(){I._playheadShouldBeProgressing=!0}),_.on("play",this._startPlaybackHeartbeatInterval.bind(this)),_.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),_.on("seeking",this._startPlaybackHeartbeatInterval.bind(this)),_.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),_.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("seeked",function(){_.data.player_is_paused?I._stopPlaybackHeartbeatInterval():I._startPlaybackHeartbeatInterval()}),_.on("timeupdate",function(){I._playbackHeartbeatInterval!==null&&_.emit("playbackheartbeat")}),_.on("devicesleep",function(x,R){I._playbackHeartbeatInterval!==null&&(d().clearInterval(I._playbackHeartbeatInterval),_.emit("playbackheartbeatend",{viewer_time:R.viewer_time}),I._playbackHeartbeatInterval=null)})}var m,p,y;return m=v,(p=[{key:"_startPlaybackHeartbeatInterval",value:function(){var _=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=d().setInterval(function(){_.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(d().clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}])&&et(m.prototype,p),y&&et(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function zt(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function nr(v,m,p){return m&&zt(v.prototype,m),p&&zt(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var Jt=nr(function v(m){var p=this;(function(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("viewinit",function(){p.viewErrored=!1}),m.on("error",function(y,_){try{var I=m.errorTranslator({player_error_code:_.player_error_code,player_error_message:_.player_error_message,player_error_context:_.player_error_context});I?(m.data.player_error_code=I.player_error_code||_.player_error_code,m.data.player_error_message=I.player_error_message||_.player_error_message,m.data.player_error_context=I.player_error_context||_.player_error_context,p.viewErrored=!0):(delete m.data.player_error_code,delete m.data.player_error_message,delete m.data.player_error_context)}catch(x){m.mux.log.warn("Exception in error translator callback.",x),p.viewErrored=!0}})});function _i(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var Ai=function(){function v(_){(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._watchTimeTrackerLastCheckedTime=null,_.on("playbackheartbeat",this._updateWatchTime.bind(this)),_.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}var m,p,y;return m=v,(p=[{key:"_updateWatchTime",value:function(_,I){var x=I.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=x),O(this.pm.data,"view_watch_time",x-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=x}},{key:"_clearWatchTimeState",value:function(_,I){this._updateWatchTime(_,I),this._watchTimeTrackerLastCheckedTime=null}}])&&_i(m.prototype,p),y&&_i(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function ps(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var rn=function(){function v(_){var I=this;(function(U,C){if(!(U instanceof C))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=L.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var x=this._startPlaybackTimeTracking.bind(this);_.on("playing",x),_.on("adplaying",x),_.on("seeked",x);var R=this._stopPlaybackTimeTracking.bind(this);_.on("playbackheartbeatend",R),_.on("seeking",R),_.on("adplaying",function(){I._isAdPlaying=!0}),_.on("adended",function(){I._isAdPlaying=!1}),_.on("adpause",function(){I._isAdPlaying=!1}),_.on("adbreakstart",function(){I._isAdPlaying=!1}),_.on("adbreakend",function(){I._isAdPlaying=!1}),_.on("adplay",function(){I._isAdPlaying=!1}),_.on("viewinit",function(){I._playbackTimeTrackerLastPlayheadPosition=-1,I._lastTime=L.now(),I._isAdPlaying=!1,I._callbackUpdatePlaybackTime=null})}var m,p,y;return m=v,(p=[{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 _=this.pm.data.player_playhead_time,I=L.now(),x=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&_>this._playbackTimeTrackerLastPlayheadPosition?x=_-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(x=I-this._lastTime),x>0&&x<=1e3&&O(this.pm.data,"view_content_playback_time",x),this._playbackTimeTrackerLastPlayheadPosition=_,this._lastTime=I}}])&&ps(m.prototype,p),y&&ps(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function ci(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var rt=function(){function v(_){(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_;var I=this._updatePlayheadTime.bind(this);_.on("playbackheartbeat",I),_.on("playbackheartbeatend",I),_.on("timeupdate",I),_.on("destroy",function(){_.off("timeupdate",I)})}var m,p,y;return m=v,(p=[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=this.pm.data.view_max_playhead_position===void 0?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(_,I){var x=this,R=function(){x.pm.currentFragmentPDT&&x.pm.currentFragmentStart&&(x.pm.data.player_program_time=x.pm.currentFragmentPDT+x.pm.data.player_playhead_time-x.pm.currentFragmentStart)};if(I&&I.player_playhead_time)this.pm.data.player_playhead_time=I.player_playhead_time,R(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var U=this.pm.getPlayheadTime();U!==void 0&&(this.pm.data.player_playhead_time=U,R(),this._updateMaxPlayheadPosition())}}}])&&ci(m.prototype,p),y&&ci(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Rr(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function sn(v,m,p){return m&&Rr(v.prototype,m),p&&Rr(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var nn=3e5,Ta=sn(function v(m){if(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")}(this,v),!m.disableRebufferTracking){var p,y=function(I,x){_(x),p=void 0},_=function(I){if(p){var x=I.viewer_time-p;O(m.data,"view_rebuffer_duration",x),p=I.viewer_time,m.data.view_rebuffer_duration>nn&&(m.emit("viewend"),m.send("viewend"),m.mux.log.warn("Ending view after rebuffering for longer than ".concat(nn,"ms, future events will be ignored unless a programchange or videochange occurs.")))}m.data.view_watch_time>=0&&m.data.view_rebuffer_count>0&&(m.data.view_rebuffer_frequency=m.data.view_rebuffer_count/m.data.view_watch_time,m.data.view_rebuffer_percentage=m.data.view_rebuffer_duration/m.data.view_watch_time)};m.on("playbackheartbeat",function(I,x){return _(x)}),m.on("rebufferstart",function(I,x){p||(O(m.data,"view_rebuffer_count",1),p=x.viewer_time,m.one("rebufferend",y))}),m.on("viewinit",function(){p=void 0,m.off("rebufferend",y)})}});function an(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var iE=function(){function v(_){var I=this;(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.disableRebufferTracking||_.disablePlayheadRebufferTracking||(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,_.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),_.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),_.on("seeking",function(){I._cleanupRebufferTracker(null,{viewer_time:L.now()})}))}var m,p,y;return m=v,p=[{key:"_checkIfRebuffering",value:function(_,I){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing)this._cleanupRebufferTracker(_,I);else if(this._lastCheckedTime!==null)if(this._lastPlayheadTime===this.pm.data.player_playhead_time){var x=I.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&x>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=I.viewer_time}else this._cleanupRebufferTracker(_,I,!0);else this._prepareRebufferTrackerState(I.viewer_time)}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(_){this._lastCheckedTime=_,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=_}},{key:"_cleanupRebufferTracker",value:function(_,I){var x=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:I.viewer_time});else{if(this._lastCheckedTime===null)return;var R=this.pm.data.player_playhead_time-this._lastPlayheadTime,U=I.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&R>0&&U-R>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+U-R}))}x?this._prepareRebufferTrackerState(I.viewer_time):this._clearRebufferTrackerState()}}],p&&an(m.prototype,p),y&&an(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}(),rE=iE;function wf(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var sE=function(){function v(_){var I=this;(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.on("viewinit",function(){var x=_.data,R=x.view_id;if(!x.view_program_changed){var U=function(C,K){var ve=K.viewer_time;C.type==="playing"&&_.data.view_time_to_first_frame===void 0?I.calculateTimeToFirstFrame(ve||L.now(),R):C.type!=="adplaying"||_.data.view_time_to_first_frame!==void 0&&!I._inPrerollPosition()||I.calculateTimeToFirstFrame(ve||L.now(),R)};_.one("playing",U),_.one("adplaying",U),_.one("viewend",function(){_.off("playing",U),_.off("adplaying",U)})}})}var m,p,y;return m=v,(p=[{key:"_inPrerollPosition",value:function(){return this.pm.data.view_content_playback_time===void 0||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(_,I){I===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:_}),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))}}])&&wf(m.prototype,p),y&&wf(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Df(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function nE(v,m,p){return m&&Df(v.prototype,m),p&&Df(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var aE=nE(function v(m){var p=this;(function(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("viewinit",function(){p._lastPlayheadPosition=-1}),["pause","rebufferstart","seeking","error","adbreakstart","hb"].forEach(function(y){m.on(y,function(){if(p._lastPlayheadPosition>=0&&m.data.player_playhead_time>=0&&p._lastPlayerWidth>=0&&p._lastSourceWidth>0&&p._lastPlayerHeight>=0&&p._lastSourceHeight>0){var _=m.data.player_playhead_time-p._lastPlayheadPosition;if(_<0)return void(p._lastPlayheadPosition=-1);var I=Math.min(p._lastPlayerWidth/p._lastSourceWidth,p._lastPlayerHeight/p._lastSourceHeight),x=Math.max(0,I-1),R=Math.max(0,1-I);m.data.view_max_upscale_percentage=Math.max(m.data.view_max_upscale_percentage||0,x),m.data.view_max_downscale_percentage=Math.max(m.data.view_max_downscale_percentage||0,R),O(m.data,"view_total_content_playback_time",_),O(m.data,"view_total_upscaling",x*_),O(m.data,"view_total_downscaling",R*_)}p._lastPlayheadPosition=-1})}),["playing","hb"].forEach(function(y){m.on(y,function(){p._lastPlayheadPosition=m.data.player_playhead_time,p._lastPlayerWidth=m.data.player_width,p._lastPlayerHeight=m.data.player_height,p._lastSourceWidth=m.data.video_source_width,p._lastSourceHeight=m.data.video_source_height})})});function Cf(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function oE(v,m,p){return m&&Cf(v.prototype,m),p&&Cf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var lE=oE(function v(m){var p=this;(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")})(this,v),this.isSeeking=!1;var y=-1,_=function(){var I=L.now(),x=(m.data.viewer_time||I)-(y||I);O(m.data,"view_seek_duration",x),m.data.view_max_seek_time=Math.max(m.data.view_max_seek_time||0,x),p.isSeeking=!1,y=-1};m.on("seeking",function(I,x){Object.assign(m.data,x),p.isSeeking&&x.viewer_time-y<=2e3?y=x.viewer_time:(p.isSeeking&&_(),p.isSeeking=!0,y=x.viewer_time,O(m.data,"view_seek_count",1),m.send("seeking"))}),m.on("seeked",function(){_()}),m.on("viewend",function(){p.isSeeking&&(_(),m.send("seeked")),p.isSeeking=!1,y=-1})});function Mf(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,y){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!y||R.length!==y);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,y){if(p){if(typeof p=="string")return Of(p,y);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?Of(p,y):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
1
|
+
"use strict";(()=>{var hb=Object.create;var am=Object.defineProperty;var fb=Object.getOwnPropertyDescriptor;var mb=Object.getOwnPropertyNames;var pb=Object.getPrototypeOf,gb=Object.prototype.hasOwnProperty;var vb=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Eb=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of mb(e))!gb.call(r,s)&&s!==t&&am(r,s,{get:()=>e[s],enumerable:!(i=fb(e,s))||i.enumerable});return r};var bb=(r,e,t)=>(t=r!=null?hb(pb(r)):{},Eb(e||!r||!r.__esModule?am(t,"default",{value:r,enumerable:!0}):t,r));var Ad=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var Ne=(r,e,t)=>(Ad(r,e,"read from private field"),t?t.call(r):e.get(r)),ut=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ii=(r,e,t,i)=>(Ad(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var bt=(r,e,t)=>(Ad(r,e,"access private method"),t);var Jp=vb((el,ru)=>{(function(){var r,e;r=this,e=function(){return function(){var t={80:function(n,a,o){n.exports=o(728).default},728:function(n,a,o){"use strict";o.d(a,{default:function(){return lb}});var l=o(48),d=o.n(l),c=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(v){var m=16*Math.random()|0;return(v==="x"?m:3&m|8).toString(16)})},u=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},h=function(v){return v&&v.nodeName!==void 0?(v.muxId||(v.muxId=v.id||u()),v.muxId):v},f=function(v){var m;v&&v.nodeName!==void 0?v=h(m=v):m=document.querySelector(v);var p=m&&m.nodeName?m.nodeName.toLowerCase():"";return[m,v,p]},g=o(640),E=o.n(g),T=E().methodFactory;E().methodFactory=function(v,m,p){var y=T(v,m,p);return function(){for(var _=["[mux]"],I=0;I<arguments.length;I++)_.push(arguments[I]);y.apply(void 0,_)}},E().setLevel(E().getLevel());var A=E();function k(){return(d().doNotTrack||d().navigator&&d().navigator.doNotTrack)==="1"}var L={now:function(){var v=d().performance,m=v&&v.timing,p=m&&m.navigationStart,y=typeof p=="number"&&typeof v.now=="function"?p+v.now():Date.now();return Math.round(y)}},N=function(v){return D(v)[0]},D=function(v){if(typeof v!="string"||v==="")return["localhost"];var m,p=(v.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/)||[])[4];return p&&(m=(p.match(/[^\.]+\.[^\.]+$/)||[])[0]),[p,m]},$={exists:function(){var v=d().performance;return(v&&v.timing)!==void 0},domContentLoadedEventEnd:function(){var v=d().performance,m=v&&v.timing;return m&&m.domContentLoadedEventEnd},navigationStart:function(){var v=d().performance,m=v&&v.timing;return m&&m.navigationStart}};function O(v,m,p){p=p===void 0?1:p,v[m]=v[m]||0,v[m]+=p}var G=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],q=["x-cdn","content-type"].concat(G);function P(v){var m={};return(v=v||"").trim().split(/[\r\n]+/).forEach(function(p){if(p){var y=p.split(": "),_=y.shift();_&&(q.indexOf(_.toLowerCase())>=0||_.toLowerCase().indexOf("x-litix-")===0)&&(m[_]=y.join(": "))}}),m}function X(v){if(v){var m=G.find(function(p){return v[p]!==void 0});return m?v[m]:void 0}}var z=function(v){var m={};for(var p in v){var y=v[p];y["DATA-ID"].search("io.litix.data.")!==-1&&(m[y["DATA-ID"].replace("io.litix.data.","")]=y.VALUE)}return m};function Ae(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(v);m&&(y=y.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,y)}return p}function Ee(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?Ae(Object(p),!0).forEach(function(y){be(v,y,p[y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):Ae(Object(p)).forEach(function(y){Object.defineProperty(v,y,Object.getOwnPropertyDescriptor(p,y))})}return v}function be(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var we=function(v){if(!v)return{};var m=$.navigationStart(),p=v.loading,y=p?p.start:v.trequest,_=p?p.first:v.tfirst,I=p?p.end:v.tload;return{bytesLoaded:v.total,requestStart:Math.round(m+y),responseStart:Math.round(m+_),responseEnd:Math.round(m+I)}},Se=function(v){if(v&&typeof v.getAllResponseHeaders=="function")return P(v.getAllResponseHeaders())};function Z(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(v);m&&(y=y.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,y)}return p}function ne(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?Z(Object(p),!0).forEach(function(y){se(v,y,p[y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):Z(Object(p)).forEach(function(y){Object.defineProperty(v,y,Object.getOwnPropertyDescriptor(p,y))})}return v}function se(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var xe=function(v,m){if(!v||typeof v.getRequests!="function")return{};var p=v.getRequests({state:"executed"});if(p.length===0)return{};var y,_=p[p.length-1],I=N(_.url),x=_.url,R=_.bytesLoaded,U=new Date(_.requestStartDate).getTime(),C=new Date(_.firstByteDate).getTime(),K=new Date(_.requestEndDate).getTime(),ve=isNaN(_.duration)?0:_.duration,de=typeof m.getMetricsFor=="function"?m.getMetricsFor(_.mediaType).HttpList:m.getDashMetrics().getHttpRequests(_.mediaType);return de.length>0&&(y=P(de[de.length-1]._responseHeaders||"")),{requestStart:U,requestResponseStart:C,requestResponseEnd:K,requestBytesLoaded:R,requestResponseHeaders:y,requestMediaDuration:ve,requestHostname:I,requestUrl:x,requestId:y?X(y):void 0}},Ie=function(v,m){var p=m.getQualityFor(v),y=m.getCurrentTrackFor(v).bitrateList;return y?{currentLevel:p,renditionWidth:y[p].width||null,renditionHeight:y[p].height||null,renditionBitrate:y[p].bandwidth}:{}},Ve=function(v){var m;return(m=v.match(/.*codecs\*?="(.*)"/))===null||m===void 0?void 0:m[1]};function ht(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var V=0,ee=function(){function v(){(function(_,I){if(!(_ instanceof I))throw new TypeError("Cannot call a class as a function")})(this,v)}var m,p,y;return m=v,p=[{key:"on",value:function(_,I,x){return I._eventEmitterGuid=I._eventEmitterGuid||++V,this._listeners=this._listeners||{},this._listeners[_]=this._listeners[_]||[],x&&(I=I.bind(x)),this._listeners[_].push(I),I}},{key:"off",value:function(_,I){var x=this._listeners&&this._listeners[_];x&&x.forEach(function(R,U){R._eventEmitterGuid===I._eventEmitterGuid&&x.splice(U,1)})}},{key:"one",value:function(_,I,x){var R=this;I._eventEmitterGuid=I._eventEmitterGuid||++V;var U=function C(){R.off(_,C),I.apply(x||this,arguments)};U._eventEmitterGuid=I._eventEmitterGuid,this.on(_,U)}},{key:"emit",value:function(_,I){var x=this;if(this._listeners){I=I||{};var R=this._listeners["before*"]||[],U=this._listeners[_]||[],C=this._listeners["after"+_]||[],K=function(ve,de){(ve=ve.slice()).forEach(function(he){he.call(x,{type:_},de)})};K(R,I),K(U,I),K(C,I)}}}],p&&ht(m.prototype,p),y&&ht(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}(),ke=ee;function et(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var _t=function(){function v(_){var I=this;(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,_.on("playing",function(){I._playheadShouldBeProgressing=!0}),_.on("play",this._startPlaybackHeartbeatInterval.bind(this)),_.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),_.on("seeking",this._startPlaybackHeartbeatInterval.bind(this)),_.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),_.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("seeked",function(){_.data.player_is_paused?I._stopPlaybackHeartbeatInterval():I._startPlaybackHeartbeatInterval()}),_.on("timeupdate",function(){I._playbackHeartbeatInterval!==null&&_.emit("playbackheartbeat")}),_.on("devicesleep",function(x,R){I._playbackHeartbeatInterval!==null&&(d().clearInterval(I._playbackHeartbeatInterval),_.emit("playbackheartbeatend",{viewer_time:R.viewer_time}),I._playbackHeartbeatInterval=null)})}var m,p,y;return m=v,(p=[{key:"_startPlaybackHeartbeatInterval",value:function(){var _=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=d().setInterval(function(){_.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(d().clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}])&&et(m.prototype,p),y&&et(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function zt(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function nr(v,m,p){return m&&zt(v.prototype,m),p&&zt(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var Jt=nr(function v(m){var p=this;(function(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("viewinit",function(){p.viewErrored=!1}),m.on("error",function(y,_){try{var I=m.errorTranslator({player_error_code:_.player_error_code,player_error_message:_.player_error_message,player_error_context:_.player_error_context});I?(m.data.player_error_code=I.player_error_code||_.player_error_code,m.data.player_error_message=I.player_error_message||_.player_error_message,m.data.player_error_context=I.player_error_context||_.player_error_context,p.viewErrored=!0):(delete m.data.player_error_code,delete m.data.player_error_message,delete m.data.player_error_context)}catch(x){m.mux.log.warn("Exception in error translator callback.",x),p.viewErrored=!0}})});function _i(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var Ai=function(){function v(_){(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._watchTimeTrackerLastCheckedTime=null,_.on("playbackheartbeat",this._updateWatchTime.bind(this)),_.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}var m,p,y;return m=v,(p=[{key:"_updateWatchTime",value:function(_,I){var x=I.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=x),O(this.pm.data,"view_watch_time",x-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=x}},{key:"_clearWatchTimeState",value:function(_,I){this._updateWatchTime(_,I),this._watchTimeTrackerLastCheckedTime=null}}])&&_i(m.prototype,p),y&&_i(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function ps(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var rn=function(){function v(_){var I=this;(function(U,C){if(!(U instanceof C))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=L.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var x=this._startPlaybackTimeTracking.bind(this);_.on("playing",x),_.on("adplaying",x),_.on("seeked",x);var R=this._stopPlaybackTimeTracking.bind(this);_.on("playbackheartbeatend",R),_.on("seeking",R),_.on("adplaying",function(){I._isAdPlaying=!0}),_.on("adended",function(){I._isAdPlaying=!1}),_.on("adpause",function(){I._isAdPlaying=!1}),_.on("adbreakstart",function(){I._isAdPlaying=!1}),_.on("adbreakend",function(){I._isAdPlaying=!1}),_.on("adplay",function(){I._isAdPlaying=!1}),_.on("viewinit",function(){I._playbackTimeTrackerLastPlayheadPosition=-1,I._lastTime=L.now(),I._isAdPlaying=!1,I._callbackUpdatePlaybackTime=null})}var m,p,y;return m=v,(p=[{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 _=this.pm.data.player_playhead_time,I=L.now(),x=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&_>this._playbackTimeTrackerLastPlayheadPosition?x=_-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(x=I-this._lastTime),x>0&&x<=1e3&&O(this.pm.data,"view_content_playback_time",x),this._playbackTimeTrackerLastPlayheadPosition=_,this._lastTime=I}}])&&ps(m.prototype,p),y&&ps(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function ci(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var rt=function(){function v(_){(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_;var I=this._updatePlayheadTime.bind(this);_.on("playbackheartbeat",I),_.on("playbackheartbeatend",I),_.on("timeupdate",I),_.on("destroy",function(){_.off("timeupdate",I)})}var m,p,y;return m=v,(p=[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=this.pm.data.view_max_playhead_position===void 0?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(_,I){var x=this,R=function(){x.pm.currentFragmentPDT&&x.pm.currentFragmentStart&&(x.pm.data.player_program_time=x.pm.currentFragmentPDT+x.pm.data.player_playhead_time-x.pm.currentFragmentStart)};if(I&&I.player_playhead_time)this.pm.data.player_playhead_time=I.player_playhead_time,R(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var U=this.pm.getPlayheadTime();U!==void 0&&(this.pm.data.player_playhead_time=U,R(),this._updateMaxPlayheadPosition())}}}])&&ci(m.prototype,p),y&&ci(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Rr(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function sn(v,m,p){return m&&Rr(v.prototype,m),p&&Rr(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var nn=3e5,Ta=sn(function v(m){if(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")}(this,v),!m.disableRebufferTracking){var p,y=function(I,x){_(x),p=void 0},_=function(I){if(p){var x=I.viewer_time-p;O(m.data,"view_rebuffer_duration",x),p=I.viewer_time,m.data.view_rebuffer_duration>nn&&(m.emit("viewend"),m.send("viewend"),m.mux.log.warn("Ending view after rebuffering for longer than ".concat(nn,"ms, future events will be ignored unless a programchange or videochange occurs.")))}m.data.view_watch_time>=0&&m.data.view_rebuffer_count>0&&(m.data.view_rebuffer_frequency=m.data.view_rebuffer_count/m.data.view_watch_time,m.data.view_rebuffer_percentage=m.data.view_rebuffer_duration/m.data.view_watch_time)};m.on("playbackheartbeat",function(I,x){return _(x)}),m.on("rebufferstart",function(I,x){p||(O(m.data,"view_rebuffer_count",1),p=x.viewer_time,m.one("rebufferend",y))}),m.on("viewinit",function(){p=void 0,m.off("rebufferend",y)})}});function an(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var iE=function(){function v(_){var I=this;(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.disableRebufferTracking||_.disablePlayheadRebufferTracking||(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,_.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),_.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),_.on("seeking",function(){I._cleanupRebufferTracker(null,{viewer_time:L.now()})}))}var m,p,y;return m=v,p=[{key:"_checkIfRebuffering",value:function(_,I){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing)this._cleanupRebufferTracker(_,I);else if(this._lastCheckedTime!==null)if(this._lastPlayheadTime===this.pm.data.player_playhead_time){var x=I.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&x>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=I.viewer_time}else this._cleanupRebufferTracker(_,I,!0);else this._prepareRebufferTrackerState(I.viewer_time)}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(_){this._lastCheckedTime=_,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=_}},{key:"_cleanupRebufferTracker",value:function(_,I){var x=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:I.viewer_time});else{if(this._lastCheckedTime===null)return;var R=this.pm.data.player_playhead_time-this._lastPlayheadTime,U=I.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&R>0&&U-R>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+U-R}))}x?this._prepareRebufferTrackerState(I.viewer_time):this._clearRebufferTrackerState()}}],p&&an(m.prototype,p),y&&an(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}(),rE=iE;function wf(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var sE=function(){function v(_){var I=this;(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.on("viewinit",function(){var x=_.data,R=x.view_id;if(!x.view_program_changed){var U=function(C,K){var ve=K.viewer_time;C.type==="playing"&&_.data.view_time_to_first_frame===void 0?I.calculateTimeToFirstFrame(ve||L.now(),R):C.type!=="adplaying"||_.data.view_time_to_first_frame!==void 0&&!I._inPrerollPosition()||I.calculateTimeToFirstFrame(ve||L.now(),R)};_.one("playing",U),_.one("adplaying",U),_.one("viewend",function(){_.off("playing",U),_.off("adplaying",U)})}})}var m,p,y;return m=v,(p=[{key:"_inPrerollPosition",value:function(){return this.pm.data.view_content_playback_time===void 0||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(_,I){I===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:_}),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))}}])&&wf(m.prototype,p),y&&wf(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Df(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function nE(v,m,p){return m&&Df(v.prototype,m),p&&Df(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var aE=nE(function v(m){var p=this;(function(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("viewinit",function(){p._lastPlayheadPosition=-1}),["pause","rebufferstart","seeking","error","adbreakstart","hb"].forEach(function(y){m.on(y,function(){if(p._lastPlayheadPosition>=0&&m.data.player_playhead_time>=0&&p._lastPlayerWidth>=0&&p._lastSourceWidth>0&&p._lastPlayerHeight>=0&&p._lastSourceHeight>0){var _=m.data.player_playhead_time-p._lastPlayheadPosition;if(_<0)return void(p._lastPlayheadPosition=-1);var I=Math.min(p._lastPlayerWidth/p._lastSourceWidth,p._lastPlayerHeight/p._lastSourceHeight),x=Math.max(0,I-1),R=Math.max(0,1-I);m.data.view_max_upscale_percentage=Math.max(m.data.view_max_upscale_percentage||0,x),m.data.view_max_downscale_percentage=Math.max(m.data.view_max_downscale_percentage||0,R),O(m.data,"view_total_content_playback_time",_),O(m.data,"view_total_upscaling",x*_),O(m.data,"view_total_downscaling",R*_)}p._lastPlayheadPosition=-1})}),["playing","hb"].forEach(function(y){m.on(y,function(){p._lastPlayheadPosition=m.data.player_playhead_time,p._lastPlayerWidth=m.data.player_width,p._lastPlayerHeight=m.data.player_height,p._lastSourceWidth=m.data.video_source_width,p._lastSourceHeight=m.data.video_source_height})})});function Cf(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function oE(v,m,p){return m&&Cf(v.prototype,m),p&&Cf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var lE=oE(function v(m){var p=this;(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")})(this,v),this.isSeeking=!1;var y=-1,_=function(){var I=L.now(),x=(m.data.viewer_time||I)-(y||I);O(m.data,"view_seek_duration",x),m.data.view_max_seek_time=Math.max(m.data.view_max_seek_time||0,x),p.isSeeking=!1,y=-1};m.on("seeking",function(I,x){Object.assign(m.data,x),p.isSeeking&&x.viewer_time-y<=2e3?y=x.viewer_time:(p.isSeeking&&_(),p.isSeeking=!0,y=x.viewer_time,O(m.data,"view_seek_count",1),m.send("seeking"))}),m.on("seeked",function(){_()}),m.on("viewend",function(){p.isSeeking&&(_(),m.send("seeked")),p.isSeeking=!1,y=-1})});function Mf(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,y){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!y||R.length!==y);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,y){if(p){if(typeof p=="string")return Of(p,y);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?Of(p,y):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Of(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,y=new Array(m);p<m;p++)y[p]=v[p];return y}function Pf(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}var Nf=function(v,m){v.push(m),v.sort(function(p,y){return p.viewer_time-y.viewer_time})},dE=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],cE=function(){function v(_){var I=this;(function(R,U){if(!(R instanceof U))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.on("viewinit",function(){I.isAdBreak=!1,I._currentAdRequestNumber=0,I._currentAdResponseNumber=0,I._adRequests=[],I._adResponses=[],I._adHasPlayed=!1,I._wouldBeNewAdPlay=!0,I._prerollPlayTime=void 0}),dE.forEach(function(R){return _.on(R,I._updateAdData.bind(I))});var x=function(){I.isAdBreak=!1};_.on("adbreakstart",function(){I.isAdBreak=!0}),_.on("play",x),_.on("playing",x),_.on("viewend",x),_.on("adrequest",function(R,U){U=Object.assign({ad_request_id:"generatedAdRequestId"+I._currentAdRequestNumber++},U),Nf(I._adRequests,U),O(_.data,"view_ad_request_count"),I.inPrerollPosition()&&(_.data.view_preroll_requested=!0,I._adHasPlayed||O(_.data,"view_preroll_request_count"))}),_.on("adresponse",function(R,U){U=Object.assign({ad_request_id:"generatedAdRequestId"+I._currentAdResponseNumber++},U),Nf(I._adResponses,U);var C=I.findAdRequest(U.ad_request_id);C&&O(_.data,"view_ad_request_time",Math.max(0,U.viewer_time-C.viewer_time))}),_.on("adplay",function(R,U){I._adHasPlayed=!0,I._wouldBeNewAdPlay&&(I._wouldBeNewAdPlay=!1,O(_.data,"view_ad_played_count")),I.inPrerollPosition()&&!_.data.view_preroll_played&&(_.data.view_preroll_played=!0,I._adRequests.length>0&&(_.data.view_preroll_request_time=Math.max(0,U.viewer_time-I._adRequests[0].viewer_time)),_.data.view_start&&(_.data.view_startup_preroll_request_time=Math.max(0,U.viewer_time-_.data.view_start)),I._prerollPlayTime=U.viewer_time)}),_.on("adplaying",function(R,U){I.inPrerollPosition()&&_.data.view_preroll_load_time===void 0&&I._prerollPlayTime!==void 0&&(_.data.view_preroll_load_time=U.viewer_time-I._prerollPlayTime,_.data.view_startup_preroll_load_time=U.viewer_time-I._prerollPlayTime)}),_.on("adclicked",function(R,U){I._wouldBeNewAdPlay||O(_.data,"view_ad_clicked_count")}),_.on("adskipped",function(R,U){I._wouldBeNewAdPlay||O(_.data,"view_ad_skipped_count")}),_.on("adended",function(){I._wouldBeNewAdPlay=!0}),_.on("aderror",function(){I._wouldBeNewAdPlay=!0})}var m,p,y;return m=v,(p=[{key:"inPrerollPosition",value:function(){return this.pm.data.view_content_playback_time===void 0||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(_){for(var I=0;I<this._adRequests.length;I++)if(this._adRequests[I].ad_request_id===_)return this._adRequests[I]}},{key:"_updateAdData",value:function(_,I){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&I.ad_tag_url){var x=Mf(D(I.ad_tag_url),2),R=x[0],U=x[1];this.pm.data.view_preroll_ad_tag_domain=U,this.pm.data.view_preroll_ad_tag_hostname=R}if(!this.pm.data.view_preroll_ad_asset_hostname&&I.ad_asset_url){var C=Mf(D(I.ad_asset_url),2),K=C[0],ve=C[1];this.pm.data.view_preroll_ad_asset_domain=ve,this.pm.data.view_preroll_ad_asset_hostname=K}}this.pm.data.ad_asset_url=I==null?void 0:I.ad_asset_url,this.pm.data.ad_tag_url=I==null?void 0:I.ad_tag_url,this.pm.data.ad_creative_id=I==null?void 0:I.ad_creative_id,this.pm.data.ad_id=I==null?void 0:I.ad_id,this.pm.data.ad_universal_id=I==null?void 0:I.ad_universal_id}}])&&Pf(m.prototype,p),y&&Pf(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Uf(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function uE(v,m,p){return m&&Uf(v.prototype,m),p&&Uf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var hE=uE(function v(m){var p,y;(function(R,U){if(!(R instanceof U))throw new TypeError("Cannot call a class as a function")})(this,v);var _=function(){m.disableRebufferTracking||p&&(O(m.data,"view_waiting_rebuffer_duration",L.now()-p),p=!1,d().clearInterval(y))},I=!1,x=function(){I=!1,_()};m.on("waiting",function(){I&&(m.disableRebufferTracking||(O(m.data,"view_waiting_rebuffer_count",1),p=L.now(),y=d().setInterval(function(){if(p){var R=L.now();O(m.data,"view_waiting_rebuffer_duration",R-p),p=R}},250)))}),m.on("playing",function(){_(),I=!0}),m.on("pause",x),m.on("seeking",x)});function Ff(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function fE(v,m,p){return m&&Ff(v.prototype,m),p&&Ff(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var mE=fE(function v(m){var p=this;(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")})(this,v);var y=function(){p.lastWallClockTime=L.now(),m.on("before*",_)},_=function(I){var x=L.now(),R=p.lastWallClockTime;p.lastWallClockTime=x,x-R>3e4&&(m.emit("devicesleep",{viewer_time:R}),Object.assign(m.data,{viewer_time:R}),m.send("devicesleep"),m.emit("devicewake",{viewer_time:x}),Object.assign(m.data,{viewer_time:x}),m.send("devicewake"))};m.one("playbackheartbeat",y),m.on("playbackheartbeatend",function(){m.off("before*",_),m.one("playbackheartbeat",y)})}),Bf=o(375),pE=o(655),$f=o.n(pE),Hf="muxData",Gf=function(){var v;try{v=Bf.parse($f().get(Hf)||"")}catch{v={}}return v},Vf=function(v){try{$f().set(Hf,Bf.stringify(v),{expires:365})}catch{}},gE=function(){var v=Gf();return v.mux_viewer_id=v.mux_viewer_id||c(),v.msn=v.msn||Math.random(),Vf(v),{mux_viewer_id:v.mux_viewer_id,mux_sample_number:v.msn}};function vE(v,m){var p=m.beaconCollectionDomain,y=m.beaconDomain;if(p)return"https://"+p;var _=y||"litix.io";return(v=v||"inferred").match(/^[a-z0-9]+$/)?"https://"+v+"."+_:"https://img.litix.io/a.gif"}var Kf=function(){var v;switch(Wf()){case"cellular":v="cellular";break;case"ethernet":v="wired";break;case"wifi":v="wifi";break;case void 0:break;default:v="other"}return v},Wf=function(){var v=d().navigator,m=v&&(v.connection||v.mozConnection||v.webkitConnection);return m&&m.type};Kf.getConnectionFromAPI=Wf;var EE=Kf,bE=Yf({a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"}),qf=Yf({ad:"ad",ag:"aggregate",ap:"api",al:"application",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",br:"break",bw:"browser",by:"bytes",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cr:"creative",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ep:"experiments",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pr:"preload",ps:"position",pt:"part",py:"property",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",st:"start",su:"startup",sv:"server",sw:"software",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"});function Yf(v){var m={};for(var p in v)v.hasOwnProperty(p)&&(m[v[p]]=p);return m}function vd(v){var m={},p={};return Object.keys(v).forEach(function(y){var _=!1;if(v.hasOwnProperty(y)&&v[y]!==void 0){var I=y.split("_"),x=I[0],R=bE[x];R||(A.info("Data key word `"+I[0]+"` not expected in "+y),R=x+"_"),I.splice(1).forEach(function(U){U==="url"&&(_=!0),qf[U]?R+=qf[U]:Number(U)&&Math.floor(Number(U))===Number(U)?R+=U:(A.info("Data key word `"+U+"` not expected in "+y),R+="_"+U+"_")}),_?p[R]=v[y]:m[R]=v[y]}}),Object.assign(m,p)}var yE={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},TE=["hb","requestcompleted","requestfailed","requestcanceled"],_E="https://img.litix.io",Ki=function(v){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=v||_E,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},yE,m)};Ki.prototype.queueEvent=function(v,m){var p=Object.assign({},m);return(this._eventQueue.length<=this._options.maxQueueLength||v==="eventrateexceeded")&&(this._eventQueue.push(p),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength)},Ki.prototype.flushEvents=function(){var v=arguments.length>0&&arguments[0]!==void 0&&arguments[0];v&&this._eventQueue.length===1?this._eventQueue.pop():(this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending())},Ki.prototype.destroy=function(){var v=arguments.length>0&&arguments[0]!==void 0&&arguments[0];this.destroyed=!0,v?this._clearBeaconQueue():this.flushEvents(),d().clearTimeout(this._sendTimeout)},Ki.prototype._clearBeaconQueue=function(){var v=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,m=this._eventQueue.slice(v);v>0&&Object.assign(m[m.length-1],vd({mux_view_message:"event queue truncated"}));var p=this._createPayload(m);jf(this._beaconUrl,p,!0,function(){})},Ki.prototype._sendBeaconQueue=function(){var v=this;if(!this._postInFlight){var m=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var p=this._createPayload(m),y=L.now();jf(this._beaconUrl,p,!1,function(_,I){I?(v._eventQueue=m.concat(v._eventQueue),v._failureCount+=1,A.info("Error sending beacon: "+I)):v._failureCount=0,v._roundTripTime=L.now()-y,v._postInFlight=!1})}},Ki.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var v=Math.pow(2,this._failureCount-1);return(1+(v*=Math.random()))*this._options.baseTimeBetweenBeacons},Ki.prototype._startBeaconSending=function(){var v=this;d().clearTimeout(this._sendTimeout),this.destroyed||(this._sendTimeout=d().setTimeout(function(){v._eventQueue.length&&v._sendBeaconQueue(),v._startBeaconSending()},this._getNextBeaconTime()))},Ki.prototype._createPayload=function(v){var m,p,y,_=this,I={transmission_timestamp:Math.round(L.now())};this._roundTripTime&&(I.rtt_ms=Math.round(this._roundTripTime));var x=function(){m=JSON.stringify({metadata:I,events:p||v}),y=m.length/1024},R=function(){return y<=_._options.maxPayloadKBSize};return x(),R()||(A.info("Payload size is too big ("+y+" kb). Removing unnecessary events."),p=v.filter(function(U){return TE.indexOf(U.e)===-1}),x()),R()||(A.info("Payload size still too big ("+y+" kb). Cropping fields.."),p.forEach(function(U){for(var C in U){var K=U[C];typeof K=="string"&&K.length>51200&&(U[C]=K.substring(0,51200))}}),x()),m};var AE=function(v){return v.length<=57344},jf=function(v,m,p,y){if(p&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(v,m))y();else if(d().fetch)d().fetch(v,{method:"POST",body:m,headers:{"Content-Type":"text/plain"},keepalive:AE(m)}).then(function(I){return y(null,I.ok?null:"Error")}).catch(function(I){return y(null,I)});else{if(d().XMLHttpRequest){var _=new(d()).XMLHttpRequest;return _.onreadystatechange=function(){if(_.readyState===4)return y(null,_.status!==200?"error":void 0)},_.open("POST",v),_.setRequestHeader("Content-Type","text/plain"),void _.send(m)}y()}},SE=Ki;function xE(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,y){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!y||R.length!==y);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,y){if(p){if(typeof p=="string")return zf(p,y);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?zf(p,y):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function zf(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,y=new Array(m);p<m;p++)y[p]=v[p];return y}function Xf(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(v);m&&(y=y.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,y)}return p}function gs(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?Xf(Object(p),!0).forEach(function(y){_a(v,y,p[y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):Xf(Object(p)).forEach(function(y){Object.defineProperty(v,y,Object.getOwnPropertyDescriptor(p,y))})}return v}function on(v){return on=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},on(v)}function IE(v,m){if(!(v instanceof m))throw new TypeError("Cannot call a class as a function")}function Qf(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function _a(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var LE=["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"],kE=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],RE=["ad_id","ad_creative_id","ad_universal_id"],wE=["viewstart","error","ended","viewend"],DE=function(){function v(_,I){var x,R,U,C,K,ve,de,he,ae,me,Me,At,St,Ft,ti,Ce=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};IE(this,v),_a(this,"previousBeaconData",null),_a(this,"lastEventTime",0),_a(this,"rateLimited",!1),this.mux=_,this.envKey=I,this.options=Ce,this.eventQueue=new SE(vE(this.envKey,this.options)),this.sampleRate=(x=this.options.sampleRate)!==null&&x!==void 0?x:1,this.disableCookies=(R=this.options.disableCookies)!==null&&R!==void 0&&R,this.respectDoNotTrack=(U=this.options.respectDoNotTrack)!==null&&U!==void 0&&U,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:(C=this.options.platform)===null||C===void 0?void 0:C.name,viewer_application_version:(K=this.options.platform)===null||K===void 0?void 0:K.version,viewer_application_engine:(ve=this.options.platform)===null||ve===void 0?void 0:ve.layout,viewer_device_name:(de=this.options.platform)===null||de===void 0?void 0:de.product,viewer_device_category:"",viewer_device_manufacturer:(he=this.options.platform)===null||he===void 0?void 0:he.manufacturer,viewer_os_family:(ae=this.options.platform)===null||ae===void 0||(me=ae.os)===null||me===void 0?void 0:me.family,viewer_os_architecture:(Me=this.options.platform)===null||Me===void 0||(At=Me.os)===null||At===void 0?void 0:At.architecture,viewer_os_version:(St=this.options.platform)===null||St===void 0||(Ft=St.os)===null||Ft===void 0?void 0:Ft.version,viewer_connection_type:EE(),page_url:d()===null||d()===void 0||(ti=d().location)===null||ti===void 0?void 0:ti.href},this.viewerData=this.disableCookies?{}:gE()}var m,p,y;return m=v,(p=[{key:"send",value:function(_,I){var x;if(_&&I!=null&&I.view_id){if(this.respectDoNotTrack&&k())return A.info("Not sending `"+_+"` because Do Not Track is enabled");if(!I||on(I)!=="object")return A.error("A data object was expected in send() but was not provided");var R,U,C=this.disableCookies?{}:(R=Gf(),U=L.now(),R.session_start&&(R.sst=R.session_start,delete R.session_start),R.session_id&&(R.sid=R.session_id,delete R.session_id),R.session_expires&&(R.sex=R.session_expires,delete R.session_expires),(!R.sex||R.sex<U)&&(R.sid=c(),R.sst=U),R.sex=U+15e5,Vf(R),{session_id:R.sid,session_start:R.sst,session_expires:R.sex}),K=gs(gs(gs(gs(gs({},this.pageLevelData),I),C),this.viewerData),{},{event:_,env_key:this.envKey});K.user_id&&(K.viewer_user_id=K.user_id,delete K.user_id);var ve=((x=K.mux_sample_number)!==null&&x!==void 0?x:0)>=this.sampleRate,de=vd(this._deduplicateBeaconData(_,K));if(this.lastEventTime=this.mux.utils.now(),ve)return A.info("Not sending event due to sample rate restriction",_,K,de);if(this.envKey||A.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",_,K,de),!this.rateLimited){if(A.info("Sending event",_,K,de),this.rateLimited=!this.eventQueue.queueEvent(_,de),this.mux.WINDOW_UNLOADING&&_==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&_==="hb"?this.eventQueue.flushEvents(!0):wE.indexOf(_)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return K.event="eventrateexceeded",de=vd(K),this.eventQueue.queueEvent(K.event,de),A.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(_,I){var x=this,R={},U=I.view_id;if(U==="-1"||_==="viewstart"||_==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=6e5)R=gs({},I),U&&(this.previousBeaconData=R),U&&_==="viewend"&&(this.previousBeaconData=null);else{var C=_.indexOf("request")===0;Object.entries(I).forEach(function(K){var ve=xE(K,2),de=ve[0],he=ve[1];x.previousBeaconData&&(he!==x.previousBeaconData[de]||LE.indexOf(de)>-1||x.objectHasChanged(C,de,he,x.previousBeaconData[de])||x.eventRequiresKey(_,de))&&(R[de]=he,x.previousBeaconData[de]=he)})}return R}},{key:"objectHasChanged",value:function(_,I,x,R){return!(!_||I.indexOf("request_")!==0||I!=="request_response_headers"&&on(x)==="object"&&on(R)==="object"&&Object.keys(x||{}).length===Object.keys(R||{}).length)}},{key:"eventRequiresKey",value:function(_,I){return _==="renditionchange"&&I.indexOf("video_source_")===0||!(!RE.includes(I)||!kE.includes(_))}}])&&Qf(m.prototype,p),y&&Qf(m,y),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Zf(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function CE(v,m,p){return m&&Zf(v.prototype,m),p&&Zf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var ME=CE(function v(m){(function(C,K){if(!(C instanceof K))throw new TypeError("Cannot call a class as a function")})(this,v);var p=0,y=0,_=0,I=0,x=0,R=0,U=0;m.on("requestcompleted",function(C,K){var ve,de,he=K.request_start,ae=K.request_response_start,me=K.request_response_end,Me=K.request_bytes_loaded;if(I++,ae?(ve=ae-(he!=null?he:0),de=(me!=null?me:0)-ae):de=(me!=null?me:0)-(he!=null?he:0),de>0&&Me&&Me>0){var At=Me/de*8e3;x++,y+=Me,_+=de,m.data.view_min_request_throughput=Math.min(m.data.view_min_request_throughput||1/0,At),m.data.view_average_request_throughput=y/_*8e3,m.data.view_request_count=I,ve>0&&(p+=ve,m.data.view_max_request_latency=Math.max(m.data.view_max_request_latency||0,ve),m.data.view_average_request_latency=p/x)}}),m.on("requestfailed",function(C,K){I++,R++,m.data.view_request_count=I,m.data.view_request_failed_count=R}),m.on("requestcanceled",function(C,K){I++,U++,m.data.view_request_count=I,m.data.view_request_canceled_count=U})});function Jf(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function OE(v,m,p){return m&&Jf(v.prototype,m),p&&Jf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var PE=OE(function v(m){var p=this;(function(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("before*",function(y,_){var I=_.viewer_time,x=L.now(),R=p._lastEventTime;if(p._lastEventTime=x,R&&x-R>36e5){var U=Object.keys(m.data).reduce(function(C,K){return K.indexOf("video_")===0?Object.assign(C,function(ve,de,he){return de in ve?Object.defineProperty(ve,de,{value:he,enumerable:!0,configurable:!0,writable:!0}):ve[de]=he,ve}({},K,m.data[K])):C},{});m.mux.log.info("Received event after at least an hour inactivity, creating a new view"),m.emit("viewinit",Object.assign({viewer_time:I},U)),m.playbackHeartbeat._playheadShouldBeProgressing&&y.type!=="play"&&y.type!=="adbreakstart"&&(m.emit("play",{viewer_time:I}),y.type!=="playing"&&m.emit("playing",{viewer_time:I}))}})});function Ed(v){return Ed=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},Ed(v)}function NE(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,y){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!y||R.length!==y);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,y){if(p){if(typeof p=="string")return em(p,y);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?em(p,y):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
4
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function em(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,y=new Array(m);p<m;p++)y[p]=v[p];return y}function tm(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function bd(v,m){return bd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,y){return p.__proto__=y,p},bd(v,m)}function UE(v){var m=function(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var p,y=Aa(v);if(m){var _=Aa(this).constructor;p=Reflect.construct(y,arguments,_)}else p=y.apply(this,arguments);return FE(this,p)}}function FE(v,m){if(m&&(Ed(m)==="object"||typeof m=="function"))return m;if(m!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return gt(v)}function gt(v){if(v===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return v}function Aa(v){return Aa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(m){return m.__proto__||Object.getPrototypeOf(m)},Aa(v)}var BE=["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"],$E=function(v){(function(x,R){if(typeof R!="function"&&R!==null)throw new TypeError("Super expression must either be null or a function");x.prototype=Object.create(R&&R.prototype,{constructor:{value:x,writable:!0,configurable:!0}}),Object.defineProperty(x,"prototype",{writable:!1}),R&&bd(x,R)})(I,v);var m,p,y,_=UE(I);function I(x,R,U){var C;(function(ae,me){if(!(ae instanceof me))throw new TypeError("Cannot call a class as a function")})(this,I),(C=_.call(this)).DOM_CONTENT_LOADED_EVENT_END=$.domContentLoadedEventEnd(),C.NAVIGATION_START=$.navigationStart(),C.mux=x,C.id=R,(U=Object.assign({debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(ae){return ae}},U)).data=U.data||{},U.data.property_key&&(U.data.env_key=U.data.property_key,delete U.data.property_key),A.setLevel(U.debug?"debug":"warn"),C.getPlayheadTime=U.getPlayheadTime,C.getStateData=U.getStateData||function(){return{}},C.getAdData=U.getAdData||function(){},C.minimumRebufferDuration=U.minimumRebufferDuration,C.sustainedRebufferThreshold=U.sustainedRebufferThreshold,C.playbackHeartbeatTime=U.playbackHeartbeatTime,C.disableRebufferTracking=U.disableRebufferTracking,C.disableRebufferTracking&&C.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."),C.disablePlayheadRebufferTracking=U.disablePlayheadRebufferTracking,C.errorTranslator=U.errorTranslator,C.playbackEventDispatcher=new DE(x,U.data.env_key,U),C.data={player_instance_id:c(),mux_sample_rate:U.sampleRate,beacon_domain:U.beaconCollectionDomain?U.beaconCollectionDomain:U.beaconDomain},C.data.view_sequence_number=1,C.data.player_sequence_number=1,C.oldEmit=C.emit,C.emit=function(ae,me){me=Object.assign({viewer_time:this.mux.utils.now()},me),this.oldEmit(ae,me)};var K=function(){this.data.view_start===void 0&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(gt(C));C.on("viewinit",function(ae,me){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,me),this._initializeViewData(),this.one("play",K),this.one("adbreakstart",K)});var ve=function(ae){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",ae)}.bind(gt(C));if(C.on("videochange",function(ae,me){ve(me)}),C.on("programchange",function(ae,me){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."),ve(Object.assign(me,{view_program_changed:!0})),K(),this.emit("play"),this.emit("playing")}),C.on("fragmentchange",function(ae,me){this.currentFragmentPDT=me.currentFragmentPDT,this.currentFragmentStart=me.currentFragmentStart}),C.on("destroy",C.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var de=function(){var ae=C.data.view_start!==void 0;C.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",ae&&C.mux.WINDOW_HIDDEN&&(C.data.player_is_paused||C.emit("hb"))};window.addEventListener("visibilitychange",de,!1);var he=function(ae){ae.persisted||C.destroy()};window.addEventListener("pagehide",he,!1),C.on("destroy",function(){window.removeEventListener("visibilitychange",de),window.removeEventListener("pagehide",he)})}return C.on("playerready",function(ae,me){Object.assign(this.data,me)}),BE.forEach(function(ae){C.on(ae,function(me,Me){ae.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,Me),this._sanitizeData()}),C.on("after"+ae,function(){(ae!=="error"||this.errorTracker.viewErrored)&&this.send(ae)})}),C.on("viewend",function(ae,me){Object.assign(C.data,me)}),C.one("playerready",function(ae){var me=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=me-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}),C.longResumeTracker=new PE(gt(C)),C.errorTracker=new Jt(gt(C)),new mE(gt(C)),C.seekingTracker=new lE(gt(C)),C.playheadTime=new rt(gt(C)),C.playbackHeartbeat=new _t(gt(C)),new aE(gt(C)),C.watchTimeTracker=new Ai(gt(C)),new rn(gt(C)),C.adTracker=new cE(gt(C)),new rE(gt(C)),new Ta(gt(C)),new sE(gt(C)),new hE(gt(C)),new ME(gt(C)),U.hlsjs&&C.addHLSJS(U),U.dashjs&&C.addDashJS(U),C.emit("viewinit",U.data),C}return m=I,p=[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.data.view_start!==void 0&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(x){if(this.data.view_id){var R=Object.assign({},this.data);if(R.video_source_is_live===void 0&&(R.player_source_duration===1/0||R.video_source_duration===1/0?R.video_source_is_live=!0:(R.player_source_duration>0||R.video_source_duration>0)&&(R.video_source_is_live=!1)),R.video_source_is_live||["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"].forEach(function(ve){R[ve]=void 0}),R.video_source_url=R.video_source_url||R.player_source_url,R.video_source_url){var U=NE(D(R.video_source_url),2),C=U[0],K=U[1];R.video_source_domain=K,R.video_source_hostname=C}delete R.ad_request_id,this.playbackEventDispatcher.send(x,R),this.data.view_sequence_number++,this.data.player_sequence_number++,this._restartHeartBeat(),x==="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 x=this;["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"].forEach(function(R){var U=parseInt(x.data[R],10);x.data[R]=isNaN(U)?void 0:U}),["player_source_url","video_source_url"].forEach(function(R){if(x.data[R]){var U=x.data[R].toLowerCase();U.indexOf("data:")!==0&&U.indexOf("blob:")!==0||(x.data[R]="MSE style URL")}})}},{key:"_resetVideoData",value:function(x,R){var U=this;Object.keys(this.data).forEach(function(C){C.indexOf("video_")===0&&delete U.data[C]})}},{key:"_resetViewData",value:function(){var x=this;Object.keys(this.data).forEach(function(R){R.indexOf("view_")===0&&delete x.data[R]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(x,R){delete this.data.player_error_code,delete this.data.player_error_message}},{key:"_initializeViewData",value:function(){var x=this,R=this.data.view_id=c(),U=function(){R===x.data.view_id&&O(x.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",U):U()}},{key:"_restartHeartBeat",value:function(){var x=this;window.clearTimeout(this._heartBeatTimeout),this.errorTracker.viewErrored||(this._heartBeatTimeout=window.setTimeout(function(){x.data.player_is_paused||x.emit("hb")},1e4))}},{key:"addHLSJS",value:function(x){x.hlsjs?this.hlsjs?this.mux.log.warn("An instance of HLS.js is already being monitored for this player."):(this.hlsjs=x.hlsjs,function(R,U,C){var K=arguments.length>4?arguments[4]:void 0,ve=R.log,de=R.utils.secondsToMs,he=function(Oe){var Q,fe=parseInt(K.version);return fe===1&&Oe.programDateTime!==null&&(Q=Oe.programDateTime),fe===0&&Oe.pdt!==null&&(Q=Oe.pdt),Q};if($.exists()){var ae=function(Oe,Q){return R.emit(U,Oe,Q)},me=function(Oe,Q){var fe=Q.levels,ee=Q.audioTracks,_e=Q.url,De=Q.stats,ct=Q.networkDetails,Bt=Q.sessionData,xt={},Pt={};fe.forEach(function(ft,un){xt[un]={width:ft.width,height:ft.height,bitrate:ft.bitrate,attrs:ft.attrs}}),ee.forEach(function(ft,un){Pt[un]={name:ft.name,language:ft.lang,bitrate:ft.bitrate}});var vt=we(De),Et=vt.bytesLoaded,ar=vt.requestStart,cn=vt.responseStart,wr=vt.responseEnd;ae("requestcompleted",Ee(Ee({},z(Bt)),{},{request_event_type:Oe,request_bytes_loaded:Et,request_start:ar,request_response_start:cn,request_response_end:wr,request_type:"manifest",request_hostname:N(_e),request_response_headers:Se(ct),request_rendition_lists:{media:xt,audio:Pt,video:{}}}))};C.on(K.Events.MANIFEST_LOADED,me);var Me=function(Oe,Q){var fe=Q.details,ee=Q.level,_e=Q.networkDetails,De=Q.stats,ct=we(De),Bt=ct.bytesLoaded,xt=ct.requestStart,Pt=ct.responseStart,vt=ct.responseEnd,Et=fe.fragments[fe.fragments.length-1],ar=he(Et)+de(Et.duration);ae("requestcompleted",{request_event_type:Oe,request_bytes_loaded:Bt,request_start:xt,request_response_start:Pt,request_response_end:vt,request_current_level:ee,request_type:"manifest",request_hostname:N(fe.url),request_response_headers:Se(_e),video_holdback:fe.holdBack&&de(fe.holdBack),video_part_holdback:fe.partHoldBack&&de(fe.partHoldBack),video_part_target_duration:fe.partTarget&&de(fe.partTarget),video_target_duration:fe.targetduration&&de(fe.targetduration),video_source_is_live:fe.live,player_manifest_newest_program_time:isNaN(ar)?void 0:ar})};C.on(K.Events.LEVEL_LOADED,Me);var At=function(Oe,Q){var fe=Q.details,ee=Q.networkDetails,_e=Q.stats,De=we(_e),ct=De.bytesLoaded,Bt=De.requestStart,xt=De.responseStart,Pt=De.responseEnd;ae("requestcompleted",{request_event_type:Oe,request_bytes_loaded:ct,request_start:Bt,request_response_start:xt,request_response_end:Pt,request_type:"manifest",request_hostname:N(fe.url),request_response_headers:Se(ee)})};C.on(K.Events.AUDIO_TRACK_LOADED,At);var St=function(Oe,Q){var fe=Q.stats,ee=Q.networkDetails,_e=Q.frag;fe=fe||_e.stats;var De=we(fe),ct=De.bytesLoaded,Bt=De.requestStart,xt=De.responseStart,Pt=De.responseEnd,vt=ee?Se(ee):void 0,Et={request_event_type:Oe,request_bytes_loaded:ct,request_start:Bt,request_response_start:xt,request_response_end:Pt,request_hostname:ee?N(ee.responseURL):void 0,request_id:vt?X(vt):void 0,request_response_headers:vt,request_media_duration:_e.duration,request_url:ee==null?void 0:ee.responseURL};_e.type==="main"?(Et.request_type="media",Et.request_current_level=_e.level,Et.request_video_width=(C.levels[_e.level]||{}).width,Et.request_video_height=(C.levels[_e.level]||{}).height,Et.request_labeled_bitrate=(C.levels[_e.level]||{}).bitrate):Et.request_type=_e.type,ae("requestcompleted",Et)};C.on(K.Events.FRAG_LOADED,St);var Ft=function(Oe,Q){var fe=Q.frag,ee=fe.start,_e={currentFragmentPDT:he(fe),currentFragmentStart:de(ee)};ae("fragmentchange",_e)};C.on(K.Events.FRAG_CHANGED,Ft);var ti=function(Oe,Q){var fe=Q.type,ee=Q.details,_e=Q.response,De=Q.fatal,ct=Q.frag,Bt=Q.networkDetails,xt=(ct==null?void 0:ct.url)||Q.url||"",Pt=Bt?Se(Bt):void 0;if(ee!==K.ErrorDetails.MANIFEST_LOAD_ERROR&&ee!==K.ErrorDetails.MANIFEST_LOAD_TIMEOUT&&ee!==K.ErrorDetails.FRAG_LOAD_ERROR&&ee!==K.ErrorDetails.FRAG_LOAD_TIMEOUT&&ee!==K.ErrorDetails.LEVEL_LOAD_ERROR&&ee!==K.ErrorDetails.LEVEL_LOAD_TIMEOUT&&ee!==K.ErrorDetails.AUDIO_TRACK_LOAD_ERROR&&ee!==K.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT&&ee!==K.ErrorDetails.SUBTITLE_LOAD_ERROR&&ee!==K.ErrorDetails.SUBTITLE_LOAD_TIMEOUT&&ee!==K.ErrorDetails.KEY_LOAD_ERROR&&ee!==K.ErrorDetails.KEY_LOAD_TIMEOUT||ae("requestfailed",{request_error:ee,request_url:xt,request_hostname:N(xt),request_id:Pt?X(Pt):void 0,request_type:ee===K.ErrorDetails.FRAG_LOAD_ERROR||ee===K.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":ee===K.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||ee===K.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":ee===K.ErrorDetails.SUBTITLE_LOAD_ERROR||ee===K.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":ee===K.ErrorDetails.KEY_LOAD_ERROR||ee===K.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:_e==null?void 0:_e.code,request_error_text:_e==null?void 0:_e.text}),De){var vt,Et="".concat(xt?"url: ".concat(xt,`
|
|
4
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function em(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,y=new Array(m);p<m;p++)y[p]=v[p];return y}function tm(v,m){for(var p=0;p<m.length;p++){var y=m[p];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(v,y.key,y)}}function bd(v,m){return bd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,y){return p.__proto__=y,p},bd(v,m)}function UE(v){var m=function(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var p,y=Aa(v);if(m){var _=Aa(this).constructor;p=Reflect.construct(y,arguments,_)}else p=y.apply(this,arguments);return FE(this,p)}}function FE(v,m){if(m&&(Ed(m)==="object"||typeof m=="function"))return m;if(m!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return gt(v)}function gt(v){if(v===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return v}function Aa(v){return Aa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(m){return m.__proto__||Object.getPrototypeOf(m)},Aa(v)}var BE=["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"],$E=function(v){(function(x,R){if(typeof R!="function"&&R!==null)throw new TypeError("Super expression must either be null or a function");x.prototype=Object.create(R&&R.prototype,{constructor:{value:x,writable:!0,configurable:!0}}),Object.defineProperty(x,"prototype",{writable:!1}),R&&bd(x,R)})(I,v);var m,p,y,_=UE(I);function I(x,R,U){var C;(function(ae,me){if(!(ae instanceof me))throw new TypeError("Cannot call a class as a function")})(this,I),(C=_.call(this)).DOM_CONTENT_LOADED_EVENT_END=$.domContentLoadedEventEnd(),C.NAVIGATION_START=$.navigationStart(),C.mux=x,C.id=R,(U=Object.assign({debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(ae){return ae}},U)).data=U.data||{},U.data.property_key&&(U.data.env_key=U.data.property_key,delete U.data.property_key),A.setLevel(U.debug?"debug":"warn"),C.getPlayheadTime=U.getPlayheadTime,C.getStateData=U.getStateData||function(){return{}},C.getAdData=U.getAdData||function(){},C.minimumRebufferDuration=U.minimumRebufferDuration,C.sustainedRebufferThreshold=U.sustainedRebufferThreshold,C.playbackHeartbeatTime=U.playbackHeartbeatTime,C.disableRebufferTracking=U.disableRebufferTracking,C.disableRebufferTracking&&C.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."),C.disablePlayheadRebufferTracking=U.disablePlayheadRebufferTracking,C.errorTranslator=U.errorTranslator,C.playbackEventDispatcher=new DE(x,U.data.env_key,U),C.data={player_instance_id:c(),mux_sample_rate:U.sampleRate,beacon_domain:U.beaconCollectionDomain?U.beaconCollectionDomain:U.beaconDomain},C.data.view_sequence_number=1,C.data.player_sequence_number=1,C.oldEmit=C.emit,C.emit=function(ae,me){me=Object.assign({viewer_time:this.mux.utils.now()},me),this.oldEmit(ae,me)};var K=function(){this.data.view_start===void 0&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(gt(C));C.on("viewinit",function(ae,me){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,me),this._initializeViewData(),this.one("play",K),this.one("adbreakstart",K)});var ve=function(ae){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",ae)}.bind(gt(C));if(C.on("videochange",function(ae,me){ve(me)}),C.on("programchange",function(ae,me){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."),ve(Object.assign(me,{view_program_changed:!0})),K(),this.emit("play"),this.emit("playing")}),C.on("fragmentchange",function(ae,me){this.currentFragmentPDT=me.currentFragmentPDT,this.currentFragmentStart=me.currentFragmentStart}),C.on("destroy",C.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var de=function(){var ae=C.data.view_start!==void 0;C.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",ae&&C.mux.WINDOW_HIDDEN&&(C.data.player_is_paused||C.emit("hb"))};window.addEventListener("visibilitychange",de,!1);var he=function(ae){ae.persisted||C.destroy()};window.addEventListener("pagehide",he,!1),C.on("destroy",function(){window.removeEventListener("visibilitychange",de),window.removeEventListener("pagehide",he)})}return C.on("playerready",function(ae,me){Object.assign(this.data,me)}),BE.forEach(function(ae){C.on(ae,function(me,Me){ae.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,Me),this._sanitizeData()}),C.on("after"+ae,function(){(ae!=="error"||this.errorTracker.viewErrored)&&this.send(ae)})}),C.on("viewend",function(ae,me){Object.assign(C.data,me)}),C.one("playerready",function(ae){var me=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=me-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}),C.longResumeTracker=new PE(gt(C)),C.errorTracker=new Jt(gt(C)),new mE(gt(C)),C.seekingTracker=new lE(gt(C)),C.playheadTime=new rt(gt(C)),C.playbackHeartbeat=new _t(gt(C)),new aE(gt(C)),C.watchTimeTracker=new Ai(gt(C)),new rn(gt(C)),C.adTracker=new cE(gt(C)),new rE(gt(C)),new Ta(gt(C)),new sE(gt(C)),new hE(gt(C)),new ME(gt(C)),U.hlsjs&&C.addHLSJS(U),U.dashjs&&C.addDashJS(U),C.emit("viewinit",U.data),C}return m=I,p=[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.data.view_start!==void 0&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(x){if(this.data.view_id){var R=Object.assign({},this.data);if(R.video_source_is_live===void 0&&(R.player_source_duration===1/0||R.video_source_duration===1/0?R.video_source_is_live=!0:(R.player_source_duration>0||R.video_source_duration>0)&&(R.video_source_is_live=!1)),R.video_source_is_live||["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"].forEach(function(ve){R[ve]=void 0}),R.video_source_url=R.video_source_url||R.player_source_url,R.video_source_url){var U=NE(D(R.video_source_url),2),C=U[0],K=U[1];R.video_source_domain=K,R.video_source_hostname=C}delete R.ad_request_id,this.playbackEventDispatcher.send(x,R),this.data.view_sequence_number++,this.data.player_sequence_number++,this._restartHeartBeat(),x==="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 x=this;["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"].forEach(function(R){var U=parseInt(x.data[R],10);x.data[R]=isNaN(U)?void 0:U}),["player_source_url","video_source_url"].forEach(function(R){if(x.data[R]){var U=x.data[R].toLowerCase();U.indexOf("data:")!==0&&U.indexOf("blob:")!==0||(x.data[R]="MSE style URL")}})}},{key:"_resetVideoData",value:function(x,R){var U=this;Object.keys(this.data).forEach(function(C){C.indexOf("video_")===0&&delete U.data[C]})}},{key:"_resetViewData",value:function(){var x=this;Object.keys(this.data).forEach(function(R){R.indexOf("view_")===0&&delete x.data[R]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(x,R){delete this.data.player_error_code,delete this.data.player_error_message}},{key:"_initializeViewData",value:function(){var x=this,R=this.data.view_id=c(),U=function(){R===x.data.view_id&&O(x.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",U):U()}},{key:"_restartHeartBeat",value:function(){var x=this;window.clearTimeout(this._heartBeatTimeout),this.errorTracker.viewErrored||(this._heartBeatTimeout=window.setTimeout(function(){x.data.player_is_paused||x.emit("hb")},1e4))}},{key:"addHLSJS",value:function(x){x.hlsjs?this.hlsjs?this.mux.log.warn("An instance of HLS.js is already being monitored for this player."):(this.hlsjs=x.hlsjs,function(R,U,C){var K=arguments.length>4?arguments[4]:void 0,ve=R.log,de=R.utils.secondsToMs,he=function(Oe){var Q,fe=parseInt(K.version);return fe===1&&Oe.programDateTime!==null&&(Q=Oe.programDateTime),fe===0&&Oe.pdt!==null&&(Q=Oe.pdt),Q};if($.exists()){var ae=function(Oe,Q){return R.emit(U,Oe,Q)},me=function(Oe,Q){var fe=Q.levels,te=Q.audioTracks,_e=Q.url,De=Q.stats,ct=Q.networkDetails,Bt=Q.sessionData,xt={},Pt={};fe.forEach(function(ft,un){xt[un]={width:ft.width,height:ft.height,bitrate:ft.bitrate,attrs:ft.attrs}}),te.forEach(function(ft,un){Pt[un]={name:ft.name,language:ft.lang,bitrate:ft.bitrate}});var vt=we(De),Et=vt.bytesLoaded,ar=vt.requestStart,cn=vt.responseStart,wr=vt.responseEnd;ae("requestcompleted",Ee(Ee({},z(Bt)),{},{request_event_type:Oe,request_bytes_loaded:Et,request_start:ar,request_response_start:cn,request_response_end:wr,request_type:"manifest",request_hostname:N(_e),request_response_headers:Se(ct),request_rendition_lists:{media:xt,audio:Pt,video:{}}}))};C.on(K.Events.MANIFEST_LOADED,me);var Me=function(Oe,Q){var fe=Q.details,te=Q.level,_e=Q.networkDetails,De=Q.stats,ct=we(De),Bt=ct.bytesLoaded,xt=ct.requestStart,Pt=ct.responseStart,vt=ct.responseEnd,Et=fe.fragments[fe.fragments.length-1],ar=he(Et)+de(Et.duration);ae("requestcompleted",{request_event_type:Oe,request_bytes_loaded:Bt,request_start:xt,request_response_start:Pt,request_response_end:vt,request_current_level:te,request_type:"manifest",request_hostname:N(fe.url),request_response_headers:Se(_e),video_holdback:fe.holdBack&&de(fe.holdBack),video_part_holdback:fe.partHoldBack&&de(fe.partHoldBack),video_part_target_duration:fe.partTarget&&de(fe.partTarget),video_target_duration:fe.targetduration&&de(fe.targetduration),video_source_is_live:fe.live,player_manifest_newest_program_time:isNaN(ar)?void 0:ar})};C.on(K.Events.LEVEL_LOADED,Me);var At=function(Oe,Q){var fe=Q.details,te=Q.networkDetails,_e=Q.stats,De=we(_e),ct=De.bytesLoaded,Bt=De.requestStart,xt=De.responseStart,Pt=De.responseEnd;ae("requestcompleted",{request_event_type:Oe,request_bytes_loaded:ct,request_start:Bt,request_response_start:xt,request_response_end:Pt,request_type:"manifest",request_hostname:N(fe.url),request_response_headers:Se(te)})};C.on(K.Events.AUDIO_TRACK_LOADED,At);var St=function(Oe,Q){var fe=Q.stats,te=Q.networkDetails,_e=Q.frag;fe=fe||_e.stats;var De=we(fe),ct=De.bytesLoaded,Bt=De.requestStart,xt=De.responseStart,Pt=De.responseEnd,vt=te?Se(te):void 0,Et={request_event_type:Oe,request_bytes_loaded:ct,request_start:Bt,request_response_start:xt,request_response_end:Pt,request_hostname:te?N(te.responseURL):void 0,request_id:vt?X(vt):void 0,request_response_headers:vt,request_media_duration:_e.duration,request_url:te==null?void 0:te.responseURL};_e.type==="main"?(Et.request_type="media",Et.request_current_level=_e.level,Et.request_video_width=(C.levels[_e.level]||{}).width,Et.request_video_height=(C.levels[_e.level]||{}).height,Et.request_labeled_bitrate=(C.levels[_e.level]||{}).bitrate):Et.request_type=_e.type,ae("requestcompleted",Et)};C.on(K.Events.FRAG_LOADED,St);var Ft=function(Oe,Q){var fe=Q.frag,te=fe.start,_e={currentFragmentPDT:he(fe),currentFragmentStart:de(te)};ae("fragmentchange",_e)};C.on(K.Events.FRAG_CHANGED,Ft);var ti=function(Oe,Q){var fe=Q.type,te=Q.details,_e=Q.response,De=Q.fatal,ct=Q.frag,Bt=Q.networkDetails,xt=(ct==null?void 0:ct.url)||Q.url||"",Pt=Bt?Se(Bt):void 0;if(te!==K.ErrorDetails.MANIFEST_LOAD_ERROR&&te!==K.ErrorDetails.MANIFEST_LOAD_TIMEOUT&&te!==K.ErrorDetails.FRAG_LOAD_ERROR&&te!==K.ErrorDetails.FRAG_LOAD_TIMEOUT&&te!==K.ErrorDetails.LEVEL_LOAD_ERROR&&te!==K.ErrorDetails.LEVEL_LOAD_TIMEOUT&&te!==K.ErrorDetails.AUDIO_TRACK_LOAD_ERROR&&te!==K.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT&&te!==K.ErrorDetails.SUBTITLE_LOAD_ERROR&&te!==K.ErrorDetails.SUBTITLE_LOAD_TIMEOUT&&te!==K.ErrorDetails.KEY_LOAD_ERROR&&te!==K.ErrorDetails.KEY_LOAD_TIMEOUT||ae("requestfailed",{request_error:te,request_url:xt,request_hostname:N(xt),request_id:Pt?X(Pt):void 0,request_type:te===K.ErrorDetails.FRAG_LOAD_ERROR||te===K.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":te===K.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||te===K.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":te===K.ErrorDetails.SUBTITLE_LOAD_ERROR||te===K.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":te===K.ErrorDetails.KEY_LOAD_ERROR||te===K.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:_e==null?void 0:_e.code,request_error_text:_e==null?void 0:_e.text}),De){var vt,Et="".concat(xt?"url: ".concat(xt,`
|
|
5
5
|
`):"")+"".concat(_e&&(_e.code||_e.text)?"response: ".concat(_e.code,", ").concat(_e.text,`
|
|
6
6
|
`):"")+"".concat(Q.reason?"failure reason: ".concat(Q.reason,`
|
|
7
7
|
`):"")+"".concat(Q.level?"level: ".concat(Q.level,`
|
|
@@ -10,13 +10,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
10
10
|
`):"")+"".concat(Q.error?"error: ".concat(Q.error,`
|
|
11
11
|
`):"")+"".concat(Q.event?"event: ".concat(Q.event,`
|
|
12
12
|
`):"")+"".concat(Q.err?"error message: ".concat((vt=Q.err)===null||vt===void 0?void 0:vt.message,`
|
|
13
|
-
`):"");ae("error",{player_error_code:fe,player_error_message:
|
|
14
|
-
`):"")+"".concat(
|
|
13
|
+
`):"");ae("error",{player_error_code:fe,player_error_message:te,player_error_context:Et})}};C.on(K.Events.ERROR,ti);var Ce=function(Oe,Q){var fe=Q.frag,te=fe&&fe._url||"";ae("requestcanceled",{request_event_type:Oe,request_url:te,request_type:"media",request_hostname:N(te)})};C.on(K.Events.FRAG_LOAD_EMERGENCY_ABORTED,Ce);var ot=function(Oe,Q){var fe=Q.level,te=C.levels[fe];if(te&&te.attrs&&te.attrs.BANDWIDTH){var _e,De=te.attrs.BANDWIDTH,ct=parseFloat(te.attrs["FRAME-RATE"]);isNaN(ct)||(_e=ct),De?ae("renditionchange",{video_source_fps:_e,video_source_bitrate:De,video_source_width:te.width,video_source_height:te.height,video_source_rendition_name:te.name,video_source_codec:te==null?void 0:te.videoCodec}):ve.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};C.on(K.Events.LEVEL_SWITCHED,ot),C._stopMuxMonitor=function(){C.off(K.Events.MANIFEST_LOADED,me),C.off(K.Events.LEVEL_LOADED,Me),C.off(K.Events.AUDIO_TRACK_LOADED,At),C.off(K.Events.FRAG_LOADED,St),C.off(K.Events.FRAG_CHANGED,Ft),C.off(K.Events.ERROR,ti),C.off(K.Events.FRAG_LOAD_EMERGENCY_ABORTED,Ce),C.off(K.Events.LEVEL_SWITCHED,ot),C.off(K.Events.DESTROYING,C._stopMuxMonitor),delete C._stopMuxMonitor},C.on(K.Events.DESTROYING,C._stopMuxMonitor)}else ve.warn("performance timing not supported. Not tracking HLS.js.")}(this.mux,this.id,x.hlsjs,{},x.Hls||window.Hls)):this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.")}},{key:"removeHLSJS",value:function(){var x;this.hlsjs&&((x=this.hlsjs)&&typeof x._stopMuxMonitor=="function"&&x._stopMuxMonitor(),this.hlsjs=void 0)}},{key:"addDashJS",value:function(x){x.dashjs?this.dashjs?this.mux.log.warn("An instance of Dash.js is already being monitored for this player."):(this.dashjs=x.dashjs,function(R,U,C){var K=R.log;if(C&&C.on){var ve=function(Ce,ot){return R.emit(U,Ce,ot)},de=function(Ce){var ot=Ce.type,Oe=(Ce.data||{}).url;ve("requestcompleted",{request_event_type:ot,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:N(Oe),request_url:Oe})};C.on("manifestLoaded",de);var he={},ae=function(Ce){var ot=Ce.type,Oe=Ce.fragmentModel,Q=(Ce.chunk||{}).mediaInfo||{},fe=Q.type,te=Q.bitrateList,_e={};(te=te||[]).forEach(function(wr,ft){_e[ft]={},_e[ft].width=wr.width,_e[ft].height=wr.height,_e[ft].bitrate=wr.bandwidth,_e[ft].attrs={}}),fe==="video"?he.video=_e:fe==="audio"?he.audio=_e:he.media=_e;var De=xe(Oe,C),ct=De.requestStart,Bt=De.requestResponseStart,xt=De.requestResponseEnd,Pt=De.requestResponseHeaders,vt=De.requestMediaDuration,Et=De.requestHostname,ar=De.requestUrl,cn=De.requestId;ve("requestcompleted",{request_event_type:ot,request_start:ct,request_response_start:Bt,request_response_end:xt,request_bytes_loaded:-1,request_type:fe+"_init",request_response_headers:Pt,request_hostname:Et,request_id:cn,request_url:ar,request_media_duration:vt,request_rendition_lists:he})};C.on("initFragmentLoaded",ae);var me=function(Ce){var ot=Ce.type,Oe=Ce.fragmentModel,Q=Ce.chunk||{},fe=Q.mediaInfo,te=Q.start,_e=(fe||{}).type,De=xe(Oe,C),ct=De.requestStart,Bt=De.requestResponseStart,xt=De.requestResponseEnd,Pt=De.requestBytesLoaded,vt=De.requestResponseHeaders,Et=De.requestMediaDuration,ar=De.requestHostname,cn=De.requestUrl,wr=De.requestId,ft=Ie(_e,C),un=ft.currentLevel,db=ft.renditionWidth,cb=ft.renditionHeight,ub=ft.renditionBitrate;ve("requestcompleted",{request_event_type:ot,request_start:ct,request_response_start:Bt,request_response_end:xt,request_bytes_loaded:Pt,request_type:_e,request_response_headers:vt,request_hostname:ar,request_id:wr,request_url:cn,request_media_start_time:te,request_media_duration:Et,request_current_level:un,request_labeled_bitrate:ub,request_video_width:db,request_video_height:cb})};C.on("mediaFragmentLoaded",me);var Me={video:void 0,audio:void 0,totalBitrate:void 0},At=function(){if(Me.video&&typeof Me.video.bitrate=="number"){if(Me.video.width&&Me.video.height){var Ce=Me.video.bitrate;return Me.audio&&typeof Me.audio.bitrate=="number"&&(Ce+=Me.audio.bitrate),Ce!==Me.totalBitrate?(Me.totalBitrate=Ce,{video_source_bitrate:Ce,video_source_height:Me.video.height,video_source_width:Me.video.width,video_source_codec:Ve(Me.video.codec)}):void 0}K.warn("have bitrate info for video but missing width/height")}},St=function(Ce,ot,Oe){if(typeof Ce.newQuality=="number"){var Q=Ce.mediaType;if(Q==="audio"||Q==="video"){var fe=C.getBitrateInfoListFor(Q).find(function(_e){return _e.qualityIndex===Ce.newQuality});if(fe&&typeof fe.bitrate=="number"){Me[Q]=ne(ne({},fe),{},{codec:C.getCurrentTrackFor(Q).codec});var te=At();te&&ve("renditionchange",te)}else K.warn("missing bitrate info for ".concat(Q))}}else K.warn("missing evt.newQuality in qualityChangeRendered event",Ce)};C.on("qualityChangeRendered",St);var Ft=function(Ce){var ot=Ce.request,Oe=Ce.mediaType;ve("requestcanceled",{request_event_type:(ot=ot||{}).type+"_"+ot.action,request_url:ot.url,request_type:Oe,request_hostname:N(ot.url)})};C.on("fragmentLoadingAbandoned",Ft);var ti=function(Ce){var ot,Oe,Q=Ce.error,fe=(Q==null||(ot=Q.data)===null||ot===void 0?void 0:ot.request)||{},te=(Q==null||(Oe=Q.data)===null||Oe===void 0?void 0:Oe.response)||{};(Q==null?void 0:Q.code)===27&&ve("requestfailed",{request_error:fe.type+"_"+fe.action,request_url:fe.url,request_hostname:N(fe.url),request_type:fe.mediaType,request_error_code:te.status,request_error_text:te.statusText});var _e="".concat(fe!=null&&fe.url?"url: ".concat(fe.url,`
|
|
14
|
+
`):"")+"".concat(te!=null&&te.status||te!=null&&te.statusText?"response: ".concat(te==null?void 0:te.status,", ").concat(te==null?void 0:te.statusText,`
|
|
15
15
|
`):"");ve("error",{player_error_code:Q==null?void 0:Q.code,player_error_message:Q==null?void 0:Q.message,player_error_context:_e})};C.on("error",ti),C._stopMuxMonitor=function(){C.off("manifestLoaded",de),C.off("initFragmentLoaded",ae),C.off("mediaFragmentLoaded",me),C.off("qualityChangeRendered",St),C.off("error",ti),C.off("fragmentLoadingAbandoned",Ft),delete C._stopMuxMonitor}}else K.warn("Invalid dash.js player reference. Monitoring blocked.")}(this.mux,this.id,x.dashjs)):this.mux.log.warn("You must pass a valid dashjs instance in order to track it.")}},{key:"removeDashJS",value:function(){var x;this.dashjs&&((x=this.dashjs)&&typeof x._stopMuxMonitor=="function"&&x._stopMuxMonitor(),this.dashjs=void 0)}}],p&&tm(m.prototype,p),y&&tm(m,y),Object.defineProperty(m,"prototype",{writable:!1}),I}(ke),HE=$E,GE=o(153),ln=o.n(GE);function yd(v){return yd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},yd(v)}function im(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,y){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!y||R.length!==y);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,y){if(p){if(typeof p=="string")return rm(p,y);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?rm(p,y):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
16
16
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function rm(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,y=new Array(m);p<m;p++)y[p]=v[p];return y}var vs,VE=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],KE={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};d()&&d().WeakMap&&(vs=new WeakMap);var WE="#EXT-X-TARGETDURATION",qE="#EXT-X-PART-INF",YE="#EXT-X-SERVER-CONTROL",jE="#EXTINF",zE="#EXT-X-PROGRAM-DATE-TIME",XE="#EXT-X-VERSION",QE="#EXT-X-SESSION-DATA",Sa=function(v){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(v),this.manifest};Sa.prototype.process=function(v){var m;for(this.buffer+=v,m=this.buffer.indexOf(`
|
|
17
17
|
`);m>-1;m=this.buffer.indexOf(`
|
|
18
18
|
`))this.processLine(this.buffer.substring(0,m)),this.buffer=this.buffer.substring(m+1)},Sa.prototype.processLine=function(v){var m=v.indexOf(":"),p=tb(v,m),y=p[0],_=p.length===2?_d(p[1]):void 0;if(y[0]!=="#")this.currentUri.uri=y,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(y){case WE:if(!isFinite(_)||_<0)return;this.manifest.targetDuration=_,this.setHoldBack();break;case qE:Td(this.manifest,p),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break;case YE:Td(this.manifest,p),this.setHoldBack();break;case jE:_===0?this.currentUri.duration=.01:_>0&&(this.currentUri.duration=_);break;case zE:var I=_,x=new Date(I);this.manifest.dateTimeString||(this.manifest.dateTimeString=I,this.manifest.dateTimeObject=x),this.currentUri.dateTimeString=I,this.currentUri.dateTimeObject=x;break;case XE:Td(this.manifest,p);break;case QE:var R=ib(p[1]),U=z(R);Object.assign(this.manifest.sessionData,U)}},Sa.prototype.setHoldBack=function(){var v=this.manifest,m=v.serverControl,p=v.targetDuration,y=v.partTargetDuration;if(m){var _="holdBack",I="partHoldBack",x=p&&3*p,R=y&&2*y;p&&!m.hasOwnProperty(_)&&(m[_]=x),x&&m[_]<x&&(m[_]=x),y&&!m.hasOwnProperty(I)&&(m[I]=3*y),y&&m[I]<R&&(m[I]=R)}};var Td=function(v,m){var p,y=sm(m[0].replace("#EXT-X-",""));eb(m[1])?(p={},p=Object.assign(JE(m[1]),p)):p=_d(m[1]),v[y]=p},sm=function(v){return v.toLowerCase().replace(/-(\w)/g,function(m){return m[1].toUpperCase()})},_d=function(v){if(v.toLowerCase()==="yes"||v.toLowerCase()==="no")return v.toLowerCase()==="yes";var m=v.indexOf(":")!==-1?v:parseFloat(v);return isNaN(m)?v:m},ZE=function(v){var m={},p=v.split("=");return p.length>1&&(m[sm(p[0])]=_d(p[1])),m},JE=function(v){for(var m=v.split(","),p={},y=0;m.length>y;y++){var _=m[y],I=ZE(_);p=Object.assign(I,p)}return p},eb=function(v){return v.indexOf("=")>-1},tb=function(v,m){return m===-1?[v]:[v.substring(0,m),v.substring(m+1)]},ib=function(v){var m={};if(v){var p=v.search(",");return[v.slice(0,p),v.slice(p+1)].forEach(function(y,_){for(var I=y.replace(/['"]+/g,"").split("="),x=0;x<I.length;x++)I[x]==="DATA-ID"&&(m["DATA-ID"]=I[1-x]),I[x]==="VALUE"&&(m.VALUE=I[1-x])}),{data:m}}},rb=Sa,sb={safeCall:function(v,m,p,y){var _=y;if(v&&typeof v[m]=="function")try{_=v[m].apply(v,p)}catch(I){A.info("safeCall error",I)}return _},safeIncrement:O,getComputedStyle:function(v,m){var p;if(v&&m&&d()&&typeof d().getComputedStyle=="function")return vs&&vs.has(v)&&(p=vs.get(v)),p||(p=d().getComputedStyle(v,null),vs&&vs.set(v,p)),p.getPropertyValue(m)},secondsToMs:function(v){return Math.floor(1e3*v)},assign:Object.assign,headersStringToObject:P,cdnHeadersToRequestId:X,extractHostnameAndDomain:D,extractHostname:N,manifestParser:rb,generateShortID:u,generateUUID:c,now:L.now},nb={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"};function ab(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,y){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!y||R.length!==y);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,y){if(p){if(typeof p=="string")return nm(p,y);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?nm(p,y):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
19
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function nm(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,y=new Array(m);p<m;p++)y[p]=v[p];return y}var ei={},dn=function v(m){var p=arguments;typeof m=="string"?v.hasOwnProperty(m)?d().setTimeout(function(){p=Array.prototype.splice.call(p,1),v[m].apply(null,p)},0):A.warn("`"+m+"` is an unknown task"):typeof m=="function"?d().setTimeout(function(){m(v)},0):A.warn("`"+m+"` is invalid.")},ob={loaded:L.now(),NAME:"mux-embed",VERSION:"4.27.0",API_VERSION:"2.1",PLAYER_TRACKED:!1,monitor:function(v,m){return function(p,y,_){var I=im(f(y),3),x=I[0],R=I[1],U=I[2],C=p.log,K=p.utils.getComputedStyle,ve=p.utils.secondsToMs;if(!x)return C.error("No element was found with the `"+R+"` query selector.");if(U!=="video"&&U!=="audio")return C.error("The element of `"+R+"` was not a media element.");x.mux&&(x.mux.destroy(),delete x.mux,C.warn("Already monitoring this video element, replacing existing event listeners")),(_=Object.assign({automaticErrorTracking:!0},_)).data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:p.VERSION},_.data),_.getPlayheadTime=function(){return ve(x.currentTime)},_.getStateData=function(){var he,ae,me=this.hlsjs&&this.hlsjs.url,Me=this.dashjs&&yd(this.dashjs.getSource==="function")&&this.dashjs.getSource(),At={player_is_paused:x.paused,player_playhead_time:ve(x.currentTime),player_width:parseInt(K(x,"width")),player_height:parseInt(K(x,"height")),player_autoplay_on:x.autoplay,player_preload_on:x.preload,player_language_code:x.lang,player_is_fullscreen:ln()&&!!(ln().fullscreenElement||ln().webkitFullscreenElement||ln().mozFullScreenElement||ln().msFullscreenElement),video_poster_url:x.poster,video_source_url:me||Me||x.currentSrc,video_source_duration:ve(x.duration),video_source_height:x.videoHeight,video_source_width:x.videoWidth,view_dropped_frame_count:(he=x)===null||he===void 0||(ae=he.getVideoPlaybackQuality)===null||ae===void 0?void 0:ae.call(he).droppedVideoFrames},St=_.getPlayheadTime();if(x.getStartDate&&St>0){var Ft=x.getStartDate();if(Ft&&typeof Ft.getTime=="function"&&Ft.getTime()){var ti=Ft.getTime();if(At.player_program_time=ti+St,x.seekable.length>0){var Ce=ti+x.seekable.end(x.seekable.length-1);At.player_live_edge_program_time=Ce}}}return At},x.mux=x.mux||{},x.mux.deleted=!1,x.mux.emit=function(he,ae){p.emit(R,he,ae)};var de=function(){C.error("The monitor for this video element has already been destroyed.")};x.mux.destroy=function(){Object.keys(x.mux.listeners).forEach(function(he){x.removeEventListener(he,x.mux.listeners[he],!1)}),delete x.mux.listeners,x.mux.destroy=de,x.mux.swapElement=de,x.mux.emit=de,x.mux.addHLSJS=de,x.mux.addDashJS=de,x.mux.removeHLSJS=de,x.mux.removeDashJS=de,x.mux.deleted=!0,p.emit(R,"destroy")},x.mux.swapElement=function(he){var ae=im(f(he),3),me=ae[0],Me=ae[1],At=ae[2];return me?At!=="video"&&At!=="audio"?p.log.error("The element of `"+Me+"` was not a media element."):(me.muxId=x.muxId,delete x.muxId,me.mux=me.mux||{},me.mux.listeners=Object.assign({},x.mux.listeners),delete x.mux.listeners,Object.keys(me.mux.listeners).forEach(function(St){x.removeEventListener(St,me.mux.listeners[St],!1),me.addEventListener(St,me.mux.listeners[St],!1)}),me.mux.swapElement=x.mux.swapElement,me.mux.destroy=x.mux.destroy,delete x.mux,void(x=me)):p.log.error("No element was found with the `"+Me+"` query selector.")},x.mux.addHLSJS=function(he){p.addHLSJS(R,he)},x.mux.addDashJS=function(he){p.addDashJS(R,he)},x.mux.removeHLSJS=function(){p.removeHLSJS(R)},x.mux.removeDashJS=function(){p.removeDashJS(R)},p.init(R,_),p.emit(R,"playerready"),x.paused||(p.emit(R,"play"),x.readyState>2&&p.emit(R,"playing")),x.mux.listeners={},VE.forEach(function(he){(he!=="error"||_.automaticErrorTracking)&&(x.mux.listeners[he]=function(){var ae={};if(he==="error"){if(!x.error||x.error.code===1)return;ae.player_error_code=x.error.code,ae.player_error_message=KE[x.error.code]||x.error.message}p.emit(R,he,ae)},x.addEventListener(he,x.mux.listeners[he],!1))})}(dn,v,m)},destroyMonitor:function(v){var m=ab(f(v),1)[0];m&&m.mux&&typeof m.mux.destroy=="function"?m.mux.destroy():A.error("A video element monitor for `"+v+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(v,m){var p=h(v);ei[p]?ei[p].addHLSJS(m):A.error("A monitor for `"+p+"` has not been initialized.")},addDashJS:function(v,m){var p=h(v);ei[p]?ei[p].addDashJS(m):A.error("A monitor for `"+p+"` has not been initialized.")},removeHLSJS:function(v){var m=h(v);ei[m]?ei[m].removeHLSJS():A.error("A monitor for `"+m+"` has not been initialized.")},removeDashJS:function(v){var m=h(v);ei[m]?ei[m].removeDashJS():A.error("A monitor for `"+m+"` has not been initialized.")},init:function(v,m){k()&&m&&m.respectDoNotTrack&&A.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var p=h(v);ei[p]=new HE(dn,p,m)},emit:function(v,m,p){var y=h(v);ei[y]?(ei[y].emit(m,p),m==="destroy"&&delete ei[y]):A.error("A monitor for `"+y+"` has not been initialized.")},checkDoNotTrack:k,log:A,utils:sb,events:nb,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(dn,ob),d()!==void 0&&typeof d().addEventListener=="function"&&d().addEventListener("pagehide",function(v){v.persisted||(dn.WINDOW_UNLOADING=!0)},!1);var lb=dn},655:function(n,a,o){var l,d;function c(u){return c=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(h){return typeof h}:function(h){return h&&typeof Symbol=="function"&&h.constructor===Symbol&&h!==Symbol.prototype?"symbol":typeof h},c(u);}(function(u){var h=!1;if((d=typeof(l=u)=="function"?l.call(a,o,a,n):l)===void 0||(n.exports=d),h=!0,c(a)==="object"&&(n.exports=u(),h=!0),!h){var f=window.Cookies,g=window.Cookies=u();g.noConflict=function(){return window.Cookies=f,g}}})(function(){var u=function(){for(var h=0,f={};h<arguments.length;h++){var g=arguments[h];for(var E in g)f[E]=g[E]}return f};return function h(f){function g(E,T,A){var k;if(typeof document!="undefined"){if(arguments.length>1){if(typeof(A=u({path:"/"},g.defaults,A)).expires=="number"){var L=new Date;L.setMilliseconds(L.getMilliseconds()+864e5*A.expires),A.expires=L}try{k=JSON.stringify(T),/^[\{\[]/.test(k)&&(T=k)}catch{}return T=f.write?f.write(T,E):encodeURIComponent(String(T)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),E=(E=(E=encodeURIComponent(String(E))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape),document.cookie=[E,"=",T,A.expires?"; expires="+A.expires.toUTCString():"",A.path?"; path="+A.path:"",A.domain?"; domain="+A.domain:"",A.secure?"; secure":""].join("")}E||(k={});for(var N=document.cookie?document.cookie.split("; "):[],D=/(%[0-9A-Z]{2})+/g,$=0;$<N.length;$++){var O=N[$].split("="),G=O.slice(1).join("=");G.charAt(0)==='"'&&(G=G.slice(1,-1));try{var q=O[0].replace(D,decodeURIComponent);if(G=f.read?f.read(G,q):f(G,q)||G.replace(D,decodeURIComponent),this.json)try{G=JSON.parse(G)}catch{}if(E===q){k=G;break}E||(k[q]=G)}catch{}}return k}}return g.set=g,g.get=function(E){return g.call(g,E)},g.getJSON=function(){return g.apply({json:!0},[].slice.call(arguments))},g.defaults={},g.remove=function(E,T){g(E,"",u(T,{expires:-1}))},g.withConverter=h,g}(function(){})})},153:function(n,a,o){var l,d=o.g!==void 0?o.g:typeof window!="undefined"?window:{},c=o(558);typeof document!="undefined"?l=document:(l=d["__GLOBAL_DOCUMENT_CACHE@4"])||(l=d["__GLOBAL_DOCUMENT_CACHE@4"]=c),n.exports=l},48:function(n,a,o){var l;l=typeof window!="undefined"?window:o.g!==void 0?o.g:typeof self!="undefined"?self:{},n.exports=l},640:function(n,a,o){var l,d;(function(c,u){"use strict";l=function(){var h=function(){},f="undefined",g=typeof window!==f&&typeof window.navigator!==f&&/Trident\/|MSIE /.test(window.navigator.userAgent),E=["trace","debug","info","warn","error"];function T(P,X){var z=P[X];if(typeof z.bind=="function")return z.bind(P);try{return Function.prototype.bind.call(z,P)}catch{return function(){return Function.prototype.apply.apply(z,[P,arguments])}}}function A(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function k(P){return P==="debug"&&(P="log"),typeof console!==f&&(P==="trace"&&g?A:console[P]!==void 0?T(console,P):console.log!==void 0?T(console,"log"):h)}function L(P,X){for(var z=0;z<E.length;z++){var Ae=E[z];this[Ae]=z<P?h:this.methodFactory(Ae,P,X)}this.log=this.debug}function N(P,X,z){return function(){typeof console!==f&&(L.call(this,X,z),this[P].apply(this,arguments))}}function D(P,X,z){return k(P)||N.apply(this,arguments)}function $(P,X,z){var Ae,Ee=this;X=X==null?"WARN":X;var be="loglevel";function we(se){var xe=(E[se]||"silent").toUpperCase();if(typeof window!==f&&be){try{return void(window.localStorage[be]=xe)}catch{}try{window.document.cookie=encodeURIComponent(be)+"="+xe+";"}catch{}}}function Se(){var se;if(typeof window!==f&&be){try{se=window.localStorage[be]}catch{}if(typeof se===f)try{var xe=window.document.cookie,Ie=xe.indexOf(encodeURIComponent(be)+"=");Ie!==-1&&(se=/^([^;]+)/.exec(xe.slice(Ie))[1])}catch{}return Ee.levels[se]===void 0&&(se=void 0),se}}function Z(){if(typeof window!==f&&be){try{return void window.localStorage.removeItem(be)}catch{}try{window.document.cookie=encodeURIComponent(be)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}typeof P=="string"?be+=":"+P:typeof P=="symbol"&&(be=void 0),Ee.name=P,Ee.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},Ee.methodFactory=z||D,Ee.getLevel=function(){return Ae},Ee.setLevel=function(se,xe){if(typeof se=="string"&&Ee.levels[se.toUpperCase()]!==void 0&&(se=Ee.levels[se.toUpperCase()]),!(typeof se=="number"&&se>=0&&se<=Ee.levels.SILENT))throw"log.setLevel() called with invalid level: "+se;if(Ae=se,xe!==!1&&we(se),L.call(Ee,se,P),typeof console===f&&se<Ee.levels.SILENT)return"No console available for logging"},Ee.setDefaultLevel=function(se){X=se,Se()||Ee.setLevel(se,!1)},Ee.resetLevel=function(){Ee.setLevel(X,!1),Z()},Ee.enableAll=function(se){Ee.setLevel(Ee.levels.TRACE,se)},Ee.disableAll=function(se){Ee.setLevel(Ee.levels.SILENT,se)};var ne=Se();ne==null&&(ne=X),Ee.setLevel(ne,!1)}var O=new $,G={};O.getLogger=function(P){if(typeof P!="symbol"&&typeof P!="string"||P==="")throw new TypeError("You must supply a name when creating a logger.");var X=G[P];return X||(X=G[P]=new $(P,O.getLevel(),O.methodFactory)),X};var q=typeof window!==f?window.log:void 0;return O.noConflict=function(){return typeof window!==f&&window.log===O&&(window.log=q),O},O.getLoggers=function(){return G},O.default=O,O},(d=typeof l=="function"?l.call(a,o,a,n):l)===void 0||(n.exports=d)})()},375:function(n,a){"use strict";var o=Object.prototype.hasOwnProperty;function l(c){try{return decodeURIComponent(c.replace(/\+/g," "))}catch{return null}}function d(c){try{return encodeURIComponent(c)}catch{return null}}a.stringify=function(c,u){u=u||"";var h,f,g=[];for(f in typeof u!="string"&&(u="?"),c)if(o.call(c,f)){if((h=c[f])||h!=null&&!isNaN(h)||(h=""),f=d(f),h=d(h),f===null||h===null)continue;g.push(f+"="+h)}return g.length?u+g.join("&"):""},a.parse=function(c){for(var u,h=/([^=?#&]+)=?([^&]*)/g,f={};u=h.exec(c);){var g=l(u[1]),E=l(u[2]);g===null||E===null||g in f||(f[g]=E)}return f}},558:function(){}},i={};function s(n){var a=i[n];if(a!==void 0)return a.exports;var o=i[n]={exports:{}};return t[n].call(o.exports,o,o.exports,s),o.exports}return s.n=function(n){var a=n&&n.__esModule?function(){return n.default}:function(){return n};return s.d(a,{a}),a},s.d=function(n,a){for(var o in a)s.o(a,o)&&!s.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:a[o]})},s.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),s.o=function(n,a){return Object.prototype.hasOwnProperty.call(n,a)},s(80)}()},typeof el=="object"&&typeof ru=="object"?ru.exports=e():typeof el=="object"?el.mux=e():r.mux=e()})()});var Es=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class r extends Es{}globalThis.DocumentFragment=r}var hn=class extends Es{},Sd=class extends Es{},yb={get(r){},define(r,e,t){},upgrade(r){},whenDefined(r){return Promise.resolve(hn)}},fn,xd=class{constructor(e,t={}){ut(this,fn,void 0);ii(this,fn,t==null?void 0:t.detail)}get detail(){return Ne(this,fn)}initCustomEvent(){}};fn=new WeakMap;function Tb(r,e){return new hn}var om={document:{createElement:Tb},DocumentFragment,customElements:yb,CustomEvent:xd,EventTarget:Es,HTMLElement:hn,HTMLVideoElement:Sd},lm=typeof window=="undefined"||typeof globalThis.customElements=="undefined",nt=lm?om:globalThis,Xt=lm?om.document:globalThis.document;var re={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_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"},ye={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},Dr={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_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_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_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"},dm=Object.entries(Dr),S=dm.reduce((r,[e,t])=>(r[e]=`${t.toLowerCase()}`,r),{}),Wi=dm.reduce((r,[e,t])=>(r[e]=`${t.toLowerCase()}`,r),{USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),RS=Object.entries(Wi).reduce((r,[e,t])=>{let i=S[e];return i&&(r[t]=i),r},{userinactivechange:"userinactive"}),cm=Object.entries(S).reduce((r,[e,t])=>{let i=Wi[e];return i&&(r[t]=i),r},{userinactive:"userinactivechange"}),bs={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},xa={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var Id={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Qt={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},ui={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var Rt={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:r=1}={})=>`current playback rate ${r}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading"},Xe={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",AIRPLAY:()=>"air play",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:r=30}={})=>`seek forward ${r} seconds`,SEEK_BACK_N_SECS:({seekOffset:r=30}={})=>`seek back ${r} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},Ab={...Rt,...Xe};function um(r){return r==null?void 0:r.map(Sb).join(" ")}function hm(r){return r==null?void 0:r.split(/\s+/).map(xb)}function Sb(r){if(r){let{id:e,width:t,height:i}=r;return[e,t,i].filter(s=>s!=null).join(":")}}function xb(r){if(r){let[e,t,i]=r.split(":");return{id:e,width:t,height:i}}}function fm(r){return r==null?void 0:r.map(Ib).join(" ")}function mm(r){return r==null?void 0:r.split(/\s+/).map(Lb)}function Ib(r){if(r){let{id:e,kind:t,language:i,label:s}=r;return[e,t,i,s].filter(n=>n!=null).join(":")}}function Lb(r){if(r){let[e,t,i,s]=r.split(":");return{id:e,kind:t,language:i,label:s}}}function Ia(r,e=!1){return r.split("_").map(function(t,i){return(i||e?t[0].toUpperCase():t[0].toLowerCase())+t.slice(1).toLowerCase()}).join("")}function pm(r){return r.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function gm(r){return typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r)}function La(r){return typeof r!="string"?!1:!isNaN(r)&&!isNaN(parseFloat(r))}var ka=r=>new Promise(e=>setTimeout(e,r));var vm=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],kb=(r,e)=>{let t=r===1?vm[e].singular:vm[e].plural;return`${r} ${t}`},Cr=r=>{if(!gm(r))return"";let e=Math.abs(r),t=e!==r,i=new Date(0,0,0,0,0,e,0);return`${[i.getHours(),i.getMinutes(),i.getSeconds()].map((o,l)=>o&&kb(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function Si(r,e){let t=!1;r<0&&(t=!0,r=0-r),r=r<0?0:r;let i=Math.floor(r%60),s=Math.floor(r/60%60),n=Math.floor(r/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(r)||r===1/0)&&(n=s=i="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",i=i<10?"0"+i:i,(t?"-":"")+n+s+i}var MS=Object.freeze({length:0,start(r){let e=r>>>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(r){let e=r>>>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 Ra=(r,e,t=".value")=>{let i=r.querySelector(t);!i||(i.textContent=e)},wb=(r,e)=>{let t=`slot[name="${e}"]`,i=r.shadowRoot.querySelector(t);return i?i.children:[]},wa=(r,e)=>wb(r,e)[0],Mr=(r,e)=>!r||!e?!1:r.contains(e)?!0:Mr(r,e.getRootNode().host),or=(r,e)=>{if(!r)return null;let t=r.closest(e);return t||or(r.getRootNode().host,e)};function Ld(r=document){var e;let t=r==null?void 0:r.activeElement;return t?(e=Ld(t.shadowRoot))!=null?e:t:null}function Qe(r,e){var t;let i;for(i of r.querySelectorAll("style")){let s;try{s=(t=i.sheet)==null?void 0:t.cssRules}catch{continue}for(let n of s!=null?s:[])if(n.selectorText===e)return n}return i!=null&&i.sheet?(i.sheet.insertRule(`${e}{}`,i.sheet.cssRules.length),i.sheet.cssRules[i.sheet.cssRules.length-1]):{style:{setProperty:()=>{},removeProperty:()=>{}}}}function Fe(r,e,t=Number.NaN){let i=r.getAttribute(e);return i!=null?+i:t}function ze(r,e,t){let i=+t;if(t==null||Number.isNaN(i)){r.hasAttribute(e)&&r.removeAttribute(e);return}Fe(r,e,void 0)!==i&&r.setAttribute(e,`${i}`)}function Ye(r,e){return r.hasAttribute(e)}function Ke(r,e,t){if(t==null){r.hasAttribute(e)&&r.removeAttribute(e);return}Ye(r,e)!=t&&r.toggleAttribute(e,t)}function We(r,e,t=null){var i;return(i=r.getAttribute(e))!=null?i:t}function Be(r,e,t){if(t==null){r.hasAttribute(e)&&r.removeAttribute(e);return}let i=`${t}`;We(r,e,void 0)!==i&&r.setAttribute(e,i)}var Da=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},kd=class{observe(){}unobserve(){}disconnect(){}},Em={createElement:function(){return new Rd.HTMLElement},addEventListener(){},removeEventListener(){}},Rd={ResizeObserver:kd,document:Em,HTMLElement:class extends Da{},DocumentFragment:class extends Da{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},CustomEvent:function(){},getComputedStyle:function(){}},bm=typeof window=="undefined"||typeof window.customElements=="undefined",ym=Object.keys(Rd).every(r=>r in globalThis),w=bm&&!ym?Rd:globalThis,Y=bm&&!ym?Em:globalThis.document;var Db=Object.defineProperty,Cb=(r,e,t)=>e in r?Db(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Mb=(r,e,t)=>(Cb(r,typeof e!="symbol"?e+"":e,t),t),Tm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},ri=(r,e,t)=>(Tm(r,e,"read from private field"),t?t.call(r):e.get(r)),Ca=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ma=(r,e,t,i)=>(Tm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),xi,Oa,ys,Pa,_m=Y.createElement("template");_m.innerHTML=`
|
|
19
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function nm(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,y=new Array(m);p<m;p++)y[p]=v[p];return y}var ei={},dn=function v(m){var p=arguments;typeof m=="string"?v.hasOwnProperty(m)?d().setTimeout(function(){p=Array.prototype.splice.call(p,1),v[m].apply(null,p)},0):A.warn("`"+m+"` is an unknown task"):typeof m=="function"?d().setTimeout(function(){m(v)},0):A.warn("`"+m+"` is invalid.")},ob={loaded:L.now(),NAME:"mux-embed",VERSION:"4.27.0",API_VERSION:"2.1",PLAYER_TRACKED:!1,monitor:function(v,m){return function(p,y,_){var I=im(f(y),3),x=I[0],R=I[1],U=I[2],C=p.log,K=p.utils.getComputedStyle,ve=p.utils.secondsToMs;if(!x)return C.error("No element was found with the `"+R+"` query selector.");if(U!=="video"&&U!=="audio")return C.error("The element of `"+R+"` was not a media element.");x.mux&&(x.mux.destroy(),delete x.mux,C.warn("Already monitoring this video element, replacing existing event listeners")),(_=Object.assign({automaticErrorTracking:!0},_)).data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:p.VERSION},_.data),_.getPlayheadTime=function(){return ve(x.currentTime)},_.getStateData=function(){var he,ae,me=this.hlsjs&&this.hlsjs.url,Me=this.dashjs&&yd(this.dashjs.getSource==="function")&&this.dashjs.getSource(),At={player_is_paused:x.paused,player_playhead_time:ve(x.currentTime),player_width:parseInt(K(x,"width")),player_height:parseInt(K(x,"height")),player_autoplay_on:x.autoplay,player_preload_on:x.preload,player_language_code:x.lang,player_is_fullscreen:ln()&&!!(ln().fullscreenElement||ln().webkitFullscreenElement||ln().mozFullScreenElement||ln().msFullscreenElement),video_poster_url:x.poster,video_source_url:me||Me||x.currentSrc,video_source_duration:ve(x.duration),video_source_height:x.videoHeight,video_source_width:x.videoWidth,view_dropped_frame_count:(he=x)===null||he===void 0||(ae=he.getVideoPlaybackQuality)===null||ae===void 0?void 0:ae.call(he).droppedVideoFrames},St=_.getPlayheadTime();if(x.getStartDate&&St>0){var Ft=x.getStartDate();if(Ft&&typeof Ft.getTime=="function"&&Ft.getTime()){var ti=Ft.getTime();if(At.player_program_time=ti+St,x.seekable.length>0){var Ce=ti+x.seekable.end(x.seekable.length-1);At.player_live_edge_program_time=Ce}}}return At},x.mux=x.mux||{},x.mux.deleted=!1,x.mux.emit=function(he,ae){p.emit(R,he,ae)};var de=function(){C.error("The monitor for this video element has already been destroyed.")};x.mux.destroy=function(){Object.keys(x.mux.listeners).forEach(function(he){x.removeEventListener(he,x.mux.listeners[he],!1)}),delete x.mux.listeners,x.mux.destroy=de,x.mux.swapElement=de,x.mux.emit=de,x.mux.addHLSJS=de,x.mux.addDashJS=de,x.mux.removeHLSJS=de,x.mux.removeDashJS=de,x.mux.deleted=!0,p.emit(R,"destroy")},x.mux.swapElement=function(he){var ae=im(f(he),3),me=ae[0],Me=ae[1],At=ae[2];return me?At!=="video"&&At!=="audio"?p.log.error("The element of `"+Me+"` was not a media element."):(me.muxId=x.muxId,delete x.muxId,me.mux=me.mux||{},me.mux.listeners=Object.assign({},x.mux.listeners),delete x.mux.listeners,Object.keys(me.mux.listeners).forEach(function(St){x.removeEventListener(St,me.mux.listeners[St],!1),me.addEventListener(St,me.mux.listeners[St],!1)}),me.mux.swapElement=x.mux.swapElement,me.mux.destroy=x.mux.destroy,delete x.mux,void(x=me)):p.log.error("No element was found with the `"+Me+"` query selector.")},x.mux.addHLSJS=function(he){p.addHLSJS(R,he)},x.mux.addDashJS=function(he){p.addDashJS(R,he)},x.mux.removeHLSJS=function(){p.removeHLSJS(R)},x.mux.removeDashJS=function(){p.removeDashJS(R)},p.init(R,_),p.emit(R,"playerready"),x.paused||(p.emit(R,"play"),x.readyState>2&&p.emit(R,"playing")),x.mux.listeners={},VE.forEach(function(he){(he!=="error"||_.automaticErrorTracking)&&(x.mux.listeners[he]=function(){var ae={};if(he==="error"){if(!x.error||x.error.code===1)return;ae.player_error_code=x.error.code,ae.player_error_message=KE[x.error.code]||x.error.message}p.emit(R,he,ae)},x.addEventListener(he,x.mux.listeners[he],!1))})}(dn,v,m)},destroyMonitor:function(v){var m=ab(f(v),1)[0];m&&m.mux&&typeof m.mux.destroy=="function"?m.mux.destroy():A.error("A video element monitor for `"+v+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(v,m){var p=h(v);ei[p]?ei[p].addHLSJS(m):A.error("A monitor for `"+p+"` has not been initialized.")},addDashJS:function(v,m){var p=h(v);ei[p]?ei[p].addDashJS(m):A.error("A monitor for `"+p+"` has not been initialized.")},removeHLSJS:function(v){var m=h(v);ei[m]?ei[m].removeHLSJS():A.error("A monitor for `"+m+"` has not been initialized.")},removeDashJS:function(v){var m=h(v);ei[m]?ei[m].removeDashJS():A.error("A monitor for `"+m+"` has not been initialized.")},init:function(v,m){k()&&m&&m.respectDoNotTrack&&A.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var p=h(v);ei[p]=new HE(dn,p,m)},emit:function(v,m,p){var y=h(v);ei[y]?(ei[y].emit(m,p),m==="destroy"&&delete ei[y]):A.error("A monitor for `"+y+"` has not been initialized.")},checkDoNotTrack:k,log:A,utils:sb,events:nb,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(dn,ob),d()!==void 0&&typeof d().addEventListener=="function"&&d().addEventListener("pagehide",function(v){v.persisted||(dn.WINDOW_UNLOADING=!0)},!1);var lb=dn},655:function(n,a,o){var l,d;function c(u){return c=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(h){return typeof h}:function(h){return h&&typeof Symbol=="function"&&h.constructor===Symbol&&h!==Symbol.prototype?"symbol":typeof h},c(u);}(function(u){var h=!1;if((d=typeof(l=u)=="function"?l.call(a,o,a,n):l)===void 0||(n.exports=d),h=!0,c(a)==="object"&&(n.exports=u(),h=!0),!h){var f=window.Cookies,g=window.Cookies=u();g.noConflict=function(){return window.Cookies=f,g}}})(function(){var u=function(){for(var h=0,f={};h<arguments.length;h++){var g=arguments[h];for(var E in g)f[E]=g[E]}return f};return function h(f){function g(E,T,A){var k;if(typeof document!="undefined"){if(arguments.length>1){if(typeof(A=u({path:"/"},g.defaults,A)).expires=="number"){var L=new Date;L.setMilliseconds(L.getMilliseconds()+864e5*A.expires),A.expires=L}try{k=JSON.stringify(T),/^[\{\[]/.test(k)&&(T=k)}catch{}return T=f.write?f.write(T,E):encodeURIComponent(String(T)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),E=(E=(E=encodeURIComponent(String(E))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape),document.cookie=[E,"=",T,A.expires?"; expires="+A.expires.toUTCString():"",A.path?"; path="+A.path:"",A.domain?"; domain="+A.domain:"",A.secure?"; secure":""].join("")}E||(k={});for(var N=document.cookie?document.cookie.split("; "):[],D=/(%[0-9A-Z]{2})+/g,$=0;$<N.length;$++){var O=N[$].split("="),G=O.slice(1).join("=");G.charAt(0)==='"'&&(G=G.slice(1,-1));try{var q=O[0].replace(D,decodeURIComponent);if(G=f.read?f.read(G,q):f(G,q)||G.replace(D,decodeURIComponent),this.json)try{G=JSON.parse(G)}catch{}if(E===q){k=G;break}E||(k[q]=G)}catch{}}return k}}return g.set=g,g.get=function(E){return g.call(g,E)},g.getJSON=function(){return g.apply({json:!0},[].slice.call(arguments))},g.defaults={},g.remove=function(E,T){g(E,"",u(T,{expires:-1}))},g.withConverter=h,g}(function(){})})},153:function(n,a,o){var l,d=o.g!==void 0?o.g:typeof window!="undefined"?window:{},c=o(558);typeof document!="undefined"?l=document:(l=d["__GLOBAL_DOCUMENT_CACHE@4"])||(l=d["__GLOBAL_DOCUMENT_CACHE@4"]=c),n.exports=l},48:function(n,a,o){var l;l=typeof window!="undefined"?window:o.g!==void 0?o.g:typeof self!="undefined"?self:{},n.exports=l},640:function(n,a,o){var l,d;(function(c,u){"use strict";l=function(){var h=function(){},f="undefined",g=typeof window!==f&&typeof window.navigator!==f&&/Trident\/|MSIE /.test(window.navigator.userAgent),E=["trace","debug","info","warn","error"];function T(P,X){var z=P[X];if(typeof z.bind=="function")return z.bind(P);try{return Function.prototype.bind.call(z,P)}catch{return function(){return Function.prototype.apply.apply(z,[P,arguments])}}}function A(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function k(P){return P==="debug"&&(P="log"),typeof console!==f&&(P==="trace"&&g?A:console[P]!==void 0?T(console,P):console.log!==void 0?T(console,"log"):h)}function L(P,X){for(var z=0;z<E.length;z++){var Ae=E[z];this[Ae]=z<P?h:this.methodFactory(Ae,P,X)}this.log=this.debug}function N(P,X,z){return function(){typeof console!==f&&(L.call(this,X,z),this[P].apply(this,arguments))}}function D(P,X,z){return k(P)||N.apply(this,arguments)}function $(P,X,z){var Ae,Ee=this;X=X==null?"WARN":X;var be="loglevel";function we(se){var xe=(E[se]||"silent").toUpperCase();if(typeof window!==f&&be){try{return void(window.localStorage[be]=xe)}catch{}try{window.document.cookie=encodeURIComponent(be)+"="+xe+";"}catch{}}}function Se(){var se;if(typeof window!==f&&be){try{se=window.localStorage[be]}catch{}if(typeof se===f)try{var xe=window.document.cookie,Ie=xe.indexOf(encodeURIComponent(be)+"=");Ie!==-1&&(se=/^([^;]+)/.exec(xe.slice(Ie))[1])}catch{}return Ee.levels[se]===void 0&&(se=void 0),se}}function Z(){if(typeof window!==f&&be){try{return void window.localStorage.removeItem(be)}catch{}try{window.document.cookie=encodeURIComponent(be)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}typeof P=="string"?be+=":"+P:typeof P=="symbol"&&(be=void 0),Ee.name=P,Ee.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},Ee.methodFactory=z||D,Ee.getLevel=function(){return Ae},Ee.setLevel=function(se,xe){if(typeof se=="string"&&Ee.levels[se.toUpperCase()]!==void 0&&(se=Ee.levels[se.toUpperCase()]),!(typeof se=="number"&&se>=0&&se<=Ee.levels.SILENT))throw"log.setLevel() called with invalid level: "+se;if(Ae=se,xe!==!1&&we(se),L.call(Ee,se,P),typeof console===f&&se<Ee.levels.SILENT)return"No console available for logging"},Ee.setDefaultLevel=function(se){X=se,Se()||Ee.setLevel(se,!1)},Ee.resetLevel=function(){Ee.setLevel(X,!1),Z()},Ee.enableAll=function(se){Ee.setLevel(Ee.levels.TRACE,se)},Ee.disableAll=function(se){Ee.setLevel(Ee.levels.SILENT,se)};var ne=Se();ne==null&&(ne=X),Ee.setLevel(ne,!1)}var O=new $,G={};O.getLogger=function(P){if(typeof P!="symbol"&&typeof P!="string"||P==="")throw new TypeError("You must supply a name when creating a logger.");var X=G[P];return X||(X=G[P]=new $(P,O.getLevel(),O.methodFactory)),X};var q=typeof window!==f?window.log:void 0;return O.noConflict=function(){return typeof window!==f&&window.log===O&&(window.log=q),O},O.getLoggers=function(){return G},O.default=O,O},(d=typeof l=="function"?l.call(a,o,a,n):l)===void 0||(n.exports=d)})()},375:function(n,a){"use strict";var o=Object.prototype.hasOwnProperty;function l(c){try{return decodeURIComponent(c.replace(/\+/g," "))}catch{return null}}function d(c){try{return encodeURIComponent(c)}catch{return null}}a.stringify=function(c,u){u=u||"";var h,f,g=[];for(f in typeof u!="string"&&(u="?"),c)if(o.call(c,f)){if((h=c[f])||h!=null&&!isNaN(h)||(h=""),f=d(f),h=d(h),f===null||h===null)continue;g.push(f+"="+h)}return g.length?u+g.join("&"):""},a.parse=function(c){for(var u,h=/([^=?#&]+)=?([^&]*)/g,f={};u=h.exec(c);){var g=l(u[1]),E=l(u[2]);g===null||E===null||g in f||(f[g]=E)}return f}},558:function(){}},i={};function s(n){var a=i[n];if(a!==void 0)return a.exports;var o=i[n]={exports:{}};return t[n].call(o.exports,o,o.exports,s),o.exports}return s.n=function(n){var a=n&&n.__esModule?function(){return n.default}:function(){return n};return s.d(a,{a}),a},s.d=function(n,a){for(var o in a)s.o(a,o)&&!s.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:a[o]})},s.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),s.o=function(n,a){return Object.prototype.hasOwnProperty.call(n,a)},s(80)}()},typeof el=="object"&&typeof ru=="object"?ru.exports=e():typeof el=="object"?el.mux=e():r.mux=e()})()});var Es=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class r extends Es{}globalThis.DocumentFragment=r}var hn=class extends Es{},Sd=class extends Es{},yb={get(r){},define(r,e,t){},upgrade(r){},whenDefined(r){return Promise.resolve(hn)}},fn,xd=class{constructor(e,t={}){ut(this,fn,void 0);ii(this,fn,t==null?void 0:t.detail)}get detail(){return Ne(this,fn)}initCustomEvent(){}};fn=new WeakMap;function Tb(r,e){return new hn}var om={document:{createElement:Tb},DocumentFragment,customElements:yb,CustomEvent:xd,EventTarget:Es,HTMLElement:hn,HTMLVideoElement:Sd},lm=typeof window=="undefined"||typeof globalThis.customElements=="undefined",st=lm?om:globalThis,Xt=lm?om.document:globalThis.document;var re={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_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"},ye={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},Dr={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_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_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_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"},dm=Object.entries(Dr),S=dm.reduce((r,[e,t])=>(r[e]=`${t.toLowerCase()}`,r),{}),Wi=dm.reduce((r,[e,t])=>(r[e]=`${t.toLowerCase()}`,r),{USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),RS=Object.entries(Wi).reduce((r,[e,t])=>{let i=S[e];return i&&(r[t]=i),r},{userinactivechange:"userinactive"}),cm=Object.entries(S).reduce((r,[e,t])=>{let i=Wi[e];return i&&(r[t]=i),r},{userinactive:"userinactivechange"}),bs={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},xa={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var Id={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Qt={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},ui={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var Rt={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:r=1}={})=>`current playback rate ${r}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading"},Xe={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",AIRPLAY:()=>"air play",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:r=30}={})=>`seek forward ${r} seconds`,SEEK_BACK_N_SECS:({seekOffset:r=30}={})=>`seek back ${r} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},Ab={...Rt,...Xe};function um(r){return r==null?void 0:r.map(Sb).join(" ")}function hm(r){return r==null?void 0:r.split(/\s+/).map(xb)}function Sb(r){if(r){let{id:e,width:t,height:i}=r;return[e,t,i].filter(s=>s!=null).join(":")}}function xb(r){if(r){let[e,t,i]=r.split(":");return{id:e,width:t,height:i}}}function fm(r){return r==null?void 0:r.map(Ib).join(" ")}function mm(r){return r==null?void 0:r.split(/\s+/).map(Lb)}function Ib(r){if(r){let{id:e,kind:t,language:i,label:s}=r;return[e,t,i,s].filter(n=>n!=null).join(":")}}function Lb(r){if(r){let[e,t,i,s]=r.split(":");return{id:e,kind:t,language:i,label:s}}}function Ia(r,e=!1){return r.split("_").map(function(t,i){return(i||e?t[0].toUpperCase():t[0].toLowerCase())+t.slice(1).toLowerCase()}).join("")}function pm(r){return r.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function gm(r){return typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r)}function La(r){return typeof r!="string"?!1:!isNaN(r)&&!isNaN(parseFloat(r))}var ka=r=>new Promise(e=>setTimeout(e,r));var vm=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],kb=(r,e)=>{let t=r===1?vm[e].singular:vm[e].plural;return`${r} ${t}`},Cr=r=>{if(!gm(r))return"";let e=Math.abs(r),t=e!==r,i=new Date(0,0,0,0,0,e,0);return`${[i.getHours(),i.getMinutes(),i.getSeconds()].map((o,l)=>o&&kb(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function Si(r,e){let t=!1;r<0&&(t=!0,r=0-r),r=r<0?0:r;let i=Math.floor(r%60),s=Math.floor(r/60%60),n=Math.floor(r/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(r)||r===1/0)&&(n=s=i="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",i=i<10?"0"+i:i,(t?"-":"")+n+s+i}var MS=Object.freeze({length:0,start(r){let e=r>>>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(r){let e=r>>>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 Ra=(r,e,t=".value")=>{let i=r.querySelector(t);!i||(i.textContent=e)},wb=(r,e)=>{let t=`slot[name="${e}"]`,i=r.shadowRoot.querySelector(t);return i?i.children:[]},wa=(r,e)=>wb(r,e)[0],Mr=(r,e)=>!r||!e?!1:r.contains(e)?!0:Mr(r,e.getRootNode().host),or=(r,e)=>{if(!r)return null;let t=r.closest(e);return t||or(r.getRootNode().host,e)};function Ld(r=document){var e;let t=r==null?void 0:r.activeElement;return t?(e=Ld(t.shadowRoot))!=null?e:t:null}function Qe(r,e){var t;let i;for(i of r.querySelectorAll("style")){let s;try{s=(t=i.sheet)==null?void 0:t.cssRules}catch{continue}for(let n of s!=null?s:[])if(n.selectorText===e)return n}return i!=null&&i.sheet?(i.sheet.insertRule(`${e}{}`,i.sheet.cssRules.length),i.sheet.cssRules[i.sheet.cssRules.length-1]):{style:{setProperty:()=>{},removeProperty:()=>{}}}}function Fe(r,e,t=Number.NaN){let i=r.getAttribute(e);return i!=null?+i:t}function ze(r,e,t){let i=+t;if(t==null||Number.isNaN(i)){r.hasAttribute(e)&&r.removeAttribute(e);return}Fe(r,e,void 0)!==i&&r.setAttribute(e,`${i}`)}function Ye(r,e){return r.hasAttribute(e)}function Ke(r,e,t){if(t==null){r.hasAttribute(e)&&r.removeAttribute(e);return}Ye(r,e)!=t&&r.toggleAttribute(e,t)}function We(r,e,t=null){var i;return(i=r.getAttribute(e))!=null?i:t}function Be(r,e,t){if(t==null){r.hasAttribute(e)&&r.removeAttribute(e);return}let i=`${t}`;We(r,e,void 0)!==i&&r.setAttribute(e,i)}var Da=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},kd=class{observe(){}unobserve(){}disconnect(){}},Em={createElement:function(){return new Rd.HTMLElement},addEventListener(){},removeEventListener(){}},Rd={ResizeObserver:kd,document:Em,HTMLElement:class extends Da{},DocumentFragment:class extends Da{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},CustomEvent:function(){},getComputedStyle:function(){}},bm=typeof window=="undefined"||typeof window.customElements=="undefined",ym=Object.keys(Rd).every(r=>r in globalThis),w=bm&&!ym?Rd:globalThis,Y=bm&&!ym?Em:globalThis.document;var Db=Object.defineProperty,Cb=(r,e,t)=>e in r?Db(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Mb=(r,e,t)=>(Cb(r,typeof e!="symbol"?e+"":e,t),t),Tm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},ri=(r,e,t)=>(Tm(r,e,"read from private field"),t?t.call(r):e.get(r)),Ca=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ma=(r,e,t,i)=>(Tm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),xi,Oa,ys,Pa,_m=Y.createElement("template");_m.innerHTML=`
|
|
20
20
|
<style>
|
|
21
21
|
:host {
|
|
22
22
|
font: var(--media-font,
|
|
@@ -947,7 +947,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
947
947
|
<path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z"/>
|
|
948
948
|
</svg>`,Zp=Y.createElement("template");Zp.innerHTML=`
|
|
949
949
|
<slot name="icon">${Jy}</slot>
|
|
950
|
-
`;var iu=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_AUDIO_TRACK_ENABLED,S.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:Zp})}get mediaAudioTrackEnabled(){return We(this,S.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){Be(this,S.MEDIA_AUDIO_TRACK_ENABLED,e)}};w.customElements.get("media-audio-track-button")||w.customElements.define("media-audio-track-button",iu);var Jo=class extends ai{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_AUDIO_TRACK_ENABLED,S.MEDIA_AUDIO_TRACK_UNAVAILABLE]}init(){let e=Y.createElement("media-audio-track-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-audio-track-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-audio-track-selectmenu")||w.customElements.define("media-audio-track-selectmenu",Jo);var Ol=bb(Jp(),1);function eT(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var $g={exports:{}};(function(r,e){(function(t){var i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,c){if(c=c||{},l=l.trim(),d=d.trim(),!d){if(!c.alwaysNormalize)return l;var u=o.parseURL(l);if(!u)throw new Error("Error trying to parse base URL.");return u.path=o.normalizePath(u.path),o.buildURLFromParts(u)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return c.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var g=s.exec(f.path);f.netLoc=g[1],f.path=g[2]}f.netLoc&&!f.path&&(f.path="/");var E={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(E.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)E.path=f.path,h.params||(E.params=f.params,h.query||(E.query=f.query));else{var T=f.path,A=T.substring(0,T.lastIndexOf("/")+1)+h.path;E.path=o.normalizePath(A)}return E.path===null&&(E.path=c.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(E)},parseURL:function(l){var d=i.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};r.exports=o})()})($g);var Ah=$g.exports;function eg(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,i)}return t}function jt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?eg(Object(t),!0).forEach(function(i){tT(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):eg(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function tT(r,e,t){return e=rT(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function pt(){return pt=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},pt.apply(this,arguments)}function iT(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var i=t.call(r,e||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function rT(r){var e=iT(r,"string");return typeof e=="symbol"?e:String(e)}var ce=Number.isFinite||function(r){return typeof r=="number"&&isFinite(r)},b=function(r){return r.MEDIA_ATTACHING="hlsMediaAttaching",r.MEDIA_ATTACHED="hlsMediaAttached",r.MEDIA_DETACHING="hlsMediaDetaching",r.MEDIA_DETACHED="hlsMediaDetached",r.BUFFER_RESET="hlsBufferReset",r.BUFFER_CODECS="hlsBufferCodecs",r.BUFFER_CREATED="hlsBufferCreated",r.BUFFER_APPENDING="hlsBufferAppending",r.BUFFER_APPENDED="hlsBufferAppended",r.BUFFER_EOS="hlsBufferEos",r.BUFFER_FLUSHING="hlsBufferFlushing",r.BUFFER_FLUSHED="hlsBufferFlushed",r.MANIFEST_LOADING="hlsManifestLoading",r.MANIFEST_LOADED="hlsManifestLoaded",r.MANIFEST_PARSED="hlsManifestParsed",r.LEVEL_SWITCHING="hlsLevelSwitching",r.LEVEL_SWITCHED="hlsLevelSwitched",r.LEVEL_LOADING="hlsLevelLoading",r.LEVEL_LOADED="hlsLevelLoaded",r.LEVEL_UPDATED="hlsLevelUpdated",r.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",r.LEVELS_UPDATED="hlsLevelsUpdated",r.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",r.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",r.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",r.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",r.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",r.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",r.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",r.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",r.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",r.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",r.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",r.CUES_PARSED="hlsCuesParsed",r.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",r.INIT_PTS_FOUND="hlsInitPtsFound",r.FRAG_LOADING="hlsFragLoading",r.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",r.FRAG_LOADED="hlsFragLoaded",r.FRAG_DECRYPTED="hlsFragDecrypted",r.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",r.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",r.FRAG_PARSING_METADATA="hlsFragParsingMetadata",r.FRAG_PARSED="hlsFragParsed",r.FRAG_BUFFERED="hlsFragBuffered",r.FRAG_CHANGED="hlsFragChanged",r.FPS_DROP="hlsFpsDrop",r.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",r.ERROR="hlsError",r.DESTROYING="hlsDestroying",r.KEY_LOADING="hlsKeyLoading",r.KEY_LOADED="hlsKeyLoaded",r.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",r.BACK_BUFFER_REACHED="hlsBackBufferReached",r}({}),pe=function(r){return r.NETWORK_ERROR="networkError",r.MEDIA_ERROR="mediaError",r.KEY_SYSTEM_ERROR="keySystemError",r.MUX_ERROR="muxError",r.OTHER_ERROR="otherError",r}({}),B=function(r){return r.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",r.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",r.KEY_SYSTEM_NO_SESSION="keySystemNoSession",r.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",r.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",r.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",r.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",r.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",r.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",r.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",r.MANIFEST_LOAD_ERROR="manifestLoadError",r.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",r.MANIFEST_PARSING_ERROR="manifestParsingError",r.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",r.LEVEL_EMPTY_ERROR="levelEmptyError",r.LEVEL_LOAD_ERROR="levelLoadError",r.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",r.LEVEL_PARSING_ERROR="levelParsingError",r.LEVEL_SWITCH_ERROR="levelSwitchError",r.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",r.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",r.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",r.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",r.FRAG_LOAD_ERROR="fragLoadError",r.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",r.FRAG_DECRYPT_ERROR="fragDecryptError",r.FRAG_PARSING_ERROR="fragParsingError",r.FRAG_GAP="fragGap",r.REMUX_ALLOC_ERROR="remuxAllocError",r.KEY_LOAD_ERROR="keyLoadError",r.KEY_LOAD_TIMEOUT="keyLoadTimeOut",r.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",r.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",r.BUFFER_APPEND_ERROR="bufferAppendError",r.BUFFER_APPENDING_ERROR="bufferAppendingError",r.BUFFER_STALLED_ERROR="bufferStalledError",r.BUFFER_FULL_ERROR="bufferFullError",r.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",r.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",r.INTERNAL_EXCEPTION="internalException",r.INTERNAL_ABORTED="aborted",r.UNKNOWN="unknown",r}({}),Gr=function(){},Su={trace:Gr,debug:Gr,log:Gr,warn:Gr,info:Gr,error:Gr},Un=Su;function sT(r){let e=self.console[r];return e?e.bind(self.console,`[${r}] >`):Gr}function nT(r,...e){e.forEach(function(t){Un[t]=r[t]?r[t].bind(r):sT(t)})}function aT(r,e){if(self.console&&r===!0||typeof r=="object"){nT(r,"debug","log","info","warn","error");try{Un.log(`Debug logs enabled for "${e}" in hls.js version 1.4.10`)}catch{Un=Su}}else Un=Su}var M=Un,oT=/^(\d+)x(\d+)$/,tg=/(.+?)=(".*?"|.*?)(?:,|$)/g,Ze=class{constructor(e){typeof e=="string"&&(e=Ze.parseAttrList(e));for(let t in e)e.hasOwnProperty(t)&&(t.substring(0,2)==="X-"&&(this.clientAttrs=this.clientAttrs||[],this.clientAttrs.push(t)),this[t]=e[t])}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 i=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)i[s]=parseInt(t.slice(s*2,s*2+2),16);return i}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=oT.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,i={},s='"';for(tg.lastIndex=0;(t=tg.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();i[a]=n}return i}};function lT(r){return r!=="ID"&&r!=="CLASS"&&r!=="START-DATE"&&r!=="DURATION"&&r!=="END-DATE"&&r!=="END-ON-NEXT"}function dT(r){return r==="SCTE35-OUT"||r==="SCTE35-IN"}var ul=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let i=t.attr;for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==i[s]){M.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=pt(new Ze({}),i,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let i=new Date(this.attr["END-DATE"]);ce(i.getTime())&&(this._endDate=i)}}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(ce(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&&ce(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Ks=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}}},qe={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},hl=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[qe.AUDIO]:null,[qe.VIDEO]:null,[qe.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let i=e.split("@",2),s=[];i.length===1?s[0]=t?t.byteRangeEndOffset:0:s[0]=parseInt(i[1]),s[1]=parseInt(i[0])+s[0],this._byteRange=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=Ah.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},Fn=class extends hl{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 Ks,this.urlId=0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 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 i=Object.keys(this.levelkeys);if(i.length===1)return this._decryptdata=this.levelkeys[i[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!ce(this.programDateTime))return null;let e=ce(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),i=t.length;if(i>1||i===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,i,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:i,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,i),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[qe.AUDIO]=null,e[qe.VIDEO]=null,e[qe.AUDIOVIDEO]=null}},xu=class extends hl{constructor(e,t,i,s,n){super(i),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 Ks,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)}},cT=10,Iu=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,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t,this.advanced=this.endSN>e.endSN||t>0||t===0&&i>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?ce(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||cT}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 Sh(r){return Uint8Array.from(atob(r),e=>e.charCodeAt(0))}function uT(r){let e=Hg(r).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function hT(r){let e=function(i,s,n){let a=i[s];i[s]=i[n],i[n]=a};e(r,0,3),e(r,1,2),e(r,4,5),e(r,6,7)}function fT(r){let e=r.split(":"),t=null;if(e[0]==="data"&&e.length===2){let i=e[1].split(";"),s=i[i.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(i.splice(-1,1),t=Sh(a)):t=uT(a)}}return t}function Hg(r){return Uint8Array.from(unescape(encodeURIComponent(r)),e=>e.charCodeAt(0))}var st={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Yt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function ig(r){switch(r){case Yt.FAIRPLAY:return st.FAIRPLAY;case Yt.PLAYREADY:return st.PLAYREADY;case Yt.WIDEVINE:return st.WIDEVINE;case Yt.CLEARKEY:return st.CLEARKEY}}var Gg={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function mT(r){if(r===Gg.WIDEVINE)return st.WIDEVINE}function rg(r){switch(r){case st.FAIRPLAY:return Yt.FAIRPLAY;case st.PLAYREADY:return Yt.PLAYREADY;case st.WIDEVINE:return Yt.WIDEVINE;case st.CLEARKEY:return Yt.CLEARKEY}}function su(r){let{drmSystems:e,widevineLicenseUrl:t}=r,i=e?[st.FAIRPLAY,st.WIDEVINE,st.PLAYREADY,st.CLEARKEY].filter(s=>!!e[s]):[];return!i[st.WIDEVINE]&&t&&i.push(st.WIDEVINE),i}var Vg=function(){return typeof self!="undefined"&&self.navigator&&self.navigator.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function pT(r,e,t,i){let s;switch(r){case st.FAIRPLAY:s=["cenc","sinf"];break;case st.WIDEVINE:case st.PLAYREADY:s=["cenc"];break;case st.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${r}`)}return gT(s,e,t,i)}function gT(r,e,t,i){return[{initDataTypes:r,persistentState:i.persistentState||"not-allowed",distinctiveIdentifier:i.distinctiveIdentifier||"not-allowed",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}))}]}function Vr(r,e,t){return Uint8Array.prototype.slice?r.slice(e,t):new Uint8Array(Array.prototype.slice.call(r,e,t))}var xh=(r,e)=>e+10<=r.length&&r[e]===73&&r[e+1]===68&&r[e+2]===51&&r[e+3]<255&&r[e+4]<255&&r[e+6]<128&&r[e+7]<128&&r[e+8]<128&&r[e+9]<128,Kg=(r,e)=>e+10<=r.length&&r[e]===51&&r[e+1]===68&&r[e+2]===73&&r[e+3]<255&&r[e+4]<255&&r[e+6]<128&&r[e+7]<128&&r[e+8]<128&&r[e+9]<128,fl=(r,e)=>{let t=e,i=0;for(;xh(r,e);){i+=10;let s=Cl(r,e+6);i+=s,Kg(r,e+10)&&(i+=10),e+=i}if(i>0)return r.subarray(t,t+i)},Cl=(r,e)=>{let t=0;return t=(r[e]&127)<<21,t|=(r[e+1]&127)<<14,t|=(r[e+2]&127)<<7,t|=r[e+3]&127,t},vT=(r,e)=>xh(r,e)&&Cl(r,e+6)+10<=r.length-e,ET=r=>{let e=qg(r);for(let t=0;t<e.length;t++){let i=e[t];if(Wg(i))return ST(i)}},Wg=r=>r&&r.key==="PRIV"&&r.info==="com.apple.streaming.transportStreamTimestamp",bT=r=>{let e=String.fromCharCode(r[0],r[1],r[2],r[3]),t=Cl(r,4),i=10;return{type:e,size:t,data:r.subarray(i,i+t)}},qg=r=>{let e=0,t=[];for(;xh(r,e);){let i=Cl(r,e+6);e+=10;let s=e+i;for(;e+8<s;){let n=bT(r.subarray(e)),a=yT(n);a&&t.push(a),e+=n.size+10}Kg(r,e)&&(e+=10)}return t},yT=r=>r.type==="PRIV"?TT(r):r.type[0]==="W"?AT(r):_T(r),TT=r=>{if(r.size<2)return;let e=Hi(r.data,!0),t=new Uint8Array(r.data.subarray(e.length+1));return{key:r.type,info:e,data:t.buffer}},_T=r=>{if(r.size<2)return;if(r.type==="TXXX"){let t=1,i=Hi(r.data.subarray(t),!0);t+=i.length+1;let s=Hi(r.data.subarray(t));return{key:r.type,info:i,data:s}}let e=Hi(r.data.subarray(1));return{key:r.type,data:e}},AT=r=>{if(r.type==="WXXX"){if(r.size<2)return;let t=1,i=Hi(r.data.subarray(t),!0);t+=i.length+1;let s=Hi(r.data.subarray(t));return{key:r.type,info:i,data:s}}let e=Hi(r.data);return{key:r.type,data:e}},ST=r=>{if(r.data.byteLength===8){let e=new Uint8Array(r.data),t=e[3]&1,i=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return i/=45,t&&(i+=4772185884e-2),Math.round(i)}},Hi=(r,e=!1)=>{let t=xT();if(t){let d=t.decode(r);if(e){let c=d.indexOf("\0");return c!==-1?d.substring(0,c):d}return d.replace(/\0/g,"")}let i=r.length,s,n,a,o="",l=0;for(;l<i;){if(s=r[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>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=r[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=r[l++],a=r[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},nu;function xT(){return!nu&&typeof self.TextDecoder!="undefined"&&(nu=new self.TextDecoder("utf-8")),nu}var Ni={hexDump:function(r){let e="";for(let t=0;t<r.length;t++){let i=r[t].toString(16);i.length<2&&(i="0"+i),e+=i}return e}},ml=Math.pow(2,32)-1,IT=[].push,Yg={video:1,audio:2,id3:3,text:4};function Lt(r){return String.fromCharCode.apply(null,r)}function jg(r,e){let t=r[e]<<8|r[e+1];return t<0?65536+t:t}function Te(r,e){let t=zg(r,e);return t<0?4294967296+t:t}function zg(r,e){return r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}function au(r,e,t){r[e]=t>>24,r[e+1]=t>>16&255,r[e+2]=t>>8&255,r[e+3]=t&255}function Pe(r,e){let t=[];if(!e.length)return t;let i=r.byteLength;for(let s=0;s<i;){let n=Te(r,s),a=Lt(r.subarray(s+4,s+8)),o=n>1?s+n:i;if(a===e[0])if(e.length===1)t.push(r.subarray(s+8,o));else{let l=Pe(r.subarray(s+8,o),e.slice(1));l.length&&IT.apply(t,l)}s=o}return t}function LT(r){let e=[],t=r[0],i=8,s=Te(r,i);i+=4;let n=0,a=0;t===0?i+=8:i+=16,i+=2;let o=r.length+a,l=jg(r,i);i+=2;for(let d=0;d<l;d++){let c=i,u=Te(r,c);c+=4;let h=u&2147483647;if((u&2147483648)>>>31===1)return M.warn("SIDX has hierarchical references (not supported)"),null;let g=Te(r,c);c+=4,e.push({referenceSize:h,subsegmentDuration:g,info:{duration:g/s,start:o,end:o+h-1}}),o+=h,c+=4,i=c}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function Xg(r){let e=[],t=Pe(r,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=Pe(n,["tkhd"])[0];if(a){let o=a[0],l=o===0?12:20,d=Te(a,l),c=Pe(n,["mdia","mdhd"])[0];if(c){o=c[0],l=o===0?12:20;let u=Te(c,l),h=Pe(n,["mdia","hdlr"])[0];if(h){let f=Lt(h.subarray(8,12)),g={soun:qe.AUDIO,vide:qe.VIDEO}[f];if(g){let E=Pe(n,["mdia","minf","stbl","stsd"])[0],T;E&&(T=Lt(E.subarray(12,16))),e[d]={timescale:u,type:g},e[g]={timescale:u,id:d,codec:T}}}}}}return Pe(r,["moov","mvex","trex"]).forEach(s=>{let n=Te(s,4),a=e[n];a&&(a.default={duration:Te(s,12),flags:Te(s,20)})}),e}function kT(r,e){if(!r||!e)return r;let t=e.keyId;return t&&e.isCommonEncryption&&Pe(r,["moov","trak"]).forEach(s=>{let a=Pe(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=Pe(a,["enca"]),l=o.length>0;l||(o=Pe(a,["encv"])),o.forEach(d=>{let c=l?d.subarray(28):d.subarray(78);Pe(c,["sinf"]).forEach(h=>{let f=Qg(h);if(f){let g=f.subarray(8,24);g.some(E=>E!==0)||(M.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${Ni.hexDump(g)} -> ${Ni.hexDump(t)}`),f.set(t,8))}})})}),r}function Qg(r){let e=Pe(r,["schm"])[0];if(e){let t=Lt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return Pe(r,["schi","tenc"])[0]}return M.error("[eme] missing 'schm' box"),null}function RT(r,e){return Pe(e,["moof","traf"]).reduce((t,i)=>{let s=Pe(i,["tfdt"])[0],n=s[0],a=Pe(i,["tfhd"]).reduce((o,l)=>{let d=Te(l,4),c=r[d];if(c){let u=Te(s,4);if(n===1){if(u===ml)return M.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;u*=ml+1,u+=Te(s,8)}let h=c.timescale||9e4,f=u/h;if(isFinite(f)&&(o===null||f<o))return f}return o},null);return a!==null&&isFinite(a)&&(t===null||a<t)?a:t},null)}function wT(r,e){let t=0,i=0,s=0,n=Pe(r,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=Pe(o,["tfhd"])[0],d=Te(l,4),c=e[d];if(!c)continue;let u=c.default,h=Te(l,0)|(u==null?void 0:u.flags),f=u==null?void 0:u.duration;h&8&&(h&2?f=Te(l,12):f=Te(l,8));let g=c.timescale||9e4,E=Pe(o,["trun"]);for(let T=0;T<E.length;T++){if(t=DT(E[T]),!t&&f){let A=Te(E[T],4);t=f*A}c.type===qe.VIDEO?i+=t/g:c.type===qe.AUDIO&&(s+=t/g)}}if(i===0&&s===0){let a=0,o=Pe(r,["sidx"]);for(let l=0;l<o.length;l++){let d=LT(o[l]);d!=null&&d.references&&(a+=d.references.reduce((c,u)=>c+u.info.duration||0,0))}return a}return i||s}function DT(r){let e=Te(r,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let i=0,s=Te(r,4);for(let n=0;n<s;n++){if(e&256){let a=Te(r,t);i+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return i}function CT(r,e,t){Pe(e,["moof","traf"]).forEach(i=>{Pe(i,["tfhd"]).forEach(s=>{let n=Te(s,4),a=r[n];if(!a)return;let o=a.timescale||9e4;Pe(i,["tfdt"]).forEach(l=>{let d=l[0],c=Te(l,4);if(d===0)c-=t*o,c=Math.max(c,0),au(l,4,c);else{c*=Math.pow(2,32),c+=Te(l,8),c-=t*o,c=Math.max(c,0);let u=Math.floor(c/(ml+1)),h=Math.floor(c%(ml+1));au(l,4,u),au(l,8,h)}})})})}function MT(r){let e={valid:null,remainder:null},t=Pe(r,["moof"]);if(t){if(t.length<2)return e.remainder=r,e}else return e;let i=t[t.length-1];return e.valid=Vr(r,0,i.byteOffset-8),e.remainder=Vr(r,i.byteOffset-8),e}function Kr(r,e){let t=new Uint8Array(r.length+e.length);return t.set(r),t.set(e,r.length),t}function sg(r,e){let t=[],i=e.samples,s=e.timescale,n=e.id,a=!1;return Pe(i,["moof"]).map(l=>{let d=l.byteOffset-8;Pe(l,["traf"]).map(u=>{let h=Pe(u,["tfdt"]).map(f=>{let g=f[0],E=Te(f,4);return g===1&&(E*=Math.pow(2,32),E+=Te(f,8)),E/s})[0];return h!==void 0&&(r=h),Pe(u,["tfhd"]).map(f=>{let g=Te(f,4),E=Te(f,0)&16777215,T=(E&1)!==0,A=(E&2)!==0,k=(E&8)!==0,L=0,N=(E&16)!==0,D=0,$=(E&32)!==0,O=8;g===n&&(T&&(O+=8),A&&(O+=4),k&&(L=Te(f,O),O+=4),N&&(D=Te(f,O),O+=4),$&&(O+=4),e.type==="video"&&(a=OT(e.codec)),Pe(u,["trun"]).map(G=>{let q=G[0],P=Te(G,0)&16777215,X=(P&1)!==0,z=0,Ae=(P&4)!==0,Ee=(P&256)!==0,be=0,we=(P&512)!==0,Se=0,Z=(P&1024)!==0,ne=(P&2048)!==0,se=0,xe=Te(G,4),Ie=8;X&&(z=Te(G,Ie),Ie+=4),Ae&&(Ie+=4);let Ve=z+d;for(let ht=0;ht<xe;ht++){if(Ee?(be=Te(G,Ie),Ie+=4):be=L,we?(Se=Te(G,Ie),Ie+=4):Se=D,Z&&(Ie+=4),ne&&(q===0?se=Te(G,Ie):se=zg(G,Ie),Ie+=4),e.type===qe.VIDEO){let V=0;for(;V<Se;){let J=Te(i,Ve);if(Ve+=4,PT(a,i[Ve])){let ke=i.subarray(Ve,Ve+J);Zg(ke,a?2:1,r+se/s,t)}Ve+=J,V+=J+4}}r+=be/s}}))})})}),t}function OT(r){if(!r)return!1;let e=r.indexOf("."),t=e<0?r:r.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function PT(r,e){if(r){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function Zg(r,e,t,i){let s=Jg(r),n=0;n+=e;let a=0,o=0,l=!1,d=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;d=s[n++],a+=d}while(d===255);o=0;do{if(n>=s.length)break;d=s[n++],o+=d}while(d===255);let c=s.length-n;if(!l&&a===4&&n<s.length){if(l=!0,s[n++]===181){let h=jg(s,n);if(n+=2,h===49){let f=Te(s,n);if(n+=4,f===1195456820){let g=s[n++];if(g===3){let E=s[n++],T=31&E,A=64&E,k=A?2+T*3:0,L=new Uint8Array(k);if(A){L[0]=E;for(let N=1;N<k;N++)L[N]=s[n++]}i.push({type:g,payloadType:a,pts:t,bytes:L})}}}}}else if(a===5&&o<c){if(l=!0,o>16){let u=[];for(let g=0;g<16;g++){let E=s[n++].toString(16);u.push(E.length==1?"0"+E:E),(g===3||g===5||g===7||g===9)&&u.push("-")}let h=o-16,f=new Uint8Array(h);for(let g=0;g<h;g++)f[g]=s[n++];i.push({payloadType:a,pts:t,uuid:u.join(""),userData:Hi(f),userDataBytes:f})}}else if(o<c)n+=o;else if(o>c)break}}function Jg(r){let e=r.byteLength,t=[],i=1;for(;i<e-2;)r[i]===0&&r[i+1]===0&&r[i+2]===3?(t.push(i+2),i+=2):i++;if(t.length===0)return r;let s=e-t.length,n=new Uint8Array(s),a=0;for(i=0;i<s;a++,i++)a===t[0]&&(a++,t.shift()),n[i]=r[a];return n}function NT(r){let e=r[0],t="",i="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;Lt(r.subarray(d,d+1))!=="\0";)t+=Lt(r.subarray(d,d+1)),d+=1;for(t+=Lt(r.subarray(d,d+1)),d+=1;Lt(r.subarray(d,d+1))!=="\0";)i+=Lt(r.subarray(d,d+1)),d+=1;i+=Lt(r.subarray(d,d+1)),d+=1,s=Te(r,12),n=Te(r,16),o=Te(r,20),l=Te(r,24),d=28}else if(e===1){d+=4,s=Te(r,d),d+=4;let u=Te(r,d);d+=4;let h=Te(r,d);for(d+=4,a=2**32*u+h,Number.isSafeInteger(a)||(a=Number.MAX_SAFE_INTEGER,M.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=Te(r,d),d+=4,l=Te(r,d),d+=4;Lt(r.subarray(d,d+1))!=="\0";)t+=Lt(r.subarray(d,d+1)),d+=1;for(t+=Lt(r.subarray(d,d+1)),d+=1;Lt(r.subarray(d,d+1))!=="\0";)i+=Lt(r.subarray(d,d+1)),d+=1;i+=Lt(r.subarray(d,d+1)),d+=1}let c=r.subarray(d,r.byteLength);return{schemeIdUri:t,value:i,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:c}}function UT(r,...e){let t=e.length,i=8,s=t;for(;s--;)i+=e[s].byteLength;let n=new Uint8Array(i);for(n[0]=i>>24&255,n[1]=i>>16&255,n[2]=i>>8&255,n[3]=i&255,n.set(r,4),s=0,i=8;s<t;s++)n.set(e[s],i),i+=e[s].byteLength;return n}function FT(r,e,t){if(r.byteLength!==16)throw new RangeError("Invalid system id");let i,s;if(e){i=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else i=0,s=new Uint8Array;let n;i>0?(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),UT([112,115,115,104],new Uint8Array([i,0,0,0]),r,n,s,a,t||new Uint8Array)}function BT(r){if(!(r instanceof ArrayBuffer)||r.byteLength<32)return null;let e={version:0,systemId:"",kids:null,data:null},t=new DataView(r),i=t.getUint32(0);if(r.byteLength!==i&&i>44||t.getUint32(4)!==1886614376||(e.version=t.getUint32(8)>>>24,e.version>1))return null;e.systemId=Ni.hexDump(new Uint8Array(r,12,16));let n=t.getUint32(28);if(e.version===0){if(i-32<n)return null;e.data=new Uint8Array(r,32,n)}else if(e.version===1){e.kids=[];for(let a=0;a<n;a++)e.kids.push(new Uint8Array(r,32+a*16,16))}return e}var tl={},Wr=class{static clearKeyUriToKeyIdMap(){tl={}}constructor(e,t,i,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Yt.FAIRPLAY:case Yt.WIDEVINE:case Yt.PLAYREADY:case Yt.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&M.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let i=$T(e);return new Wr(this.method,this.uri,"identity",this.keyFormatVersions,i)}let t=fT(this.uri);if(t)switch(this.keyFormat){case Yt.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Yt.PLAYREADY:{let i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=FT(i,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 c=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(c){let u=Sh(c).subarray(0,16);hT(u),this.keyId=u}}break}default:{let i=t.subarray(0,16);if(i.length!==16){let s=new Uint8Array(16);s.set(i,16-i.length),i=s}this.keyId=i;break}}if(!this.keyId||this.keyId.byteLength!==16){let i=tl[this.uri];if(!i){let s=Object.keys(tl).length%Number.MAX_SAFE_INTEGER;i=new Uint8Array(16),new DataView(i.buffer,12,4).setUint32(0,s),tl[this.uri]=i}this.keyId=i}return this}};function $T(r){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=r>>8*(15-t)&255;return e}var e0=/\{\$([a-zA-Z0-9-_]+)\}/g;function ng(r){return e0.test(r)}function Wt(r,e,t){if(r.variableList!==null||r.hasVariableRefs)for(let i=t.length;i--;){let s=t[i],n=e[s];n&&(e[s]=Lu(r,n))}}function Lu(r,e){if(r.variableList!==null||r.hasVariableRefs){let t=r.variableList;return e.replace(e0,i=>{let s=i.substring(2,i.length-1),n=t==null?void 0:t[s];return n===void 0?(r.playlistParsingError||(r.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),i):n})}return e}function ag(r,e,t){let i=r.variableList;i||(r.variableList=i={});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){r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in i?r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):i[s]=n||""}function HT(r,e,t){let i=e.IMPORT;if(t&&i in t){let s=r.variableList;s||(r.variableList=s={}),s[i]=t[i]}else r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}function Ml(){if(typeof self!="undefined")return self.MediaSource||self.WebKitMediaSource}var GT={audio:{a3ds:!0,"ac-3":!0,"ac-4":!0,alac:!0,alaw:!0,dra1:!0,"dts+":!0,"dts-":!0,dtsc:!0,dtse:!0,dtsh:!0,"ec-3":!0,enca:!0,g719:!0,g726:!0,m4ae:!0,mha1:!0,mha2:!0,mhm1:!0,mhm2:!0,mlpa:!0,mp4a:!0,"raw ":!0,Opus:!0,opus:!0,samr:!0,sawb:!0,sawp:!0,sevc:!0,sqcp:!0,ssmv:!0,twos:!0,ulaw:!0},video:{avc1:!0,avc2:!0,avc3:!0,avc4:!0,avcp:!0,av01:!0,drac:!0,dva1:!0,dvav:!0,dvh1:!0,dvhe:!0,encv:!0,hev1:!0,hvc1:!0,mjp2:!0,mp4v:!0,mvc1:!0,mvc2:!0,mvc3:!0,mvc4:!0,resv:!0,rv60:!0,s263:!0,svc1:!0,svc2:!0,"vc-1":!0,vp08:!0,vp09:!0},text:{stpp:!0,wvtt:!0}},og=Ml();function VT(r,e){let t=GT[e];return!!t&&t[r.slice(0,4)]===!0}function ou(r,e){var t;return(t=og==null?void 0:og.isTypeSupported(`${e||"video"}/mp4;codecs="${r}"`))!=null?t:!1}var lg=/#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,dg=/#EXT-X-MEDIA:(.*)/g,KT=/^#EXT(?:INF|-X-TARGETDURATION):/m,cg=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),WT=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)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Zt=class{static findGroup(e,t){for(let i=0;i<e.length;i++){let s=e[i];if(s.id===t)return s}}static convertAVC1ToAVCOTI(e){let t=e.split(".");if(t.length>2){let i=t.shift()+".";return i+=parseInt(t.shift()).toString(16),i+=("000"+parseInt(t.shift()).toString(16)).slice(-4),i}return e}static resolve(e,t){return Ah.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return KT.test(e)}static parseMasterPlaylist(e,t){let i=ng(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:i},n=[];lg.lastIndex=0;let a;for(;(a=lg.exec(e))!=null;)if(a[1]){var o;let d=new Ze(a[1]);Wt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let c=Lu(s,a[2]),u={attrs:d,bitrate:d.decimalInteger("AVERAGE-BANDWIDTH")||d.decimalInteger("BANDWIDTH"),name:d.NAME,url:Zt.resolve(c,t)},h=d.decimalResolution("RESOLUTION");h&&(u.width=h.width,u.height=h.height),qT((d.CODECS||"").split(/[ ,]+/).filter(f=>f),u),u.videoCodec&&u.videoCodec.indexOf("avc1")!==-1&&(u.videoCodec=Zt.convertAVC1ToAVCOTI(u.videoCodec)),(o=u.unknownCodecs)!=null&&o.length||n.push(u),s.levels.push(u)}else if(a[3]){let d=a[3],c=a[4];switch(d){case"SESSION-DATA":{let u=new Ze(c);Wt(s,u,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=u["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=u);break}case"SESSION-KEY":{let u=ug(c,t,s);u.encrypted&&u.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(u)):M.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${c}"`);break}case"DEFINE":{{let u=new Ze(c);Wt(s,u,["NAME","VALUE","QUERYPARAM"]),ag(s,u,t)}break}case"CONTENT-STEERING":{let u=new Ze(c);Wt(s,u,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:Zt.resolve(u["SERVER-URI"],t),pathwayId:u["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=hg(c);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,i){let s,n={},a=i.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(dg.lastIndex=0;(s=dg.exec(e))!==null;){let d=new Ze(s[1]),c=d.TYPE;if(c){let u=o[c],h=n[c]||[];n[c]=h,Wt(i,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",instreamId:d["INSTREAM-ID"],name:d.NAME||d.LANGUAGE||"",type:c,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:d.LANGUAGE,url:d.URI?Zt.resolve(d.URI,t):""};if(u!=null&&u.length){let g=Zt.findGroup(u,f.groupId)||u[0];fg(f,g,"audioCodec"),fg(f,g,"textCodec")}h.push(f)}}return n}static parseLevelPlaylist(e,t,i,s,n,a){let o=new Iu(t),l=o.fragments,d=null,c=0,u=0,h=0,f=0,g=null,E=new Fn(s,t),T,A,k,L=-1,N=!1;for(cg.lastIndex=0,o.m3u8=e,o.hasVariableRefs=ng(e);(T=cg.exec(e))!==null;){N&&(N=!1,E=new Fn(s,t),E.start=h,E.sn=c,E.cc=f,E.level=i,d&&(E.initSegment=d,E.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null));let G=T[1];if(G){E.duration=parseFloat(G);let q=(" "+T[2]).slice(1);E.title=q||null,E.tagList.push(q?["INF",G,q]:["INF",G])}else if(T[3]){if(ce(E.duration)){E.start=h,k&&gg(E,k,o),E.sn=c,E.level=i,E.cc=f,E.urlId=n,l.push(E);let q=(" "+T[3]).slice(1);E.relurl=Lu(o,q),mg(E,g),g=E,h+=E.duration,c++,u=0,N=!0}}else if(T[4]){let q=(" "+T[4]).slice(1);g?E.setByteRange(q,g):E.setByteRange(q)}else if(T[5])E.rawProgramDateTime=(" "+T[5]).slice(1),E.tagList.push(["PROGRAM-DATE-TIME",E.rawProgramDateTime]),L===-1&&(L=l.length);else{if(T=T[0].match(WT),!T){M.warn("No matches on slow regex match for level playlist!");continue}for(A=1;A<T.length&&typeof T[A]=="undefined";A++);let q=(" "+T[A]).slice(1),P=(" "+T[A+1]).slice(1),X=T[A+2]?(" "+T[A+2]).slice(1):"";switch(q){case"PLAYLIST-TYPE":o.type=P.toUpperCase();break;case"MEDIA-SEQUENCE":c=o.startSN=parseInt(P);break;case"SKIP":{let z=new Ze(P);Wt(o,z,["RECENTLY-REMOVED-DATERANGES"]);let Ae=z.decimalInteger("SKIPPED-SEGMENTS");if(ce(Ae)){o.skippedSegments=Ae;for(let be=Ae;be--;)l.unshift(null);c+=Ae}let Ee=z.enumeratedString("RECENTLY-REMOVED-DATERANGES");Ee&&(o.recentlyRemovedDateranges=Ee.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(P),1);break;case"VERSION":o.version=parseInt(P);break;case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(P||X)&&E.tagList.push(X?[P,X]:[P]);break;case"DISCONTINUITY":f++,E.tagList.push(["DIS"]);break;case"GAP":E.gap=!0,E.tagList.push([q]);break;case"BITRATE":E.tagList.push([q,P]);break;case"DATERANGE":{let z=new Ze(P);Wt(o,z,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Wt(o,z,z.clientAttrs);let Ae=new ul(z,o.dateRanges[z.ID]);Ae.isValid||o.skippedSegments?o.dateRanges[Ae.id]=Ae:M.warn(`Ignoring invalid DATERANGE tag: "${P}"`),E.tagList.push(["EXT-X-DATERANGE",P]);break}case"DEFINE":{{let z=new Ze(P);Wt(o,z,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in z?HT(o,z,a):ag(o,z,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(P);break;case"KEY":{let z=ug(P,t,o);if(z.isSupported()){if(z.method==="NONE"){k=void 0;break}k||(k={}),k[z.keyFormat]&&(k=pt({},k)),k[z.keyFormat]=z}else M.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${P}"`);break}case"START":o.startTimeOffset=hg(P);break;case"MAP":{let z=new Ze(P);if(Wt(o,z,["BYTERANGE","URI"]),E.duration){let Ae=new Fn(s,t);pg(Ae,z,i,k),d=Ae,E.initSegment=d,d.rawProgramDateTime&&!E.rawProgramDateTime&&(E.rawProgramDateTime=d.rawProgramDateTime)}else pg(E,z,i,k),d=E,N=!0;break}case"SERVER-CONTROL":{let z=new Ze(P);o.canBlockReload=z.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=z.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&z.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=z.optionalFloat("PART-HOLD-BACK",0),o.holdBack=z.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let z=new Ze(P);o.partTarget=z.decimalFloatingPoint("PART-TARGET");break}case"PART":{let z=o.partList;z||(z=o.partList=[]);let Ae=u>0?z[z.length-1]:void 0,Ee=u++,be=new Ze(P);Wt(o,be,["BYTERANGE","URI"]);let we=new xu(be,E,t,Ee,Ae);z.push(we),E.duration+=we.duration;break}case"PRELOAD-HINT":{let z=new Ze(P);Wt(o,z,["URI"]),o.preloadHint=z;break}case"RENDITION-REPORT":{let z=new Ze(P);Wt(o,z,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(z);break}default:M.warn(`line parsed but not handled: ${T}`);break}}}g&&!g.relurl?(l.pop(),h-=g.duration,o.partList&&(o.fragmentHint=g)):o.partList&&(mg(E,g),E.cc=f,o.fragmentHint=E,k&&gg(E,k,o));let D=l.length,$=l[0],O=l[D-1];if(h+=o.skippedSegments*o.targetduration,h>0&&D&&O){o.averagetargetduration=h/D;let G=O.sn;o.endSN=G!=="initSegment"?G:0,o.live||(O.endList=!0),$&&(o.startCC=$.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,L>0&&YT(l,L),o}};function ug(r,e,t){var i,s;let n=new Ze(r);Wt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(i=n.METHOD)!=null?i:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,c=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&M.error(`Invalid IV: ${n.IV}`);let u=o?Zt.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new Wr(a,u,c,h,l)}function hg(r){let t=new Ze(r).decimalFloatingPoint("TIME-OFFSET");return ce(t)?t:null}function qT(r,e){["video","audio","text"].forEach(t=>{let i=r.filter(s=>VT(s,t));if(i.length){let s=i.filter(n=>n.lastIndexOf("avc1",0)===0||n.lastIndexOf("mp4a",0)===0);e[`${t}Codec`]=s.length>0?s[0]:i[0],r=r.filter(n=>i.indexOf(n)===-1)}}),e.unknownCodecs=r}function fg(r,e,t){let i=e[t];i&&(r[t]=i)}function YT(r,e){let t=r[e];for(let i=e;i--;){let s=r[i];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function mg(r,e){r.rawProgramDateTime?r.programDateTime=Date.parse(r.rawProgramDateTime):e!=null&&e.programDateTime&&(r.programDateTime=e.endProgramDateTime),ce(r.programDateTime)||(r.programDateTime=null,r.rawProgramDateTime=null)}function pg(r,e,t,i){r.relurl=e.URI,e.BYTERANGE&&r.setByteRange(e.BYTERANGE),r.level=t,r.sn="initSegment",i&&(r.levelkeys=i),r.initSegment=null}function gg(r,e,t){r.levelkeys=e;let{encryptedFragments:i}=t;(!i.length||i[i.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&i.push(r)}var Ue={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},ge={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function vg(r){let{type:e}=r;switch(e){case Ue.AUDIO_TRACK:return ge.AUDIO;case Ue.SUBTITLE_TRACK:return ge.SUBTITLE;default:return ge.MAIN}}function lu(r,e){let t=r.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var ku=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(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.LEVEL_LOADING,this.onLevelLoading,this),e.on(b.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(b.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.LEVEL_LOADING,this.onLevelLoading,this),e.off(b.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(b.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,s=t.loader,n=i||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:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Ue.MANIFEST,url:i,deliveryDirectives:null})}onLevelLoading(e,t){let{id:i,level:s,url:n,deliveryDirectives:a}=t;this.load({id:i,level:s,responseType:"text",type:Ue.LEVEL,url:n,deliveryDirectives:a})}onAudioTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:Ue.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:Ue.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let i=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url){M.trace("[playlist-loader]: playlist request ongoing");return}M.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===Ue.MANIFEST?n=i.manifestLoadPolicy.default:n=pt({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),(t=e.deliveryDirectives)!=null&&t.part){let d;if(e.type===Ue.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===Ue.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===Ue.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let c=d.partTarget,u=d.targetduration;if(c&&u){let h=Math.max(c*3,u*.8)*1e3;n=pt({},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,c,u,h)=>{let f=this.getInternalLoader(u);this.resetInternalLoader(u.type);let g=d.data;if(g.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,u,new Error("no EXTM3U delimiter"),h||null,c);return}c.parsing.start=performance.now(),Zt.isMediaPlaylist(g)?this.handleTrackOrLevelPlaylist(d,c,u,h||null,f):this.handleMasterPlaylist(d,c,u,h)},onError:(d,c,u,h)=>{this.handleNetworkError(c,u,!1,d,h)},onTimeout:(d,c,u)=>{this.handleNetworkError(c,u,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,i,s){let n=this.hls,a=e.data,o=lu(e,i),l=Zt.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,i,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:c,sessionData:u,sessionKeys:h,startTimeOffset:f,variableList:g}=l;this.variableList=g;let{AUDIO:E=[],SUBTITLES:T,"CLOSED-CAPTIONS":A}=Zt.parseMasterPlaylistMedia(a,o,l);E.length&&!E.some(L=>!L.url)&&c[0].audioCodec&&!c[0].attrs.AUDIO&&(M.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),E.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Ze({}),bitrate:0,url:""})),n.trigger(b.MANIFEST_LOADED,{levels:c,audioTracks:E,subtitles:T,captions:A,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:u,sessionKeys:h,startTimeOffset:f,variableList:g})}handleTrackOrLevelPlaylist(e,t,i,s,n){let a=this.hls,{id:o,level:l,type:d}=i,c=lu(e,i),u=ce(o)?o:0,h=ce(l)?l:u,f=vg(i),g=Zt.parseLevelPlaylist(e.data,c,h,f,u,this.variableList);if(d===Ue.MANIFEST){let E={attrs:new Ze({}),bitrate:0,details:g,name:"",url:c};a.trigger(b.MANIFEST_LOADED,{levels:[E],audioTracks:[],url:c,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=g,this.handlePlaylistLoaded(g,e,t,i,s,n)}handleManifestParsingError(e,t,i,s,n){this.hls.trigger(b.ERROR,{type:pe.NETWORK_ERROR,details:B.MANIFEST_PARSING_ERROR,fatal:t.type===Ue.MANIFEST,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,i=!1,s,n){let a=`A network ${i?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===Ue.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===Ue.AUDIO_TRACK||e.type===Ue.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);M.warn(`[playlist-loader]: ${a}`);let l=B.UNKNOWN,d=!1,c=this.getInternalLoader(e);switch(e.type){case Ue.MANIFEST:l=i?B.MANIFEST_LOAD_TIMEOUT:B.MANIFEST_LOAD_ERROR,d=!0;break;case Ue.LEVEL:l=i?B.LEVEL_LOAD_TIMEOUT:B.LEVEL_LOAD_ERROR,d=!1;break;case Ue.AUDIO_TRACK:l=i?B.AUDIO_TRACK_LOAD_TIMEOUT:B.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case Ue.SUBTITLE_TRACK:l=i?B.SUBTITLE_TRACK_LOAD_TIMEOUT:B.SUBTITLE_LOAD_ERROR,d=!1;break}c&&this.resetInternalLoader(e.type);let u={type:pe.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:c,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;u.response=jt({url:h,data:void 0},s)}this.hls.trigger(b.ERROR,u)}handlePlaylistLoaded(e,t,i,s,n,a){let o=this.hls,{type:l,level:d,id:c,groupId:u,deliveryDirectives:h}=s,f=lu(t,s),g=vg(s),E=typeof s.level=="number"&&g===ge.MAIN?d:void 0;if(!e.fragments.length){let A=new Error("No Segments found in Playlist");o.trigger(b.ERROR,{type:pe.NETWORK_ERROR,details:B.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:A,reason:A.message,response:t,context:s,level:E,parent:g,networkDetails:n,stats:i});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let T=e.playlistParsingError;if(T){o.trigger(b.ERROR,{type:pe.NETWORK_ERROR,details:B.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:T,reason:T.message,response:t,context:s,level:E,parent:g,networkDetails:n,stats:i});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case Ue.MANIFEST:case Ue.LEVEL:o.trigger(b.LEVEL_LOADED,{details:e,level:E||0,id:c||0,stats:i,networkDetails:n,deliveryDirectives:h});break;case Ue.AUDIO_TRACK:o.trigger(b.AUDIO_TRACK_LOADED,{details:e,id:c||0,groupId:u||"",stats:i,networkDetails:n,deliveryDirectives:h});break;case Ue.SUBTITLE_TRACK:o.trigger(b.SUBTITLE_TRACK_LOADED,{details:e,id:c||0,groupId:u||"",stats:i,networkDetails:n,deliveryDirectives:h});break}}};function t0(r,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=r,e.dispatchEvent(t)}function i0(r,e){let t=r.mode;if(t==="disabled"&&(r.mode="hidden"),r.cues&&!r.cues.getCueById(e.id))try{if(r.addCue(e),!r.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(i){M.debug(`[texttrack-utils]: ${i}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,r.addCue(s)}catch(s){M.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(r.mode=t)}function Gs(r){let e=r.mode;if(e==="disabled"&&(r.mode="hidden"),r.cues)for(let t=r.cues.length;t--;)r.removeCue(r.cues[t]);e==="disabled"&&(r.mode=e)}function Ru(r,e,t,i){let s=r.mode;if(s==="disabled"&&(r.mode="hidden"),r.cues&&r.cues.length>0){let n=zT(r.cues,e,t);for(let a=0;a<n.length;a++)(!i||i(n[a]))&&r.removeCue(n[a])}s==="disabled"&&(r.mode=s)}function jT(r,e){if(e<r[0].startTime)return 0;let t=r.length-1;if(e>r[t].endTime)return-1;let i=0,s=t;for(;i<=s;){let n=Math.floor((s+i)/2);if(e<r[n].startTime)s=n-1;else if(e>r[n].startTime&&i<t)i=n+1;else return n}return r[i].startTime-e<e-r[s].startTime?i:s}function zT(r,e,t){let i=[],s=jT(r,e);if(s>-1)for(let n=s,a=r.length;n<a;n++){let o=r[n];if(o.startTime>=e&&o.endTime<=t)i.push(o);else if(o.startTime>t)return i}return i}var Ei={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},XT=.25;function wu(){if(typeof self!="undefined")return self.WebKitDataCue||self.VTTCue||self.TextTrackCue}var il=(()=>{let r=wu();try{new r(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function du(r,e){return r.getTime()/1e3-e}function QT(r){return Uint8Array.from(r.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Du=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(b.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(b.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(b.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(b.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(b.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(b.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(b.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(b.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){!this.id3Track||(Gs(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;t<e.length;t++){let i=e[t];if(i.kind==="metadata"&&i.label==="id3")return t0(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:i,enableID3MetadataCues:s}}}=this;if(!i&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=wu();for(let o=0;o<n.length;o++){let l=n[o].type;if(l===Ei.emsg&&!i||!s)continue;let d=qg(n[o].data);if(d){let c=n[o].pts,u=c+n[o].duration;u>il&&(u=il),u-c<=0&&(u=c+XT);for(let f=0;f<d.length;f++){let g=d[f];if(!Wg(g)){this.updateId3CueEnds(c,l);let E=new a(c,u,"");E.value=g,l&&(E.type=l),this.id3Track.addCue(E)}}}}}updateId3CueEnds(e,t){var i;let s=(i=this.id3Track)==null?void 0:i.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===il&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=c=>c.type===Ei.audioId3&&l:s==="video"?d=c=>c.type===Ei.emsg&&o:d=c=>c.type===Ei.audioId3&&l||c.type===Ei.emsg&&o,Ru(n,t,i,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:i,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let c=Object.keys(i).filter(u=>!a.includes(u));for(let u=c.length;u--;){let h=c[u];Object.keys(i[h].cues).forEach(f=>{s.removeCue(i[h].cues[f])}),delete i[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!ce(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=wu();for(let c=0;c<a.length;c++){let u=a[c],h=n[u],f=i[u],g=(f==null?void 0:f.cues)||{},E=(f==null?void 0:f.durationKnown)||!1,T=du(h.startDate,l),A=il,k=h.endDate;if(k)A=du(k,l),E=!0;else if(h.endOnNext&&!E){let N=a.reduce((D,$)=>{let O=n[$];return O.class===h.class&&O.id!==$&&O.startDate>h.startDate&&D.push(O),D},[]).sort((D,$)=>D.startDate.getTime()-$.startDate.getTime())[0];N&&(A=du(N.startDate,l),E=!0)}let L=Object.keys(h.attr);for(let N=0;N<L.length;N++){let D=L[N];if(!lT(D))continue;let $=g[D];if($)E&&!f.durationKnown&&($.endTime=A);else{let O=h.attr[D];$=new d(T,A,""),dT(D)&&(O=QT(O)),$.value={key:D,data:O},$.type=Ei.dateRange,$.id=u,this.id3Track.addCue($),g[D]=$}}i[u]={cues:g,dateRange:h,durationKnown:E}}}},Cu=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.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:i,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&i||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let c=s,u=1;return d+Math.min(this.stallCount*u,c)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,i=this.levelDetails;if(e===null||t===null||i===null)return null;let s=i.edge,n=e-t-this.edgeStalled,a=s-i.totalduration,o=s-(this.config.lowLatencyMode&&i.partTarget||i.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 i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(b.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(b.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(b.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(b.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(b.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(b.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(b.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(b.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(b.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(b.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 i;t.details===B.BUFFER_STALLED_ERROR&&(this.stallCount++,(i=this.levelDetails)!=null&&i.live&&M.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 i=this.computeLatency();if(i===null)return;this._latency=i;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1)return;let a=this.targetLatency;if(a===null)return;let o=i-a,l=Math.min(this.maxLatency,a+t.targetduration),d=o<l;if(t.live&&d&&o>.05&&this.forwardBufferLength>1){let c=Math.min(2,Math.max(1,n)),u=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(c,Math.max(1,u))}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}},Mu=["NONE","TYPE-0","TYPE-1",null],Bn={No:"",Yes:"YES",v2:"v2"};function ZT(r,e){let{canSkipUntil:t,canSkipDateRanges:i,endSN:s}=r,n=e!==void 0?e-s:0;return t&&n<t?i?Bn.v2:Bn.Yes:Bn.No}var pl=class{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},qr=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.unknownCodecs=void 0,this.audioGroupIds=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.textGroupIds=void 0,this.url=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.unknownCodecs=e.unknownCodecs,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>t).join(",").replace(/\.[^.,]+/g,"")}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get attrs(){return this._attrs[this._urlId]}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get uri(){return this.url[this._urlId]||""}get urlId(){return this._urlId}set urlId(e){let t=e%this.url.length;this._urlId!==t&&(this.fragmentError=0,this.loadError=0,this.details=void 0,this._urlId=t)}get audioGroupId(){var e;return(e=this.audioGroupIds)==null?void 0:e[this.urlId]}get textGroupId(){var e;return(e=this.textGroupIds)==null?void 0:e[this.urlId]}addFallback(e){this.url.push(e.url),this._attrs.push(e.attrs)}};function cu(r,e){let t=e.startPTS;if(ce(t)){let i=0,s;e.sn>r.sn?(i=t-r.start,s=r):(i=r.start-t,s=e),s.duration!==i&&(s.duration=i)}else e.sn>r.sn?r.cc===e.cc&&r.minEndPTS?e.start=r.start+(r.minEndPTS-r.start):e.start=r.start+r.duration:e.start=Math.max(r.start-e.duration,0)}function r0(r,e,t,i,s,n){i-t<=0&&(M.warn("Fragment should have a positive duration",e),i=t+e.duration,n=s+e.duration);let o=t,l=i,d=e.startPTS,c=e.endPTS;if(ce(d)){let T=Math.abs(d-t);ce(e.deltaPTS)?e.deltaPTS=Math.max(T,e.deltaPTS):e.deltaPTS=T,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(i,c),i=Math.max(i,c),n=Math.max(n,e.endDTS)}let u=t-e.start;e.start!==0&&(e.start=t),e.duration=i-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=i,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!r||h<r.startSN||h>r.endSN)return 0;let f,g=h-r.startSN,E=r.fragments;for(E[g]=e,f=g;f>0;f--)cu(E[f],E[f-1]);for(f=g;f<E.length-1;f++)cu(E[f],E[f+1]);return r.fragmentHint&&cu(E[E.length-1],r.fragmentHint),r.PTSKnown=r.alignedSliding=!0,u}function JT(r,e){let t=null,i=r.fragments;for(let l=i.length-1;l>=0;l--){let d=i[l].initSegment;if(d){t=d;break}}r.fragmentHint&&delete r.fragmentHint.endPTS;let s=0,n;if(i_(r,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),ce(l.startPTS)&&ce(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,d.urlId=l.urlId,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var c;(!d.initSegment||d.initSegment.relurl===((c=t)==null?void 0:c.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){M.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=e_(r.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){M.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),t_(r.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?r0(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):s0(r,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=r.driftStartTime,e.driftStart=r.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=r.driftEndTime,e.driftEnd=r.driftEnd,e.advancedDateTime=r.advancedDateTime}function e_(r,e,t){let i=pt({},r);return t&&t.forEach(s=>{delete i[s]}),Object.keys(e).forEach(s=>{let n=new ul(e[s].attr,i[s]);n.isValid?i[s]=n:M.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),i}function t_(r,e,t){if(r&&e){let i=0;for(let s=0,n=r.length;s<=n;s++){let a=r[s],o=e[s+i];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):i--}}}function i_(r,e,t){let i=e.skippedSegments,s=Math.max(r.startSN,e.startSN)-e.startSN,n=(r.fragmentHint?1:0)+(i?e.endSN:Math.min(r.endSN,e.endSN))-e.startSN,a=e.startSN-r.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=r.fragmentHint?r.fragments.concat(r.fragmentHint):r.fragments;for(let d=s;d<=n;d++){let c=l[a+d],u=o[d];i&&!u&&d<i&&(u=e.fragments[d]=c),c&&u&&t(c,u)}}function s0(r,e){let t=e.startSN+e.skippedSegments-r.startSN,i=r.fragments;t<0||t>=i.length||Ou(e,i[t].start)}function Ou(r,e){if(e){let t=r.fragments;for(let i=r.skippedSegments;i<t.length;i++)t[i].start+=e;r.fragmentHint&&(r.fragmentHint.start+=e)}}function r_(r,e=1/0){let t=1e3*r.targetduration;if(r.updated){let i=r.fragments,s=4;if(i.length&&t*s>e){let n=i[i.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function s_(r,e,t){if(!(r!=null&&r.details))return null;let i=r.details,s=i.fragments[e-i.startSN];return s||(s=i.fragmentHint,s&&s.sn===e)?s:e<i.startSN&&t&&t.sn===e?t:null}function Eg(r,e,t){var i;return r!=null&&r.details?n0((i=r.details)==null?void 0:i.partList,e,t):null}function n0(r,e,t){if(r)for(let i=r.length;i--;){let s=r[i];if(s.index===t&&s.fragment.sn===e)return s}return null}function gl(r){switch(r.details){case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_TIMEOUT:case B.LEVEL_LOAD_TIMEOUT:case B.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function bg(r,e){let t=gl(e);return r.default[`${t?"timeout":"error"}Retry`]}function Ih(r,e){let t=r.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*r.retryDelayMs,r.maxRetryDelayMs)}function yg(r){return jt(jt({},r),{errorRetry:null,timeoutRetry:null})}function vl(r,e,t,i){return!!r&&e<r.maxNumRetry&&(n_(i)||!!t)}function n_(r){return r===0&&navigator.onLine===!1||!!r&&(r<400||r>499)}var a0={search:function(r,e){let t=0,i=r.length-1,s=null,n=null;for(;t<=i;){s=(t+i)/2|0,n=r[s];let a=e(n);if(a>0)t=s+1;else if(a<0)i=s-1;else return n}return null}};function a_(r,e,t){if(e===null||!Array.isArray(r)||!r.length||!ce(e))return null;let i=r[0].programDateTime;if(e<(i||0))return null;let s=r[r.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<r.length;++n){let a=r[n];if(o_(e,t,a))return a}return null}function Gn(r,e,t=0,i=0){let s=null;if(r?s=e[r.sn-e[0].sn+1]||null:t===0&&e[0].start===0&&(s=e[0]),s&&Pu(t,i,s)===0)return s;let n=a0.search(e,Pu.bind(null,t,i));return n&&(n!==r||!s)?n:s}function Pu(r=0,e=0,t){if(t.start<=r&&t.start+t.duration>r)return 0;let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-i<=r?1:t.start-i>r&&t.start?-1:0}function o_(r,e,t){let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-i>r}function l_(r,e){return a0.search(r,t=>t.cc<e?1:t.cc>e?-1:0)}var d_=3e5,Mt={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},oi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Nu=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=M.log.bind(M,"[info]:"),this.warn=M.warn.bind(M,"[warning]:"),this.error=M.error.bind(M,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(b.ERROR,this.onError,this),e.on(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;!e||(e.off(b.ERROR,this.onError,this),e.off(b.ERROR,this.onErrorOut,this),e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){this.playlistError=0}stopLoad(){}getVariantLevelIndex(e){return(e==null?void 0:e.type)===ge.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var i,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case B.FRAG_PARSING_ERROR:if((i=t.frag)!=null&&i.gap){t.errorAction={action:Mt.DoNothing,flags:oi.None};return}case B.FRAG_GAP:case B.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=Mt.SendAlternateToPenaltyBox;return}case B.LEVEL_EMPTY_ERROR:case B.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===ge.MAIN?t.level:n.loadLevel;t.details===B.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 B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case B.AUDIO_TRACK_LOAD_ERROR:case B.AUDIO_TRACK_LOAD_TIMEOUT:case B.SUBTITLE_LOAD_ERROR:case B.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===Ue.AUDIO_TRACK&&a.groupId===d.audioGroupId||a.type===Ue.SUBTITLE_TRACK&&a.groupId===d.textGroupId)){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=Mt.SendAlternateToPenaltyBox,t.errorAction.flags=oi.MoveAllAlternatesMatchingHost;return}}return;case B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],c=d==null?void 0:d.attrs["HDCP-LEVEL"];c&&(t.errorAction={action:Mt.SendAlternateToPenaltyBox,flags:oi.MoveAllAlternatesMatchingHDCP,hdcpLevel:c})}return;case B.BUFFER_ADD_CODEC_ERROR:case B.REMUX_ALLOC_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case B.INTERNAL_EXCEPTION:case B.BUFFER_APPENDING_ERROR:case B.BUFFER_APPEND_ERROR:case B.BUFFER_FULL_ERROR:case B.LEVEL_SWITCH_ERROR:case B.BUFFER_STALLED_ERROR:case B.BUFFER_SEEK_OVER_HOLE:case B.BUFFER_NUDGE_ON_STALL:t.errorAction={action:Mt.DoNothing,flags:oi.None};return}if(t.type===pe.KEY_SYSTEM_ERROR){let d=this.getVariantLevelIndex(t.frag);t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d);return}}getPlaylistRetryOrSwitchAction(e,t){var i;let s=this.hls,n=bg(s.config.playlistLoadPolicy,e),a=this.playlistError++,o=(i=e.response)==null?void 0:i.code;if(vl(n,a,gl(e),o))return{action:Mt.RetryRequest,flags:oi.None,retryConfig:n,retryCount:a};let d=this.getLevelSwitchAction(e,t);return n&&(d.retryConfig=n,d.retryCount=a),d}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),s=t.levels[i],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=bg(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,h)=>u+h.fragmentError,0);if(s){var d;e.details!==B.FRAG_GAP&&s.fragmentError++;let u=(d=e.response)==null?void 0:d.code;if(vl(o,l,gl(e),u))return{action:Mt.RetryRequest,flags:oi.None,retryConfig:o,retryCount:l}}let c=this.getLevelSwitchAction(e,i);return o&&(c.retryConfig=o,c.retryCount=l),c}getLevelSwitchAction(e,t){let i=this.hls;t==null&&(t=i.loadLevel);let s=this.hls.levels[t];if(s&&(s.loadError++,i.autoLevelEnabled)){var n,a;let o=-1,{levels:l,loadLevel:d,minAutoLevel:c,maxAutoLevel:u}=i,h=(n=e.frag)==null?void 0:n.type,{type:f,groupId:g}=(a=e.context)!=null?a:{};for(let E=l.length;E--;){let T=(E+d)%l.length;if(T!==d&&T>=c&&T<=u&&l[T].loadError===0){let A=l[T];if(e.details===B.FRAG_GAP&&e.frag){let k=l[T].details;if(k){let L=Gn(e.frag,k.fragments,e.frag.start);if(L!=null&&L.gap)continue}}else{if(f===Ue.AUDIO_TRACK&&g===A.audioGroupId||f===Ue.SUBTITLE_TRACK&&g===A.textGroupId)continue;if(h===ge.AUDIO&&s.audioGroupId===A.audioGroupId||h===ge.SUBTITLE&&s.textGroupId===A.textGroupId)continue}o=T;break}}if(o>-1&&i.loadLevel!==o)return e.levelRetry=!0,this.playlistError=0,{action:Mt.SendAlternateToPenaltyBox,flags:oi.None,nextAutoLevel:o}}return{action:Mt.SendAlternateToPenaltyBox,flags:oi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var i;switch((i=t.errorAction)==null?void 0:i.action){case Mt.DoNothing:break;case Mt.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==B.FRAG_GAP&&(t.fatal=!0);break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=i;switch(s){case oi.None:this.switchLevel(e,a);break;case oi.MoveAllAlternatesMatchingHost:i.resolved||(i.resolved=this.redundantFailover(e));break;case oi.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=Mu[Mu.indexOf(n)-1],i.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}i.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)}redundantFailover(e){let{hls:t,penalizedRenditions:i}=this,s=e.parent===ge.MAIN?e.level:t.loadLevel,n=t.levels[s],a=n.url.length,o=e.frag?e.frag.urlId:n.urlId;n.urlId===o&&(!e.frag||n.details)&&this.penalizeRendition(n,e);for(let l=1;l<a;l++){let d=(o+l)%a,c=i[d];if(!c||c_(c,e,i[o]))return this.warn(`Switching to Redundant Stream ${d+1}/${a}: "${n.url[d]}" after ${e.details}`),this.playlistError=0,t.levels.forEach(u=>{u.urlId=d}),t.nextLoadLevel=s,!0}return!1}penalizeRendition(e,t){let{penalizedRenditions:i}=this,s=i[e.urlId]||{lastErrorPerfMs:0,errors:[],details:void 0};s.lastErrorPerfMs=performance.now(),s.errors.push(t),s.details=e.details,i[e.urlId]=s}};function c_(r,e,t){if(performance.now()-r.lastErrorPerfMs>d_)return!0;let i=r.details;if(e.details===B.FRAG_GAP&&i&&e.frag){let s=e.frag.start,n=Gn(null,i.fragments,s);if(n&&!n.gap)return!0}if(t&&r.errors.length<t.errors.length){let s=r.errors[r.errors.length-1];if(i&&s.frag&&e.frag&&Math.abs(s.frag.start-e.frag.start)>i.targetduration*3)return!0}return!1}var Vn=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=M.log.bind(M,`${t}:`),this.warn=M.warn.bind(M,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){clearTimeout(this.timer),this.timer=-1}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t){let i=t==null?void 0:t.renditionReports;if(i){let s=-1;for(let n=0;n<i.length;n++){let a=i[n],o;try{o=new self.URL(a.URI,t.url).href}catch(l){M.warn(`Could not construct new URL for Rendition Report: ${l}`),o=a.URI||""}if(o===e){s=n;break}else o===e.substring(0,o.length)&&(s=n)}if(s!==-1){let n=i[s],a=parseInt(n["LAST-MSN"])||(t==null?void 0:t.lastPartSn),o=parseInt(n["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let l=Math.min(t.age-t.partTarget,t.targetduration);o>=0&&l>t.partTarget&&(o+=1)}return new pl(a,o>=0?o:void 0,Bn.No)}}}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,i){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||i!=null&&i.live){if(s.reloaded(i),i&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:"MISSED"}`),i&&s.fragments.length>0&&JT(i,s),!this.canLoad||!s.live)return;let l,d,c;if(s.canBlockReload&&s.endSN&&s.advanced){let T=this.hls.config.lowLatencyMode,A=s.lastPartSn,k=s.endSN,L=s.lastPartIndex,N=L!==-1,D=A===k,$=T?0:L;N?(d=D?k+1:A,c=D?$:L+1):d=k+1;let O=s.age,G=O+s.ageHeader,q=Math.min(G-s.partTarget,s.targetduration*1.5);if(q>0){if(i&&q>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${q} with playlist age: ${s.age}`),q=0;else{let P=Math.floor(q/s.targetduration);if(d+=P,c!==void 0){let X=Math.round(q%s.targetduration/s.partTarget);c+=X}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${O.toFixed(2)}s goal: ${q} skip sn ${P} to part ${c}`)}s.tuneInGoal=q}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,c),T||!D){this.loadPlaylist(l);return}}else s.canBlockReload&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,c));let u=this.hls.mainForwardBufferInfo,h=u?u.end-u.len:0,f=(s.edge-h)*1e3,g=r_(s,f);s.updated&&a>this.requestScheduled+g&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+g-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+g<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=g);let E=this.requestScheduled-a;E=Math.max(0,E),this.log(`reload live playlist ${e} in ${Math.round(E)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),E)}else this.clearTimer()}getDeliveryDirectives(e,t,i,s){let n=ZT(e,i);return t!=null&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,s=t.part,n=Bn.No),new pl(i,s,n)}checkRetry(e){let t=e.details,i=gl(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(i&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let c=Ih(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),c),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${c}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},uu,Uu=class extends Vn{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-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(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(b.LEVEL_LOADED,this.onLevelLoaded,this),e.on(b.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(b.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(b.FRAG_LOADED,this.onFragLoaded,this),e.on(b.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(b.LEVEL_LOADED,this.onLevelLoaded,this),e.off(b.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(b.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(b.FRAG_LOADED,this.onFragLoaded,this),e.off(b.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}startLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.startLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[]}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let i=[],s={},n;t.levels.forEach(a=>{var o;let l=a.attrs;((o=a.audioCodec)==null?void 0:o.indexOf("mp4a.40.34"))!==-1&&(uu||(uu=/chrome|firefox/i.test(navigator.userAgent)),uu&&(a.audioCodec=void 0));let{AUDIO:d,CODECS:c,"FRAME-RATE":u,"PATHWAY-ID":h,RESOLUTION:f,SUBTITLES:g}=l,T=`${`${h||"."}-`}${a.bitrate}-${f}-${u}-${c}`;n=s[T],n?n.addFallback(a):(n=new qr(a),s[T]=n,i.push(n)),El(n,"audio",d),El(n,"text",g)}),this.filterAndSortMediaOptions(i,t)}filterAndSortMediaOptions(e,t){let i=[],s=[],n=!1,a=!1,o=!1,l=e.filter(({audioCodec:f,videoCodec:g,width:E,height:T,unknownCodecs:A})=>(n||(n=!!(E&&T)),a||(a=!!g),o||(o=!!f),!(A!=null&&A.length)&&(!f||ou(f,"audio"))&&(!g||ou(g,"video"))));if((n||a)&&o&&(l=l.filter(({videoCodec:f,width:g,height:E})=>!!f||!!(g&&E))),l.length===0){Promise.resolve().then(()=>{if(this.hls){let f=new Error("no level with compatible codecs found in manifest");this.hls.trigger(b.ERROR,{type:pe.MEDIA_ERROR,details:B.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:f,reason:f.message})}});return}t.audioTracks&&(i=t.audioTracks.filter(f=>!f.audioCodec||ou(f.audioCodec,"audio")),Tg(i)),t.subtitles&&(s=t.subtitles,Tg(s));let d=l.slice(0);l.sort((f,g)=>f.attrs["HDCP-LEVEL"]!==g.attrs["HDCP-LEVEL"]?(f.attrs["HDCP-LEVEL"]||"")>(g.attrs["HDCP-LEVEL"]||"")?1:-1:f.bitrate!==g.bitrate?f.bitrate-g.bitrate:f.attrs["FRAME-RATE"]!==g.attrs["FRAME-RATE"]?f.attrs.decimalFloatingPoint("FRAME-RATE")-g.attrs.decimalFloatingPoint("FRAME-RATE"):f.attrs.SCORE!==g.attrs.SCORE?f.attrs.decimalFloatingPoint("SCORE")-g.attrs.decimalFloatingPoint("SCORE"):n&&f.height!==g.height?f.height-g.height:0);let c=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let f=0;f<d.length;f++)if(d[f].pathwayId===l[0].pathwayId){c=d[f];break}}this._levels=l;for(let f=0;f<l.length;f++)if(l[f]===c){this._firstLevel=f,this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${c.bitrate}`);break}let u=o&&!a,h={levels:l,audioTracks:i,subtitleTracks:s,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:o,video:a,altAudio:!u&&i.some(f=>!!f.url)};this.hls.trigger(b.MANIFEST_PARSED,h),(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 c=new Error("invalid level idx"),u=e<0;if(this.hls.trigger(b.ERROR,{type:pe.OTHER_ERROR,details:B.LEVEL_SWITCH_ERROR,level:e,fatal:u,error:c,reason:c.message}),u)return;e=Math.min(e,t.length-1)}let i=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,i===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e}${o?" with Pathway "+o:""} from level ${i}${n?" with Pathway "+n:""}`);let l=pt({},a,{level:e,maxBitrate:a.maxBitrate,attrs:a.attrs,uri:a.uri,urlId:a.urlId});delete l._attrs,delete l._urlId,this.hls.trigger(b.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let c=this.switchParams(a.uri,s==null?void 0:s.details);this.loadPlaylist(c)}}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._firstLevel}else return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===Ue.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragLoaded(e,{frag:t}){if(t!==void 0&&t.type===ge.MAIN){let i=this._levels[t.level];i!==void 0&&(i.loadError=0)}}onLevelLoaded(e,t){var i;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)):(i=t.deliveryDirectives)!=null&&i.skip&&(n.deltaUpdateFailed=!0)}onAudioTrackSwitched(e,t){let i=this.currentLevel;if(!i)return;let s=this.hls.audioTracks[t.id].groupId;if(i.audioGroupIds&&i.audioGroupId!==s){let n=-1;for(let a=0;a<i.audioGroupIds.length;a++)if(i.audioGroupIds[a]===s){n=a;break}n!==-1&&n!==i.urlId&&(i.urlId=n,this.canLoad&&this.startLoad())}}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){let s=i.urlId,n=i.uri;if(e)try{n=e.addDirectives(n)}catch(o){this.warn(`Could not construct new URL with HLS Delivery Directives: ${o}`)}let a=i.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${a?" Pathway "+a:""} URI ${s+1}/${i.url.length} ${n}`),this.clearTimer(),this.hls.trigger(b.LEVEL_LOADING,{url:n,level:t,id:s,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,t){let i=(n,a)=>a!==t,s=this._levels.filter((n,a)=>a!==e?!0:n.url.length>1&&t!==void 0?(n.url=n.url.filter(i),n.audioGroupIds&&(n.audioGroupIds=n.audioGroupIds.filter(i)),n.textGroupIds&&(n.textGroupIds=n.textGroupIds.filter(i)),n.urlId=0,!0):(this.steering&&this.steering.removeLevel(n),!1));this.hls.trigger(b.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(e,{levels:t}){t.forEach((i,s)=>{let{details:n}=i;n!=null&&n.fragments&&n.fragments.forEach(a=>{a.level=s})}),this._levels=t}};function El(r,e,t){!t||(e==="audio"?(r.audioGroupIds||(r.audioGroupIds=[]),r.audioGroupIds[r.url.length-1]=t):e==="text"&&(r.textGroupIds||(r.textGroupIds=[]),r.textGroupIds[r.url.length-1]=t))}function Tg(r){let e={};r.forEach(t=>{let i=t.groupId||"";t.id=e[i]=e[i]||0,e[i]++})}var Tt={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Fu=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(b.BUFFER_APPENDED,this.onBufferAppended,this),e.on(b.FRAG_BUFFERED,this.onFragBuffered,this),e.on(b.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(b.BUFFER_APPENDED,this.onBufferAppended,this),e.off(b.FRAG_BUFFERED,this.onFragBuffered,this),e.off(b.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let s=i.length;s--;){let n=i[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:i}=this,s=Object.keys(i);for(let n=s.length;n--;){let a=i[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,i,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===i&&this.removeFragment(o.body);return}let l=o.range[e];!l||l.time.some(d=>{let c=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return c&&this.removeFragment(o.body),c})})}detectPartialFragments(e){let t=this.timeRanges,{frag:i,part:s}=e;if(!t||i.sn==="initSegment")return;let n=Bs(i),a=this.fragments[n];if(!a||a.buffered&&i.gap)return;let o=!i.relurl;Object.keys(t).forEach(l=>{let d=i.elementaryStreams[l];if(!d)return;let c=t[l],u=o||d.partial===!0;a.range[l]=this.getBufferedTimes(i,s,u,c)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,a.body.endList&&(this.endListFragments[a.body.type]=a),rl(a)||this.removeParts(i.sn-1,i.type)):this.removeFragment(a.body)}removeParts(e,t){let i=this.activePartLists[t];!i||(this.activePartLists[t]=i.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let i=Bs(e),s=this.fragments[i];!s&&t&&(s=this.fragments[i]={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,i,s){let n={time:[],partial:i},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let c=0;c<s.length;c++){let u=s.start(c)-this.bufferPadding,h=s.end(c)+this.bufferPadding;if(d>=u&&l<=h){n.time.push({startPTS:Math.max(a,s.start(c)),endPTS:Math.min(o,s.end(c))});break}else if(a<h&&o>u)n.partial=!0,n.time.push({startPTS:Math.max(a,s.start(c)),endPTS:Math.min(o,s.end(c))});else if(o<=u)break}return n}getPartialFragment(e){let t=null,i,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let c=l[d];!c||rl(c)&&(s=c.body.start-o,n=c.body.end+o,e>=s&&e<=n&&(i=Math.min(e-s,n-e),a<=i&&(t=c.body,a=i)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||rl(t))}getState(e){let t=Bs(e),i=this.fragments[t];return i?i.buffered?rl(i)?Tt.PARTIAL:Tt.OK:Tt.APPENDING:Tt.NOT_LOADED}isTimeBuffered(e,t,i){let s,n;for(let a=0;a<i.length;a++){if(s=i.start(a)-this.bufferPadding,n=i.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:i,part:s}=t;if(i.sn==="initSegment"||i.bitrateTest)return;let n=s?null:t,a=Bs(i);this.fragments[a]={body:i,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:i,part:s,timeRanges:n}=t;if(i.sn==="initSegment")return;let a=i.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=Bs(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,i,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!==i||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=Bs(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let s=e.sn;this.activePartLists[e.type]=i.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 rl(r){var e,t,i;return r.buffered&&(r.body.gap||((e=r.range.video)==null?void 0:e.partial)||((t=r.range.audio)==null?void 0:t.partial)||((i=r.range.audiovideo)==null?void 0:i.partial))}function Bs(r){return`${r.type}_${r.level}_${r.urlId}_${r.sn}`}var _g=Math.pow(2,17),Bu=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let i=e.url;if(!i)return Promise.reject(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));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)if(e.tagList.some(f=>f[0]==="GAP")){l(Sg(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),c=Ag(e),u=yg(s.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:_g};e.stats=d.stats,d.load(c,h,{onSuccess:(f,g,E,T)=>{this.resetLoader(e,d);let A=f.data;E.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(A.slice(0,16)),A=A.slice(16)),o({frag:e,part:null,payload:A,networkDetails:T})},onError:(f,g,E,T)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:jt({url:i,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:E,stats:T}))},onAbort:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:E,stats:f}))},onTimeout:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:E,stats:f}))},onProgress:(f,g,E,T)=>{t&&t({frag:e,part:null,payload:E,networkDetails:T})}})})}loadPart(e,t,i){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(Sg(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),c=Ag(e,t),u=yg(s.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:_g};t.stats=d.stats,d.load(c,h,{onSuccess:(f,g,E,T)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let A={frag:e,part:t,payload:f.data,networkDetails:T};i(A),o(A)},onError:(f,g,E,T)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:jt({url:c.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:E,stats:T}))},onAbort:(f,g,E)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:E,stats:f}))},onTimeout:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:E,stats:f}))}})})}updateStatsFromPart(e,t){let i=e.stats,s=t.stats,n=s.total;if(i.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(i.loaded/n),l),u=(l-d)*Math.round(i.loaded/d);i.total=i.loaded+u}else i.total=Math.max(i.loaded,i.total);let a=i.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 Ag(r,e=null){let t=e||r,i={frag:r,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(ce(s)&&ce(n)){var a;let o=s,l=n;if(r.sn==="initSegment"&&((a=r.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(i.resetIV=!0,o=s-16)}i.rangeStart=o,i.rangeEnd=l}return i}function Sg(r,e){let t=new Error(`GAP ${r.gap?"tag":"attribute"} found`),i={type:pe.MEDIA_ERROR,details:B.FRAG_GAP,fatal:!1,frag:r,error:t,networkDetails:null};return e&&(i.part=e),(e||r).stats.aborted=!0,new vi(i)}var vi=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},$u=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let t in this.keyUriToKeyInfo){let i=this.keyUriToKeyInfo[t].loader;if(i){if(e&&e!==i.context.frag.type)return;i.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=B.KEY_LOAD_ERROR,i,s,n){return new vi({type:pe.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:i,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:i,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(i==="initSegment"||a.sn==="initSegment"||i<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{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 i,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,B.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((i=o)!=null&&i.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,B.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(i);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,i))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(i)}loadKeyHTTP(e,t){let i=this.config,s=i.loader,n=new s(i);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=i.keyLoadPolicy.default,c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(h,f,g,E)=>{let{frag:T,keyInfo:A,url:k}=g;if(!T.decryptdata||A!==this.keyUriToKeyInfo[k])return o(this.createKeyLoadError(T,B.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),E));A.decryptdata.key=T.decryptdata.key=new Uint8Array(h.data),T.keyLoader=null,A.loader=null,a({frag:T,keyInfo:A})},onError:(h,f,g,E)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),g,jt({url:l.url,data:void 0},h)))},onTimeout:(h,f,g)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),g))},onAbort:(h,f,g)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.INTERNAL_ABORTED,new Error("key loading aborted"),g))}};n.load(l,c,u)})}resetLoader(e){let{frag:t,keyInfo:i,url:s}=e,n=i.loader;t.keyLoader===n&&(t.keyLoader=null,i.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}},Hu=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(){}},u_={length:0,start:()=>0,end:()=>0},je=class{static isBuffered(e,t){try{if(e){let i=je.getBuffered(e);for(let s=0;s<i.length;s++)if(t>=i.start(s)&&t<=i.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,i){try{if(e){let s=je.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,i)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,i){t=Math.max(0,t),e.sort(function(d,c){let u=d.start-c.start;return u||c.end-d.end});let s=[];if(i)for(let d=0;d<e.length;d++){let c=s.length;if(c){let u=s[c-1].end;e[d].start-u<i?e[d].end>u&&(s[c-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<s.length;d++){let c=s[d].start,u=s[d].end;if(t+i>=c&&t<u)o=c,l=u,n=l-t;else if(t+i<c){a=c;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return M.log("failed to get media.buffered",t),u_}}},Kn=class{constructor(e,t,i,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=sl(),this.buffering={audio:sl(),video:sl(),audiovideo:sl()},this.level=e,this.sn=t,this.id=i,this.size=s,this.part=n,this.partial=a}};function sl(){return{start:0,executeStart:0,executeEnd:0,end:0}}function o0(r,e){let t=null;for(let i=0,s=r.length;i<s;i++){let n=r[i];if(n&&n.cc===e){t=n;break}}return t}function h_(r,e,t){return!!(e.details&&(t.endCC>t.startCC||r&&r.cc<t.startCC))}function f_(r,e,t=0){let i=r.fragments,s=e.fragments;if(!s.length||!i.length){M.log("No fragments to align");return}let n=o0(i,s[0].cc);if(!n||n&&!n.startPTS){M.log("No frag in previous level to align on");return}return n}function xg(r,e){if(r){let t=r.start+e;r.start=r.startPTS=t,r.endPTS=t+r.duration}}function Lh(r,e){let t=e.fragments;for(let i=0,s=t.length;i<s;i++)xg(t[i],r);e.fragmentHint&&xg(e.fragmentHint,r),e.alignedSliding=!0}function m_(r,e,t){!e||(p_(r,t,e),!t.alignedSliding&&e.details&&g_(t,e.details),!t.alignedSliding&&e.details&&!t.skippedSegments&&s0(e.details,t))}function p_(r,e,t){if(h_(r,t,e)){let i=f_(t.details,e);i&&ce(i.start)&&(M.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),Lh(i.start,e))}}function g_(r,e){if(!e.fragments.length||!r.hasProgramDateTime||!e.hasProgramDateTime)return;let t=e.fragments[0].programDateTime,i=r.fragments[0].programDateTime,s=(i-t)/1e3+e.fragments[0].start;s&&ce(s)&&(M.log(`Adjusting PTS using programDateTime delta ${i-t}ms, sliding:${s.toFixed(3)} ${r.url} `),Lh(s,r))}function l0(r,e){if(!r.hasProgramDateTime||!e.hasProgramDateTime)return;let t=r.fragments,i=e.fragments;if(!t.length||!i.length)return;let s=Math.round(i.length/2)-1,n=i[s],a=o0(t,n.cc)||t[Math.round(t.length/2)-1],o=n.programDateTime,l=a.programDateTime;if(o===null||l===null)return;let d=(l-o)/1e3-(a.start-n.start);Lh(d,r)}var Gu=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)}},Vu=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 v_(r){let e=r.byteLength,t=e&&new DataView(r.buffer).getUint8(e-1);return t?Vr(r,0,e-t):r}var Ku=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),i=new Uint32Array(4);for(let s=0;s<4;s++)i[s]=t.getUint32(s*4);return i}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,s=i[0],n=i[1],a=i[2],o=i[3],l=this.invSubMix,d=l[0],c=l[1],u=l[2],h=l[3],f=new Uint32Array(256),g=0,E=0,T=0;for(T=0;T<256;T++)T<128?f[T]=T<<1:f[T]=T<<1^283;for(T=0;T<256;T++){let A=E^E<<1^E<<2^E<<3^E<<4;A=A>>>8^A&255^99,e[g]=A,t[A]=g;let k=f[g],L=f[k],N=f[L],D=f[A]*257^A*16843008;s[g]=D<<24|D>>>8,n[g]=D<<16|D>>>16,a[g]=D<<8|D>>>24,o[g]=D,D=N*16843009^L*65537^k*257^g*16843008,d[A]=D<<24|D>>>8,c[A]=D<<16|D>>>16,u[A]=D<<8|D>>>24,h[A]=D,g?(g=k^f[f[f[N^k]]],E^=f[f[E]]):g=E=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),i=!0,s=0;for(;s<t.length&&i;)i=t[s]===this.key[s],s++;if(i)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),c=this.invKeySchedule=new Uint32Array(a),u=this.sBox,h=this.rcon,f=this.invSubMix,g=f[0],E=f[1],T=f[2],A=f[3],k,L;for(o=0;o<a;o++){if(o<n){k=d[o]=t[o];continue}L=k,o%n===0?(L=L<<8|L>>>24,L=u[L>>>24]<<24|u[L>>>16&255]<<16|u[L>>>8&255]<<8|u[L&255],L^=h[o/n|0]<<24):n>6&&o%n===4&&(L=u[L>>>24]<<24|u[L>>>16&255]<<16|u[L>>>8&255]<<8|u[L&255]),d[o]=k=(d[o-n]^L)>>>0}for(l=0;l<a;l++)o=a-l,l&3?L=d[o]:L=d[o-4],l<4||o<=4?c[l]=L:c[l]=g[u[L>>>24]]^E[u[L>>>16&255]]^T[u[L>>>8&255]]^A[u[L&255]],c[l]=c[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,i){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],c=o[2],u=o[3],h=this.uint8ArrayToUint32Array_(i),f=h[0],g=h[1],E=h[2],T=h[3],A=new Int32Array(e),k=new Int32Array(A.length),L,N,D,$,O,G,q,P,X,z,Ae,Ee,be,we,Se=this.networkToHostOrderSwap;for(;t<A.length;){for(X=Se(A[t]),z=Se(A[t+1]),Ae=Se(A[t+2]),Ee=Se(A[t+3]),O=X^n[0],G=Ee^n[1],q=Ae^n[2],P=z^n[3],be=4,we=1;we<s;we++)L=l[O>>>24]^d[G>>16&255]^c[q>>8&255]^u[P&255]^n[be],N=l[G>>>24]^d[q>>16&255]^c[P>>8&255]^u[O&255]^n[be+1],D=l[q>>>24]^d[P>>16&255]^c[O>>8&255]^u[G&255]^n[be+2],$=l[P>>>24]^d[O>>16&255]^c[G>>8&255]^u[q&255]^n[be+3],O=L,G=N,q=D,P=$,be=be+4;L=a[O>>>24]<<24^a[G>>16&255]<<16^a[q>>8&255]<<8^a[P&255]^n[be],N=a[G>>>24]<<24^a[q>>16&255]<<16^a[P>>8&255]<<8^a[O&255]^n[be+1],D=a[q>>>24]<<24^a[P>>16&255]<<16^a[O>>8&255]<<8^a[G&255]^n[be+2],$=a[P>>>24]<<24^a[O>>16&255]<<16^a[G>>8&255]<<8^a[q&255]^n[be+3],k[t]=Se(L^f),k[t+1]=Se($^g),k[t+2]=Se(D^E),k[t+3]=Se(N^T),f=X,g=z,E=Ae,T=Ee,t=t+4}return k.buffer}},E_=16,Wn=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let i=self.crypto;i&&(this.subtle=i.subtle||i.webkitSubtle)}catch{}this.subtle===null&&(this.useSoftware=!0)}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let i=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?v_(i):i}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,i){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,i);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,i)}softwareDecrypt(e,t,i){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Kr(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(i=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new Ku),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,i),this.currentIV=Vr(o,-16).buffer,d||null}webCryptoDecrypt(e,t,i){let s=this.subtle;return(this.key!==t||!this.fastAesKey)&&(this.key=t,this.fastAesKey=new Vu(s,t)),this.fastAesKey.expandKey().then(n=>s?(this.logOnce("WebCrypto AES decrypt"),new Gu(s,new Uint8Array(i)).decrypt(e.buffer,n)):Promise.reject(new Error("web crypto not initialized"))).catch(n=>(M.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${n.name}: ${n.message}`),this.onWebCryptoError(e,t,i)))}onWebCryptoError(e,t,i){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,i=e.length-e.length%E_;return i!==e.length&&(t=Vr(e,0,i),this.remainderData=Vr(e,i)),t}logOnce(e){!this.logEnabled||(M.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},b_={toString:function(r){let e="",t=r.length;for(let i=0;i<t;i++)e+=`[${r.start(i).toFixed(3)}-${r.end(i).toFixed(3)}]`;return e}},W={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},qn=class extends Hu{constructor(e,t,i,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=W.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=M.log.bind(M,`${s}:`),this.warn=M.warn.bind(M,`${s}:`),this.hls=e,this.fragmentLoader=new Bu(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Wn(e.config),e.on(b.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=W.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let i=t.partList;if(i!=null&&i.length){let n=i[i.length-1];return je.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levels[this.levelLastLoaded])==null?void 0:e.details}}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),i.addEventListener("seeking",this.onvseeking),i.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===W.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:i,mediaBuffer:s,state:n}=this,a=i?i.currentTime:0,o=je.bufferInfo(s||i,a,e.maxBufferHole);if(this.log(`media seeking to ${ce(a)?a.toFixed(3):a}, state: ${n}`),this.state===W.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,c=t.start+t.duration+l;if(!o.len||c<o.start||d>o.end){let u=a>c;(a<d||u)&&(u&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}i&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.stopLoad(),super.onHandlerDestroying()}onHandlerDestroyed(){this.state=W.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,i){this._loadFragForPlayback(e,t,i)}_loadFragForPlayback(e,t,i){let s=n=>{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,i,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===W.FRAG_LOADING||!this.fragCurrent&&a===W.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=W.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(b.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===W.STOPPED||this.state===W.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===Tt.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength);this.reduceMaxBufferLength(o)&&i.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===Tt.PARTIAL&&i.removeFragment(e))}flushMainBuffer(e,t,i=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:i};this.hls.trigger(b.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(i=>{if(!i||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return i}).then(i=>{let{hls:s}=this,{payload:n}=i,a=e.decryptdata;if(n&&n.byteLength>0&&a&&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(b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(b.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),i.payload=l,i})}return i}).then(i=>{let{fragCurrent:s,hls:n,levels:a}=this;if(!a)throw new Error("init load aborted, missing levels");let o=e.stats;this.state=W.IDLE,t.fragmentError=0,e.data=new Uint8Array(i.payload),o.parsing.start=o.buffering.start=self.performance.now(),o.parsing.end=o.buffering.end=self.performance.now(),i.frag===s&&n.trigger(b.FRAG_BUFFERED,{stats:o,frag:s,part:null,id:e.type}),this.tick()}).catch(i=>{this.state===W.STOPPED||this.state===W.ERROR||(this.warn(i),this.resetFragmentLoading(e))})}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.level!==t.level||e.sn!==t.sn||e.urlId!==t.urlId}fragBufferedComplete(e,t){var i,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===ge.MAIN?"level":"track"} ${e.level} (frag:[${((i=e.startPTS)!=null?i:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?b_.toString(je.getBuffered(o)):"(detached)"})`),this.state=W.IDLE,o&&(!this.loadedmetadata&&e.type==ge.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:i,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new Kn(i.level,i.sn,i.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=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=W.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(c=>{if(!this.fragContextChanged(c.frag))return this.hls.trigger(b.KEY_LOADED,c),this.state===W.KEY_LOADING&&(this.state=W.IDLE),c}),this.hls.trigger(b.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),i=Math.max(e.start,i||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let c=a.partList;if(c&&s){i>e.end&&a.fragmentHint&&(e=a.fragmentHint);let u=this.getNextPart(c,e,i);if(u>-1){let h=c[u];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${u}-${c.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=W.FRAG_LOADING;let f;return o?f=o.then(g=>!g||this.fragContextChanged(g.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(g=>this.handleFragLoadError(g)):f=this.doFragPartsLoad(e,h,t,s).catch(g=>this.handleFragLoadError(g)),this.hls.trigger(b.FRAG_LOADING,{frag:e,part:h,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(c,i))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(i.toFixed(3))}`),ce(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=W.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(c=>!c||this.fragContextChanged(c==null?void 0:c.frag)?null:this.fragmentLoader.load(e,s)).catch(c=>this.handleFragLoadError(c)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([c])=>(!l&&c&&s&&s(c),c)).catch(c=>this.handleFragLoadError(c)),this.hls.trigger(b.FRAG_LOADING,{frag:e,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,i,s){return new Promise((n,a)=>{var o;let l=[],d=(o=i.details)==null?void 0:o.partList,c=u=>{this.fragmentLoader.loadPart(e,u,s).then(h=>{l[u.index]=h;let f=h.part;this.hls.trigger(b.FRAG_LOADED,h);let g=Eg(i,e.sn,u.index+1)||n0(d,e.sn,u.index+1);if(g)c(g);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};c(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===B.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(b.ERROR,t)}else this.hls.trigger(b.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==W.PARSING){!this.fragCurrent&&this.state!==W.STOPPED&&this.state!==W.ERROR&&(this.state=W.IDLE);return}let{frag:i,part:s,level:n}=t,a=self.performance.now();i.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(i,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:i}=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?Eg(o,n,a):null,d=l?l.fragment:s_(o,n,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,i,s,n){var a;if(!e||this.state!==W.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Kr(o,l)),!((a=d)!=null&&a.length))return;let c={type:e.type,frag:t,part:i,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(b.BUFFER_APPENDING,c),e.dropped&&e.independent&&!i){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!je.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let i=t.currentTime,s=je.bufferInfo(t,i,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),i+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let i=this.getLoadPosition();return ce(i)?this.getFwdBufferInfoAtPos(e,i,t):null}getFwdBufferInfoAtPos(e,t,i){let{config:{maxBufferHole:s}}=this,n=je.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,i);if(a&&n.nextStart<a.end)return je.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,i;return e?i=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):i=t.maxBufferLength,Math.min(i,t.maxMaxBufferLength)}reduceMaxBufferLength(e){let t=this.config,i=e||t.maxBufferLength;return t.maxMaxBufferLength>=i?(t.maxMaxBufferLength/=2,this.warn(`Reduce max buffer length to ${t.maxMaxBufferLength}s`),!0):!1}getAppendedFrag(e,t=ge.MAIN){let i=this.fragmentTracker.getAppendedFrag(e,ge.MAIN);return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){let i=t.fragments,s=i.length;if(!s)return null;let{config:n}=this,a=i[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1&&(o=this.getInitialLiveFragment(t,i),this.startPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=i[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let i=this.fragmentTracker.getState(e);return(i===Tt.OK||i===Tt.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,i,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&i.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,s);if(l!==null&&i.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,i){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&i<d.start)break;let c=d.loaded;c?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=c}return s}loadedEndOfParts(e,t){let i=e[e.length-1];return i&&t>i.start&&i.loaded}getInitialLiveFragment(e,t){let i=this.fragPrevious,s=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),s=a_(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=i.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];i.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=l_(t,i.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,i){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=i,{fragmentHint:l}=i,d=s.maxFragLookUpTolerance,c=i.partList,u=!!(s.lowLatencyMode&&c!=null&&c.length&&l);u&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=Gn(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-i.startSN,g=this.fragmentTracker.getState(h);if((g===Tt.OK||g===Tt.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!u||c[0].fragment.sn>h.sn)&&n&&h.level===n.level){let T=a[f+1];h.sn<o&&this.fragmentTracker.getState(T)!==Tt.OK?h=T:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let s=this.hls.liveSyncPosition,n=i.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&i.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&i.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),i.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),i.currentTime=s))}}alignPlaylists(e,t){let{levels:i,levelLastLoaded:s,fragPrevious:n}=this,a=s!==null?i[s]:null,o=e.fragments.length;if(!o)return this.warn("No fragments in live playlist"),0;let l=e.fragments[0].start,d=!t,c=e.alignedSliding&&ce(l);if(d||!c&&!l){m_(n,a,e);let u=e.fragments[0].start;return this.log(`Live playlist sliding: ${u.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${n?n.sn:"na"} fragments: ${o}`),u}return l}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let i=this.startPosition;if(i<t&&(i=-1),i===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&ce(n)?(i=t+n,n<0&&(i+=e.totalduration),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${i}`),this.startPosition=i):e.live?i=this.hls.liveSyncPosition||t:this.startPosition=i=0,this.lastCurrentTime=i}this.nextLoadPosition=i}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==W.FRAG_LOADING_WAITING_RETRY)&&(this.state=W.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let i=t.frag;if(!i||i.type!==e||!this.levels)return;if(this.fragContextChanged(i)){var s;this.warn(`Frag load error must match current frag to retry ${i.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===B.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(i,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===Mt.RetryRequest&&d){var c;this.resetStartWhenNotLoaded((c=this.levelLastLoaded)!=null?c:i.level);let u=Ih(d,l);this.warn(`Fragment ${i.sn} of ${e} ${i.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=W.FRAG_LOADING_WAITING_RETRY}else d&&a?(this.resetFragmentErrors(e),l<d.maxNumRetry?n||(a.resolved=!0):M.warn(`${t.details} reached or exceeded max retry (${l})`)):(a==null?void 0:a.action)===Mt.SendAlternateToPenaltyBox?this.state=W.WAITING_LEVEL:this.state=W.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===W.PARSING||this.state===W.PARSED){let t=e.parent,i=this.getFwdBufferInfo(this.mediaBuffer,t),s=i&&i.len>.5;s&&this.reduceMaxBufferLength(i.len);let n=!s;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${t} buffer`),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(e){e===ge.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==W.STOPPED&&(this.state=W.IDLE)}afterBufferFlushed(e,t,i){if(!e)return;let s=je.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,i),this.state===W.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=W.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=this.levels?this.levels[e].details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){var t;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((t=this.levelLastLoaded)!=null?t:e.level),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,s){var n;let a=i.details;if(!a){this.warn("level.details undefined");return}if(Object.keys(e.elementaryStreams).reduce((l,d)=>{let c=e.elementaryStreams[d];if(c){let u=c.endPTS-c.startPTS;if(u<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${u})`),l||!1;let h=s?0:r0(a,e,c.startPTS,c.endPTS,c.startDTS,c.endDTS);return this.hls.trigger(b.LEVEL_PTS_UPDATED,{details:a,level:i,drift:h,type:d,frag:e,start:c.startPTS,end:c.endPTS}),!0}return l},!1))i.fragmentError=0;else if(((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(i.fragmentError===0&&(i.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=W.PARSED,this.hls.trigger(b.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){if(e.event==="demuxerWorker"){var t,i,s;this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded((t=(i=this.levelLastLoaded)!=null?i:(s=this.fragCurrent)==null?void 0:s.level)!=null?t:0),this.resetLoadingState()}}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}};function d0(){return self.SourceBuffer||self.WebKitSourceBuffer}function y_(){let r=Ml();if(!r)return!1;let e=d0(),t=r&&typeof r.isTypeSupported=="function"&&r.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),i=!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function";return!!t&&!!i}function T_(){var r;let e=d0();return typeof(e==null||(r=e.prototype)==null?void 0:r.changeType)=="function"}function __(){return typeof __HLS_WORKER_BUNDLE__=="function"}function A_(){let r=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(r);return{worker:new self.Worker(e),objectURL:e}}function S_(r){let e=new self.URL(r,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function Ui(r="",e=9e4){return{type:r,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var bl=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,i,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,i){}demux(e,t){this.cachedData&&(e=Kr(this.cachedData,e),this.cachedData=null);let i=fl(e,0),s=i?i.length:0,n,a=this._audioTrack,o=this._id3Track,l=i?ET(i):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&ce(l))&&(this.basePTS=x_(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),i&&i.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ei.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let c=this.appendFrame(a,e,s);c?(this.frameIndex++,this.lastPTS=c.sample.pts,s+=c.length,n=s):s=d}else vT(e,s)?(i=fl(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ei.audioId3,duration:Number.POSITIVE_INFINITY}),s+=i.length,n=s):s++;if(s===d&&n!==d){let c=Vr(e,n);this.cachedData?this.cachedData=Kr(this.cachedData,c):this.cachedData=c}}return{audioTrack:a,videoTrack:Ui(),id3Track:o,textTrack:Ui()}}demuxSampleAes(e,t,i){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Ui(),id3Track:this._id3Track,textTrack:Ui()}}destroy(){}},x_=(r,e,t)=>{if(ce(r))return r*90;let i=t?t.baseTime*9e4/t.timescale:0;return e*9e4+i};function I_(r,e,t,i){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=i,c=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let u=(e[t+2]&60)>>>2;if(u>c.length-1){r.trigger(b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!0,reason:`invalid ADTS sampling index:${u}`});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,M.log(`manifest codec:${i}, ADTS type:${s}, samplingIndex:${u}`),/firefox/i.test(l)?u>=6?(s=5,o=new Array(4),n=u-3):(s=2,o=new Array(2),n=u):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=u):(s=5,o=new Array(4),i&&(i.indexOf("mp4a.40.29")!==-1||i.indexOf("mp4a.40.5")!==-1)||!i&&u>=6?n=u-3:((i&&i.indexOf("mp4a.40.2")!==-1&&(u>=6&&a===1||/vivaldi/i.test(l))||!i&&a===1)&&(s=2,o=new Array(2)),n=u)),o[0]=s<<3,o[0]|=(u&14)>>1,o[1]|=(u&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=2<<2,o[3]=0),{config:o,samplerate:c[u],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function c0(r,e){return r[e]===255&&(r[e+1]&246)===240}function u0(r,e){return r[e+1]&1?7:9}function kh(r,e){return(r[e+3]&3)<<11|r[e+4]<<3|(r[e+5]&224)>>>5}function L_(r,e){return e+5<r.length}function yl(r,e){return e+1<r.length&&c0(r,e)}function k_(r,e){return L_(r,e)&&c0(r,e)&&kh(r,e)<=r.length-e}function R_(r,e){if(yl(r,e)){let t=u0(r,e);if(e+t>=r.length)return!1;let i=kh(r,e);if(i<=t)return!1;let s=e+i;return s===r.length||yl(r,s)}return!1}function h0(r,e,t,i,s){if(!r.samplerate){let n=I_(e,t,i,s);if(!n)return;r.config=n.config,r.samplerate=n.samplerate,r.channelCount=n.channelCount,r.codec=n.codec,r.manifestCodec=n.manifestCodec,M.log(`parsed codec:${r.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function f0(r){return 1024*9e4/r}function w_(r,e){let t=u0(r,e);if(e+t<=r.length){let i=kh(r,e)-t;if(i>0)return{headerLength:t,frameLength:i}}}function m0(r,e,t,i,s){let n=f0(r.samplerate),a=i+s*n,o=w_(e,t),l;if(o){let{frameLength:u,headerLength:h}=o,f=h+u,g=Math.max(0,t+f-e.length);g?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let E={unit:l,pts:a};return g||r.samples.push(E),{sample:E,length:f,missing:g}}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 Wu=class extends bl{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let i=(fl(e,0)||[]).length;for(let s=e.length;i<s;i++)if(R_(e,i))return M.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return k_(e,t)}appendFrame(e,t,i){h0(e,this.observer,t,i,e.manifestCodec);let s=m0(e,t,i,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},D_=/\/emsg[-/]ID3/i,qu=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,i,s){let n=this.videoTrack=Ui("video",1),a=this.audioTrack=Ui("audio",1),o=this.txtTrack=Ui("text",1);if(this.id3Track=Ui("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=Xg(e);if(l.video){let{id:d,timescale:c,codec:u}=l.video;n.id=d,n.timescale=o.timescale=c,n.codec=u}if(l.audio){let{id:d,timescale:c,codec:u}=l.audio;a.id=d,a.timescale=c,a.codec=u}o.id=Yg.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return e=e.length>16384?e.subarray(0,16384):e,Pe(e,["moof"]).length>0}demux(e,t){this.timeOffset=t;let i=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=Kr(this.remainderData,e));let o=MT(i);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=i;let a=this.extractID3Track(s,t);return n.samples=sg(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return i.samples=sg(e,t),{videoTrack:t,audioTrack:Ui(),id3Track:s,textTrack:Ui()}}extractID3Track(e,t){let i=this.id3Track;if(e.samples.length){let s=Pe(e.samples,["emsg"]);s&&s.forEach(n=>{let a=NT(n);if(D_.test(a.schemeIdUri)){let o=ce(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;i.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:Ei.emsg,duration:l})}})}return i}demuxSampleAes(e,t,i){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},nl=null,C_=[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],M_=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],O_=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],P_=[0,1,1,4];function p0(r,e,t,i,s){if(t+24>e.length)return;let n=g0(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=i+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return r.config=[],r.channelCount=n.channelCount,r.samplerate=n.sampleRate,r.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function g0(r,e){let t=r[e+1]>>3&3,i=r[e+1]>>1&3,s=r[e+2]>>4&15,n=r[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=r[e+2]>>1&1,o=r[e+3]>>6,l=t===3?3-i:i===3?3:4,d=C_[l*14+s-1]*1e3,u=M_[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=O_[t][i],g=P_[i],E=f*8*g,T=Math.floor(f*d/u+a)*g;if(nl===null){let L=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);nl=L?parseInt(L[1]):0}return!!nl&&nl<=87&&i===2&&d>=224e3&&o===0&&(r[e+3]=r[e+3]|128),{sampleRate:u,channelCount:h,frameLength:T,samplesPerFrame:E}}}function Rh(r,e){return r[e]===255&&(r[e+1]&224)===224&&(r[e+1]&6)!==0}function v0(r,e){return e+1<r.length&&Rh(r,e)}function N_(r,e){return Rh(r,e)&&4<=r.length-e}function U_(r,e){if(e+1<r.length&&Rh(r,e)){let i=g0(r,e),s=4;i!=null&&i.frameLength&&(s=i.frameLength);let n=e+s;return n===r.length||v0(r,n)}return!1}var Tl=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,i=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(i,i+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),i=this.word>>>32-t;if(e>32&&M.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?i<<t|this.readBits(t):i}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&2147483648>>>e)!==0)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,i=8,s;for(let n=0;n<e;n++)i!==0&&(s=this.readEG(),i=(t+s+256)%256),t=i===0?t:i}readSPS(){let e=0,t=0,i=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),c=this.readUEG.bind(this),u=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),g=this.skipUEG.bind(this),E=this.skipScalingList.bind(this);l();let T=l();if(d(5),h(3),l(),g(),T===100||T===110||T===122||T===244||T===44||T===83||T===86||T===118||T===128){let $=c();if($===3&&h(1),g(),g(),h(1),u())for(a=$!==3?8:12,o=0;o<a;o++)u()&&(o<6?E(16):E(64))}g();let A=c();if(A===0)c();else if(A===1)for(h(1),f(),f(),n=c(),o=0;o<n;o++)f();g(),h(1);let k=c(),L=c(),N=d(1);N===0&&h(1),h(1),u()&&(e=c(),t=c(),i=c(),s=c());let D=[1,1];if(u()&&u())switch(l()){case 1:D=[1,1];break;case 2:D=[12,11];break;case 3:D=[10,11];break;case 4:D=[16,11];break;case 5:D=[40,33];break;case 6:D=[24,11];break;case 7:D=[20,11];break;case 8:D=[32,11];break;case 9:D=[80,33];break;case 10:D=[18,11];break;case 11:D=[15,11];break;case 12:D=[64,33];break;case 13:D=[160,99];break;case 14:D=[4,3];break;case 15:D=[3,2];break;case 16:D=[2,1];break;case 255:{D=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((k+1)*16-e*2-t*2),height:(2-N)*(L+1)*16-(N?2:4)*(i+s),pixelRatio:D}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},Yu=class{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new Wn(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,i){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,i)})}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length){i();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,i=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)i.set(e.subarray(n,n+16),s);return i}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(i.subarray(s,s+16),n);return e}decryptAvcSample(e,t,i,s,n){let a=Jg(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,s)})}decryptAvcSamples(e,t,i,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(i>=n.length);i++){let a=n[i];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,i,s,a),!this.decrypter.isSync()))return}}}},Ct=188,Fi=class{constructor(e,t,i){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._avcTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.avcSample=null,this.remainderData=null,this.observer=e,this.config=t,this.typeSupported=i}static probe(e){let t=Fi.syncOffset(e);return t>0&&M.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,i=Math.min(Ct*5,e.length-Ct)+1,s=0;for(;s<i;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=Ct)if(e[l]===71){if(o++,a===-1&&(a=l,a!==0&&(i=Math.min(a+Ct*99,e.length-Ct)+1)),n||(n=ju(e,l)===0),n&&o>1&&(a===0&&o>2||l+Ct>i))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:Yg[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,i,s){this.pmtParsed=!1,this._pmtId=-1,this._avcTrack=Fi.createTrack("video"),this._audioTrack=Fi.createTrack("audio",s),this._id3Track=Fi.createTrack("id3"),this._txtTrack=Fi.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.avcSample=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_avcTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.avcSample=null,this.remainderData=null}demux(e,t,i=!1,s=!1){i||(this.sampleAes=null);let n,a=this._avcTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,c=a.pid,u=a.pesData,h=o.pid,f=l.pid,g=o.pesData,E=l.pesData,T=null,A=this.pmtParsed,k=this._pmtId,L=e.length;if(this.remainderData&&(e=Kr(this.remainderData,e),L=e.length,this.remainderData=null),L<Ct&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let N=Math.max(0,Fi.syncOffset(e));L-=(L-N)%Ct,L<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,L,e.buffer.byteLength-L));let D=0;for(let O=N;O<L;O+=Ct)if(e[O]===71){let G=!!(e[O+1]&64),q=ju(e,O),P=(e[O+3]&48)>>4,X;if(P>1){if(X=O+5+e[O+4],X===O+Ct)continue}else X=O+4;switch(q){case c:G&&(u&&(n=$s(u))&&this.parseAVCPES(a,d,n,!1),u={data:[],size:0}),u&&(u.data.push(e.subarray(X,O+Ct)),u.size+=O+Ct-X);break;case h:if(G){if(g&&(n=$s(g)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break}g={data:[],size:0}}g&&(g.data.push(e.subarray(X,O+Ct)),g.size+=O+Ct-X);break;case f:G&&(E&&(n=$s(E))&&this.parseID3PES(l,n),E={data:[],size:0}),E&&(E.data.push(e.subarray(X,O+Ct)),E.size+=O+Ct-X);break;case 0:G&&(X+=e[X]+1),k=this._pmtId=F_(e,X);break;case k:{G&&(X+=e[X]+1);let z=B_(e,X,this.typeSupported,i);c=z.avc,c>0&&(a.pid=c),h=z.audio,h>0&&(o.pid=h,o.segmentCodec=z.segmentCodec),f=z.id3,f>0&&(l.pid=f),T!==null&&!A&&(M.warn(`MPEG-TS PMT found at ${O} after unknown PID '${T}'. Backtracking to sync byte @${N} to parse all TS packets.`),T=null,O=N-188),A=this.pmtParsed=!0;break}case 17:case 8191:break;default:T=q;break}}else D++;if(D>0){let O=new Error(`Found ${D} TS packet/s that do not start with 0x47`);this.observer.emit(b.ERROR,b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:O,reason:O.message})}a.pesData=u,o.pesData=g,l.pesData=E;let $={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples($),$}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._avcTrack,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:i,id3Track:s,textTrack:n}=e,a=i.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=$s(a))?(this.parseAVCPES(i,n,d,!0),i.pesData=null):i.pesData=a,o&&(d=$s(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break}t.pesData=null}else o!=null&&o.size&&M.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=$s(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,i){let s=this.demux(e,i,!0,!this.config.progressive),n=this.sampleAes=new Yu(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(i=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{i(e)}):i(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{i(e)})})}destroy(){this._duration=0}parseAVCPES(e,t,i,s){let n=this.parseAVCNALu(e,i.data),a=this.avcSample,o,l=!1;i.data=null,a&&n.length&&!e.audFound&&(Pn(a,e),a=this.avcSample=al(!1,i.pts,i.dts,"")),n.forEach(d=>{var c;switch(d.type){case 1:{let h=!1;o=!0;let f=d.data;if(l&&f.length>4){let g=new Tl(f).readSliceType();(g===2||g===4||g===7||g===9)&&(h=!0)}if(h){var u;(u=a)!=null&&u.frame&&!a.key&&(Pn(a,e),a=this.avcSample=null)}a||(a=this.avcSample=al(!0,i.pts,i.dts,"")),a.frame=!0,a.key=h;break}case 5:o=!0,(c=a)!=null&&c.frame&&!a.key&&(Pn(a,e),a=this.avcSample=null),a||(a=this.avcSample=al(!0,i.pts,i.dts,"")),a.key=!0,a.frame=!0;break;case 6:{o=!0,Zg(d.data,1,i.pts,t.samples);break}case 7:if(o=!0,l=!0,!e.sps){let h=d.data,g=new Tl(h).readSPS();e.width=g.width,e.height=g.height,e.pixelRatio=g.pixelRatio,e.sps=[h],e.duration=this._duration;let E=h.subarray(1,4),T="avc1.";for(let A=0;A<3;A++){let k=E[A].toString(16);k.length<2&&(k="0"+k),T+=k}e.codec=T}break;case 8:o=!0,e.pps||(e.pps=[d.data]);break;case 9:o=!1,e.audFound=!0,a&&Pn(a,e),a=this.avcSample=al(!1,i.pts,i.dts,"");break;case 12:o=!0;break;default:o=!1,a&&(a.debug+="unknown NAL "+d.type+" ");break}a&&o&&a.units.push(d)}),s&&a&&(Pn(a,e),this.avcSample=null)}getLastNalUnit(e){var t;let i=this.avcSample,s;if((!i||i.units.length===0)&&(i=e[e.length-1]),(t=i)!=null&&t.units){let n=i.units;s=n[n.length-1]}return s}parseAVCNALu(e,t){let i=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,c,u=-1,h=0;for(s===-1&&(u=0,h=t[0]&31,s=0,o=1);o<i;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(u>=0){let f={data:t.subarray(u,o-s-1),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);if(f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d=o-s-1,d>0)){let g=new Uint8Array(f.data.byteLength+d);g.set(f.data,0),g.set(t.subarray(0,d),f.data.byteLength),f.data=g,f.state=0}}o<i?(c=t[o]&31,u=o,h=c,s=0):s=-1}else s=0}if(u>=0&&s>=0){let f={data:t.subarray(u,i),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);if(f){let g=new Uint8Array(f.data.byteLength+t.byteLength);g.set(f.data,0),g.set(t,f.data.byteLength),f.data=g}}return e.naluState=s,a}parseAACPES(e,t){let i=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let u=s.missing,h=s.sample.unit.byteLength;if(u===-1){let f=new Uint8Array(h+n.byteLength);f.set(s.sample.unit,0),f.set(n,h),n=f}else{let f=h-u;s.sample.unit.set(n.subarray(0,u),f),e.samples.push(s.sample),i=s.missing}}let a,o;for(a=i,o=n.length;a<o-1&&!yl(n,a);a++);if(a!==i){let u,h=a<o-1;h?u=`AAC PES did not start with ADTS header,offset:${a}`:u="No ADTS header found in AAC PES";let f=new Error(u);if(M.warn(`parsing error: ${u}`),this.observer.emit(b.ERROR,b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,levelRetry:h,error:f,reason:u}),!h)return}h0(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let u=f0(e.samplerate);l=s.sample.pts+u}else{M.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,c;for(;a<o;)if(c=m0(e,n,a,l,d),a+=c.length,c.missing){this.aacOverFlow=c;break}else for(d++;a<o-1&&!yl(n,a);a++);}parseMPEGPES(e,t){let i=t.data,s=i.length,n=0,a=0,o=t.pts;if(o===void 0){M.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(v0(i,a)){let l=p0(e,i,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseID3PES(e,t){if(t.pts===void 0){M.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let i=pt({},t,{type:this._avcTrack?Ei.emsg:Ei.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(i)}};function al(r,e,t,i){return{key:r,frame:!1,pts:e,dts:t,units:[],debug:i,length:0}}function ju(r,e){return((r[e+1]&31)<<8)+r[e+2]}function F_(r,e){return(r[e+10]&31)<<8|r[e+11]}function B_(r,e,t,i){let s={audio:-1,avc:-1,id3:-1,segmentCodec:"aac"},n=(r[e+1]&15)<<8|r[e+2],a=e+3+n-4,o=(r[e+10]&15)<<8|r[e+11];for(e+=12+o;e<a;){let l=ju(r,e);switch(r[e]){case 207:if(!i){M.log("ADTS AAC with AES-128-CBC frame encryption found in unencrypted stream");break}case 15:s.audio===-1&&(s.audio=l);break;case 21:s.id3===-1&&(s.id3=l);break;case 219:if(!i){M.log("H.264 with AES-128-CBC slice encryption found in unencrypted stream");break}case 27:s.avc===-1&&(s.avc=l);break;case 3:case 4:t.mpeg!==!0&&t.mp3!==!0?M.log("MPEG audio found, not supported in this browser"):s.audio===-1&&(s.audio=l,s.segmentCodec="mp3");break;case 36:M.warn("Unsupported HEVC stream type found");break}e+=((r[e+3]&15)<<8|r[e+4])+5}return s}function $s(r){let e=0,t,i,s,n,a,o=r.data;if(!r||r.size===0)return null;for(;o[0].length<19&&o.length>1;){let d=new Uint8Array(o[0].length+o[1].length);d.set(o[0]),d.set(o[1],o[0].length),o[0]=d,o.splice(1,1)}if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(i=(t[4]<<8)+t[5],i&&i>r.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&&(M.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let c=s+9;if(r.size<=c)return null;r.size-=c;let u=new Uint8Array(r.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let g=t.byteLength;if(c)if(c>g){c-=g;continue}else t=t.subarray(c),g-=c,c=0;u.set(t,e),e+=g}return i&&(i-=s+3),{data:u,pts:n,dts:a,len:i}}return null}function Pn(r,e){if(r.units.length&&r.frame){if(r.pts===void 0){let t=e.samples,i=t.length;if(i){let s=t[i-1];r.pts=s.pts,r.dts=s.dts}else{e.dropped++;return}}e.samples.push(r)}r.debug.length&&M.log(r.pts+"/"+r.dts+":"+r.debug)}var zu=class extends bl{resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,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 i=(fl(e,0)||[]).length;for(let s=e.length;i<s;i++)if(U_(e,i))return M.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return N_(e,t)}appendFrame(e,t,i){if(this.basePTS!==null)return p0(e,t,i,this.basePTS,this.frameIndex)}},_l=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},gr=Math.pow(2,32)-1,F=class{static init(){F.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in F.types)F.types.hasOwnProperty(e)&&(F.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),i=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);F.HDLR_TYPES={video:t,audio:i};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);F.STTS=F.STSC=F.STCO=n,F.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),F.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),F.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),F.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);F.FTYP=F.box(F.types.ftyp,a,l,a,o),F.DINF=F.box(F.types.dinf,F.box(F.types.dref,s))}static box(e,...t){let i=8,s=t.length,n=s;for(;s--;)i+=t[s].byteLength;let a=new Uint8Array(i);for(a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=i&255,a.set(e,4),s=0,i=8;s<n;s++)a.set(t[s],i),i+=t[s].byteLength;return a}static hdlr(e){return F.box(F.types.hdlr,F.HDLR_TYPES[e])}static mdat(e){return F.box(F.types.mdat,e)}static mdhd(e,t){t*=e;let i=Math.floor(t/(gr+1)),s=Math.floor(t%(gr+1));return F.box(F.types.mdhd,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,i>>24,i>>16&255,i>>8&255,i&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return F.box(F.types.mdia,F.mdhd(e.timescale,e.duration),F.hdlr(e.type),F.minf(e))}static mfhd(e){return F.box(F.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"?F.box(F.types.minf,F.box(F.types.smhd,F.SMHD),F.DINF,F.stbl(e)):F.box(F.types.minf,F.box(F.types.vmhd,F.VMHD),F.DINF,F.stbl(e))}static moof(e,t,i){return F.box(F.types.moof,F.mfhd(e),F.traf(i,t))}static moov(e){let t=e.length,i=[];for(;t--;)i[t]=F.trak(e[t]);return F.box.apply(null,[F.types.moov,F.mvhd(e[0].timescale,e[0].duration)].concat(i).concat(F.mvex(e)))}static mvex(e){let t=e.length,i=[];for(;t--;)i[t]=F.trex(e[t]);return F.box.apply(null,[F.types.mvex,...i])}static mvhd(e,t){t*=e;let i=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,i>>24,i>>16&255,i>>8&255,i&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 F.box(F.types.mvhd,n)}static sdtp(e){let t=e.samples||[],i=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,i[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return F.box(F.types.sdtp,i)}static stbl(e){return F.box(F.types.stbl,F.stsd(e),F.box(F.types.stts,F.STTS),F.box(F.types.stsc,F.STSC),F.box(F.types.stsz,F.STSZ),F.box(F.types.stco,F.STCO))}static avc1(e){let t=[],i=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,i.push(a>>>8&255),i.push(a&255),i=i.concat(Array.prototype.slice.call(n));let o=F.box(F.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(i))),l=e.width,d=e.height,c=e.pixelRatio[0],u=e.pixelRatio[1];return F.box(F.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,F.box(F.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),F.box(F.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,c&255,u>>24,u>>16&255,u>>8&255,u&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 mp4a(e){let t=e.samplerate;return F.box(F.types.mp4a,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]),F.box(F.types.esds,F.esds(e)))}static mp3(e){let t=e.samplerate;return F.box(F.types[".mp3"],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 stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?F.box(F.types.stsd,F.STSD,F.mp3(e)):F.box(F.types.stsd,F.STSD,F.mp4a(e)):F.box(F.types.stsd,F.STSD,F.avc1(e))}static tkhd(e){let t=e.id,i=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(i/(gr+1)),o=Math.floor(i%(gr+1));return F.box(F.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 i=F.sdtp(e),s=e.id,n=Math.floor(t/(gr+1)),a=Math.floor(t%(gr+1));return F.box(F.types.traf,F.box(F.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),F.box(F.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])),F.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||4294967295,F.box(F.types.trak,F.tkhd(e),F.mdia(e))}static trex(e){let t=e.id;return F.box(F.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 i=e.samples||[],s=i.length,n=12+16*s,a=new Uint8Array(n),o,l,d,c,u,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<s;o++)l=i[o],d=l.duration,c=l.size,u=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,c>>>24&255,c>>>16&255,c>>>8&255,c&255,u.isLeading<<2|u.dependsOn,u.isDependedOn<<6|u.hasRedundancy<<4|u.paddingValue<<1|u.isNonSync,u.degradPrio&240<<8,u.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return F.box(F.types.trun,a)}static initSegment(e){F.types||F.init();let t=F.moov(e),i=new Uint8Array(F.FTYP.byteLength+t.byteLength);return i.set(F.FTYP),i.set(t,F.FTYP.byteLength),i}};F.types=void 0;F.HDLR_TYPES=void 0;F.STTS=void 0;F.STSC=void 0;F.STCO=void 0;F.STSZ=void 0;F.VMHD=void 0;F.SMHD=void 0;F.STSD=void 0;F.FTYP=void 0;F.DINF=void 0;var E0=9e4;function wh(r,e,t=1,i=!1){let s=r*e*t;return i?Math.round(s):s}function $_(r,e,t=1,i=!1){return wh(r,e,1/t,i)}function Nn(r,e=!1){return wh(r,1e3,1/E0,e)}function H_(r,e=1){return wh(r,E0,1/e)}var G_=10*1e3,Ig=1024,V_=1152,ol=null,hu=null,$n=class{constructor(e,t,i,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.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,ol===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);ol=a?parseInt(a[1]):0}if(hu===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);hu=n?parseInt(n[1]):0}}destroy(){}resetTimeStamp(e){M.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){M.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){M.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1}getVideoStartPts(e){let t=!1,i=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,li(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&M.debug("PTS rollover detected"),i}remux(e,t,i,s,n,a,o,l){let d,c,u,h,f,g,E=n,T=n,A=e.pid>-1,k=t.pid>-1,L=t.samples.length,N=e.samples.length>0,D=o&&L>0||L>1;if((!A||N)&&(!k||D)||this.ISGenerated||o){this.ISGenerated||(u=this.generateIS(e,t,n,a));let O=this.isVideoContiguous,G=-1,q;if(D&&(G=K_(t.samples),!O&&this.config.forceKeyFrameOnDiscontinuity))if(g=!0,G>0){M.warn(`[mp4-remuxer]: Dropped ${G} out of ${L} video samples due to a missing keyframe`);let P=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(G),t.dropped+=G,T+=(t.samples[0].pts-P)/t.inputTimeScale,q=T}else G===-1&&(M.warn(`[mp4-remuxer]: No keyframe found out of ${L} video samples`),g=!1);if(this.ISGenerated){if(N&&D){let P=this.getVideoStartPts(t.samples),z=(li(e.samples[0].pts,P)-P)/t.inputTimeScale;E+=Math.max(0,z),T+=Math.max(0,-z)}if(N){if(e.samplerate||(M.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),u=this.generateIS(e,t,n,a)),c=this.remuxAudio(e,E,this.isAudioContiguous,a,k||D||l===ge.AUDIO?T:void 0),D){let P=c?c.endPTS-c.startPTS:0;t.inputTimeScale||(M.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),u=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,T,O,P)}}else D&&(d=this.remuxVideo(t,T,O,0));d&&(d.firstKeyFrame=G,d.independent=G!==-1,d.firstKeyFramePTS=q)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(f=b0(i,n,this._initPTS,this._initDTS)),s.samples.length&&(h=y0(s,n,this._initPTS))),{audio:c,video:d,initSegment:u,independent:g,text:h,id3:f}}generateIS(e,t,i,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,c=!d||s,u="audio/mp4",h,f,g;if(c&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(u="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break}l.audio={id:"audio",container:u,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):F.initSegment([e]),metadata:{channelCount:e.channelCount}},c&&(g=e.inputTimeScale,!d||g!==d.timescale?h=f=n[0].pts-Math.round(g*i):c=!1)}if(t.sps&&t.pps&&a.length&&(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:F.initSegment([t]),metadata:{width:t.width,height:t.height}},c))if(g=t.inputTimeScale,!d||g!==d.timescale){let E=this.getVideoStartPts(a),T=Math.round(g*i);f=Math.min(f,li(a[0].dts,E)-T),h=Math.min(h,E-T)}else c=!1;if(Object.keys(l).length)return this.ISGenerated=!0,c?(this._initPTS={baseTime:h,timescale:g},this._initDTS={baseTime:f,timescale:g}):h=g=void 0,{tracks:l,initPTS:h,timescale:g}}remuxVideo(e,t,i,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,c=this.nextAvcDts,u=8,h=this.videoSampleDuration,f,g,E=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,A=!1;if(!i||c===null){let Z=t*n,ne=a[0].pts-li(a[0].dts,a[0].pts);c=Z-ne}let k=d.baseTime*n/d.timescale;for(let Z=0;Z<l;Z++){let ne=a[Z];ne.pts=li(ne.pts-k,c),ne.dts=li(ne.dts-k,c),ne.dts<a[Z>0?Z-1:Z].dts&&(A=!0)}A&&a.sort(function(Z,ne){let se=Z.dts-ne.dts,xe=Z.pts-ne.pts;return se||xe}),f=a[0].dts,g=a[a.length-1].dts;let L=g-f,N=L?Math.round(L/(l-1)):h||e.inputTimeScale/30;if(i){let Z=f-c,ne=Z>N,se=Z<-1;if((ne||se)&&(ne?M.warn(`AVC: ${Nn(Z,!0)} ms (${Z}dts) hole between fragments detected, filling it`):M.warn(`AVC: ${Nn(-Z,!0)} ms (${Z}dts) overlapping between fragments detected`),!se||c>=a[0].pts)){f=c;let xe=a[0].pts-Z;a[0].dts=f,a[0].pts=xe,M.log(`Video: First PTS/DTS adjusted: ${Nn(xe,!0)}/${Nn(f,!0)}, delta: ${Nn(Z,!0)} ms`)}}f=Math.max(0,f);let D=0,$=0;for(let Z=0;Z<l;Z++){let ne=a[Z],se=ne.units,xe=se.length,Ie=0;for(let Ve=0;Ve<xe;Ve++)Ie+=se[Ve].data.length;$+=Ie,D+=xe,ne.length=Ie,ne.dts=Math.max(ne.dts,f),E=Math.min(ne.pts,E),T=Math.max(ne.pts,T)}g=a[l-1].dts;let O=$+4*D+8,G;try{G=new Uint8Array(O)}catch(Z){this.observer.emit(b.ERROR,b.ERROR,{type:pe.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:Z,bytes:O,reason:`fail allocating video mdat ${O}`});return}let q=new DataView(G.buffer);q.setUint32(0,O),G.set(F.types.mdat,4);let P=!1,X=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,Ae=Number.NEGATIVE_INFINITY,Ee=Number.NEGATIVE_INFINITY;for(let Z=0;Z<l;Z++){let ne=a[Z],se=ne.units,xe=0;for(let ht=0,V=se.length;ht<V;ht++){let J=se[ht],ke=J.data,et=J.data.byteLength;q.setUint32(u,et),u+=4,G.set(ke,u),u+=et,xe+=4+et}let Ie;if(Z<l-1)h=a[Z+1].dts-ne.dts,Ie=a[Z+1].pts-ne.pts;else{let ht=this.config,V=Z>0?ne.dts-a[Z-1].dts:N;if(Ie=Z>0?ne.pts-a[Z-1].pts:N,ht.stretchShortVideoTrack&&this.nextAudioPts!==null){let J=Math.floor(ht.maxBufferHole*n),ke=(s?E+s*n:this.nextAudioPts)-ne.pts;ke>J?(h=ke-V,h<0?h=V:P=!0,M.log(`[mp4-remuxer]: It is approximately ${ke/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=V}else h=V}let Ve=Math.round(ne.pts-ne.dts);X=Math.min(X,h),Ae=Math.max(Ae,h),z=Math.min(z,Ie),Ee=Math.max(Ee,Ie),o.push(new Al(ne.key,h,xe,Ve))}if(o.length){if(ol){if(ol<70){let Z=o[0].flags;Z.dependsOn=2,Z.isNonSync=0}}else if(hu&&Ee-z<Ae-X&&N/Ae<.025&&o[0].cts===0){M.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let Z=f;for(let ne=0,se=o.length;ne<se;ne++){let xe=Z+o[ne].duration,Ie=Z+o[ne].cts;if(ne<se-1){let Ve=xe+o[ne+1].cts;o[ne].duration=Ve-Ie}else o[ne].duration=ne?o[ne-1].duration:N;o[ne].cts=0,Z=xe}}}h=P||!h?N:h,this.nextAvcDts=c=g+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let be=F.moof(e.sequenceNumber++,f,pt({},e,{samples:o})),we="video",Se={data1:be,data2:G,startPTS:E/n,endPTS:(T+h)/n,startDTS:f/n,endDTS:c/n,type:we,hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Se}remuxAudio(e,t,i,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=e.segmentCodec==="aac"?Ig:V_,c=d*l,u=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],g=n!==void 0,E=e.samples,T=h?0:8,A=this.nextAudioPts||-1,k=t*a,L=u.baseTime*a/u.timescale;if(this.isAudioContiguous=i=i||E.length&&A>0&&(s&&Math.abs(k-A)<9e3||Math.abs(li(E[0].pts-L,k)-A)<20*c),E.forEach(function(we){we.pts=li(we.pts-L,k)}),!i||A<0){if(E=E.filter(we=>we.pts>=0),!E.length)return;n===0?A=0:s&&!g?A=Math.max(0,k):A=E[0].pts}if(e.segmentCodec==="aac"){let we=this.config.maxAudioFramesDrift;for(let Se=0,Z=A;Se<E.length;Se++){let ne=E[Se],se=ne.pts,xe=se-Z,Ie=Math.abs(1e3*xe/a);if(xe<=-we*c&&g)Se===0&&(M.warn(`Audio frame @ ${(se/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*xe/a)} ms.`),this.nextAudioPts=A=Z=se);else if(xe>=we*c&&Ie<G_&&g){let Ve=Math.round(xe/c);Z=se-Ve*c,Z<0&&(Ve--,Z+=c),Se===0&&(this.nextAudioPts=A=Z),M.warn(`[mp4-remuxer]: Injecting ${Ve} audio frame @ ${(Z/a).toFixed(3)}s due to ${Math.round(1e3*xe/a)} ms gap.`);for(let ht=0;ht<Ve;ht++){let V=Math.max(Z,0),J=_l.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);J||(M.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),J=ne.unit.subarray()),E.splice(Se,0,{unit:J,pts:V}),Z+=c,Se++}}ne.pts=Z,Z+=c}}let N=null,D=null,$,O=0,G=E.length;for(;G--;)O+=E[G].unit.byteLength;for(let we=0,Se=E.length;we<Se;we++){let Z=E[we],ne=Z.unit,se=Z.pts;if(D!==null){let Ie=f[we-1];Ie.duration=Math.round((se-D)/l)}else if(i&&e.segmentCodec==="aac"&&(se=A),N=se,O>0){O+=T;try{$=new Uint8Array(O)}catch(Ie){this.observer.emit(b.ERROR,b.ERROR,{type:pe.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:Ie,bytes:O,reason:`fail allocating audio mdat ${O}`});return}h||(new DataView($.buffer).setUint32(0,O),$.set(F.types.mdat,4))}else return;$.set(ne,T);let xe=ne.byteLength;T+=xe,f.push(new Al(!0,d,xe,0)),D=se}let q=f.length;if(!q)return;let P=f[f.length-1];this.nextAudioPts=A=D+l*P.duration;let X=h?new Uint8Array(0):F.moof(e.sequenceNumber++,N/l,pt({},e,{samples:f}));e.samples=[];let z=N/a,Ae=A/a,be={data1:X,data2:$,startPTS:z,endPTS:Ae,startDTS:z,endDTS:Ae,type:"audio",hasAudio:!0,hasVideo:!1,nb:q};return this.isAudioContiguous=!0,be}remuxEmptyAudio(e,t,i,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,c=d.baseTime*9e4/d.timescale,u=(l!==null?l:s.startDTS*n)+c,h=s.endDTS*n+c,f=o*Ig,g=Math.ceil((h-u)/f),E=_l.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(M.warn("[mp4-remuxer]: remux empty Audio"),!E){M.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let T=[];for(let A=0;A<g;A++){let k=u+A*f;T.push({unit:E,pts:k,dts:k})}return e.samples=T,this.remuxAudio(e,t,i,!1)}};function li(r,e){let t;if(e===null)return r;for(e<r?t=-8589934592:t=8589934592;Math.abs(r-e)>4294967296;)r+=t;return r}function K_(r){for(let e=0;e<r.length;e++)if(r[e].key)return e;return-1}function b0(r,e,t,i){let s=r.samples.length;if(!s)return;let n=r.inputTimeScale;for(let o=0;o<s;o++){let l=r.samples[o];l.pts=li(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=li(l.dts-i.baseTime*n/i.timescale,e*n)/n}let a=r.samples;return r.samples=[],{samples:a}}function y0(r,e,t){let i=r.samples.length;if(!i)return;let s=r.inputTimeScale;for(let a=0;a<i;a++){let o=r.samples[a];o.pts=li(o.pts-t.baseTime*s/t.timescale,e*s)/s}r.samples.sort((a,o)=>a.pts-o.pts);let n=r.samples;return r.samples=[],{samples:n}}var Al=class{constructor(e,t,i,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=i,this.cts=s,this.flags=new Xu(e)}},Xu=class{constructor(e){this.isLeading=0,this.isDependedOn=0,this.hasRedundancy=0,this.degradPrio=0,this.dependsOn=1,this.isNonSync=1,this.dependsOn=e?2:1,this.isNonSync=e?0:1}},Qu=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,i,s){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(kT(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:i}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=Xg(e);t||(t=Lg(s.audio,qe.AUDIO)),i||(i=Lg(s.video,qe.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+i,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:i,initSegment:e,id:"main"}:M.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,i,s,n,a){var o,l;let{initPTS:d,lastEndTime:c}=this,u={audio:void 0,video:void 0,text:s,id3:i,initSegment:void 0};ce(c)||(c=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return u;let f={initPTS:void 0,timescale:1},g=this.initData;if((o=g)!=null&&o.length||(this.generateInitSegment(h),g=this.initData),!((l=g)!=null&&l.length))return M.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),u;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let E=wT(h,g),T=RT(g,h),A=T===null?n:T;(W_(d,A,n,E)||f.timescale!==d.timescale&&a)&&(f.initPTS=A-n,d&&d.timescale===1&&M.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let k=e?A-d.baseTime/d.timescale:c,L=k+E;CT(g,h,d.baseTime/d.timescale),E>0?this.lastEndTime=L:(M.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let N=!!g.audio,D=!!g.video,$="";N&&($+="audio"),D&&($+="video");let O={data1:h,startPTS:k,startDTS:k,endPTS:L,endDTS:L,type:$,hasAudio:N,hasVideo:D,nb:1,dropped:0};return u.audio=O.type==="audio"?O:void 0,u.video=O.type!=="audio"?O:void 0,u.initSegment=f,u.id3=b0(i,n,d,d),s.samples.length&&(u.text=y0(s,n,d)),u}};function W_(r,e,t,i){if(r===null)return!0;let s=Math.max(i,1),n=e-r.baseTime/r.timescale;return Math.abs(n-t)>s}function Lg(r,e){let t=r==null?void 0:r.codec;return t&&t.length>4?t:t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":t==="avc1"||e===qe.VIDEO?"avc1.42e01e":"mp4a.40.5"}var Qi;try{Qi=self.performance.now.bind(self.performance)}catch{M.debug("Unable to use Performance API on this environment"),Qi=typeof self!="undefined"&&self.Date.now}var fu=[{demux:qu,remux:Qu},{demux:Fi,remux:$n},{demux:Wu,remux:$n},{demux:zu,remux:$n}],Sl=class{constructor(e,t,i,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=i,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,i,s){let n=i.transmuxing;n.executeStart=Qi();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:c,trackSwitch:u,accurateTimeOffset:h,timeOffset:f,initSegmentChange:g}=s||o,{audioCodec:E,videoCodec:T,defaultInitPts:A,duration:k,initSegmentData:L}=l,N=q_(a,t);if(N&&N.method==="AES-128"){let G=this.getDecrypter();if(G.isSync()){let q=G.softwareDecrypt(a,N.key.buffer,N.iv.buffer);if(i.part>-1&&(q=G.flush()),!q)return n.executeEnd=Qi(),mu(i);a=new Uint8Array(q)}else return this.decryptionPromise=G.webCryptoDecrypt(a,N.key.buffer,N.iv.buffer).then(q=>{let P=this.push(q,null,i);return this.decryptionPromise=null,P}),this.decryptionPromise}let D=this.needsProbing(c,u);if(D){let G=this.configureTransmuxer(a);if(G)return M.warn(`[transmuxer] ${G.message}`),this.observer.emit(b.ERROR,b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:G,reason:G.message}),n.executeEnd=Qi(),mu(i)}(c||u||g||D)&&this.resetInitSegment(L,E,T,k,t),(c||g||D)&&this.resetInitialTimestamp(A),d||this.resetContiguity();let $=this.transmux(a,N,f,h,i),O=this.currentTransmuxState;return O.contiguous=!0,O.discontinuity=!1,O.trackSwitch=!1,n.executeEnd=Qi(),$}flush(e){let t=e.transmuxing;t.executeStart=Qi();let{decrypter:i,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(i){let u=i.flush();u&&a.push(this.push(u,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=Qi(),[mu(e)];let c=l.flush(o);return cl(c)?c.then(u=>(this.flushRemux(a,u,e),a)):(this.flushRemux(a,c,e),a)}flushRemux(e,t,i){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;M.log(`[transmuxer.ts]: Flushed fragment ${i.sn}${i.part>-1?" p: "+i.part:""} of level ${i.level}`);let c=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:c,chunkMeta:i}),i.transmuxing.executeEnd=Qi()}resetInitialTimestamp(e){let{demuxer:t,remuxer:i}=this;!t||!i||(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,i,s),o.resetInitSegment(e,t,i,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,i,s,n):a=this.transmuxUnencrypted(e,i,s,n),a}transmuxUnencrypted(e,t,i,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,i,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,i,s,n){return this.demuxer.demuxSampleAes(e,t,i).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,i,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:i,typeSupported:s,vendor:n}=this,a;for(let u=0,h=fu.length;u<h;u++)if(fu[u].demux.probe(e)){a=fu[u];break}if(!a)return new Error("Failed to find demuxer by probing fragment data");let o=this.demuxer,l=this.remuxer,d=a.remux,c=a.demux;(!l||!(l instanceof d))&&(this.remuxer=new d(i,t,s,n)),(!o||!(o instanceof c))&&(this.demuxer=new c(i,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new Wn(this.config)),e}};function q_(r,e){let t=null;return r.byteLength>0&&e!=null&&e.key!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var mu=r=>({remuxResult:{},chunkMeta:r});function cl(r){return"then"in r&&r.then instanceof Function}var Zu=class{constructor(e,t,i,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=i,this.duration=s,this.defaultInitPts=n||null}},Ju=class{constructor(e,t,i,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=i,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},T0={exports:{}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function s(l,d,c){this.fn=l,this.context=d,this.once=c||!1}function n(l,d,c,u,h){if(typeof c!="function")throw new TypeError("The listener must be a function");var f=new s(c,u||l,h),g=t?t+d:d;return l._events[g]?l._events[g].fn?l._events[g]=[l._events[g],f]:l._events[g].push(f):(l._events[g]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new i:delete l._events[d]}function o(){this._events=new i,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],c,u;if(this._eventsCount===0)return d;for(u in c=this._events)e.call(c,u)&&d.push(t?u.slice(1):u);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(c)):d},o.prototype.listeners=function(d){var c=t?t+d:d,u=this._events[c];if(!u)return[];if(u.fn)return[u.fn];for(var h=0,f=u.length,g=new Array(f);h<f;h++)g[h]=u[h].fn;return g},o.prototype.listenerCount=function(d){var c=t?t+d:d,u=this._events[c];return u?u.fn?1:u.length:0},o.prototype.emit=function(d,c,u,h,f,g){var E=t?t+d:d;if(!this._events[E])return!1;var T=this._events[E],A=arguments.length,k,L;if(T.fn){switch(T.once&&this.removeListener(d,T.fn,void 0,!0),A){case 1:return T.fn.call(T.context),!0;case 2:return T.fn.call(T.context,c),!0;case 3:return T.fn.call(T.context,c,u),!0;case 4:return T.fn.call(T.context,c,u,h),!0;case 5:return T.fn.call(T.context,c,u,h,f),!0;case 6:return T.fn.call(T.context,c,u,h,f,g),!0}for(L=1,k=new Array(A-1);L<A;L++)k[L-1]=arguments[L];T.fn.apply(T.context,k)}else{var N=T.length,D;for(L=0;L<N;L++)switch(T[L].once&&this.removeListener(d,T[L].fn,void 0,!0),A){case 1:T[L].fn.call(T[L].context);break;case 2:T[L].fn.call(T[L].context,c);break;case 3:T[L].fn.call(T[L].context,c,u);break;case 4:T[L].fn.call(T[L].context,c,u,h);break;default:if(!k)for(D=1,k=new Array(A-1);D<A;D++)k[D-1]=arguments[D];T[L].fn.apply(T[L].context,k)}}return!0},o.prototype.on=function(d,c,u){return n(this,d,c,u,!1)},o.prototype.once=function(d,c,u){return n(this,d,c,u,!0)},o.prototype.removeListener=function(d,c,u,h){var f=t?t+d:d;if(!this._events[f])return this;if(!c)return a(this,f),this;var g=this._events[f];if(g.fn)g.fn===c&&(!h||g.once)&&(!u||g.context===u)&&a(this,f);else{for(var E=0,T=[],A=g.length;E<A;E++)(g[E].fn!==c||h&&!g[E].once||u&&g[E].context!==u)&&T.push(g[E]);T.length?this._events[f]=T.length===1?T[0]:T:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var c;return d?(c=t?t+d:d,this._events[c]&&a(this,c)):(this._events=new i,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,r.exports=o})(T0);var Y_=T0.exports,Dh=eT(Y_),pu=Ml()||{isTypeSupported:()=>!1},xl=class{constructor(e,t,i,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=i,this.onFlush=s;let a=(d,c)=>{c=c||{},c.frag=this.frag,c.id=this.id,d===b.ERROR&&(this.error=c.error),this.hls.trigger(d,c)};this.observer=new Dh,this.observer.on(b.FRAG_DECRYPTED,a),this.observer.on(b.ERROR,a);let o={mp4:pu.isTypeSupported("video/mp4"),mpeg:pu.isTypeSupported("audio/mpeg"),mp3:pu.isTypeSupported('audio/mp4; codecs="mp3"')},l=navigator.vendor;if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||__())){try{n.workerPath?(M.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=S_(n.workerPath)):(M.log(`injecting Web Worker for "${t}"`),this.workerContext=A_()),this.onwmsg=u=>this.onWorkerMessage(u);let{worker:c}=this.workerContext;c.addEventListener("message",this.onwmsg),c.onerror=u=>{let h=new Error(`${u.message} (${u.filename}:${u.lineno})`);n.enableWorker=!1,M.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(b.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h})},c.postMessage({cmd:"init",typeSupported:o,vendor:l,id:t,config:JSON.stringify(n)})}catch(c){M.warn(`Error setting up "${t}" Web Worker, fallback to inline`,c),this.resetWorker(),this.error=null,this.transmuxer=new Sl(this.observer,o,n,l,t)}return}this.transmuxer=new Sl(this.observer,o,n,l,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,i,s,n,a,o,l,d,c){var u,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,g=a?a.start:n.start,E=n.decryptdata,T=this.frag,A=!(T&&n.cc===T.cc),k=!(T&&d.level===T.level),L=T?d.sn-T.sn:-1,N=this.part?d.part-this.part.index:-1,D=L===0&&d.id>1&&d.id===(T==null?void 0:T.stats.chunkCount),$=!k&&(L===1||L===0&&(N===1||D&&N<=0)),O=self.performance.now();(k||L||n.stats.parsing.start===0)&&(n.stats.parsing.start=O),a&&(N||!$)&&(a.stats.parsing.start=O);let G=!(T&&((u=n.initSegment)==null?void 0:u.url)===((h=T.initSegment)==null?void 0:h.url)),q=new Ju(A,$,l,k,g,G);if(!$||A||G){M.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
|
|
950
|
+
`;var iu=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_AUDIO_TRACK_ENABLED,S.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:Zp})}get mediaAudioTrackEnabled(){return We(this,S.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){Be(this,S.MEDIA_AUDIO_TRACK_ENABLED,e)}};w.customElements.get("media-audio-track-button")||w.customElements.define("media-audio-track-button",iu);var Jo=class extends ai{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_AUDIO_TRACK_ENABLED,S.MEDIA_AUDIO_TRACK_UNAVAILABLE]}init(){let e=Y.createElement("media-audio-track-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-audio-track-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-audio-track-selectmenu")||w.customElements.define("media-audio-track-selectmenu",Jo);var Ol=bb(Jp(),1);function eT(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var $g={exports:{}};(function(r,e){(function(t){var i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,c){if(c=c||{},l=l.trim(),d=d.trim(),!d){if(!c.alwaysNormalize)return l;var u=o.parseURL(l);if(!u)throw new Error("Error trying to parse base URL.");return u.path=o.normalizePath(u.path),o.buildURLFromParts(u)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return c.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var g=s.exec(f.path);f.netLoc=g[1],f.path=g[2]}f.netLoc&&!f.path&&(f.path="/");var E={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(E.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)E.path=f.path,h.params||(E.params=f.params,h.query||(E.query=f.query));else{var T=f.path,A=T.substring(0,T.lastIndexOf("/")+1)+h.path;E.path=o.normalizePath(A)}return E.path===null&&(E.path=c.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(E)},parseURL:function(l){var d=i.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};r.exports=o})()})($g);var Ah=$g.exports;function eg(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,i)}return t}function jt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?eg(Object(t),!0).forEach(function(i){tT(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):eg(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function tT(r,e,t){return e=rT(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function pt(){return pt=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},pt.apply(this,arguments)}function iT(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var i=t.call(r,e||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function rT(r){var e=iT(r,"string");return typeof e=="symbol"?e:String(e)}var ce=Number.isFinite||function(r){return typeof r=="number"&&isFinite(r)},b=function(r){return r.MEDIA_ATTACHING="hlsMediaAttaching",r.MEDIA_ATTACHED="hlsMediaAttached",r.MEDIA_DETACHING="hlsMediaDetaching",r.MEDIA_DETACHED="hlsMediaDetached",r.BUFFER_RESET="hlsBufferReset",r.BUFFER_CODECS="hlsBufferCodecs",r.BUFFER_CREATED="hlsBufferCreated",r.BUFFER_APPENDING="hlsBufferAppending",r.BUFFER_APPENDED="hlsBufferAppended",r.BUFFER_EOS="hlsBufferEos",r.BUFFER_FLUSHING="hlsBufferFlushing",r.BUFFER_FLUSHED="hlsBufferFlushed",r.MANIFEST_LOADING="hlsManifestLoading",r.MANIFEST_LOADED="hlsManifestLoaded",r.MANIFEST_PARSED="hlsManifestParsed",r.LEVEL_SWITCHING="hlsLevelSwitching",r.LEVEL_SWITCHED="hlsLevelSwitched",r.LEVEL_LOADING="hlsLevelLoading",r.LEVEL_LOADED="hlsLevelLoaded",r.LEVEL_UPDATED="hlsLevelUpdated",r.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",r.LEVELS_UPDATED="hlsLevelsUpdated",r.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",r.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",r.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",r.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",r.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",r.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",r.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",r.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",r.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",r.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",r.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",r.CUES_PARSED="hlsCuesParsed",r.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",r.INIT_PTS_FOUND="hlsInitPtsFound",r.FRAG_LOADING="hlsFragLoading",r.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",r.FRAG_LOADED="hlsFragLoaded",r.FRAG_DECRYPTED="hlsFragDecrypted",r.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",r.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",r.FRAG_PARSING_METADATA="hlsFragParsingMetadata",r.FRAG_PARSED="hlsFragParsed",r.FRAG_BUFFERED="hlsFragBuffered",r.FRAG_CHANGED="hlsFragChanged",r.FPS_DROP="hlsFpsDrop",r.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",r.ERROR="hlsError",r.DESTROYING="hlsDestroying",r.KEY_LOADING="hlsKeyLoading",r.KEY_LOADED="hlsKeyLoaded",r.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",r.BACK_BUFFER_REACHED="hlsBackBufferReached",r}({}),pe=function(r){return r.NETWORK_ERROR="networkError",r.MEDIA_ERROR="mediaError",r.KEY_SYSTEM_ERROR="keySystemError",r.MUX_ERROR="muxError",r.OTHER_ERROR="otherError",r}({}),B=function(r){return r.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",r.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",r.KEY_SYSTEM_NO_SESSION="keySystemNoSession",r.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",r.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",r.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",r.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",r.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",r.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",r.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",r.MANIFEST_LOAD_ERROR="manifestLoadError",r.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",r.MANIFEST_PARSING_ERROR="manifestParsingError",r.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",r.LEVEL_EMPTY_ERROR="levelEmptyError",r.LEVEL_LOAD_ERROR="levelLoadError",r.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",r.LEVEL_PARSING_ERROR="levelParsingError",r.LEVEL_SWITCH_ERROR="levelSwitchError",r.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",r.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",r.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",r.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",r.FRAG_LOAD_ERROR="fragLoadError",r.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",r.FRAG_DECRYPT_ERROR="fragDecryptError",r.FRAG_PARSING_ERROR="fragParsingError",r.FRAG_GAP="fragGap",r.REMUX_ALLOC_ERROR="remuxAllocError",r.KEY_LOAD_ERROR="keyLoadError",r.KEY_LOAD_TIMEOUT="keyLoadTimeOut",r.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",r.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",r.BUFFER_APPEND_ERROR="bufferAppendError",r.BUFFER_APPENDING_ERROR="bufferAppendingError",r.BUFFER_STALLED_ERROR="bufferStalledError",r.BUFFER_FULL_ERROR="bufferFullError",r.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",r.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",r.INTERNAL_EXCEPTION="internalException",r.INTERNAL_ABORTED="aborted",r.UNKNOWN="unknown",r}({}),Gr=function(){},Su={trace:Gr,debug:Gr,log:Gr,warn:Gr,info:Gr,error:Gr},Un=Su;function sT(r){let e=self.console[r];return e?e.bind(self.console,`[${r}] >`):Gr}function nT(r,...e){e.forEach(function(t){Un[t]=r[t]?r[t].bind(r):sT(t)})}function aT(r,e){if(self.console&&r===!0||typeof r=="object"){nT(r,"debug","log","info","warn","error");try{Un.log(`Debug logs enabled for "${e}" in hls.js version 1.4.10`)}catch{Un=Su}}else Un=Su}var M=Un,oT=/^(\d+)x(\d+)$/,tg=/(.+?)=(".*?"|.*?)(?:,|$)/g,Ze=class{constructor(e){typeof e=="string"&&(e=Ze.parseAttrList(e));for(let t in e)e.hasOwnProperty(t)&&(t.substring(0,2)==="X-"&&(this.clientAttrs=this.clientAttrs||[],this.clientAttrs.push(t)),this[t]=e[t])}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 i=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)i[s]=parseInt(t.slice(s*2,s*2+2),16);return i}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=oT.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,i={},s='"';for(tg.lastIndex=0;(t=tg.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();i[a]=n}return i}};function lT(r){return r!=="ID"&&r!=="CLASS"&&r!=="START-DATE"&&r!=="DURATION"&&r!=="END-DATE"&&r!=="END-ON-NEXT"}function dT(r){return r==="SCTE35-OUT"||r==="SCTE35-IN"}var ul=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let i=t.attr;for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==i[s]){M.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=pt(new Ze({}),i,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let i=new Date(this.attr["END-DATE"]);ce(i.getTime())&&(this._endDate=i)}}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(ce(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&&ce(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Ks=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}}},qe={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},hl=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[qe.AUDIO]:null,[qe.VIDEO]:null,[qe.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let i=e.split("@",2),s=[];i.length===1?s[0]=t?t.byteRangeEndOffset:0:s[0]=parseInt(i[1]),s[1]=parseInt(i[0])+s[0],this._byteRange=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=Ah.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},Fn=class extends hl{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 Ks,this.urlId=0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 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 i=Object.keys(this.levelkeys);if(i.length===1)return this._decryptdata=this.levelkeys[i[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!ce(this.programDateTime))return null;let e=ce(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),i=t.length;if(i>1||i===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,i,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:i,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,i),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[qe.AUDIO]=null,e[qe.VIDEO]=null,e[qe.AUDIOVIDEO]=null}},xu=class extends hl{constructor(e,t,i,s,n){super(i),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 Ks,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)}},cT=10,Iu=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,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t,this.advanced=this.endSN>e.endSN||t>0||t===0&&i>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?ce(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||cT}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 Sh(r){return Uint8Array.from(atob(r),e=>e.charCodeAt(0))}function uT(r){let e=Hg(r).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function hT(r){let e=function(i,s,n){let a=i[s];i[s]=i[n],i[n]=a};e(r,0,3),e(r,1,2),e(r,4,5),e(r,6,7)}function fT(r){let e=r.split(":"),t=null;if(e[0]==="data"&&e.length===2){let i=e[1].split(";"),s=i[i.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(i.splice(-1,1),t=Sh(a)):t=uT(a)}}return t}function Hg(r){return Uint8Array.from(unescape(encodeURIComponent(r)),e=>e.charCodeAt(0))}var nt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Yt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function ig(r){switch(r){case Yt.FAIRPLAY:return nt.FAIRPLAY;case Yt.PLAYREADY:return nt.PLAYREADY;case Yt.WIDEVINE:return nt.WIDEVINE;case Yt.CLEARKEY:return nt.CLEARKEY}}var Gg={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function mT(r){if(r===Gg.WIDEVINE)return nt.WIDEVINE}function rg(r){switch(r){case nt.FAIRPLAY:return Yt.FAIRPLAY;case nt.PLAYREADY:return Yt.PLAYREADY;case nt.WIDEVINE:return Yt.WIDEVINE;case nt.CLEARKEY:return Yt.CLEARKEY}}function su(r){let{drmSystems:e,widevineLicenseUrl:t}=r,i=e?[nt.FAIRPLAY,nt.WIDEVINE,nt.PLAYREADY,nt.CLEARKEY].filter(s=>!!e[s]):[];return!i[nt.WIDEVINE]&&t&&i.push(nt.WIDEVINE),i}var Vg=function(){return typeof self!="undefined"&&self.navigator&&self.navigator.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function pT(r,e,t,i){let s;switch(r){case nt.FAIRPLAY:s=["cenc","sinf"];break;case nt.WIDEVINE:case nt.PLAYREADY:s=["cenc"];break;case nt.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${r}`)}return gT(s,e,t,i)}function gT(r,e,t,i){return[{initDataTypes:r,persistentState:i.persistentState||"not-allowed",distinctiveIdentifier:i.distinctiveIdentifier||"not-allowed",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}))}]}function Vr(r,e,t){return Uint8Array.prototype.slice?r.slice(e,t):new Uint8Array(Array.prototype.slice.call(r,e,t))}var xh=(r,e)=>e+10<=r.length&&r[e]===73&&r[e+1]===68&&r[e+2]===51&&r[e+3]<255&&r[e+4]<255&&r[e+6]<128&&r[e+7]<128&&r[e+8]<128&&r[e+9]<128,Kg=(r,e)=>e+10<=r.length&&r[e]===51&&r[e+1]===68&&r[e+2]===73&&r[e+3]<255&&r[e+4]<255&&r[e+6]<128&&r[e+7]<128&&r[e+8]<128&&r[e+9]<128,fl=(r,e)=>{let t=e,i=0;for(;xh(r,e);){i+=10;let s=Cl(r,e+6);i+=s,Kg(r,e+10)&&(i+=10),e+=i}if(i>0)return r.subarray(t,t+i)},Cl=(r,e)=>{let t=0;return t=(r[e]&127)<<21,t|=(r[e+1]&127)<<14,t|=(r[e+2]&127)<<7,t|=r[e+3]&127,t},vT=(r,e)=>xh(r,e)&&Cl(r,e+6)+10<=r.length-e,ET=r=>{let e=qg(r);for(let t=0;t<e.length;t++){let i=e[t];if(Wg(i))return ST(i)}},Wg=r=>r&&r.key==="PRIV"&&r.info==="com.apple.streaming.transportStreamTimestamp",bT=r=>{let e=String.fromCharCode(r[0],r[1],r[2],r[3]),t=Cl(r,4),i=10;return{type:e,size:t,data:r.subarray(i,i+t)}},qg=r=>{let e=0,t=[];for(;xh(r,e);){let i=Cl(r,e+6);e+=10;let s=e+i;for(;e+8<s;){let n=bT(r.subarray(e)),a=yT(n);a&&t.push(a),e+=n.size+10}Kg(r,e)&&(e+=10)}return t},yT=r=>r.type==="PRIV"?TT(r):r.type[0]==="W"?AT(r):_T(r),TT=r=>{if(r.size<2)return;let e=Hi(r.data,!0),t=new Uint8Array(r.data.subarray(e.length+1));return{key:r.type,info:e,data:t.buffer}},_T=r=>{if(r.size<2)return;if(r.type==="TXXX"){let t=1,i=Hi(r.data.subarray(t),!0);t+=i.length+1;let s=Hi(r.data.subarray(t));return{key:r.type,info:i,data:s}}let e=Hi(r.data.subarray(1));return{key:r.type,data:e}},AT=r=>{if(r.type==="WXXX"){if(r.size<2)return;let t=1,i=Hi(r.data.subarray(t),!0);t+=i.length+1;let s=Hi(r.data.subarray(t));return{key:r.type,info:i,data:s}}let e=Hi(r.data);return{key:r.type,data:e}},ST=r=>{if(r.data.byteLength===8){let e=new Uint8Array(r.data),t=e[3]&1,i=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return i/=45,t&&(i+=4772185884e-2),Math.round(i)}},Hi=(r,e=!1)=>{let t=xT();if(t){let d=t.decode(r);if(e){let c=d.indexOf("\0");return c!==-1?d.substring(0,c):d}return d.replace(/\0/g,"")}let i=r.length,s,n,a,o="",l=0;for(;l<i;){if(s=r[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>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=r[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=r[l++],a=r[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},nu;function xT(){return!nu&&typeof self.TextDecoder!="undefined"&&(nu=new self.TextDecoder("utf-8")),nu}var Ni={hexDump:function(r){let e="";for(let t=0;t<r.length;t++){let i=r[t].toString(16);i.length<2&&(i="0"+i),e+=i}return e}},ml=Math.pow(2,32)-1,IT=[].push,Yg={video:1,audio:2,id3:3,text:4};function Lt(r){return String.fromCharCode.apply(null,r)}function jg(r,e){let t=r[e]<<8|r[e+1];return t<0?65536+t:t}function Te(r,e){let t=zg(r,e);return t<0?4294967296+t:t}function zg(r,e){return r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}function au(r,e,t){r[e]=t>>24,r[e+1]=t>>16&255,r[e+2]=t>>8&255,r[e+3]=t&255}function Pe(r,e){let t=[];if(!e.length)return t;let i=r.byteLength;for(let s=0;s<i;){let n=Te(r,s),a=Lt(r.subarray(s+4,s+8)),o=n>1?s+n:i;if(a===e[0])if(e.length===1)t.push(r.subarray(s+8,o));else{let l=Pe(r.subarray(s+8,o),e.slice(1));l.length&&IT.apply(t,l)}s=o}return t}function LT(r){let e=[],t=r[0],i=8,s=Te(r,i);i+=4;let n=0,a=0;t===0?i+=8:i+=16,i+=2;let o=r.length+a,l=jg(r,i);i+=2;for(let d=0;d<l;d++){let c=i,u=Te(r,c);c+=4;let h=u&2147483647;if((u&2147483648)>>>31===1)return M.warn("SIDX has hierarchical references (not supported)"),null;let g=Te(r,c);c+=4,e.push({referenceSize:h,subsegmentDuration:g,info:{duration:g/s,start:o,end:o+h-1}}),o+=h,c+=4,i=c}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function Xg(r){let e=[],t=Pe(r,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=Pe(n,["tkhd"])[0];if(a){let o=a[0],l=o===0?12:20,d=Te(a,l),c=Pe(n,["mdia","mdhd"])[0];if(c){o=c[0],l=o===0?12:20;let u=Te(c,l),h=Pe(n,["mdia","hdlr"])[0];if(h){let f=Lt(h.subarray(8,12)),g={soun:qe.AUDIO,vide:qe.VIDEO}[f];if(g){let E=Pe(n,["mdia","minf","stbl","stsd"])[0],T;E&&(T=Lt(E.subarray(12,16))),e[d]={timescale:u,type:g},e[g]={timescale:u,id:d,codec:T}}}}}}return Pe(r,["moov","mvex","trex"]).forEach(s=>{let n=Te(s,4),a=e[n];a&&(a.default={duration:Te(s,12),flags:Te(s,20)})}),e}function kT(r,e){if(!r||!e)return r;let t=e.keyId;return t&&e.isCommonEncryption&&Pe(r,["moov","trak"]).forEach(s=>{let a=Pe(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=Pe(a,["enca"]),l=o.length>0;l||(o=Pe(a,["encv"])),o.forEach(d=>{let c=l?d.subarray(28):d.subarray(78);Pe(c,["sinf"]).forEach(h=>{let f=Qg(h);if(f){let g=f.subarray(8,24);g.some(E=>E!==0)||(M.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${Ni.hexDump(g)} -> ${Ni.hexDump(t)}`),f.set(t,8))}})})}),r}function Qg(r){let e=Pe(r,["schm"])[0];if(e){let t=Lt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return Pe(r,["schi","tenc"])[0]}return M.error("[eme] missing 'schm' box"),null}function RT(r,e){return Pe(e,["moof","traf"]).reduce((t,i)=>{let s=Pe(i,["tfdt"])[0],n=s[0],a=Pe(i,["tfhd"]).reduce((o,l)=>{let d=Te(l,4),c=r[d];if(c){let u=Te(s,4);if(n===1){if(u===ml)return M.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;u*=ml+1,u+=Te(s,8)}let h=c.timescale||9e4,f=u/h;if(isFinite(f)&&(o===null||f<o))return f}return o},null);return a!==null&&isFinite(a)&&(t===null||a<t)?a:t},null)}function wT(r,e){let t=0,i=0,s=0,n=Pe(r,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=Pe(o,["tfhd"])[0],d=Te(l,4),c=e[d];if(!c)continue;let u=c.default,h=Te(l,0)|(u==null?void 0:u.flags),f=u==null?void 0:u.duration;h&8&&(h&2?f=Te(l,12):f=Te(l,8));let g=c.timescale||9e4,E=Pe(o,["trun"]);for(let T=0;T<E.length;T++){if(t=DT(E[T]),!t&&f){let A=Te(E[T],4);t=f*A}c.type===qe.VIDEO?i+=t/g:c.type===qe.AUDIO&&(s+=t/g)}}if(i===0&&s===0){let a=0,o=Pe(r,["sidx"]);for(let l=0;l<o.length;l++){let d=LT(o[l]);d!=null&&d.references&&(a+=d.references.reduce((c,u)=>c+u.info.duration||0,0))}return a}return i||s}function DT(r){let e=Te(r,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let i=0,s=Te(r,4);for(let n=0;n<s;n++){if(e&256){let a=Te(r,t);i+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return i}function CT(r,e,t){Pe(e,["moof","traf"]).forEach(i=>{Pe(i,["tfhd"]).forEach(s=>{let n=Te(s,4),a=r[n];if(!a)return;let o=a.timescale||9e4;Pe(i,["tfdt"]).forEach(l=>{let d=l[0],c=Te(l,4);if(d===0)c-=t*o,c=Math.max(c,0),au(l,4,c);else{c*=Math.pow(2,32),c+=Te(l,8),c-=t*o,c=Math.max(c,0);let u=Math.floor(c/(ml+1)),h=Math.floor(c%(ml+1));au(l,4,u),au(l,8,h)}})})})}function MT(r){let e={valid:null,remainder:null},t=Pe(r,["moof"]);if(t){if(t.length<2)return e.remainder=r,e}else return e;let i=t[t.length-1];return e.valid=Vr(r,0,i.byteOffset-8),e.remainder=Vr(r,i.byteOffset-8),e}function Kr(r,e){let t=new Uint8Array(r.length+e.length);return t.set(r),t.set(e,r.length),t}function sg(r,e){let t=[],i=e.samples,s=e.timescale,n=e.id,a=!1;return Pe(i,["moof"]).map(l=>{let d=l.byteOffset-8;Pe(l,["traf"]).map(u=>{let h=Pe(u,["tfdt"]).map(f=>{let g=f[0],E=Te(f,4);return g===1&&(E*=Math.pow(2,32),E+=Te(f,8)),E/s})[0];return h!==void 0&&(r=h),Pe(u,["tfhd"]).map(f=>{let g=Te(f,4),E=Te(f,0)&16777215,T=(E&1)!==0,A=(E&2)!==0,k=(E&8)!==0,L=0,N=(E&16)!==0,D=0,$=(E&32)!==0,O=8;g===n&&(T&&(O+=8),A&&(O+=4),k&&(L=Te(f,O),O+=4),N&&(D=Te(f,O),O+=4),$&&(O+=4),e.type==="video"&&(a=OT(e.codec)),Pe(u,["trun"]).map(G=>{let q=G[0],P=Te(G,0)&16777215,X=(P&1)!==0,z=0,Ae=(P&4)!==0,Ee=(P&256)!==0,be=0,we=(P&512)!==0,Se=0,Z=(P&1024)!==0,ne=(P&2048)!==0,se=0,xe=Te(G,4),Ie=8;X&&(z=Te(G,Ie),Ie+=4),Ae&&(Ie+=4);let Ve=z+d;for(let ht=0;ht<xe;ht++){if(Ee?(be=Te(G,Ie),Ie+=4):be=L,we?(Se=Te(G,Ie),Ie+=4):Se=D,Z&&(Ie+=4),ne&&(q===0?se=Te(G,Ie):se=zg(G,Ie),Ie+=4),e.type===qe.VIDEO){let V=0;for(;V<Se;){let ee=Te(i,Ve);if(Ve+=4,PT(a,i[Ve])){let ke=i.subarray(Ve,Ve+ee);Zg(ke,a?2:1,r+se/s,t)}Ve+=ee,V+=ee+4}}r+=be/s}}))})})}),t}function OT(r){if(!r)return!1;let e=r.indexOf("."),t=e<0?r:r.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function PT(r,e){if(r){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function Zg(r,e,t,i){let s=Jg(r),n=0;n+=e;let a=0,o=0,l=!1,d=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;d=s[n++],a+=d}while(d===255);o=0;do{if(n>=s.length)break;d=s[n++],o+=d}while(d===255);let c=s.length-n;if(!l&&a===4&&n<s.length){if(l=!0,s[n++]===181){let h=jg(s,n);if(n+=2,h===49){let f=Te(s,n);if(n+=4,f===1195456820){let g=s[n++];if(g===3){let E=s[n++],T=31&E,A=64&E,k=A?2+T*3:0,L=new Uint8Array(k);if(A){L[0]=E;for(let N=1;N<k;N++)L[N]=s[n++]}i.push({type:g,payloadType:a,pts:t,bytes:L})}}}}}else if(a===5&&o<c){if(l=!0,o>16){let u=[];for(let g=0;g<16;g++){let E=s[n++].toString(16);u.push(E.length==1?"0"+E:E),(g===3||g===5||g===7||g===9)&&u.push("-")}let h=o-16,f=new Uint8Array(h);for(let g=0;g<h;g++)f[g]=s[n++];i.push({payloadType:a,pts:t,uuid:u.join(""),userData:Hi(f),userDataBytes:f})}}else if(o<c)n+=o;else if(o>c)break}}function Jg(r){let e=r.byteLength,t=[],i=1;for(;i<e-2;)r[i]===0&&r[i+1]===0&&r[i+2]===3?(t.push(i+2),i+=2):i++;if(t.length===0)return r;let s=e-t.length,n=new Uint8Array(s),a=0;for(i=0;i<s;a++,i++)a===t[0]&&(a++,t.shift()),n[i]=r[a];return n}function NT(r){let e=r[0],t="",i="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;Lt(r.subarray(d,d+1))!=="\0";)t+=Lt(r.subarray(d,d+1)),d+=1;for(t+=Lt(r.subarray(d,d+1)),d+=1;Lt(r.subarray(d,d+1))!=="\0";)i+=Lt(r.subarray(d,d+1)),d+=1;i+=Lt(r.subarray(d,d+1)),d+=1,s=Te(r,12),n=Te(r,16),o=Te(r,20),l=Te(r,24),d=28}else if(e===1){d+=4,s=Te(r,d),d+=4;let u=Te(r,d);d+=4;let h=Te(r,d);for(d+=4,a=2**32*u+h,Number.isSafeInteger(a)||(a=Number.MAX_SAFE_INTEGER,M.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=Te(r,d),d+=4,l=Te(r,d),d+=4;Lt(r.subarray(d,d+1))!=="\0";)t+=Lt(r.subarray(d,d+1)),d+=1;for(t+=Lt(r.subarray(d,d+1)),d+=1;Lt(r.subarray(d,d+1))!=="\0";)i+=Lt(r.subarray(d,d+1)),d+=1;i+=Lt(r.subarray(d,d+1)),d+=1}let c=r.subarray(d,r.byteLength);return{schemeIdUri:t,value:i,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:c}}function UT(r,...e){let t=e.length,i=8,s=t;for(;s--;)i+=e[s].byteLength;let n=new Uint8Array(i);for(n[0]=i>>24&255,n[1]=i>>16&255,n[2]=i>>8&255,n[3]=i&255,n.set(r,4),s=0,i=8;s<t;s++)n.set(e[s],i),i+=e[s].byteLength;return n}function FT(r,e,t){if(r.byteLength!==16)throw new RangeError("Invalid system id");let i,s;if(e){i=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else i=0,s=new Uint8Array;let n;i>0?(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),UT([112,115,115,104],new Uint8Array([i,0,0,0]),r,n,s,a,t||new Uint8Array)}function BT(r){if(!(r instanceof ArrayBuffer)||r.byteLength<32)return null;let e={version:0,systemId:"",kids:null,data:null},t=new DataView(r),i=t.getUint32(0);if(r.byteLength!==i&&i>44||t.getUint32(4)!==1886614376||(e.version=t.getUint32(8)>>>24,e.version>1))return null;e.systemId=Ni.hexDump(new Uint8Array(r,12,16));let n=t.getUint32(28);if(e.version===0){if(i-32<n)return null;e.data=new Uint8Array(r,32,n)}else if(e.version===1){e.kids=[];for(let a=0;a<n;a++)e.kids.push(new Uint8Array(r,32+a*16,16))}return e}var tl={},Wr=class{static clearKeyUriToKeyIdMap(){tl={}}constructor(e,t,i,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Yt.FAIRPLAY:case Yt.WIDEVINE:case Yt.PLAYREADY:case Yt.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&M.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let i=$T(e);return new Wr(this.method,this.uri,"identity",this.keyFormatVersions,i)}let t=fT(this.uri);if(t)switch(this.keyFormat){case Yt.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Yt.PLAYREADY:{let i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=FT(i,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 c=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(c){let u=Sh(c).subarray(0,16);hT(u),this.keyId=u}}break}default:{let i=t.subarray(0,16);if(i.length!==16){let s=new Uint8Array(16);s.set(i,16-i.length),i=s}this.keyId=i;break}}if(!this.keyId||this.keyId.byteLength!==16){let i=tl[this.uri];if(!i){let s=Object.keys(tl).length%Number.MAX_SAFE_INTEGER;i=new Uint8Array(16),new DataView(i.buffer,12,4).setUint32(0,s),tl[this.uri]=i}this.keyId=i}return this}};function $T(r){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=r>>8*(15-t)&255;return e}var e0=/\{\$([a-zA-Z0-9-_]+)\}/g;function ng(r){return e0.test(r)}function Wt(r,e,t){if(r.variableList!==null||r.hasVariableRefs)for(let i=t.length;i--;){let s=t[i],n=e[s];n&&(e[s]=Lu(r,n))}}function Lu(r,e){if(r.variableList!==null||r.hasVariableRefs){let t=r.variableList;return e.replace(e0,i=>{let s=i.substring(2,i.length-1),n=t==null?void 0:t[s];return n===void 0?(r.playlistParsingError||(r.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),i):n})}return e}function ag(r,e,t){let i=r.variableList;i||(r.variableList=i={});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){r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in i?r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):i[s]=n||""}function HT(r,e,t){let i=e.IMPORT;if(t&&i in t){let s=r.variableList;s||(r.variableList=s={}),s[i]=t[i]}else r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}function Ml(){if(typeof self!="undefined")return self.MediaSource||self.WebKitMediaSource}var GT={audio:{a3ds:!0,"ac-3":!0,"ac-4":!0,alac:!0,alaw:!0,dra1:!0,"dts+":!0,"dts-":!0,dtsc:!0,dtse:!0,dtsh:!0,"ec-3":!0,enca:!0,g719:!0,g726:!0,m4ae:!0,mha1:!0,mha2:!0,mhm1:!0,mhm2:!0,mlpa:!0,mp4a:!0,"raw ":!0,Opus:!0,opus:!0,samr:!0,sawb:!0,sawp:!0,sevc:!0,sqcp:!0,ssmv:!0,twos:!0,ulaw:!0},video:{avc1:!0,avc2:!0,avc3:!0,avc4:!0,avcp:!0,av01:!0,drac:!0,dva1:!0,dvav:!0,dvh1:!0,dvhe:!0,encv:!0,hev1:!0,hvc1:!0,mjp2:!0,mp4v:!0,mvc1:!0,mvc2:!0,mvc3:!0,mvc4:!0,resv:!0,rv60:!0,s263:!0,svc1:!0,svc2:!0,"vc-1":!0,vp08:!0,vp09:!0},text:{stpp:!0,wvtt:!0}},og=Ml();function VT(r,e){let t=GT[e];return!!t&&t[r.slice(0,4)]===!0}function ou(r,e){var t;return(t=og==null?void 0:og.isTypeSupported(`${e||"video"}/mp4;codecs="${r}"`))!=null?t:!1}var lg=/#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,dg=/#EXT-X-MEDIA:(.*)/g,KT=/^#EXT(?:INF|-X-TARGETDURATION):/m,cg=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),WT=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)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Zt=class{static findGroup(e,t){for(let i=0;i<e.length;i++){let s=e[i];if(s.id===t)return s}}static convertAVC1ToAVCOTI(e){let t=e.split(".");if(t.length>2){let i=t.shift()+".";return i+=parseInt(t.shift()).toString(16),i+=("000"+parseInt(t.shift()).toString(16)).slice(-4),i}return e}static resolve(e,t){return Ah.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return KT.test(e)}static parseMasterPlaylist(e,t){let i=ng(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:i},n=[];lg.lastIndex=0;let a;for(;(a=lg.exec(e))!=null;)if(a[1]){var o;let d=new Ze(a[1]);Wt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let c=Lu(s,a[2]),u={attrs:d,bitrate:d.decimalInteger("AVERAGE-BANDWIDTH")||d.decimalInteger("BANDWIDTH"),name:d.NAME,url:Zt.resolve(c,t)},h=d.decimalResolution("RESOLUTION");h&&(u.width=h.width,u.height=h.height),qT((d.CODECS||"").split(/[ ,]+/).filter(f=>f),u),u.videoCodec&&u.videoCodec.indexOf("avc1")!==-1&&(u.videoCodec=Zt.convertAVC1ToAVCOTI(u.videoCodec)),(o=u.unknownCodecs)!=null&&o.length||n.push(u),s.levels.push(u)}else if(a[3]){let d=a[3],c=a[4];switch(d){case"SESSION-DATA":{let u=new Ze(c);Wt(s,u,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=u["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=u);break}case"SESSION-KEY":{let u=ug(c,t,s);u.encrypted&&u.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(u)):M.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${c}"`);break}case"DEFINE":{{let u=new Ze(c);Wt(s,u,["NAME","VALUE","QUERYPARAM"]),ag(s,u,t)}break}case"CONTENT-STEERING":{let u=new Ze(c);Wt(s,u,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:Zt.resolve(u["SERVER-URI"],t),pathwayId:u["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=hg(c);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,i){let s,n={},a=i.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(dg.lastIndex=0;(s=dg.exec(e))!==null;){let d=new Ze(s[1]),c=d.TYPE;if(c){let u=o[c],h=n[c]||[];n[c]=h,Wt(i,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",instreamId:d["INSTREAM-ID"],name:d.NAME||d.LANGUAGE||"",type:c,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:d.LANGUAGE,url:d.URI?Zt.resolve(d.URI,t):""};if(u!=null&&u.length){let g=Zt.findGroup(u,f.groupId)||u[0];fg(f,g,"audioCodec"),fg(f,g,"textCodec")}h.push(f)}}return n}static parseLevelPlaylist(e,t,i,s,n,a){let o=new Iu(t),l=o.fragments,d=null,c=0,u=0,h=0,f=0,g=null,E=new Fn(s,t),T,A,k,L=-1,N=!1;for(cg.lastIndex=0,o.m3u8=e,o.hasVariableRefs=ng(e);(T=cg.exec(e))!==null;){N&&(N=!1,E=new Fn(s,t),E.start=h,E.sn=c,E.cc=f,E.level=i,d&&(E.initSegment=d,E.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null));let G=T[1];if(G){E.duration=parseFloat(G);let q=(" "+T[2]).slice(1);E.title=q||null,E.tagList.push(q?["INF",G,q]:["INF",G])}else if(T[3]){if(ce(E.duration)){E.start=h,k&&gg(E,k,o),E.sn=c,E.level=i,E.cc=f,E.urlId=n,l.push(E);let q=(" "+T[3]).slice(1);E.relurl=Lu(o,q),mg(E,g),g=E,h+=E.duration,c++,u=0,N=!0}}else if(T[4]){let q=(" "+T[4]).slice(1);g?E.setByteRange(q,g):E.setByteRange(q)}else if(T[5])E.rawProgramDateTime=(" "+T[5]).slice(1),E.tagList.push(["PROGRAM-DATE-TIME",E.rawProgramDateTime]),L===-1&&(L=l.length);else{if(T=T[0].match(WT),!T){M.warn("No matches on slow regex match for level playlist!");continue}for(A=1;A<T.length&&typeof T[A]=="undefined";A++);let q=(" "+T[A]).slice(1),P=(" "+T[A+1]).slice(1),X=T[A+2]?(" "+T[A+2]).slice(1):"";switch(q){case"PLAYLIST-TYPE":o.type=P.toUpperCase();break;case"MEDIA-SEQUENCE":c=o.startSN=parseInt(P);break;case"SKIP":{let z=new Ze(P);Wt(o,z,["RECENTLY-REMOVED-DATERANGES"]);let Ae=z.decimalInteger("SKIPPED-SEGMENTS");if(ce(Ae)){o.skippedSegments=Ae;for(let be=Ae;be--;)l.unshift(null);c+=Ae}let Ee=z.enumeratedString("RECENTLY-REMOVED-DATERANGES");Ee&&(o.recentlyRemovedDateranges=Ee.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(P),1);break;case"VERSION":o.version=parseInt(P);break;case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(P||X)&&E.tagList.push(X?[P,X]:[P]);break;case"DISCONTINUITY":f++,E.tagList.push(["DIS"]);break;case"GAP":E.gap=!0,E.tagList.push([q]);break;case"BITRATE":E.tagList.push([q,P]);break;case"DATERANGE":{let z=new Ze(P);Wt(o,z,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Wt(o,z,z.clientAttrs);let Ae=new ul(z,o.dateRanges[z.ID]);Ae.isValid||o.skippedSegments?o.dateRanges[Ae.id]=Ae:M.warn(`Ignoring invalid DATERANGE tag: "${P}"`),E.tagList.push(["EXT-X-DATERANGE",P]);break}case"DEFINE":{{let z=new Ze(P);Wt(o,z,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in z?HT(o,z,a):ag(o,z,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(P);break;case"KEY":{let z=ug(P,t,o);if(z.isSupported()){if(z.method==="NONE"){k=void 0;break}k||(k={}),k[z.keyFormat]&&(k=pt({},k)),k[z.keyFormat]=z}else M.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${P}"`);break}case"START":o.startTimeOffset=hg(P);break;case"MAP":{let z=new Ze(P);if(Wt(o,z,["BYTERANGE","URI"]),E.duration){let Ae=new Fn(s,t);pg(Ae,z,i,k),d=Ae,E.initSegment=d,d.rawProgramDateTime&&!E.rawProgramDateTime&&(E.rawProgramDateTime=d.rawProgramDateTime)}else pg(E,z,i,k),d=E,N=!0;break}case"SERVER-CONTROL":{let z=new Ze(P);o.canBlockReload=z.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=z.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&z.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=z.optionalFloat("PART-HOLD-BACK",0),o.holdBack=z.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let z=new Ze(P);o.partTarget=z.decimalFloatingPoint("PART-TARGET");break}case"PART":{let z=o.partList;z||(z=o.partList=[]);let Ae=u>0?z[z.length-1]:void 0,Ee=u++,be=new Ze(P);Wt(o,be,["BYTERANGE","URI"]);let we=new xu(be,E,t,Ee,Ae);z.push(we),E.duration+=we.duration;break}case"PRELOAD-HINT":{let z=new Ze(P);Wt(o,z,["URI"]),o.preloadHint=z;break}case"RENDITION-REPORT":{let z=new Ze(P);Wt(o,z,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(z);break}default:M.warn(`line parsed but not handled: ${T}`);break}}}g&&!g.relurl?(l.pop(),h-=g.duration,o.partList&&(o.fragmentHint=g)):o.partList&&(mg(E,g),E.cc=f,o.fragmentHint=E,k&&gg(E,k,o));let D=l.length,$=l[0],O=l[D-1];if(h+=o.skippedSegments*o.targetduration,h>0&&D&&O){o.averagetargetduration=h/D;let G=O.sn;o.endSN=G!=="initSegment"?G:0,o.live||(O.endList=!0),$&&(o.startCC=$.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,L>0&&YT(l,L),o}};function ug(r,e,t){var i,s;let n=new Ze(r);Wt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(i=n.METHOD)!=null?i:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,c=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&M.error(`Invalid IV: ${n.IV}`);let u=o?Zt.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new Wr(a,u,c,h,l)}function hg(r){let t=new Ze(r).decimalFloatingPoint("TIME-OFFSET");return ce(t)?t:null}function qT(r,e){["video","audio","text"].forEach(t=>{let i=r.filter(s=>VT(s,t));if(i.length){let s=i.filter(n=>n.lastIndexOf("avc1",0)===0||n.lastIndexOf("mp4a",0)===0);e[`${t}Codec`]=s.length>0?s[0]:i[0],r=r.filter(n=>i.indexOf(n)===-1)}}),e.unknownCodecs=r}function fg(r,e,t){let i=e[t];i&&(r[t]=i)}function YT(r,e){let t=r[e];for(let i=e;i--;){let s=r[i];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function mg(r,e){r.rawProgramDateTime?r.programDateTime=Date.parse(r.rawProgramDateTime):e!=null&&e.programDateTime&&(r.programDateTime=e.endProgramDateTime),ce(r.programDateTime)||(r.programDateTime=null,r.rawProgramDateTime=null)}function pg(r,e,t,i){r.relurl=e.URI,e.BYTERANGE&&r.setByteRange(e.BYTERANGE),r.level=t,r.sn="initSegment",i&&(r.levelkeys=i),r.initSegment=null}function gg(r,e,t){r.levelkeys=e;let{encryptedFragments:i}=t;(!i.length||i[i.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&i.push(r)}var Ue={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},ge={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function vg(r){let{type:e}=r;switch(e){case Ue.AUDIO_TRACK:return ge.AUDIO;case Ue.SUBTITLE_TRACK:return ge.SUBTITLE;default:return ge.MAIN}}function lu(r,e){let t=r.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var ku=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(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.LEVEL_LOADING,this.onLevelLoading,this),e.on(b.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(b.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.LEVEL_LOADING,this.onLevelLoading,this),e.off(b.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(b.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,s=t.loader,n=i||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:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Ue.MANIFEST,url:i,deliveryDirectives:null})}onLevelLoading(e,t){let{id:i,level:s,url:n,deliveryDirectives:a}=t;this.load({id:i,level:s,responseType:"text",type:Ue.LEVEL,url:n,deliveryDirectives:a})}onAudioTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:Ue.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:Ue.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let i=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url){M.trace("[playlist-loader]: playlist request ongoing");return}M.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===Ue.MANIFEST?n=i.manifestLoadPolicy.default:n=pt({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),(t=e.deliveryDirectives)!=null&&t.part){let d;if(e.type===Ue.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===Ue.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===Ue.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let c=d.partTarget,u=d.targetduration;if(c&&u){let h=Math.max(c*3,u*.8)*1e3;n=pt({},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,c,u,h)=>{let f=this.getInternalLoader(u);this.resetInternalLoader(u.type);let g=d.data;if(g.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,u,new Error("no EXTM3U delimiter"),h||null,c);return}c.parsing.start=performance.now(),Zt.isMediaPlaylist(g)?this.handleTrackOrLevelPlaylist(d,c,u,h||null,f):this.handleMasterPlaylist(d,c,u,h)},onError:(d,c,u,h)=>{this.handleNetworkError(c,u,!1,d,h)},onTimeout:(d,c,u)=>{this.handleNetworkError(c,u,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,i,s){let n=this.hls,a=e.data,o=lu(e,i),l=Zt.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,i,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:c,sessionData:u,sessionKeys:h,startTimeOffset:f,variableList:g}=l;this.variableList=g;let{AUDIO:E=[],SUBTITLES:T,"CLOSED-CAPTIONS":A}=Zt.parseMasterPlaylistMedia(a,o,l);E.length&&!E.some(L=>!L.url)&&c[0].audioCodec&&!c[0].attrs.AUDIO&&(M.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),E.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Ze({}),bitrate:0,url:""})),n.trigger(b.MANIFEST_LOADED,{levels:c,audioTracks:E,subtitles:T,captions:A,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:u,sessionKeys:h,startTimeOffset:f,variableList:g})}handleTrackOrLevelPlaylist(e,t,i,s,n){let a=this.hls,{id:o,level:l,type:d}=i,c=lu(e,i),u=ce(o)?o:0,h=ce(l)?l:u,f=vg(i),g=Zt.parseLevelPlaylist(e.data,c,h,f,u,this.variableList);if(d===Ue.MANIFEST){let E={attrs:new Ze({}),bitrate:0,details:g,name:"",url:c};a.trigger(b.MANIFEST_LOADED,{levels:[E],audioTracks:[],url:c,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=g,this.handlePlaylistLoaded(g,e,t,i,s,n)}handleManifestParsingError(e,t,i,s,n){this.hls.trigger(b.ERROR,{type:pe.NETWORK_ERROR,details:B.MANIFEST_PARSING_ERROR,fatal:t.type===Ue.MANIFEST,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,i=!1,s,n){let a=`A network ${i?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===Ue.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===Ue.AUDIO_TRACK||e.type===Ue.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);M.warn(`[playlist-loader]: ${a}`);let l=B.UNKNOWN,d=!1,c=this.getInternalLoader(e);switch(e.type){case Ue.MANIFEST:l=i?B.MANIFEST_LOAD_TIMEOUT:B.MANIFEST_LOAD_ERROR,d=!0;break;case Ue.LEVEL:l=i?B.LEVEL_LOAD_TIMEOUT:B.LEVEL_LOAD_ERROR,d=!1;break;case Ue.AUDIO_TRACK:l=i?B.AUDIO_TRACK_LOAD_TIMEOUT:B.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case Ue.SUBTITLE_TRACK:l=i?B.SUBTITLE_TRACK_LOAD_TIMEOUT:B.SUBTITLE_LOAD_ERROR,d=!1;break}c&&this.resetInternalLoader(e.type);let u={type:pe.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:c,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;u.response=jt({url:h,data:void 0},s)}this.hls.trigger(b.ERROR,u)}handlePlaylistLoaded(e,t,i,s,n,a){let o=this.hls,{type:l,level:d,id:c,groupId:u,deliveryDirectives:h}=s,f=lu(t,s),g=vg(s),E=typeof s.level=="number"&&g===ge.MAIN?d:void 0;if(!e.fragments.length){let A=new Error("No Segments found in Playlist");o.trigger(b.ERROR,{type:pe.NETWORK_ERROR,details:B.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:A,reason:A.message,response:t,context:s,level:E,parent:g,networkDetails:n,stats:i});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let T=e.playlistParsingError;if(T){o.trigger(b.ERROR,{type:pe.NETWORK_ERROR,details:B.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:T,reason:T.message,response:t,context:s,level:E,parent:g,networkDetails:n,stats:i});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case Ue.MANIFEST:case Ue.LEVEL:o.trigger(b.LEVEL_LOADED,{details:e,level:E||0,id:c||0,stats:i,networkDetails:n,deliveryDirectives:h});break;case Ue.AUDIO_TRACK:o.trigger(b.AUDIO_TRACK_LOADED,{details:e,id:c||0,groupId:u||"",stats:i,networkDetails:n,deliveryDirectives:h});break;case Ue.SUBTITLE_TRACK:o.trigger(b.SUBTITLE_TRACK_LOADED,{details:e,id:c||0,groupId:u||"",stats:i,networkDetails:n,deliveryDirectives:h});break}}};function t0(r,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=r,e.dispatchEvent(t)}function i0(r,e){let t=r.mode;if(t==="disabled"&&(r.mode="hidden"),r.cues&&!r.cues.getCueById(e.id))try{if(r.addCue(e),!r.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(i){M.debug(`[texttrack-utils]: ${i}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,r.addCue(s)}catch(s){M.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(r.mode=t)}function Gs(r){let e=r.mode;if(e==="disabled"&&(r.mode="hidden"),r.cues)for(let t=r.cues.length;t--;)r.removeCue(r.cues[t]);e==="disabled"&&(r.mode=e)}function Ru(r,e,t,i){let s=r.mode;if(s==="disabled"&&(r.mode="hidden"),r.cues&&r.cues.length>0){let n=zT(r.cues,e,t);for(let a=0;a<n.length;a++)(!i||i(n[a]))&&r.removeCue(n[a])}s==="disabled"&&(r.mode=s)}function jT(r,e){if(e<r[0].startTime)return 0;let t=r.length-1;if(e>r[t].endTime)return-1;let i=0,s=t;for(;i<=s;){let n=Math.floor((s+i)/2);if(e<r[n].startTime)s=n-1;else if(e>r[n].startTime&&i<t)i=n+1;else return n}return r[i].startTime-e<e-r[s].startTime?i:s}function zT(r,e,t){let i=[],s=jT(r,e);if(s>-1)for(let n=s,a=r.length;n<a;n++){let o=r[n];if(o.startTime>=e&&o.endTime<=t)i.push(o);else if(o.startTime>t)return i}return i}var Ei={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},XT=.25;function wu(){if(typeof self!="undefined")return self.WebKitDataCue||self.VTTCue||self.TextTrackCue}var il=(()=>{let r=wu();try{new r(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function du(r,e){return r.getTime()/1e3-e}function QT(r){return Uint8Array.from(r.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Du=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(b.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(b.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(b.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(b.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(b.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(b.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(b.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(b.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){!this.id3Track||(Gs(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;t<e.length;t++){let i=e[t];if(i.kind==="metadata"&&i.label==="id3")return t0(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:i,enableID3MetadataCues:s}}}=this;if(!i&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=wu();for(let o=0;o<n.length;o++){let l=n[o].type;if(l===Ei.emsg&&!i||!s)continue;let d=qg(n[o].data);if(d){let c=n[o].pts,u=c+n[o].duration;u>il&&(u=il),u-c<=0&&(u=c+XT);for(let f=0;f<d.length;f++){let g=d[f];if(!Wg(g)){this.updateId3CueEnds(c,l);let E=new a(c,u,"");E.value=g,l&&(E.type=l),this.id3Track.addCue(E)}}}}}updateId3CueEnds(e,t){var i;let s=(i=this.id3Track)==null?void 0:i.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===il&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=c=>c.type===Ei.audioId3&&l:s==="video"?d=c=>c.type===Ei.emsg&&o:d=c=>c.type===Ei.audioId3&&l||c.type===Ei.emsg&&o,Ru(n,t,i,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:i,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let c=Object.keys(i).filter(u=>!a.includes(u));for(let u=c.length;u--;){let h=c[u];Object.keys(i[h].cues).forEach(f=>{s.removeCue(i[h].cues[f])}),delete i[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!ce(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=wu();for(let c=0;c<a.length;c++){let u=a[c],h=n[u],f=i[u],g=(f==null?void 0:f.cues)||{},E=(f==null?void 0:f.durationKnown)||!1,T=du(h.startDate,l),A=il,k=h.endDate;if(k)A=du(k,l),E=!0;else if(h.endOnNext&&!E){let N=a.reduce((D,$)=>{let O=n[$];return O.class===h.class&&O.id!==$&&O.startDate>h.startDate&&D.push(O),D},[]).sort((D,$)=>D.startDate.getTime()-$.startDate.getTime())[0];N&&(A=du(N.startDate,l),E=!0)}let L=Object.keys(h.attr);for(let N=0;N<L.length;N++){let D=L[N];if(!lT(D))continue;let $=g[D];if($)E&&!f.durationKnown&&($.endTime=A);else{let O=h.attr[D];$=new d(T,A,""),dT(D)&&(O=QT(O)),$.value={key:D,data:O},$.type=Ei.dateRange,$.id=u,this.id3Track.addCue($),g[D]=$}}i[u]={cues:g,dateRange:h,durationKnown:E}}}},Cu=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.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:i,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&i||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let c=s,u=1;return d+Math.min(this.stallCount*u,c)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,i=this.levelDetails;if(e===null||t===null||i===null)return null;let s=i.edge,n=e-t-this.edgeStalled,a=s-i.totalduration,o=s-(this.config.lowLatencyMode&&i.partTarget||i.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 i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(b.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(b.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(b.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(b.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(b.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(b.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(b.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(b.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(b.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(b.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 i;t.details===B.BUFFER_STALLED_ERROR&&(this.stallCount++,(i=this.levelDetails)!=null&&i.live&&M.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 i=this.computeLatency();if(i===null)return;this._latency=i;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1)return;let a=this.targetLatency;if(a===null)return;let o=i-a,l=Math.min(this.maxLatency,a+t.targetduration),d=o<l;if(t.live&&d&&o>.05&&this.forwardBufferLength>1){let c=Math.min(2,Math.max(1,n)),u=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(c,Math.max(1,u))}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}},Mu=["NONE","TYPE-0","TYPE-1",null],Bn={No:"",Yes:"YES",v2:"v2"};function ZT(r,e){let{canSkipUntil:t,canSkipDateRanges:i,endSN:s}=r,n=e!==void 0?e-s:0;return t&&n<t?i?Bn.v2:Bn.Yes:Bn.No}var pl=class{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},qr=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.unknownCodecs=void 0,this.audioGroupIds=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.textGroupIds=void 0,this.url=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.unknownCodecs=e.unknownCodecs,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>t).join(",").replace(/\.[^.,]+/g,"")}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get attrs(){return this._attrs[this._urlId]}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get uri(){return this.url[this._urlId]||""}get urlId(){return this._urlId}set urlId(e){let t=e%this.url.length;this._urlId!==t&&(this.fragmentError=0,this.loadError=0,this.details=void 0,this._urlId=t)}get audioGroupId(){var e;return(e=this.audioGroupIds)==null?void 0:e[this.urlId]}get textGroupId(){var e;return(e=this.textGroupIds)==null?void 0:e[this.urlId]}addFallback(e){this.url.push(e.url),this._attrs.push(e.attrs)}};function cu(r,e){let t=e.startPTS;if(ce(t)){let i=0,s;e.sn>r.sn?(i=t-r.start,s=r):(i=r.start-t,s=e),s.duration!==i&&(s.duration=i)}else e.sn>r.sn?r.cc===e.cc&&r.minEndPTS?e.start=r.start+(r.minEndPTS-r.start):e.start=r.start+r.duration:e.start=Math.max(r.start-e.duration,0)}function r0(r,e,t,i,s,n){i-t<=0&&(M.warn("Fragment should have a positive duration",e),i=t+e.duration,n=s+e.duration);let o=t,l=i,d=e.startPTS,c=e.endPTS;if(ce(d)){let T=Math.abs(d-t);ce(e.deltaPTS)?e.deltaPTS=Math.max(T,e.deltaPTS):e.deltaPTS=T,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(i,c),i=Math.max(i,c),n=Math.max(n,e.endDTS)}let u=t-e.start;e.start!==0&&(e.start=t),e.duration=i-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=i,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!r||h<r.startSN||h>r.endSN)return 0;let f,g=h-r.startSN,E=r.fragments;for(E[g]=e,f=g;f>0;f--)cu(E[f],E[f-1]);for(f=g;f<E.length-1;f++)cu(E[f],E[f+1]);return r.fragmentHint&&cu(E[E.length-1],r.fragmentHint),r.PTSKnown=r.alignedSliding=!0,u}function JT(r,e){let t=null,i=r.fragments;for(let l=i.length-1;l>=0;l--){let d=i[l].initSegment;if(d){t=d;break}}r.fragmentHint&&delete r.fragmentHint.endPTS;let s=0,n;if(i_(r,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),ce(l.startPTS)&&ce(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,d.urlId=l.urlId,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var c;(!d.initSegment||d.initSegment.relurl===((c=t)==null?void 0:c.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){M.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=e_(r.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){M.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),t_(r.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?r0(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):s0(r,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=r.driftStartTime,e.driftStart=r.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=r.driftEndTime,e.driftEnd=r.driftEnd,e.advancedDateTime=r.advancedDateTime}function e_(r,e,t){let i=pt({},r);return t&&t.forEach(s=>{delete i[s]}),Object.keys(e).forEach(s=>{let n=new ul(e[s].attr,i[s]);n.isValid?i[s]=n:M.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),i}function t_(r,e,t){if(r&&e){let i=0;for(let s=0,n=r.length;s<=n;s++){let a=r[s],o=e[s+i];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):i--}}}function i_(r,e,t){let i=e.skippedSegments,s=Math.max(r.startSN,e.startSN)-e.startSN,n=(r.fragmentHint?1:0)+(i?e.endSN:Math.min(r.endSN,e.endSN))-e.startSN,a=e.startSN-r.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=r.fragmentHint?r.fragments.concat(r.fragmentHint):r.fragments;for(let d=s;d<=n;d++){let c=l[a+d],u=o[d];i&&!u&&d<i&&(u=e.fragments[d]=c),c&&u&&t(c,u)}}function s0(r,e){let t=e.startSN+e.skippedSegments-r.startSN,i=r.fragments;t<0||t>=i.length||Ou(e,i[t].start)}function Ou(r,e){if(e){let t=r.fragments;for(let i=r.skippedSegments;i<t.length;i++)t[i].start+=e;r.fragmentHint&&(r.fragmentHint.start+=e)}}function r_(r,e=1/0){let t=1e3*r.targetduration;if(r.updated){let i=r.fragments,s=4;if(i.length&&t*s>e){let n=i[i.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function s_(r,e,t){if(!(r!=null&&r.details))return null;let i=r.details,s=i.fragments[e-i.startSN];return s||(s=i.fragmentHint,s&&s.sn===e)?s:e<i.startSN&&t&&t.sn===e?t:null}function Eg(r,e,t){var i;return r!=null&&r.details?n0((i=r.details)==null?void 0:i.partList,e,t):null}function n0(r,e,t){if(r)for(let i=r.length;i--;){let s=r[i];if(s.index===t&&s.fragment.sn===e)return s}return null}function gl(r){switch(r.details){case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_TIMEOUT:case B.LEVEL_LOAD_TIMEOUT:case B.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function bg(r,e){let t=gl(e);return r.default[`${t?"timeout":"error"}Retry`]}function Ih(r,e){let t=r.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*r.retryDelayMs,r.maxRetryDelayMs)}function yg(r){return jt(jt({},r),{errorRetry:null,timeoutRetry:null})}function vl(r,e,t,i){return!!r&&e<r.maxNumRetry&&(n_(i)||!!t)}function n_(r){return r===0&&navigator.onLine===!1||!!r&&(r<400||r>499)}var a0={search:function(r,e){let t=0,i=r.length-1,s=null,n=null;for(;t<=i;){s=(t+i)/2|0,n=r[s];let a=e(n);if(a>0)t=s+1;else if(a<0)i=s-1;else return n}return null}};function a_(r,e,t){if(e===null||!Array.isArray(r)||!r.length||!ce(e))return null;let i=r[0].programDateTime;if(e<(i||0))return null;let s=r[r.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<r.length;++n){let a=r[n];if(o_(e,t,a))return a}return null}function Gn(r,e,t=0,i=0){let s=null;if(r?s=e[r.sn-e[0].sn+1]||null:t===0&&e[0].start===0&&(s=e[0]),s&&Pu(t,i,s)===0)return s;let n=a0.search(e,Pu.bind(null,t,i));return n&&(n!==r||!s)?n:s}function Pu(r=0,e=0,t){if(t.start<=r&&t.start+t.duration>r)return 0;let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-i<=r?1:t.start-i>r&&t.start?-1:0}function o_(r,e,t){let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-i>r}function l_(r,e){return a0.search(r,t=>t.cc<e?1:t.cc>e?-1:0)}var d_=3e5,Mt={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},oi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Nu=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=M.log.bind(M,"[info]:"),this.warn=M.warn.bind(M,"[warning]:"),this.error=M.error.bind(M,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(b.ERROR,this.onError,this),e.on(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;!e||(e.off(b.ERROR,this.onError,this),e.off(b.ERROR,this.onErrorOut,this),e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){this.playlistError=0}stopLoad(){}getVariantLevelIndex(e){return(e==null?void 0:e.type)===ge.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var i,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case B.FRAG_PARSING_ERROR:if((i=t.frag)!=null&&i.gap){t.errorAction={action:Mt.DoNothing,flags:oi.None};return}case B.FRAG_GAP:case B.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=Mt.SendAlternateToPenaltyBox;return}case B.LEVEL_EMPTY_ERROR:case B.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===ge.MAIN?t.level:n.loadLevel;t.details===B.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 B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case B.AUDIO_TRACK_LOAD_ERROR:case B.AUDIO_TRACK_LOAD_TIMEOUT:case B.SUBTITLE_LOAD_ERROR:case B.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===Ue.AUDIO_TRACK&&a.groupId===d.audioGroupId||a.type===Ue.SUBTITLE_TRACK&&a.groupId===d.textGroupId)){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=Mt.SendAlternateToPenaltyBox,t.errorAction.flags=oi.MoveAllAlternatesMatchingHost;return}}return;case B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],c=d==null?void 0:d.attrs["HDCP-LEVEL"];c&&(t.errorAction={action:Mt.SendAlternateToPenaltyBox,flags:oi.MoveAllAlternatesMatchingHDCP,hdcpLevel:c})}return;case B.BUFFER_ADD_CODEC_ERROR:case B.REMUX_ALLOC_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case B.INTERNAL_EXCEPTION:case B.BUFFER_APPENDING_ERROR:case B.BUFFER_APPEND_ERROR:case B.BUFFER_FULL_ERROR:case B.LEVEL_SWITCH_ERROR:case B.BUFFER_STALLED_ERROR:case B.BUFFER_SEEK_OVER_HOLE:case B.BUFFER_NUDGE_ON_STALL:t.errorAction={action:Mt.DoNothing,flags:oi.None};return}if(t.type===pe.KEY_SYSTEM_ERROR){let d=this.getVariantLevelIndex(t.frag);t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d);return}}getPlaylistRetryOrSwitchAction(e,t){var i;let s=this.hls,n=bg(s.config.playlistLoadPolicy,e),a=this.playlistError++,o=(i=e.response)==null?void 0:i.code;if(vl(n,a,gl(e),o))return{action:Mt.RetryRequest,flags:oi.None,retryConfig:n,retryCount:a};let d=this.getLevelSwitchAction(e,t);return n&&(d.retryConfig=n,d.retryCount=a),d}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),s=t.levels[i],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=bg(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,h)=>u+h.fragmentError,0);if(s){var d;e.details!==B.FRAG_GAP&&s.fragmentError++;let u=(d=e.response)==null?void 0:d.code;if(vl(o,l,gl(e),u))return{action:Mt.RetryRequest,flags:oi.None,retryConfig:o,retryCount:l}}let c=this.getLevelSwitchAction(e,i);return o&&(c.retryConfig=o,c.retryCount=l),c}getLevelSwitchAction(e,t){let i=this.hls;t==null&&(t=i.loadLevel);let s=this.hls.levels[t];if(s&&(s.loadError++,i.autoLevelEnabled)){var n,a;let o=-1,{levels:l,loadLevel:d,minAutoLevel:c,maxAutoLevel:u}=i,h=(n=e.frag)==null?void 0:n.type,{type:f,groupId:g}=(a=e.context)!=null?a:{};for(let E=l.length;E--;){let T=(E+d)%l.length;if(T!==d&&T>=c&&T<=u&&l[T].loadError===0){let A=l[T];if(e.details===B.FRAG_GAP&&e.frag){let k=l[T].details;if(k){let L=Gn(e.frag,k.fragments,e.frag.start);if(L!=null&&L.gap)continue}}else{if(f===Ue.AUDIO_TRACK&&g===A.audioGroupId||f===Ue.SUBTITLE_TRACK&&g===A.textGroupId)continue;if(h===ge.AUDIO&&s.audioGroupId===A.audioGroupId||h===ge.SUBTITLE&&s.textGroupId===A.textGroupId)continue}o=T;break}}if(o>-1&&i.loadLevel!==o)return e.levelRetry=!0,this.playlistError=0,{action:Mt.SendAlternateToPenaltyBox,flags:oi.None,nextAutoLevel:o}}return{action:Mt.SendAlternateToPenaltyBox,flags:oi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var i;switch((i=t.errorAction)==null?void 0:i.action){case Mt.DoNothing:break;case Mt.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==B.FRAG_GAP&&(t.fatal=!0);break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=i;switch(s){case oi.None:this.switchLevel(e,a);break;case oi.MoveAllAlternatesMatchingHost:i.resolved||(i.resolved=this.redundantFailover(e));break;case oi.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=Mu[Mu.indexOf(n)-1],i.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}i.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)}redundantFailover(e){let{hls:t,penalizedRenditions:i}=this,s=e.parent===ge.MAIN?e.level:t.loadLevel,n=t.levels[s],a=n.url.length,o=e.frag?e.frag.urlId:n.urlId;n.urlId===o&&(!e.frag||n.details)&&this.penalizeRendition(n,e);for(let l=1;l<a;l++){let d=(o+l)%a,c=i[d];if(!c||c_(c,e,i[o]))return this.warn(`Switching to Redundant Stream ${d+1}/${a}: "${n.url[d]}" after ${e.details}`),this.playlistError=0,t.levels.forEach(u=>{u.urlId=d}),t.nextLoadLevel=s,!0}return!1}penalizeRendition(e,t){let{penalizedRenditions:i}=this,s=i[e.urlId]||{lastErrorPerfMs:0,errors:[],details:void 0};s.lastErrorPerfMs=performance.now(),s.errors.push(t),s.details=e.details,i[e.urlId]=s}};function c_(r,e,t){if(performance.now()-r.lastErrorPerfMs>d_)return!0;let i=r.details;if(e.details===B.FRAG_GAP&&i&&e.frag){let s=e.frag.start,n=Gn(null,i.fragments,s);if(n&&!n.gap)return!0}if(t&&r.errors.length<t.errors.length){let s=r.errors[r.errors.length-1];if(i&&s.frag&&e.frag&&Math.abs(s.frag.start-e.frag.start)>i.targetduration*3)return!0}return!1}var Vn=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=M.log.bind(M,`${t}:`),this.warn=M.warn.bind(M,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){clearTimeout(this.timer),this.timer=-1}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t){let i=t==null?void 0:t.renditionReports;if(i){let s=-1;for(let n=0;n<i.length;n++){let a=i[n],o;try{o=new self.URL(a.URI,t.url).href}catch(l){M.warn(`Could not construct new URL for Rendition Report: ${l}`),o=a.URI||""}if(o===e){s=n;break}else o===e.substring(0,o.length)&&(s=n)}if(s!==-1){let n=i[s],a=parseInt(n["LAST-MSN"])||(t==null?void 0:t.lastPartSn),o=parseInt(n["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let l=Math.min(t.age-t.partTarget,t.targetduration);o>=0&&l>t.partTarget&&(o+=1)}return new pl(a,o>=0?o:void 0,Bn.No)}}}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,i){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||i!=null&&i.live){if(s.reloaded(i),i&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:"MISSED"}`),i&&s.fragments.length>0&&JT(i,s),!this.canLoad||!s.live)return;let l,d,c;if(s.canBlockReload&&s.endSN&&s.advanced){let T=this.hls.config.lowLatencyMode,A=s.lastPartSn,k=s.endSN,L=s.lastPartIndex,N=L!==-1,D=A===k,$=T?0:L;N?(d=D?k+1:A,c=D?$:L+1):d=k+1;let O=s.age,G=O+s.ageHeader,q=Math.min(G-s.partTarget,s.targetduration*1.5);if(q>0){if(i&&q>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${q} with playlist age: ${s.age}`),q=0;else{let P=Math.floor(q/s.targetduration);if(d+=P,c!==void 0){let X=Math.round(q%s.targetduration/s.partTarget);c+=X}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${O.toFixed(2)}s goal: ${q} skip sn ${P} to part ${c}`)}s.tuneInGoal=q}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,c),T||!D){this.loadPlaylist(l);return}}else s.canBlockReload&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,c));let u=this.hls.mainForwardBufferInfo,h=u?u.end-u.len:0,f=(s.edge-h)*1e3,g=r_(s,f);s.updated&&a>this.requestScheduled+g&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+g-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+g<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=g);let E=this.requestScheduled-a;E=Math.max(0,E),this.log(`reload live playlist ${e} in ${Math.round(E)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),E)}else this.clearTimer()}getDeliveryDirectives(e,t,i,s){let n=ZT(e,i);return t!=null&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,s=t.part,n=Bn.No),new pl(i,s,n)}checkRetry(e){let t=e.details,i=gl(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(i&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let c=Ih(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),c),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${c}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},uu,Uu=class extends Vn{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-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(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(b.LEVEL_LOADED,this.onLevelLoaded,this),e.on(b.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(b.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(b.FRAG_LOADED,this.onFragLoaded,this),e.on(b.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(b.LEVEL_LOADED,this.onLevelLoaded,this),e.off(b.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(b.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(b.FRAG_LOADED,this.onFragLoaded,this),e.off(b.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}startLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.startLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[]}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let i=[],s={},n;t.levels.forEach(a=>{var o;let l=a.attrs;((o=a.audioCodec)==null?void 0:o.indexOf("mp4a.40.34"))!==-1&&(uu||(uu=/chrome|firefox/i.test(navigator.userAgent)),uu&&(a.audioCodec=void 0));let{AUDIO:d,CODECS:c,"FRAME-RATE":u,"PATHWAY-ID":h,RESOLUTION:f,SUBTITLES:g}=l,T=`${`${h||"."}-`}${a.bitrate}-${f}-${u}-${c}`;n=s[T],n?n.addFallback(a):(n=new qr(a),s[T]=n,i.push(n)),El(n,"audio",d),El(n,"text",g)}),this.filterAndSortMediaOptions(i,t)}filterAndSortMediaOptions(e,t){let i=[],s=[],n=!1,a=!1,o=!1,l=e.filter(({audioCodec:f,videoCodec:g,width:E,height:T,unknownCodecs:A})=>(n||(n=!!(E&&T)),a||(a=!!g),o||(o=!!f),!(A!=null&&A.length)&&(!f||ou(f,"audio"))&&(!g||ou(g,"video"))));if((n||a)&&o&&(l=l.filter(({videoCodec:f,width:g,height:E})=>!!f||!!(g&&E))),l.length===0){Promise.resolve().then(()=>{if(this.hls){let f=new Error("no level with compatible codecs found in manifest");this.hls.trigger(b.ERROR,{type:pe.MEDIA_ERROR,details:B.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:f,reason:f.message})}});return}t.audioTracks&&(i=t.audioTracks.filter(f=>!f.audioCodec||ou(f.audioCodec,"audio")),Tg(i)),t.subtitles&&(s=t.subtitles,Tg(s));let d=l.slice(0);l.sort((f,g)=>f.attrs["HDCP-LEVEL"]!==g.attrs["HDCP-LEVEL"]?(f.attrs["HDCP-LEVEL"]||"")>(g.attrs["HDCP-LEVEL"]||"")?1:-1:f.bitrate!==g.bitrate?f.bitrate-g.bitrate:f.attrs["FRAME-RATE"]!==g.attrs["FRAME-RATE"]?f.attrs.decimalFloatingPoint("FRAME-RATE")-g.attrs.decimalFloatingPoint("FRAME-RATE"):f.attrs.SCORE!==g.attrs.SCORE?f.attrs.decimalFloatingPoint("SCORE")-g.attrs.decimalFloatingPoint("SCORE"):n&&f.height!==g.height?f.height-g.height:0);let c=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let f=0;f<d.length;f++)if(d[f].pathwayId===l[0].pathwayId){c=d[f];break}}this._levels=l;for(let f=0;f<l.length;f++)if(l[f]===c){this._firstLevel=f,this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${c.bitrate}`);break}let u=o&&!a,h={levels:l,audioTracks:i,subtitleTracks:s,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:o,video:a,altAudio:!u&&i.some(f=>!!f.url)};this.hls.trigger(b.MANIFEST_PARSED,h),(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 c=new Error("invalid level idx"),u=e<0;if(this.hls.trigger(b.ERROR,{type:pe.OTHER_ERROR,details:B.LEVEL_SWITCH_ERROR,level:e,fatal:u,error:c,reason:c.message}),u)return;e=Math.min(e,t.length-1)}let i=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,i===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e}${o?" with Pathway "+o:""} from level ${i}${n?" with Pathway "+n:""}`);let l=pt({},a,{level:e,maxBitrate:a.maxBitrate,attrs:a.attrs,uri:a.uri,urlId:a.urlId});delete l._attrs,delete l._urlId,this.hls.trigger(b.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let c=this.switchParams(a.uri,s==null?void 0:s.details);this.loadPlaylist(c)}}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._firstLevel}else return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===Ue.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragLoaded(e,{frag:t}){if(t!==void 0&&t.type===ge.MAIN){let i=this._levels[t.level];i!==void 0&&(i.loadError=0)}}onLevelLoaded(e,t){var i;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)):(i=t.deliveryDirectives)!=null&&i.skip&&(n.deltaUpdateFailed=!0)}onAudioTrackSwitched(e,t){let i=this.currentLevel;if(!i)return;let s=this.hls.audioTracks[t.id].groupId;if(i.audioGroupIds&&i.audioGroupId!==s){let n=-1;for(let a=0;a<i.audioGroupIds.length;a++)if(i.audioGroupIds[a]===s){n=a;break}n!==-1&&n!==i.urlId&&(i.urlId=n,this.canLoad&&this.startLoad())}}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){let s=i.urlId,n=i.uri;if(e)try{n=e.addDirectives(n)}catch(o){this.warn(`Could not construct new URL with HLS Delivery Directives: ${o}`)}let a=i.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${a?" Pathway "+a:""} URI ${s+1}/${i.url.length} ${n}`),this.clearTimer(),this.hls.trigger(b.LEVEL_LOADING,{url:n,level:t,id:s,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,t){let i=(n,a)=>a!==t,s=this._levels.filter((n,a)=>a!==e?!0:n.url.length>1&&t!==void 0?(n.url=n.url.filter(i),n.audioGroupIds&&(n.audioGroupIds=n.audioGroupIds.filter(i)),n.textGroupIds&&(n.textGroupIds=n.textGroupIds.filter(i)),n.urlId=0,!0):(this.steering&&this.steering.removeLevel(n),!1));this.hls.trigger(b.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(e,{levels:t}){t.forEach((i,s)=>{let{details:n}=i;n!=null&&n.fragments&&n.fragments.forEach(a=>{a.level=s})}),this._levels=t}};function El(r,e,t){!t||(e==="audio"?(r.audioGroupIds||(r.audioGroupIds=[]),r.audioGroupIds[r.url.length-1]=t):e==="text"&&(r.textGroupIds||(r.textGroupIds=[]),r.textGroupIds[r.url.length-1]=t))}function Tg(r){let e={};r.forEach(t=>{let i=t.groupId||"";t.id=e[i]=e[i]||0,e[i]++})}var Tt={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Fu=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(b.BUFFER_APPENDED,this.onBufferAppended,this),e.on(b.FRAG_BUFFERED,this.onFragBuffered,this),e.on(b.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(b.BUFFER_APPENDED,this.onBufferAppended,this),e.off(b.FRAG_BUFFERED,this.onFragBuffered,this),e.off(b.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let s=i.length;s--;){let n=i[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:i}=this,s=Object.keys(i);for(let n=s.length;n--;){let a=i[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,i,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===i&&this.removeFragment(o.body);return}let l=o.range[e];!l||l.time.some(d=>{let c=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return c&&this.removeFragment(o.body),c})})}detectPartialFragments(e){let t=this.timeRanges,{frag:i,part:s}=e;if(!t||i.sn==="initSegment")return;let n=Bs(i),a=this.fragments[n];if(!a||a.buffered&&i.gap)return;let o=!i.relurl;Object.keys(t).forEach(l=>{let d=i.elementaryStreams[l];if(!d)return;let c=t[l],u=o||d.partial===!0;a.range[l]=this.getBufferedTimes(i,s,u,c)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,a.body.endList&&(this.endListFragments[a.body.type]=a),rl(a)||this.removeParts(i.sn-1,i.type)):this.removeFragment(a.body)}removeParts(e,t){let i=this.activePartLists[t];!i||(this.activePartLists[t]=i.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let i=Bs(e),s=this.fragments[i];!s&&t&&(s=this.fragments[i]={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,i,s){let n={time:[],partial:i},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let c=0;c<s.length;c++){let u=s.start(c)-this.bufferPadding,h=s.end(c)+this.bufferPadding;if(d>=u&&l<=h){n.time.push({startPTS:Math.max(a,s.start(c)),endPTS:Math.min(o,s.end(c))});break}else if(a<h&&o>u)n.partial=!0,n.time.push({startPTS:Math.max(a,s.start(c)),endPTS:Math.min(o,s.end(c))});else if(o<=u)break}return n}getPartialFragment(e){let t=null,i,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let c=l[d];!c||rl(c)&&(s=c.body.start-o,n=c.body.end+o,e>=s&&e<=n&&(i=Math.min(e-s,n-e),a<=i&&(t=c.body,a=i)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||rl(t))}getState(e){let t=Bs(e),i=this.fragments[t];return i?i.buffered?rl(i)?Tt.PARTIAL:Tt.OK:Tt.APPENDING:Tt.NOT_LOADED}isTimeBuffered(e,t,i){let s,n;for(let a=0;a<i.length;a++){if(s=i.start(a)-this.bufferPadding,n=i.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:i,part:s}=t;if(i.sn==="initSegment"||i.bitrateTest)return;let n=s?null:t,a=Bs(i);this.fragments[a]={body:i,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:i,part:s,timeRanges:n}=t;if(i.sn==="initSegment")return;let a=i.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=Bs(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,i,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!==i||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=Bs(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let s=e.sn;this.activePartLists[e.type]=i.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 rl(r){var e,t,i;return r.buffered&&(r.body.gap||((e=r.range.video)==null?void 0:e.partial)||((t=r.range.audio)==null?void 0:t.partial)||((i=r.range.audiovideo)==null?void 0:i.partial))}function Bs(r){return`${r.type}_${r.level}_${r.urlId}_${r.sn}`}var _g=Math.pow(2,17),Bu=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let i=e.url;if(!i)return Promise.reject(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));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)if(e.tagList.some(f=>f[0]==="GAP")){l(Sg(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),c=Ag(e),u=yg(s.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:_g};e.stats=d.stats,d.load(c,h,{onSuccess:(f,g,E,T)=>{this.resetLoader(e,d);let A=f.data;E.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(A.slice(0,16)),A=A.slice(16)),o({frag:e,part:null,payload:A,networkDetails:T})},onError:(f,g,E,T)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:jt({url:i,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:E,stats:T}))},onAbort:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:E,stats:f}))},onTimeout:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:E,stats:f}))},onProgress:(f,g,E,T)=>{t&&t({frag:e,part:null,payload:E,networkDetails:T})}})})}loadPart(e,t,i){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(Sg(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),c=Ag(e,t),u=yg(s.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:_g};t.stats=d.stats,d.load(c,h,{onSuccess:(f,g,E,T)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let A={frag:e,part:t,payload:f.data,networkDetails:T};i(A),o(A)},onError:(f,g,E,T)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:jt({url:c.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:E,stats:T}))},onAbort:(f,g,E)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:E,stats:f}))},onTimeout:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:E,stats:f}))}})})}updateStatsFromPart(e,t){let i=e.stats,s=t.stats,n=s.total;if(i.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(i.loaded/n),l),u=(l-d)*Math.round(i.loaded/d);i.total=i.loaded+u}else i.total=Math.max(i.loaded,i.total);let a=i.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 Ag(r,e=null){let t=e||r,i={frag:r,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(ce(s)&&ce(n)){var a;let o=s,l=n;if(r.sn==="initSegment"&&((a=r.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(i.resetIV=!0,o=s-16)}i.rangeStart=o,i.rangeEnd=l}return i}function Sg(r,e){let t=new Error(`GAP ${r.gap?"tag":"attribute"} found`),i={type:pe.MEDIA_ERROR,details:B.FRAG_GAP,fatal:!1,frag:r,error:t,networkDetails:null};return e&&(i.part=e),(e||r).stats.aborted=!0,new vi(i)}var vi=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},$u=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let t in this.keyUriToKeyInfo){let i=this.keyUriToKeyInfo[t].loader;if(i){if(e&&e!==i.context.frag.type)return;i.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=B.KEY_LOAD_ERROR,i,s,n){return new vi({type:pe.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:i,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:i,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(i==="initSegment"||a.sn==="initSegment"||i<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{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 i,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,B.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((i=o)!=null&&i.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,B.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(i);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,i))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(i)}loadKeyHTTP(e,t){let i=this.config,s=i.loader,n=new s(i);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=i.keyLoadPolicy.default,c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(h,f,g,E)=>{let{frag:T,keyInfo:A,url:k}=g;if(!T.decryptdata||A!==this.keyUriToKeyInfo[k])return o(this.createKeyLoadError(T,B.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),E));A.decryptdata.key=T.decryptdata.key=new Uint8Array(h.data),T.keyLoader=null,A.loader=null,a({frag:T,keyInfo:A})},onError:(h,f,g,E)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),g,jt({url:l.url,data:void 0},h)))},onTimeout:(h,f,g)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),g))},onAbort:(h,f,g)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.INTERNAL_ABORTED,new Error("key loading aborted"),g))}};n.load(l,c,u)})}resetLoader(e){let{frag:t,keyInfo:i,url:s}=e,n=i.loader;t.keyLoader===n&&(t.keyLoader=null,i.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}},Hu=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(){}},u_={length:0,start:()=>0,end:()=>0},je=class{static isBuffered(e,t){try{if(e){let i=je.getBuffered(e);for(let s=0;s<i.length;s++)if(t>=i.start(s)&&t<=i.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,i){try{if(e){let s=je.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,i)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,i){t=Math.max(0,t),e.sort(function(d,c){let u=d.start-c.start;return u||c.end-d.end});let s=[];if(i)for(let d=0;d<e.length;d++){let c=s.length;if(c){let u=s[c-1].end;e[d].start-u<i?e[d].end>u&&(s[c-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<s.length;d++){let c=s[d].start,u=s[d].end;if(t+i>=c&&t<u)o=c,l=u,n=l-t;else if(t+i<c){a=c;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return M.log("failed to get media.buffered",t),u_}}},Kn=class{constructor(e,t,i,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=sl(),this.buffering={audio:sl(),video:sl(),audiovideo:sl()},this.level=e,this.sn=t,this.id=i,this.size=s,this.part=n,this.partial=a}};function sl(){return{start:0,executeStart:0,executeEnd:0,end:0}}function o0(r,e){let t=null;for(let i=0,s=r.length;i<s;i++){let n=r[i];if(n&&n.cc===e){t=n;break}}return t}function h_(r,e,t){return!!(e.details&&(t.endCC>t.startCC||r&&r.cc<t.startCC))}function f_(r,e,t=0){let i=r.fragments,s=e.fragments;if(!s.length||!i.length){M.log("No fragments to align");return}let n=o0(i,s[0].cc);if(!n||n&&!n.startPTS){M.log("No frag in previous level to align on");return}return n}function xg(r,e){if(r){let t=r.start+e;r.start=r.startPTS=t,r.endPTS=t+r.duration}}function Lh(r,e){let t=e.fragments;for(let i=0,s=t.length;i<s;i++)xg(t[i],r);e.fragmentHint&&xg(e.fragmentHint,r),e.alignedSliding=!0}function m_(r,e,t){!e||(p_(r,t,e),!t.alignedSliding&&e.details&&g_(t,e.details),!t.alignedSliding&&e.details&&!t.skippedSegments&&s0(e.details,t))}function p_(r,e,t){if(h_(r,t,e)){let i=f_(t.details,e);i&&ce(i.start)&&(M.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),Lh(i.start,e))}}function g_(r,e){if(!e.fragments.length||!r.hasProgramDateTime||!e.hasProgramDateTime)return;let t=e.fragments[0].programDateTime,i=r.fragments[0].programDateTime,s=(i-t)/1e3+e.fragments[0].start;s&&ce(s)&&(M.log(`Adjusting PTS using programDateTime delta ${i-t}ms, sliding:${s.toFixed(3)} ${r.url} `),Lh(s,r))}function l0(r,e){if(!r.hasProgramDateTime||!e.hasProgramDateTime)return;let t=r.fragments,i=e.fragments;if(!t.length||!i.length)return;let s=Math.round(i.length/2)-1,n=i[s],a=o0(t,n.cc)||t[Math.round(t.length/2)-1],o=n.programDateTime,l=a.programDateTime;if(o===null||l===null)return;let d=(l-o)/1e3-(a.start-n.start);Lh(d,r)}var Gu=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)}},Vu=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 v_(r){let e=r.byteLength,t=e&&new DataView(r.buffer).getUint8(e-1);return t?Vr(r,0,e-t):r}var Ku=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),i=new Uint32Array(4);for(let s=0;s<4;s++)i[s]=t.getUint32(s*4);return i}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,s=i[0],n=i[1],a=i[2],o=i[3],l=this.invSubMix,d=l[0],c=l[1],u=l[2],h=l[3],f=new Uint32Array(256),g=0,E=0,T=0;for(T=0;T<256;T++)T<128?f[T]=T<<1:f[T]=T<<1^283;for(T=0;T<256;T++){let A=E^E<<1^E<<2^E<<3^E<<4;A=A>>>8^A&255^99,e[g]=A,t[A]=g;let k=f[g],L=f[k],N=f[L],D=f[A]*257^A*16843008;s[g]=D<<24|D>>>8,n[g]=D<<16|D>>>16,a[g]=D<<8|D>>>24,o[g]=D,D=N*16843009^L*65537^k*257^g*16843008,d[A]=D<<24|D>>>8,c[A]=D<<16|D>>>16,u[A]=D<<8|D>>>24,h[A]=D,g?(g=k^f[f[f[N^k]]],E^=f[f[E]]):g=E=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),i=!0,s=0;for(;s<t.length&&i;)i=t[s]===this.key[s],s++;if(i)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),c=this.invKeySchedule=new Uint32Array(a),u=this.sBox,h=this.rcon,f=this.invSubMix,g=f[0],E=f[1],T=f[2],A=f[3],k,L;for(o=0;o<a;o++){if(o<n){k=d[o]=t[o];continue}L=k,o%n===0?(L=L<<8|L>>>24,L=u[L>>>24]<<24|u[L>>>16&255]<<16|u[L>>>8&255]<<8|u[L&255],L^=h[o/n|0]<<24):n>6&&o%n===4&&(L=u[L>>>24]<<24|u[L>>>16&255]<<16|u[L>>>8&255]<<8|u[L&255]),d[o]=k=(d[o-n]^L)>>>0}for(l=0;l<a;l++)o=a-l,l&3?L=d[o]:L=d[o-4],l<4||o<=4?c[l]=L:c[l]=g[u[L>>>24]]^E[u[L>>>16&255]]^T[u[L>>>8&255]]^A[u[L&255]],c[l]=c[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,i){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],c=o[2],u=o[3],h=this.uint8ArrayToUint32Array_(i),f=h[0],g=h[1],E=h[2],T=h[3],A=new Int32Array(e),k=new Int32Array(A.length),L,N,D,$,O,G,q,P,X,z,Ae,Ee,be,we,Se=this.networkToHostOrderSwap;for(;t<A.length;){for(X=Se(A[t]),z=Se(A[t+1]),Ae=Se(A[t+2]),Ee=Se(A[t+3]),O=X^n[0],G=Ee^n[1],q=Ae^n[2],P=z^n[3],be=4,we=1;we<s;we++)L=l[O>>>24]^d[G>>16&255]^c[q>>8&255]^u[P&255]^n[be],N=l[G>>>24]^d[q>>16&255]^c[P>>8&255]^u[O&255]^n[be+1],D=l[q>>>24]^d[P>>16&255]^c[O>>8&255]^u[G&255]^n[be+2],$=l[P>>>24]^d[O>>16&255]^c[G>>8&255]^u[q&255]^n[be+3],O=L,G=N,q=D,P=$,be=be+4;L=a[O>>>24]<<24^a[G>>16&255]<<16^a[q>>8&255]<<8^a[P&255]^n[be],N=a[G>>>24]<<24^a[q>>16&255]<<16^a[P>>8&255]<<8^a[O&255]^n[be+1],D=a[q>>>24]<<24^a[P>>16&255]<<16^a[O>>8&255]<<8^a[G&255]^n[be+2],$=a[P>>>24]<<24^a[O>>16&255]<<16^a[G>>8&255]<<8^a[q&255]^n[be+3],k[t]=Se(L^f),k[t+1]=Se($^g),k[t+2]=Se(D^E),k[t+3]=Se(N^T),f=X,g=z,E=Ae,T=Ee,t=t+4}return k.buffer}},E_=16,Wn=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let i=self.crypto;i&&(this.subtle=i.subtle||i.webkitSubtle)}catch{}this.subtle===null&&(this.useSoftware=!0)}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let i=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?v_(i):i}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,i){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,i);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,i)}softwareDecrypt(e,t,i){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Kr(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(i=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new Ku),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,i),this.currentIV=Vr(o,-16).buffer,d||null}webCryptoDecrypt(e,t,i){let s=this.subtle;return(this.key!==t||!this.fastAesKey)&&(this.key=t,this.fastAesKey=new Vu(s,t)),this.fastAesKey.expandKey().then(n=>s?(this.logOnce("WebCrypto AES decrypt"),new Gu(s,new Uint8Array(i)).decrypt(e.buffer,n)):Promise.reject(new Error("web crypto not initialized"))).catch(n=>(M.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${n.name}: ${n.message}`),this.onWebCryptoError(e,t,i)))}onWebCryptoError(e,t,i){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,i=e.length-e.length%E_;return i!==e.length&&(t=Vr(e,0,i),this.remainderData=Vr(e,i)),t}logOnce(e){!this.logEnabled||(M.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},b_={toString:function(r){let e="",t=r.length;for(let i=0;i<t;i++)e+=`[${r.start(i).toFixed(3)}-${r.end(i).toFixed(3)}]`;return e}},W={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},qn=class extends Hu{constructor(e,t,i,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=W.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=M.log.bind(M,`${s}:`),this.warn=M.warn.bind(M,`${s}:`),this.hls=e,this.fragmentLoader=new Bu(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Wn(e.config),e.on(b.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=W.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let i=t.partList;if(i!=null&&i.length){let n=i[i.length-1];return je.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levels[this.levelLastLoaded])==null?void 0:e.details}}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),i.addEventListener("seeking",this.onvseeking),i.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===W.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:i,mediaBuffer:s,state:n}=this,a=i?i.currentTime:0,o=je.bufferInfo(s||i,a,e.maxBufferHole);if(this.log(`media seeking to ${ce(a)?a.toFixed(3):a}, state: ${n}`),this.state===W.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,c=t.start+t.duration+l;if(!o.len||c<o.start||d>o.end){let u=a>c;(a<d||u)&&(u&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}i&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.stopLoad(),super.onHandlerDestroying()}onHandlerDestroyed(){this.state=W.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,i){this._loadFragForPlayback(e,t,i)}_loadFragForPlayback(e,t,i){let s=n=>{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,i,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===W.FRAG_LOADING||!this.fragCurrent&&a===W.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=W.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(b.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===W.STOPPED||this.state===W.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===Tt.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength);this.reduceMaxBufferLength(o)&&i.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===Tt.PARTIAL&&i.removeFragment(e))}flushMainBuffer(e,t,i=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:i};this.hls.trigger(b.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(i=>{if(!i||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return i}).then(i=>{let{hls:s}=this,{payload:n}=i,a=e.decryptdata;if(n&&n.byteLength>0&&a&&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(b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(b.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),i.payload=l,i})}return i}).then(i=>{let{fragCurrent:s,hls:n,levels:a}=this;if(!a)throw new Error("init load aborted, missing levels");let o=e.stats;this.state=W.IDLE,t.fragmentError=0,e.data=new Uint8Array(i.payload),o.parsing.start=o.buffering.start=self.performance.now(),o.parsing.end=o.buffering.end=self.performance.now(),i.frag===s&&n.trigger(b.FRAG_BUFFERED,{stats:o,frag:s,part:null,id:e.type}),this.tick()}).catch(i=>{this.state===W.STOPPED||this.state===W.ERROR||(this.warn(i),this.resetFragmentLoading(e))})}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.level!==t.level||e.sn!==t.sn||e.urlId!==t.urlId}fragBufferedComplete(e,t){var i,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===ge.MAIN?"level":"track"} ${e.level} (frag:[${((i=e.startPTS)!=null?i:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?b_.toString(je.getBuffered(o)):"(detached)"})`),this.state=W.IDLE,o&&(!this.loadedmetadata&&e.type==ge.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:i,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new Kn(i.level,i.sn,i.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=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=W.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(c=>{if(!this.fragContextChanged(c.frag))return this.hls.trigger(b.KEY_LOADED,c),this.state===W.KEY_LOADING&&(this.state=W.IDLE),c}),this.hls.trigger(b.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),i=Math.max(e.start,i||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let c=a.partList;if(c&&s){i>e.end&&a.fragmentHint&&(e=a.fragmentHint);let u=this.getNextPart(c,e,i);if(u>-1){let h=c[u];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${u}-${c.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=W.FRAG_LOADING;let f;return o?f=o.then(g=>!g||this.fragContextChanged(g.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(g=>this.handleFragLoadError(g)):f=this.doFragPartsLoad(e,h,t,s).catch(g=>this.handleFragLoadError(g)),this.hls.trigger(b.FRAG_LOADING,{frag:e,part:h,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(c,i))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(i.toFixed(3))}`),ce(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=W.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(c=>!c||this.fragContextChanged(c==null?void 0:c.frag)?null:this.fragmentLoader.load(e,s)).catch(c=>this.handleFragLoadError(c)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([c])=>(!l&&c&&s&&s(c),c)).catch(c=>this.handleFragLoadError(c)),this.hls.trigger(b.FRAG_LOADING,{frag:e,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,i,s){return new Promise((n,a)=>{var o;let l=[],d=(o=i.details)==null?void 0:o.partList,c=u=>{this.fragmentLoader.loadPart(e,u,s).then(h=>{l[u.index]=h;let f=h.part;this.hls.trigger(b.FRAG_LOADED,h);let g=Eg(i,e.sn,u.index+1)||n0(d,e.sn,u.index+1);if(g)c(g);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};c(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===B.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(b.ERROR,t)}else this.hls.trigger(b.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==W.PARSING){!this.fragCurrent&&this.state!==W.STOPPED&&this.state!==W.ERROR&&(this.state=W.IDLE);return}let{frag:i,part:s,level:n}=t,a=self.performance.now();i.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(i,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:i}=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?Eg(o,n,a):null,d=l?l.fragment:s_(o,n,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,i,s,n){var a;if(!e||this.state!==W.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Kr(o,l)),!((a=d)!=null&&a.length))return;let c={type:e.type,frag:t,part:i,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(b.BUFFER_APPENDING,c),e.dropped&&e.independent&&!i){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!je.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let i=t.currentTime,s=je.bufferInfo(t,i,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),i+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let i=this.getLoadPosition();return ce(i)?this.getFwdBufferInfoAtPos(e,i,t):null}getFwdBufferInfoAtPos(e,t,i){let{config:{maxBufferHole:s}}=this,n=je.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,i);if(a&&n.nextStart<a.end)return je.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,i;return e?i=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):i=t.maxBufferLength,Math.min(i,t.maxMaxBufferLength)}reduceMaxBufferLength(e){let t=this.config,i=e||t.maxBufferLength;return t.maxMaxBufferLength>=i?(t.maxMaxBufferLength/=2,this.warn(`Reduce max buffer length to ${t.maxMaxBufferLength}s`),!0):!1}getAppendedFrag(e,t=ge.MAIN){let i=this.fragmentTracker.getAppendedFrag(e,ge.MAIN);return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){let i=t.fragments,s=i.length;if(!s)return null;let{config:n}=this,a=i[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1&&(o=this.getInitialLiveFragment(t,i),this.startPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=i[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let i=this.fragmentTracker.getState(e);return(i===Tt.OK||i===Tt.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,i,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&i.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,s);if(l!==null&&i.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,i){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&i<d.start)break;let c=d.loaded;c?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=c}return s}loadedEndOfParts(e,t){let i=e[e.length-1];return i&&t>i.start&&i.loaded}getInitialLiveFragment(e,t){let i=this.fragPrevious,s=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),s=a_(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=i.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];i.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=l_(t,i.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,i){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=i,{fragmentHint:l}=i,d=s.maxFragLookUpTolerance,c=i.partList,u=!!(s.lowLatencyMode&&c!=null&&c.length&&l);u&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=Gn(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-i.startSN,g=this.fragmentTracker.getState(h);if((g===Tt.OK||g===Tt.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!u||c[0].fragment.sn>h.sn)&&n&&h.level===n.level){let T=a[f+1];h.sn<o&&this.fragmentTracker.getState(T)!==Tt.OK?h=T:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let s=this.hls.liveSyncPosition,n=i.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&i.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&i.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),i.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),i.currentTime=s))}}alignPlaylists(e,t){let{levels:i,levelLastLoaded:s,fragPrevious:n}=this,a=s!==null?i[s]:null,o=e.fragments.length;if(!o)return this.warn("No fragments in live playlist"),0;let l=e.fragments[0].start,d=!t,c=e.alignedSliding&&ce(l);if(d||!c&&!l){m_(n,a,e);let u=e.fragments[0].start;return this.log(`Live playlist sliding: ${u.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${n?n.sn:"na"} fragments: ${o}`),u}return l}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let i=this.startPosition;if(i<t&&(i=-1),i===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&ce(n)?(i=t+n,n<0&&(i+=e.totalduration),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${i}`),this.startPosition=i):e.live?i=this.hls.liveSyncPosition||t:this.startPosition=i=0,this.lastCurrentTime=i}this.nextLoadPosition=i}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==W.FRAG_LOADING_WAITING_RETRY)&&(this.state=W.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let i=t.frag;if(!i||i.type!==e||!this.levels)return;if(this.fragContextChanged(i)){var s;this.warn(`Frag load error must match current frag to retry ${i.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===B.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(i,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===Mt.RetryRequest&&d){var c;this.resetStartWhenNotLoaded((c=this.levelLastLoaded)!=null?c:i.level);let u=Ih(d,l);this.warn(`Fragment ${i.sn} of ${e} ${i.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=W.FRAG_LOADING_WAITING_RETRY}else d&&a?(this.resetFragmentErrors(e),l<d.maxNumRetry?n||(a.resolved=!0):M.warn(`${t.details} reached or exceeded max retry (${l})`)):(a==null?void 0:a.action)===Mt.SendAlternateToPenaltyBox?this.state=W.WAITING_LEVEL:this.state=W.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===W.PARSING||this.state===W.PARSED){let t=e.parent,i=this.getFwdBufferInfo(this.mediaBuffer,t),s=i&&i.len>.5;s&&this.reduceMaxBufferLength(i.len);let n=!s;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${t} buffer`),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(e){e===ge.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==W.STOPPED&&(this.state=W.IDLE)}afterBufferFlushed(e,t,i){if(!e)return;let s=je.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,i),this.state===W.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=W.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=this.levels?this.levels[e].details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){var t;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((t=this.levelLastLoaded)!=null?t:e.level),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,s){var n;let a=i.details;if(!a){this.warn("level.details undefined");return}if(Object.keys(e.elementaryStreams).reduce((l,d)=>{let c=e.elementaryStreams[d];if(c){let u=c.endPTS-c.startPTS;if(u<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${u})`),l||!1;let h=s?0:r0(a,e,c.startPTS,c.endPTS,c.startDTS,c.endDTS);return this.hls.trigger(b.LEVEL_PTS_UPDATED,{details:a,level:i,drift:h,type:d,frag:e,start:c.startPTS,end:c.endPTS}),!0}return l},!1))i.fragmentError=0;else if(((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(i.fragmentError===0&&(i.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=W.PARSED,this.hls.trigger(b.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){if(e.event==="demuxerWorker"){var t,i,s;this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded((t=(i=this.levelLastLoaded)!=null?i:(s=this.fragCurrent)==null?void 0:s.level)!=null?t:0),this.resetLoadingState()}}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}};function d0(){return self.SourceBuffer||self.WebKitSourceBuffer}function y_(){let r=Ml();if(!r)return!1;let e=d0(),t=r&&typeof r.isTypeSupported=="function"&&r.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),i=!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function";return!!t&&!!i}function T_(){var r;let e=d0();return typeof(e==null||(r=e.prototype)==null?void 0:r.changeType)=="function"}function __(){return typeof __HLS_WORKER_BUNDLE__=="function"}function A_(){let r=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(r);return{worker:new self.Worker(e),objectURL:e}}function S_(r){let e=new self.URL(r,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function Ui(r="",e=9e4){return{type:r,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var bl=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,i,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,i){}demux(e,t){this.cachedData&&(e=Kr(this.cachedData,e),this.cachedData=null);let i=fl(e,0),s=i?i.length:0,n,a=this._audioTrack,o=this._id3Track,l=i?ET(i):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&ce(l))&&(this.basePTS=x_(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),i&&i.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ei.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let c=this.appendFrame(a,e,s);c?(this.frameIndex++,this.lastPTS=c.sample.pts,s+=c.length,n=s):s=d}else vT(e,s)?(i=fl(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ei.audioId3,duration:Number.POSITIVE_INFINITY}),s+=i.length,n=s):s++;if(s===d&&n!==d){let c=Vr(e,n);this.cachedData?this.cachedData=Kr(this.cachedData,c):this.cachedData=c}}return{audioTrack:a,videoTrack:Ui(),id3Track:o,textTrack:Ui()}}demuxSampleAes(e,t,i){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Ui(),id3Track:this._id3Track,textTrack:Ui()}}destroy(){}},x_=(r,e,t)=>{if(ce(r))return r*90;let i=t?t.baseTime*9e4/t.timescale:0;return e*9e4+i};function I_(r,e,t,i){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=i,c=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let u=(e[t+2]&60)>>>2;if(u>c.length-1){r.trigger(b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!0,reason:`invalid ADTS sampling index:${u}`});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,M.log(`manifest codec:${i}, ADTS type:${s}, samplingIndex:${u}`),/firefox/i.test(l)?u>=6?(s=5,o=new Array(4),n=u-3):(s=2,o=new Array(2),n=u):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=u):(s=5,o=new Array(4),i&&(i.indexOf("mp4a.40.29")!==-1||i.indexOf("mp4a.40.5")!==-1)||!i&&u>=6?n=u-3:((i&&i.indexOf("mp4a.40.2")!==-1&&(u>=6&&a===1||/vivaldi/i.test(l))||!i&&a===1)&&(s=2,o=new Array(2)),n=u)),o[0]=s<<3,o[0]|=(u&14)>>1,o[1]|=(u&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=2<<2,o[3]=0),{config:o,samplerate:c[u],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function c0(r,e){return r[e]===255&&(r[e+1]&246)===240}function u0(r,e){return r[e+1]&1?7:9}function kh(r,e){return(r[e+3]&3)<<11|r[e+4]<<3|(r[e+5]&224)>>>5}function L_(r,e){return e+5<r.length}function yl(r,e){return e+1<r.length&&c0(r,e)}function k_(r,e){return L_(r,e)&&c0(r,e)&&kh(r,e)<=r.length-e}function R_(r,e){if(yl(r,e)){let t=u0(r,e);if(e+t>=r.length)return!1;let i=kh(r,e);if(i<=t)return!1;let s=e+i;return s===r.length||yl(r,s)}return!1}function h0(r,e,t,i,s){if(!r.samplerate){let n=I_(e,t,i,s);if(!n)return;r.config=n.config,r.samplerate=n.samplerate,r.channelCount=n.channelCount,r.codec=n.codec,r.manifestCodec=n.manifestCodec,M.log(`parsed codec:${r.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function f0(r){return 1024*9e4/r}function w_(r,e){let t=u0(r,e);if(e+t<=r.length){let i=kh(r,e)-t;if(i>0)return{headerLength:t,frameLength:i}}}function m0(r,e,t,i,s){let n=f0(r.samplerate),a=i+s*n,o=w_(e,t),l;if(o){let{frameLength:u,headerLength:h}=o,f=h+u,g=Math.max(0,t+f-e.length);g?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let E={unit:l,pts:a};return g||r.samples.push(E),{sample:E,length:f,missing:g}}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 Wu=class extends bl{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let i=(fl(e,0)||[]).length;for(let s=e.length;i<s;i++)if(R_(e,i))return M.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return k_(e,t)}appendFrame(e,t,i){h0(e,this.observer,t,i,e.manifestCodec);let s=m0(e,t,i,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},D_=/\/emsg[-/]ID3/i,qu=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,i,s){let n=this.videoTrack=Ui("video",1),a=this.audioTrack=Ui("audio",1),o=this.txtTrack=Ui("text",1);if(this.id3Track=Ui("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=Xg(e);if(l.video){let{id:d,timescale:c,codec:u}=l.video;n.id=d,n.timescale=o.timescale=c,n.codec=u}if(l.audio){let{id:d,timescale:c,codec:u}=l.audio;a.id=d,a.timescale=c,a.codec=u}o.id=Yg.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return e=e.length>16384?e.subarray(0,16384):e,Pe(e,["moof"]).length>0}demux(e,t){this.timeOffset=t;let i=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=Kr(this.remainderData,e));let o=MT(i);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=i;let a=this.extractID3Track(s,t);return n.samples=sg(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return i.samples=sg(e,t),{videoTrack:t,audioTrack:Ui(),id3Track:s,textTrack:Ui()}}extractID3Track(e,t){let i=this.id3Track;if(e.samples.length){let s=Pe(e.samples,["emsg"]);s&&s.forEach(n=>{let a=NT(n);if(D_.test(a.schemeIdUri)){let o=ce(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;i.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:Ei.emsg,duration:l})}})}return i}demuxSampleAes(e,t,i){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},nl=null,C_=[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],M_=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],O_=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],P_=[0,1,1,4];function p0(r,e,t,i,s){if(t+24>e.length)return;let n=g0(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=i+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return r.config=[],r.channelCount=n.channelCount,r.samplerate=n.sampleRate,r.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function g0(r,e){let t=r[e+1]>>3&3,i=r[e+1]>>1&3,s=r[e+2]>>4&15,n=r[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=r[e+2]>>1&1,o=r[e+3]>>6,l=t===3?3-i:i===3?3:4,d=C_[l*14+s-1]*1e3,u=M_[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=O_[t][i],g=P_[i],E=f*8*g,T=Math.floor(f*d/u+a)*g;if(nl===null){let L=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);nl=L?parseInt(L[1]):0}return!!nl&&nl<=87&&i===2&&d>=224e3&&o===0&&(r[e+3]=r[e+3]|128),{sampleRate:u,channelCount:h,frameLength:T,samplesPerFrame:E}}}function Rh(r,e){return r[e]===255&&(r[e+1]&224)===224&&(r[e+1]&6)!==0}function v0(r,e){return e+1<r.length&&Rh(r,e)}function N_(r,e){return Rh(r,e)&&4<=r.length-e}function U_(r,e){if(e+1<r.length&&Rh(r,e)){let i=g0(r,e),s=4;i!=null&&i.frameLength&&(s=i.frameLength);let n=e+s;return n===r.length||v0(r,n)}return!1}var Tl=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,i=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(i,i+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),i=this.word>>>32-t;if(e>32&&M.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?i<<t|this.readBits(t):i}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&2147483648>>>e)!==0)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,i=8,s;for(let n=0;n<e;n++)i!==0&&(s=this.readEG(),i=(t+s+256)%256),t=i===0?t:i}readSPS(){let e=0,t=0,i=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),c=this.readUEG.bind(this),u=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),g=this.skipUEG.bind(this),E=this.skipScalingList.bind(this);l();let T=l();if(d(5),h(3),l(),g(),T===100||T===110||T===122||T===244||T===44||T===83||T===86||T===118||T===128){let $=c();if($===3&&h(1),g(),g(),h(1),u())for(a=$!==3?8:12,o=0;o<a;o++)u()&&(o<6?E(16):E(64))}g();let A=c();if(A===0)c();else if(A===1)for(h(1),f(),f(),n=c(),o=0;o<n;o++)f();g(),h(1);let k=c(),L=c(),N=d(1);N===0&&h(1),h(1),u()&&(e=c(),t=c(),i=c(),s=c());let D=[1,1];if(u()&&u())switch(l()){case 1:D=[1,1];break;case 2:D=[12,11];break;case 3:D=[10,11];break;case 4:D=[16,11];break;case 5:D=[40,33];break;case 6:D=[24,11];break;case 7:D=[20,11];break;case 8:D=[32,11];break;case 9:D=[80,33];break;case 10:D=[18,11];break;case 11:D=[15,11];break;case 12:D=[64,33];break;case 13:D=[160,99];break;case 14:D=[4,3];break;case 15:D=[3,2];break;case 16:D=[2,1];break;case 255:{D=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((k+1)*16-e*2-t*2),height:(2-N)*(L+1)*16-(N?2:4)*(i+s),pixelRatio:D}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},Yu=class{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new Wn(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,i){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,i)})}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length){i();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,i=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)i.set(e.subarray(n,n+16),s);return i}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(i.subarray(s,s+16),n);return e}decryptAvcSample(e,t,i,s,n){let a=Jg(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,s)})}decryptAvcSamples(e,t,i,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(i>=n.length);i++){let a=n[i];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,i,s,a),!this.decrypter.isSync()))return}}}},Ct=188,Fi=class{constructor(e,t,i){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._avcTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.avcSample=null,this.remainderData=null,this.observer=e,this.config=t,this.typeSupported=i}static probe(e){let t=Fi.syncOffset(e);return t>0&&M.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,i=Math.min(Ct*5,e.length-Ct)+1,s=0;for(;s<i;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=Ct)if(e[l]===71){if(o++,a===-1&&(a=l,a!==0&&(i=Math.min(a+Ct*99,e.length-Ct)+1)),n||(n=ju(e,l)===0),n&&o>1&&(a===0&&o>2||l+Ct>i))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:Yg[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,i,s){this.pmtParsed=!1,this._pmtId=-1,this._avcTrack=Fi.createTrack("video"),this._audioTrack=Fi.createTrack("audio",s),this._id3Track=Fi.createTrack("id3"),this._txtTrack=Fi.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.avcSample=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_avcTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.avcSample=null,this.remainderData=null}demux(e,t,i=!1,s=!1){i||(this.sampleAes=null);let n,a=this._avcTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,c=a.pid,u=a.pesData,h=o.pid,f=l.pid,g=o.pesData,E=l.pesData,T=null,A=this.pmtParsed,k=this._pmtId,L=e.length;if(this.remainderData&&(e=Kr(this.remainderData,e),L=e.length,this.remainderData=null),L<Ct&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let N=Math.max(0,Fi.syncOffset(e));L-=(L-N)%Ct,L<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,L,e.buffer.byteLength-L));let D=0;for(let O=N;O<L;O+=Ct)if(e[O]===71){let G=!!(e[O+1]&64),q=ju(e,O),P=(e[O+3]&48)>>4,X;if(P>1){if(X=O+5+e[O+4],X===O+Ct)continue}else X=O+4;switch(q){case c:G&&(u&&(n=$s(u))&&this.parseAVCPES(a,d,n,!1),u={data:[],size:0}),u&&(u.data.push(e.subarray(X,O+Ct)),u.size+=O+Ct-X);break;case h:if(G){if(g&&(n=$s(g)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break}g={data:[],size:0}}g&&(g.data.push(e.subarray(X,O+Ct)),g.size+=O+Ct-X);break;case f:G&&(E&&(n=$s(E))&&this.parseID3PES(l,n),E={data:[],size:0}),E&&(E.data.push(e.subarray(X,O+Ct)),E.size+=O+Ct-X);break;case 0:G&&(X+=e[X]+1),k=this._pmtId=F_(e,X);break;case k:{G&&(X+=e[X]+1);let z=B_(e,X,this.typeSupported,i);c=z.avc,c>0&&(a.pid=c),h=z.audio,h>0&&(o.pid=h,o.segmentCodec=z.segmentCodec),f=z.id3,f>0&&(l.pid=f),T!==null&&!A&&(M.warn(`MPEG-TS PMT found at ${O} after unknown PID '${T}'. Backtracking to sync byte @${N} to parse all TS packets.`),T=null,O=N-188),A=this.pmtParsed=!0;break}case 17:case 8191:break;default:T=q;break}}else D++;if(D>0){let O=new Error(`Found ${D} TS packet/s that do not start with 0x47`);this.observer.emit(b.ERROR,b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:O,reason:O.message})}a.pesData=u,o.pesData=g,l.pesData=E;let $={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples($),$}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._avcTrack,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:i,id3Track:s,textTrack:n}=e,a=i.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=$s(a))?(this.parseAVCPES(i,n,d,!0),i.pesData=null):i.pesData=a,o&&(d=$s(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break}t.pesData=null}else o!=null&&o.size&&M.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=$s(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,i){let s=this.demux(e,i,!0,!this.config.progressive),n=this.sampleAes=new Yu(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(i=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{i(e)}):i(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{i(e)})})}destroy(){this._duration=0}parseAVCPES(e,t,i,s){let n=this.parseAVCNALu(e,i.data),a=this.avcSample,o,l=!1;i.data=null,a&&n.length&&!e.audFound&&(Pn(a,e),a=this.avcSample=al(!1,i.pts,i.dts,"")),n.forEach(d=>{var c;switch(d.type){case 1:{let h=!1;o=!0;let f=d.data;if(l&&f.length>4){let g=new Tl(f).readSliceType();(g===2||g===4||g===7||g===9)&&(h=!0)}if(h){var u;(u=a)!=null&&u.frame&&!a.key&&(Pn(a,e),a=this.avcSample=null)}a||(a=this.avcSample=al(!0,i.pts,i.dts,"")),a.frame=!0,a.key=h;break}case 5:o=!0,(c=a)!=null&&c.frame&&!a.key&&(Pn(a,e),a=this.avcSample=null),a||(a=this.avcSample=al(!0,i.pts,i.dts,"")),a.key=!0,a.frame=!0;break;case 6:{o=!0,Zg(d.data,1,i.pts,t.samples);break}case 7:if(o=!0,l=!0,!e.sps){let h=d.data,g=new Tl(h).readSPS();e.width=g.width,e.height=g.height,e.pixelRatio=g.pixelRatio,e.sps=[h],e.duration=this._duration;let E=h.subarray(1,4),T="avc1.";for(let A=0;A<3;A++){let k=E[A].toString(16);k.length<2&&(k="0"+k),T+=k}e.codec=T}break;case 8:o=!0,e.pps||(e.pps=[d.data]);break;case 9:o=!1,e.audFound=!0,a&&Pn(a,e),a=this.avcSample=al(!1,i.pts,i.dts,"");break;case 12:o=!0;break;default:o=!1,a&&(a.debug+="unknown NAL "+d.type+" ");break}a&&o&&a.units.push(d)}),s&&a&&(Pn(a,e),this.avcSample=null)}getLastNalUnit(e){var t;let i=this.avcSample,s;if((!i||i.units.length===0)&&(i=e[e.length-1]),(t=i)!=null&&t.units){let n=i.units;s=n[n.length-1]}return s}parseAVCNALu(e,t){let i=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,c,u=-1,h=0;for(s===-1&&(u=0,h=t[0]&31,s=0,o=1);o<i;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(u>=0){let f={data:t.subarray(u,o-s-1),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);if(f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d=o-s-1,d>0)){let g=new Uint8Array(f.data.byteLength+d);g.set(f.data,0),g.set(t.subarray(0,d),f.data.byteLength),f.data=g,f.state=0}}o<i?(c=t[o]&31,u=o,h=c,s=0):s=-1}else s=0}if(u>=0&&s>=0){let f={data:t.subarray(u,i),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);if(f){let g=new Uint8Array(f.data.byteLength+t.byteLength);g.set(f.data,0),g.set(t,f.data.byteLength),f.data=g}}return e.naluState=s,a}parseAACPES(e,t){let i=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let u=s.missing,h=s.sample.unit.byteLength;if(u===-1){let f=new Uint8Array(h+n.byteLength);f.set(s.sample.unit,0),f.set(n,h),n=f}else{let f=h-u;s.sample.unit.set(n.subarray(0,u),f),e.samples.push(s.sample),i=s.missing}}let a,o;for(a=i,o=n.length;a<o-1&&!yl(n,a);a++);if(a!==i){let u,h=a<o-1;h?u=`AAC PES did not start with ADTS header,offset:${a}`:u="No ADTS header found in AAC PES";let f=new Error(u);if(M.warn(`parsing error: ${u}`),this.observer.emit(b.ERROR,b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,levelRetry:h,error:f,reason:u}),!h)return}h0(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let u=f0(e.samplerate);l=s.sample.pts+u}else{M.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,c;for(;a<o;)if(c=m0(e,n,a,l,d),a+=c.length,c.missing){this.aacOverFlow=c;break}else for(d++;a<o-1&&!yl(n,a);a++);}parseMPEGPES(e,t){let i=t.data,s=i.length,n=0,a=0,o=t.pts;if(o===void 0){M.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(v0(i,a)){let l=p0(e,i,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseID3PES(e,t){if(t.pts===void 0){M.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let i=pt({},t,{type:this._avcTrack?Ei.emsg:Ei.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(i)}};function al(r,e,t,i){return{key:r,frame:!1,pts:e,dts:t,units:[],debug:i,length:0}}function ju(r,e){return((r[e+1]&31)<<8)+r[e+2]}function F_(r,e){return(r[e+10]&31)<<8|r[e+11]}function B_(r,e,t,i){let s={audio:-1,avc:-1,id3:-1,segmentCodec:"aac"},n=(r[e+1]&15)<<8|r[e+2],a=e+3+n-4,o=(r[e+10]&15)<<8|r[e+11];for(e+=12+o;e<a;){let l=ju(r,e);switch(r[e]){case 207:if(!i){M.log("ADTS AAC with AES-128-CBC frame encryption found in unencrypted stream");break}case 15:s.audio===-1&&(s.audio=l);break;case 21:s.id3===-1&&(s.id3=l);break;case 219:if(!i){M.log("H.264 with AES-128-CBC slice encryption found in unencrypted stream");break}case 27:s.avc===-1&&(s.avc=l);break;case 3:case 4:t.mpeg!==!0&&t.mp3!==!0?M.log("MPEG audio found, not supported in this browser"):s.audio===-1&&(s.audio=l,s.segmentCodec="mp3");break;case 36:M.warn("Unsupported HEVC stream type found");break}e+=((r[e+3]&15)<<8|r[e+4])+5}return s}function $s(r){let e=0,t,i,s,n,a,o=r.data;if(!r||r.size===0)return null;for(;o[0].length<19&&o.length>1;){let d=new Uint8Array(o[0].length+o[1].length);d.set(o[0]),d.set(o[1],o[0].length),o[0]=d,o.splice(1,1)}if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(i=(t[4]<<8)+t[5],i&&i>r.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&&(M.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let c=s+9;if(r.size<=c)return null;r.size-=c;let u=new Uint8Array(r.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let g=t.byteLength;if(c)if(c>g){c-=g;continue}else t=t.subarray(c),g-=c,c=0;u.set(t,e),e+=g}return i&&(i-=s+3),{data:u,pts:n,dts:a,len:i}}return null}function Pn(r,e){if(r.units.length&&r.frame){if(r.pts===void 0){let t=e.samples,i=t.length;if(i){let s=t[i-1];r.pts=s.pts,r.dts=s.dts}else{e.dropped++;return}}e.samples.push(r)}r.debug.length&&M.log(r.pts+"/"+r.dts+":"+r.debug)}var zu=class extends bl{resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,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 i=(fl(e,0)||[]).length;for(let s=e.length;i<s;i++)if(U_(e,i))return M.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return N_(e,t)}appendFrame(e,t,i){if(this.basePTS!==null)return p0(e,t,i,this.basePTS,this.frameIndex)}},_l=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},gr=Math.pow(2,32)-1,F=class{static init(){F.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in F.types)F.types.hasOwnProperty(e)&&(F.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),i=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);F.HDLR_TYPES={video:t,audio:i};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);F.STTS=F.STSC=F.STCO=n,F.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),F.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),F.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),F.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);F.FTYP=F.box(F.types.ftyp,a,l,a,o),F.DINF=F.box(F.types.dinf,F.box(F.types.dref,s))}static box(e,...t){let i=8,s=t.length,n=s;for(;s--;)i+=t[s].byteLength;let a=new Uint8Array(i);for(a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=i&255,a.set(e,4),s=0,i=8;s<n;s++)a.set(t[s],i),i+=t[s].byteLength;return a}static hdlr(e){return F.box(F.types.hdlr,F.HDLR_TYPES[e])}static mdat(e){return F.box(F.types.mdat,e)}static mdhd(e,t){t*=e;let i=Math.floor(t/(gr+1)),s=Math.floor(t%(gr+1));return F.box(F.types.mdhd,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,i>>24,i>>16&255,i>>8&255,i&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return F.box(F.types.mdia,F.mdhd(e.timescale,e.duration),F.hdlr(e.type),F.minf(e))}static mfhd(e){return F.box(F.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"?F.box(F.types.minf,F.box(F.types.smhd,F.SMHD),F.DINF,F.stbl(e)):F.box(F.types.minf,F.box(F.types.vmhd,F.VMHD),F.DINF,F.stbl(e))}static moof(e,t,i){return F.box(F.types.moof,F.mfhd(e),F.traf(i,t))}static moov(e){let t=e.length,i=[];for(;t--;)i[t]=F.trak(e[t]);return F.box.apply(null,[F.types.moov,F.mvhd(e[0].timescale,e[0].duration)].concat(i).concat(F.mvex(e)))}static mvex(e){let t=e.length,i=[];for(;t--;)i[t]=F.trex(e[t]);return F.box.apply(null,[F.types.mvex,...i])}static mvhd(e,t){t*=e;let i=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,i>>24,i>>16&255,i>>8&255,i&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 F.box(F.types.mvhd,n)}static sdtp(e){let t=e.samples||[],i=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,i[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return F.box(F.types.sdtp,i)}static stbl(e){return F.box(F.types.stbl,F.stsd(e),F.box(F.types.stts,F.STTS),F.box(F.types.stsc,F.STSC),F.box(F.types.stsz,F.STSZ),F.box(F.types.stco,F.STCO))}static avc1(e){let t=[],i=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,i.push(a>>>8&255),i.push(a&255),i=i.concat(Array.prototype.slice.call(n));let o=F.box(F.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(i))),l=e.width,d=e.height,c=e.pixelRatio[0],u=e.pixelRatio[1];return F.box(F.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,F.box(F.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),F.box(F.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,c&255,u>>24,u>>16&255,u>>8&255,u&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 mp4a(e){let t=e.samplerate;return F.box(F.types.mp4a,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]),F.box(F.types.esds,F.esds(e)))}static mp3(e){let t=e.samplerate;return F.box(F.types[".mp3"],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 stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?F.box(F.types.stsd,F.STSD,F.mp3(e)):F.box(F.types.stsd,F.STSD,F.mp4a(e)):F.box(F.types.stsd,F.STSD,F.avc1(e))}static tkhd(e){let t=e.id,i=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(i/(gr+1)),o=Math.floor(i%(gr+1));return F.box(F.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 i=F.sdtp(e),s=e.id,n=Math.floor(t/(gr+1)),a=Math.floor(t%(gr+1));return F.box(F.types.traf,F.box(F.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),F.box(F.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])),F.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||4294967295,F.box(F.types.trak,F.tkhd(e),F.mdia(e))}static trex(e){let t=e.id;return F.box(F.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 i=e.samples||[],s=i.length,n=12+16*s,a=new Uint8Array(n),o,l,d,c,u,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<s;o++)l=i[o],d=l.duration,c=l.size,u=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,c>>>24&255,c>>>16&255,c>>>8&255,c&255,u.isLeading<<2|u.dependsOn,u.isDependedOn<<6|u.hasRedundancy<<4|u.paddingValue<<1|u.isNonSync,u.degradPrio&240<<8,u.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return F.box(F.types.trun,a)}static initSegment(e){F.types||F.init();let t=F.moov(e),i=new Uint8Array(F.FTYP.byteLength+t.byteLength);return i.set(F.FTYP),i.set(t,F.FTYP.byteLength),i}};F.types=void 0;F.HDLR_TYPES=void 0;F.STTS=void 0;F.STSC=void 0;F.STCO=void 0;F.STSZ=void 0;F.VMHD=void 0;F.SMHD=void 0;F.STSD=void 0;F.FTYP=void 0;F.DINF=void 0;var E0=9e4;function wh(r,e,t=1,i=!1){let s=r*e*t;return i?Math.round(s):s}function $_(r,e,t=1,i=!1){return wh(r,e,1/t,i)}function Nn(r,e=!1){return wh(r,1e3,1/E0,e)}function H_(r,e=1){return wh(r,E0,1/e)}var G_=10*1e3,Ig=1024,V_=1152,ol=null,hu=null,$n=class{constructor(e,t,i,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.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,ol===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);ol=a?parseInt(a[1]):0}if(hu===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);hu=n?parseInt(n[1]):0}}destroy(){}resetTimeStamp(e){M.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){M.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){M.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1}getVideoStartPts(e){let t=!1,i=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,li(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&M.debug("PTS rollover detected"),i}remux(e,t,i,s,n,a,o,l){let d,c,u,h,f,g,E=n,T=n,A=e.pid>-1,k=t.pid>-1,L=t.samples.length,N=e.samples.length>0,D=o&&L>0||L>1;if((!A||N)&&(!k||D)||this.ISGenerated||o){this.ISGenerated||(u=this.generateIS(e,t,n,a));let O=this.isVideoContiguous,G=-1,q;if(D&&(G=K_(t.samples),!O&&this.config.forceKeyFrameOnDiscontinuity))if(g=!0,G>0){M.warn(`[mp4-remuxer]: Dropped ${G} out of ${L} video samples due to a missing keyframe`);let P=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(G),t.dropped+=G,T+=(t.samples[0].pts-P)/t.inputTimeScale,q=T}else G===-1&&(M.warn(`[mp4-remuxer]: No keyframe found out of ${L} video samples`),g=!1);if(this.ISGenerated){if(N&&D){let P=this.getVideoStartPts(t.samples),z=(li(e.samples[0].pts,P)-P)/t.inputTimeScale;E+=Math.max(0,z),T+=Math.max(0,-z)}if(N){if(e.samplerate||(M.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),u=this.generateIS(e,t,n,a)),c=this.remuxAudio(e,E,this.isAudioContiguous,a,k||D||l===ge.AUDIO?T:void 0),D){let P=c?c.endPTS-c.startPTS:0;t.inputTimeScale||(M.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),u=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,T,O,P)}}else D&&(d=this.remuxVideo(t,T,O,0));d&&(d.firstKeyFrame=G,d.independent=G!==-1,d.firstKeyFramePTS=q)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(f=b0(i,n,this._initPTS,this._initDTS)),s.samples.length&&(h=y0(s,n,this._initPTS))),{audio:c,video:d,initSegment:u,independent:g,text:h,id3:f}}generateIS(e,t,i,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,c=!d||s,u="audio/mp4",h,f,g;if(c&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(u="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break}l.audio={id:"audio",container:u,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):F.initSegment([e]),metadata:{channelCount:e.channelCount}},c&&(g=e.inputTimeScale,!d||g!==d.timescale?h=f=n[0].pts-Math.round(g*i):c=!1)}if(t.sps&&t.pps&&a.length&&(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:F.initSegment([t]),metadata:{width:t.width,height:t.height}},c))if(g=t.inputTimeScale,!d||g!==d.timescale){let E=this.getVideoStartPts(a),T=Math.round(g*i);f=Math.min(f,li(a[0].dts,E)-T),h=Math.min(h,E-T)}else c=!1;if(Object.keys(l).length)return this.ISGenerated=!0,c?(this._initPTS={baseTime:h,timescale:g},this._initDTS={baseTime:f,timescale:g}):h=g=void 0,{tracks:l,initPTS:h,timescale:g}}remuxVideo(e,t,i,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,c=this.nextAvcDts,u=8,h=this.videoSampleDuration,f,g,E=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,A=!1;if(!i||c===null){let Z=t*n,ne=a[0].pts-li(a[0].dts,a[0].pts);c=Z-ne}let k=d.baseTime*n/d.timescale;for(let Z=0;Z<l;Z++){let ne=a[Z];ne.pts=li(ne.pts-k,c),ne.dts=li(ne.dts-k,c),ne.dts<a[Z>0?Z-1:Z].dts&&(A=!0)}A&&a.sort(function(Z,ne){let se=Z.dts-ne.dts,xe=Z.pts-ne.pts;return se||xe}),f=a[0].dts,g=a[a.length-1].dts;let L=g-f,N=L?Math.round(L/(l-1)):h||e.inputTimeScale/30;if(i){let Z=f-c,ne=Z>N,se=Z<-1;if((ne||se)&&(ne?M.warn(`AVC: ${Nn(Z,!0)} ms (${Z}dts) hole between fragments detected, filling it`):M.warn(`AVC: ${Nn(-Z,!0)} ms (${Z}dts) overlapping between fragments detected`),!se||c>=a[0].pts)){f=c;let xe=a[0].pts-Z;a[0].dts=f,a[0].pts=xe,M.log(`Video: First PTS/DTS adjusted: ${Nn(xe,!0)}/${Nn(f,!0)}, delta: ${Nn(Z,!0)} ms`)}}f=Math.max(0,f);let D=0,$=0;for(let Z=0;Z<l;Z++){let ne=a[Z],se=ne.units,xe=se.length,Ie=0;for(let Ve=0;Ve<xe;Ve++)Ie+=se[Ve].data.length;$+=Ie,D+=xe,ne.length=Ie,ne.dts=Math.max(ne.dts,f),E=Math.min(ne.pts,E),T=Math.max(ne.pts,T)}g=a[l-1].dts;let O=$+4*D+8,G;try{G=new Uint8Array(O)}catch(Z){this.observer.emit(b.ERROR,b.ERROR,{type:pe.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:Z,bytes:O,reason:`fail allocating video mdat ${O}`});return}let q=new DataView(G.buffer);q.setUint32(0,O),G.set(F.types.mdat,4);let P=!1,X=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,Ae=Number.NEGATIVE_INFINITY,Ee=Number.NEGATIVE_INFINITY;for(let Z=0;Z<l;Z++){let ne=a[Z],se=ne.units,xe=0;for(let ht=0,V=se.length;ht<V;ht++){let ee=se[ht],ke=ee.data,et=ee.data.byteLength;q.setUint32(u,et),u+=4,G.set(ke,u),u+=et,xe+=4+et}let Ie;if(Z<l-1)h=a[Z+1].dts-ne.dts,Ie=a[Z+1].pts-ne.pts;else{let ht=this.config,V=Z>0?ne.dts-a[Z-1].dts:N;if(Ie=Z>0?ne.pts-a[Z-1].pts:N,ht.stretchShortVideoTrack&&this.nextAudioPts!==null){let ee=Math.floor(ht.maxBufferHole*n),ke=(s?E+s*n:this.nextAudioPts)-ne.pts;ke>ee?(h=ke-V,h<0?h=V:P=!0,M.log(`[mp4-remuxer]: It is approximately ${ke/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=V}else h=V}let Ve=Math.round(ne.pts-ne.dts);X=Math.min(X,h),Ae=Math.max(Ae,h),z=Math.min(z,Ie),Ee=Math.max(Ee,Ie),o.push(new Al(ne.key,h,xe,Ve))}if(o.length){if(ol){if(ol<70){let Z=o[0].flags;Z.dependsOn=2,Z.isNonSync=0}}else if(hu&&Ee-z<Ae-X&&N/Ae<.025&&o[0].cts===0){M.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let Z=f;for(let ne=0,se=o.length;ne<se;ne++){let xe=Z+o[ne].duration,Ie=Z+o[ne].cts;if(ne<se-1){let Ve=xe+o[ne+1].cts;o[ne].duration=Ve-Ie}else o[ne].duration=ne?o[ne-1].duration:N;o[ne].cts=0,Z=xe}}}h=P||!h?N:h,this.nextAvcDts=c=g+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let be=F.moof(e.sequenceNumber++,f,pt({},e,{samples:o})),we="video",Se={data1:be,data2:G,startPTS:E/n,endPTS:(T+h)/n,startDTS:f/n,endDTS:c/n,type:we,hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Se}remuxAudio(e,t,i,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=e.segmentCodec==="aac"?Ig:V_,c=d*l,u=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],g=n!==void 0,E=e.samples,T=h?0:8,A=this.nextAudioPts||-1,k=t*a,L=u.baseTime*a/u.timescale;if(this.isAudioContiguous=i=i||E.length&&A>0&&(s&&Math.abs(k-A)<9e3||Math.abs(li(E[0].pts-L,k)-A)<20*c),E.forEach(function(we){we.pts=li(we.pts-L,k)}),!i||A<0){if(E=E.filter(we=>we.pts>=0),!E.length)return;n===0?A=0:s&&!g?A=Math.max(0,k):A=E[0].pts}if(e.segmentCodec==="aac"){let we=this.config.maxAudioFramesDrift;for(let Se=0,Z=A;Se<E.length;Se++){let ne=E[Se],se=ne.pts,xe=se-Z,Ie=Math.abs(1e3*xe/a);if(xe<=-we*c&&g)Se===0&&(M.warn(`Audio frame @ ${(se/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*xe/a)} ms.`),this.nextAudioPts=A=Z=se);else if(xe>=we*c&&Ie<G_&&g){let Ve=Math.round(xe/c);Z=se-Ve*c,Z<0&&(Ve--,Z+=c),Se===0&&(this.nextAudioPts=A=Z),M.warn(`[mp4-remuxer]: Injecting ${Ve} audio frame @ ${(Z/a).toFixed(3)}s due to ${Math.round(1e3*xe/a)} ms gap.`);for(let ht=0;ht<Ve;ht++){let V=Math.max(Z,0),ee=_l.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);ee||(M.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),ee=ne.unit.subarray()),E.splice(Se,0,{unit:ee,pts:V}),Z+=c,Se++}}ne.pts=Z,Z+=c}}let N=null,D=null,$,O=0,G=E.length;for(;G--;)O+=E[G].unit.byteLength;for(let we=0,Se=E.length;we<Se;we++){let Z=E[we],ne=Z.unit,se=Z.pts;if(D!==null){let Ie=f[we-1];Ie.duration=Math.round((se-D)/l)}else if(i&&e.segmentCodec==="aac"&&(se=A),N=se,O>0){O+=T;try{$=new Uint8Array(O)}catch(Ie){this.observer.emit(b.ERROR,b.ERROR,{type:pe.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:Ie,bytes:O,reason:`fail allocating audio mdat ${O}`});return}h||(new DataView($.buffer).setUint32(0,O),$.set(F.types.mdat,4))}else return;$.set(ne,T);let xe=ne.byteLength;T+=xe,f.push(new Al(!0,d,xe,0)),D=se}let q=f.length;if(!q)return;let P=f[f.length-1];this.nextAudioPts=A=D+l*P.duration;let X=h?new Uint8Array(0):F.moof(e.sequenceNumber++,N/l,pt({},e,{samples:f}));e.samples=[];let z=N/a,Ae=A/a,be={data1:X,data2:$,startPTS:z,endPTS:Ae,startDTS:z,endDTS:Ae,type:"audio",hasAudio:!0,hasVideo:!1,nb:q};return this.isAudioContiguous=!0,be}remuxEmptyAudio(e,t,i,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,c=d.baseTime*9e4/d.timescale,u=(l!==null?l:s.startDTS*n)+c,h=s.endDTS*n+c,f=o*Ig,g=Math.ceil((h-u)/f),E=_l.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(M.warn("[mp4-remuxer]: remux empty Audio"),!E){M.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let T=[];for(let A=0;A<g;A++){let k=u+A*f;T.push({unit:E,pts:k,dts:k})}return e.samples=T,this.remuxAudio(e,t,i,!1)}};function li(r,e){let t;if(e===null)return r;for(e<r?t=-8589934592:t=8589934592;Math.abs(r-e)>4294967296;)r+=t;return r}function K_(r){for(let e=0;e<r.length;e++)if(r[e].key)return e;return-1}function b0(r,e,t,i){let s=r.samples.length;if(!s)return;let n=r.inputTimeScale;for(let o=0;o<s;o++){let l=r.samples[o];l.pts=li(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=li(l.dts-i.baseTime*n/i.timescale,e*n)/n}let a=r.samples;return r.samples=[],{samples:a}}function y0(r,e,t){let i=r.samples.length;if(!i)return;let s=r.inputTimeScale;for(let a=0;a<i;a++){let o=r.samples[a];o.pts=li(o.pts-t.baseTime*s/t.timescale,e*s)/s}r.samples.sort((a,o)=>a.pts-o.pts);let n=r.samples;return r.samples=[],{samples:n}}var Al=class{constructor(e,t,i,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=i,this.cts=s,this.flags=new Xu(e)}},Xu=class{constructor(e){this.isLeading=0,this.isDependedOn=0,this.hasRedundancy=0,this.degradPrio=0,this.dependsOn=1,this.isNonSync=1,this.dependsOn=e?2:1,this.isNonSync=e?0:1}},Qu=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,i,s){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(kT(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:i}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=Xg(e);t||(t=Lg(s.audio,qe.AUDIO)),i||(i=Lg(s.video,qe.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+i,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:i,initSegment:e,id:"main"}:M.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,i,s,n,a){var o,l;let{initPTS:d,lastEndTime:c}=this,u={audio:void 0,video:void 0,text:s,id3:i,initSegment:void 0};ce(c)||(c=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return u;let f={initPTS:void 0,timescale:1},g=this.initData;if((o=g)!=null&&o.length||(this.generateInitSegment(h),g=this.initData),!((l=g)!=null&&l.length))return M.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),u;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let E=wT(h,g),T=RT(g,h),A=T===null?n:T;(W_(d,A,n,E)||f.timescale!==d.timescale&&a)&&(f.initPTS=A-n,d&&d.timescale===1&&M.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let k=e?A-d.baseTime/d.timescale:c,L=k+E;CT(g,h,d.baseTime/d.timescale),E>0?this.lastEndTime=L:(M.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let N=!!g.audio,D=!!g.video,$="";N&&($+="audio"),D&&($+="video");let O={data1:h,startPTS:k,startDTS:k,endPTS:L,endDTS:L,type:$,hasAudio:N,hasVideo:D,nb:1,dropped:0};return u.audio=O.type==="audio"?O:void 0,u.video=O.type!=="audio"?O:void 0,u.initSegment=f,u.id3=b0(i,n,d,d),s.samples.length&&(u.text=y0(s,n,d)),u}};function W_(r,e,t,i){if(r===null)return!0;let s=Math.max(i,1),n=e-r.baseTime/r.timescale;return Math.abs(n-t)>s}function Lg(r,e){let t=r==null?void 0:r.codec;return t&&t.length>4?t:t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":t==="avc1"||e===qe.VIDEO?"avc1.42e01e":"mp4a.40.5"}var Qi;try{Qi=self.performance.now.bind(self.performance)}catch{M.debug("Unable to use Performance API on this environment"),Qi=typeof self!="undefined"&&self.Date.now}var fu=[{demux:qu,remux:Qu},{demux:Fi,remux:$n},{demux:Wu,remux:$n},{demux:zu,remux:$n}],Sl=class{constructor(e,t,i,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=i,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,i,s){let n=i.transmuxing;n.executeStart=Qi();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:c,trackSwitch:u,accurateTimeOffset:h,timeOffset:f,initSegmentChange:g}=s||o,{audioCodec:E,videoCodec:T,defaultInitPts:A,duration:k,initSegmentData:L}=l,N=q_(a,t);if(N&&N.method==="AES-128"){let G=this.getDecrypter();if(G.isSync()){let q=G.softwareDecrypt(a,N.key.buffer,N.iv.buffer);if(i.part>-1&&(q=G.flush()),!q)return n.executeEnd=Qi(),mu(i);a=new Uint8Array(q)}else return this.decryptionPromise=G.webCryptoDecrypt(a,N.key.buffer,N.iv.buffer).then(q=>{let P=this.push(q,null,i);return this.decryptionPromise=null,P}),this.decryptionPromise}let D=this.needsProbing(c,u);if(D){let G=this.configureTransmuxer(a);if(G)return M.warn(`[transmuxer] ${G.message}`),this.observer.emit(b.ERROR,b.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:G,reason:G.message}),n.executeEnd=Qi(),mu(i)}(c||u||g||D)&&this.resetInitSegment(L,E,T,k,t),(c||g||D)&&this.resetInitialTimestamp(A),d||this.resetContiguity();let $=this.transmux(a,N,f,h,i),O=this.currentTransmuxState;return O.contiguous=!0,O.discontinuity=!1,O.trackSwitch=!1,n.executeEnd=Qi(),$}flush(e){let t=e.transmuxing;t.executeStart=Qi();let{decrypter:i,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(i){let u=i.flush();u&&a.push(this.push(u,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=Qi(),[mu(e)];let c=l.flush(o);return cl(c)?c.then(u=>(this.flushRemux(a,u,e),a)):(this.flushRemux(a,c,e),a)}flushRemux(e,t,i){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;M.log(`[transmuxer.ts]: Flushed fragment ${i.sn}${i.part>-1?" p: "+i.part:""} of level ${i.level}`);let c=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:c,chunkMeta:i}),i.transmuxing.executeEnd=Qi()}resetInitialTimestamp(e){let{demuxer:t,remuxer:i}=this;!t||!i||(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,i,s),o.resetInitSegment(e,t,i,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,i,s,n):a=this.transmuxUnencrypted(e,i,s,n),a}transmuxUnencrypted(e,t,i,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,i,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,i,s,n){return this.demuxer.demuxSampleAes(e,t,i).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,i,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:i,typeSupported:s,vendor:n}=this,a;for(let u=0,h=fu.length;u<h;u++)if(fu[u].demux.probe(e)){a=fu[u];break}if(!a)return new Error("Failed to find demuxer by probing fragment data");let o=this.demuxer,l=this.remuxer,d=a.remux,c=a.demux;(!l||!(l instanceof d))&&(this.remuxer=new d(i,t,s,n)),(!o||!(o instanceof c))&&(this.demuxer=new c(i,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new Wn(this.config)),e}};function q_(r,e){let t=null;return r.byteLength>0&&e!=null&&e.key!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var mu=r=>({remuxResult:{},chunkMeta:r});function cl(r){return"then"in r&&r.then instanceof Function}var Zu=class{constructor(e,t,i,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=i,this.duration=s,this.defaultInitPts=n||null}},Ju=class{constructor(e,t,i,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=i,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},T0={exports:{}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function s(l,d,c){this.fn=l,this.context=d,this.once=c||!1}function n(l,d,c,u,h){if(typeof c!="function")throw new TypeError("The listener must be a function");var f=new s(c,u||l,h),g=t?t+d:d;return l._events[g]?l._events[g].fn?l._events[g]=[l._events[g],f]:l._events[g].push(f):(l._events[g]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new i:delete l._events[d]}function o(){this._events=new i,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],c,u;if(this._eventsCount===0)return d;for(u in c=this._events)e.call(c,u)&&d.push(t?u.slice(1):u);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(c)):d},o.prototype.listeners=function(d){var c=t?t+d:d,u=this._events[c];if(!u)return[];if(u.fn)return[u.fn];for(var h=0,f=u.length,g=new Array(f);h<f;h++)g[h]=u[h].fn;return g},o.prototype.listenerCount=function(d){var c=t?t+d:d,u=this._events[c];return u?u.fn?1:u.length:0},o.prototype.emit=function(d,c,u,h,f,g){var E=t?t+d:d;if(!this._events[E])return!1;var T=this._events[E],A=arguments.length,k,L;if(T.fn){switch(T.once&&this.removeListener(d,T.fn,void 0,!0),A){case 1:return T.fn.call(T.context),!0;case 2:return T.fn.call(T.context,c),!0;case 3:return T.fn.call(T.context,c,u),!0;case 4:return T.fn.call(T.context,c,u,h),!0;case 5:return T.fn.call(T.context,c,u,h,f),!0;case 6:return T.fn.call(T.context,c,u,h,f,g),!0}for(L=1,k=new Array(A-1);L<A;L++)k[L-1]=arguments[L];T.fn.apply(T.context,k)}else{var N=T.length,D;for(L=0;L<N;L++)switch(T[L].once&&this.removeListener(d,T[L].fn,void 0,!0),A){case 1:T[L].fn.call(T[L].context);break;case 2:T[L].fn.call(T[L].context,c);break;case 3:T[L].fn.call(T[L].context,c,u);break;case 4:T[L].fn.call(T[L].context,c,u,h);break;default:if(!k)for(D=1,k=new Array(A-1);D<A;D++)k[D-1]=arguments[D];T[L].fn.apply(T[L].context,k)}}return!0},o.prototype.on=function(d,c,u){return n(this,d,c,u,!1)},o.prototype.once=function(d,c,u){return n(this,d,c,u,!0)},o.prototype.removeListener=function(d,c,u,h){var f=t?t+d:d;if(!this._events[f])return this;if(!c)return a(this,f),this;var g=this._events[f];if(g.fn)g.fn===c&&(!h||g.once)&&(!u||g.context===u)&&a(this,f);else{for(var E=0,T=[],A=g.length;E<A;E++)(g[E].fn!==c||h&&!g[E].once||u&&g[E].context!==u)&&T.push(g[E]);T.length?this._events[f]=T.length===1?T[0]:T:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var c;return d?(c=t?t+d:d,this._events[c]&&a(this,c)):(this._events=new i,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,r.exports=o})(T0);var Y_=T0.exports,Dh=eT(Y_),pu=Ml()||{isTypeSupported:()=>!1},xl=class{constructor(e,t,i,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=i,this.onFlush=s;let a=(d,c)=>{c=c||{},c.frag=this.frag,c.id=this.id,d===b.ERROR&&(this.error=c.error),this.hls.trigger(d,c)};this.observer=new Dh,this.observer.on(b.FRAG_DECRYPTED,a),this.observer.on(b.ERROR,a);let o={mp4:pu.isTypeSupported("video/mp4"),mpeg:pu.isTypeSupported("audio/mpeg"),mp3:pu.isTypeSupported('audio/mp4; codecs="mp3"')},l=navigator.vendor;if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||__())){try{n.workerPath?(M.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=S_(n.workerPath)):(M.log(`injecting Web Worker for "${t}"`),this.workerContext=A_()),this.onwmsg=u=>this.onWorkerMessage(u);let{worker:c}=this.workerContext;c.addEventListener("message",this.onwmsg),c.onerror=u=>{let h=new Error(`${u.message} (${u.filename}:${u.lineno})`);n.enableWorker=!1,M.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(b.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h})},c.postMessage({cmd:"init",typeSupported:o,vendor:l,id:t,config:JSON.stringify(n)})}catch(c){M.warn(`Error setting up "${t}" Web Worker, fallback to inline`,c),this.resetWorker(),this.error=null,this.transmuxer=new Sl(this.observer,o,n,l,t)}return}this.transmuxer=new Sl(this.observer,o,n,l,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,i,s,n,a,o,l,d,c){var u,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,g=a?a.start:n.start,E=n.decryptdata,T=this.frag,A=!(T&&n.cc===T.cc),k=!(T&&d.level===T.level),L=T?d.sn-T.sn:-1,N=this.part?d.part-this.part.index:-1,D=L===0&&d.id>1&&d.id===(T==null?void 0:T.stats.chunkCount),$=!k&&(L===1||L===0&&(N===1||D&&N<=0)),O=self.performance.now();(k||L||n.stats.parsing.start===0)&&(n.stats.parsing.start=O),a&&(N||!$)&&(a.stats.parsing.start=O);let G=!(T&&((u=n.initSegment)==null?void 0:u.url)===((h=T.initSegment)==null?void 0:h.url)),q=new Ju(A,$,l,k,g,G);if(!$||A||G){M.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
|
|
951
951
|
discontinuity: ${A}
|
|
952
952
|
trackSwitch: ${k}
|
|
953
953
|
contiguous: ${$}
|
|
@@ -971,10 +971,10 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
971
971
|
`).split(`
|
|
972
972
|
`),d=[],c=e?H_(e.baseTime,e.timescale):0,u="00:00.000",h=0,f=0,g,E=!0;o.oncue=function(T){let A=t[i],k=t.ccOffset,L=(h-c)/9e4;if(A!=null&&A.new&&(f!==void 0?k=t.ccOffset=A.start:lA(t,i,L)),L){if(!e){g=new Error("Missing initPTS for VTT MPEGTS");return}k=L-t.presentationOffset}let N=T.endTime-T.startTime,D=li((T.startTime+k-f)*9e4,s*9e4)/9e4;T.startTime=Math.max(D,0),T.endTime=Math.max(D+N,0);let $=T.text.trim();T.text=decodeURIComponent(encodeURIComponent($)),T.id||(T.id=Mh(T.startTime,T.endTime,$)),T.endTime>0&&d.push(T)},o.onparsingerror=function(T){g=T},o.onflush=function(){if(g){a(g);return}n(d)},l.forEach(T=>{if(E)if(Eu(T,"X-TIMESTAMP-MAP=")){E=!1,T.slice(16).split(",").forEach(A=>{Eu(A,"LOCAL:")?u=A.slice(6):Eu(A,"MPEGTS:")&&(h=parseInt(A.slice(7)))});try{f=oA(u)/1e3}catch(A){g=A}return}else T===""&&(E=!1);o.parse(T+`
|
|
973
973
|
`)}),o.flush()}var yu="stpp.ttml.im1t",L0=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,k0=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,cA={left:"start",center:"center",right:"end",start:"start",end:"end"};function Pg(r,e,t,i){let s=Pe(new Uint8Array(r),["mdat"]);if(s.length===0){i(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Hi(o)),a=$_(e.baseTime,1,e.timescale);try{n.forEach(o=>t(uA(o,a)))}catch(o){i(o)}}function uA(r,e){let s=new DOMParser().parseFromString(r,"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((u,h)=>(u[h]=s.getAttribute(`ttp:${h}`)||n[h],u),{}),o=s.getAttribute("xml:space")!=="preserve",l=Ng(Tu(s,"styling","style")),d=Ng(Tu(s,"layout","region")),c=Tu(s,"body","[begin]");return[].map.call(c,u=>{let h=R0(u,o);if(!h||!u.hasAttribute("begin"))return null;let f=Au(u.getAttribute("begin"),a),g=Au(u.getAttribute("dur"),a),E=Au(u.getAttribute("end"),a);if(f===null)throw Ug(u);if(E===null){if(g===null)throw Ug(u);E=f+g}let T=new Ch(f-e,E-e,h);T.id=Mh(T.startTime,T.endTime,T.text);let A=d[u.getAttribute("region")],k=l[u.getAttribute("style")],L=hA(A,k,l),{textAlign:N}=L;if(N){let D=cA[N];D&&(T.lineAlign=D),T.align=N}return pt(T,L),T}).filter(u=>u!==null)}function Tu(r,e,t){let i=r.getElementsByTagName(e)[0];return i?[].slice.call(i.querySelectorAll(t)):[]}function Ng(r){return r.reduce((e,t)=>{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function R0(r,e){return[].slice.call(r.childNodes).reduce((t,i,s)=>{var n;return i.nodeName==="br"&&s?t+`
|
|
974
|
-
`:(n=i.childNodes)!=null&&n.length?R0(i,e):e?t+i.textContent.trim().replace(/\s+/g," "):t+i.textContent},"")}function hA(r,e,t){let i="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=r!=null&&r.hasAttribute("style")?r.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=_u(e,i,l)||_u(r,i,l)||_u(s,i,l);return d&&(o[l]=d),o},{})}function _u(r,e,t){return r&&r.hasAttributeNS(e,t)?r.getAttributeNS(e,t):null}function Ug(r){return new Error(`Could not parse ttml timestamp ${r}`)}function Au(r,e){if(!r)return null;let t=S0(r);return t===null&&(L0.test(r)?t=fA(r,e):k0.test(r)&&(t=mA(r,e))),t}function fA(r,e){let t=L0.exec(r),i=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+i/e.frameRate}function mA(r,e){let t=k0.exec(r),i=Number(t[1]);switch(t[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/e.frameRate;case"t":return i/e.tickRate}return i}var Eh=class{constructor(e){if(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.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Fg(),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}},this.config.enableCEA708Captions){let t=new Vs(this,"textTrack1"),i=new Vs(this,"textTrack2"),s=new Vs(this,"textTrack3"),n=new Vs(this,"textTrack4");this.cea608Parser1=new Rl(1,t,i),this.cea608Parser2=new Rl(3,s,n)}e.on(b.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(b.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(b.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(b.FRAG_LOADING,this.onFragLoading,this),e.on(b.FRAG_LOADED,this.onFragLoaded,this),e.on(b.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(b.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(b.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(b.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(b.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(b.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(b.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(b.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(b.FRAG_LOADING,this.onFragLoading,this),e.off(b.FRAG_LOADED,this.onFragLoaded,this),e.off(b.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(b.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(b.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(b.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(b.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.cea608Parser1=this.cea608Parser2=null}addCues(e,t,i,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=gA(l[0],l[1],t,i);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],i),a=!0,d/(i-t)>.5))return}if(a||n.push([t,i]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,i,s)}else{let o=this.Cues.newCue(null,t,i,s);this.hls.trigger(b.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;i==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(b.FRAG_LOADED,o)}))}getExistingTrack(e){let{media:t}=this;if(t)for(let i=0;i<t.textTracks.length;i++){let s=t.textTracks[i];if(s[e])return s}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(e);if(o)i[e]=o,Gs(i[e]),t0(i[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,i[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i=t.label,s={_id:e,label:i,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(b.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,i){let s=this.media;if(!!s)return s.addTextTrack(e,t,i)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{Gs(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Fg(),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 i=0;i<t.length;i++)Gs(t[i])}onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],s=i.some(n=>n.textCodec===yu);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(_0(this.tracks,i)){this.tracks=i;return}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let a=this.media?this.media.textTracks:null;this.tracks.forEach((o,l)=>{let d;if(a&&l<a.length){let c=null;for(let u=0;u<a.length;u++)if(pA(a[u],o)){c=a[u];break}c&&(d=c)}if(d)Gs(d);else{let c=this._captionsOrSubtitlesFromCharacteristics(o);d=this.createTextTrack(c,o.name,o.lang),d&&(d.mode="disabled")}d&&(d.groupId=o.groupId,this.textTracks.push(d))})}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(b.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}_captionsOrSubtitlesFromCharacteristics(e){if(e.attrs.CHARACTERISTICS){let t=/transcribes-spoken-dialog/gi.test(e.attrs.CHARACTERISTICS),i=/describes-music-and-sound/gi.test(e.attrs.CHARACTERISTICS);if(t&&i)return"captions"}return"subtitles"}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(i=>{let s=/(?:CC|SERVICE)([1-4])/.exec(i.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];!a||(a.label=i.name,i.lang&&(a.languageCode=i.lang),a.media=i)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){let{cea608Parser1:i,cea608Parser2:s,lastSn:n,lastPartIndex:a}=this;if(!(!this.enabled||!(i&&s))&&t.frag.type===ge.MAIN){var o,l;let d=t.frag.sn,c=(o=t==null||(l=t.part)==null?void 0:l.index)!=null?o:-1;d===n+1||d===n&&c===a+1||(i.reset(),s.reset()),this.lastSn=d,this.lastPartIndex=c}}onFragLoaded(e,t){let{frag:i,payload:s}=t;if(i.type===ge.SUBTITLE)if(s.byteLength){let n=i.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[i.level],l=this.vttCCs;l[i.cc]||(l[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),o&&o.textCodec===yu?this._parseIMSC1(i,s):this._parseVTTs(t)}}else this.hls.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let i=this.hls;Pg(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),i.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{M.log(`Failed to parse IMSC1: ${s}`),i.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:i,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[i.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=i.initSegment)!=null&&t.data?Kr(i.initSegment.data,new Uint8Array(s)):s;dA(d,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,c=>{this._appendCues(c,i.level),l.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})},c=>{let u=c.message==="Missing initPTS for VTT MPEGTS";u?a.push(e):this._fallbackToIMSC1(i,s),M.log(`Failed to parse VTT cue: ${c}`),!(u&&o>i.cc)&&l.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:c})})}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||Pg(t,this.initPTS[e.cc],()=>{i.textCodec=yu,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>i0(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;i.trigger(b.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:i}=t;i.type===ge.SUBTITLE&&this.onFragLoaded(b.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){let{cea608Parser1:i,cea608Parser2:s}=this;if(!this.enabled||!(i&&s))return;let{frag:n,samples:a}=t;if(!(n.type===ge.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);i.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<i)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>Ru(o[l],t,i))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>Ru(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],i=e[0]&31,s=2;for(let n=0;n<i;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let c=3&a;(c===0||c===1)&&(t[c].push(o),t[c].push(l))}}return t}};function pA(r,e){return!!r&&r.label===e.name&&!(r.textTrack1||r.textTrack2)}function gA(r,e,t,i){return Math.min(e,i)-Math.max(r,t)}function Fg(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Yn=class{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.unregisterListener(),this.hls.config.capLevelToPlayerSize&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(b.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(b.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(b.MANIFEST_PARSED,this.onManifestParsed,this),e.on(b.BUFFER_CODECS,this.onBufferCodecs,this),e.on(b.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(b.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(b.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(b.MANIFEST_PARSED,this.onManifestParsed,this),e.off(b.BUFFER_CODECS,this.onBufferCodecs,this),e.off(b.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null}onManifestParsed(e,t){let i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media&&this.mediaHeight>0&&this.mediaWidth>0){let e=this.hls.levels;if(e.length){let t=this.hls;t.autoLevelCapping=this.getMaxLevel(e.length-1),t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let i=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,Yn.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,this.hls.firstLevel=this.getMaxLevel(this.firstLevel),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 i=e.getBoundingClientRect();t.width=i.width,t.height=i.height,!t.width&&!t.height&&(t.width=i.right-i.left||e.width||0,t.height=i.bottom-i.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(i=>e.bitrate===i.bitrate&&e.width===i.width&&e.height===i.height)}static getMaxLevelByMediaSize(e,t,i){if(!(e!=null&&e.length))return-1;let s=(a,o)=>o?a.width!==o.width||a.height!==o.height:!0,n=e.length-1;for(let a=0;a<e.length;a+=1){let o=e[a];if((o.width>=t||o.height>=i)&&s(o,e[a+1])){n=a;break}}return n}},bh=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(b.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(b.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let i=this.hls.config;if(i.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),i.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,i){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=i-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(b.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:i}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let c=d.currentLevel;M.warn("drop FPS ratio greater than max allowed value for currentLevel: "+c),c>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=c)&&(c=c-1,d.trigger(b.FPS_DROP_LEVEL_CAPPING,{level:c,droppedLevel:d.currentLevel}),d.autoLevelCapping=c,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=i,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)}},dl="[eme]",Er=class{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=Er.CDMCleanupPromise?[Er.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=M.debug.bind(M,dl),this.log=M.log.bind(M,dl),this.warn=M.warn.bind(M,dl),this.error=M.error.bind(M,dl),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(b.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(b.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(b.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(b.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(b.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(b.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(b.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(b.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:i}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===st.WIDEVINE&&i)return i;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,i=t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,i=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(i),n=t.map(a=>a.videoCodec).filter(i);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let c=d.shift();this.getMediaKeysPromise(c,s,n).then(u=>a({keySystem:c,mediaKeys:u})).catch(u=>{d.length?l(d):u instanceof qt?o(u):o(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_ACCESS,error:u,fatal:!0},u.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:i}=this.config;if(typeof i!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${i}`;return Vg===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return i(e,t)}getMediaKeysPromise(e,t,i){let s=pT(e,t,i,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(c=>(this.log(`Media-keys created for "${e}"`),d.then(u=>u?this.setMediaKeysServerCertificate(c,e,u):c))),o.mediaKeys.catch(c=>{this.error(`Failed to create media-keys for "${e}"}: ${c}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${Ni.hexDump(e.keyId||[])}`);let s=i.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let i=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(i,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 Ni.hexDump(e.keyId)}updateKeySession(e,t){var i;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Ni.hexDump(((i=e.decryptdata)==null?void 0:i.keyId)||[])}
|
|
975
|
-
} (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,i)=>{let s=su(this.config),n=e.map(ig).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=rg(a);o?t(o):i(new Error(`Unable to find format for key-system "${a}"`))}).catch(i)})}loadKey(e){let t=e.keyInfo.decryptdata,i=this.getKeyIdString(t),s=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[i];return n||(n=this.keyIdToKeySessionPromise[i]=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}),d="cenc";return this.generateRequestWithPreferredKeySession(l,d,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 qt?this.hls.trigger(b.ERROR,e.data):this.hls.trigger(b.ERROR,{type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),i=this.keyIdToKeySessionPromise[t];if(!i){let s=ig(e.keyFormat),n=s?[s]:su(this.config);return this.attemptKeySystemAccess(n)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=su(this.config)),e.length===0)throw new qt({type:pe.KEY_SYSTEM_ERROR,details:B.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:i}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),i===null)return;let s,n;if(t==="sinf"&&this.config.drmSystems[st.FAIRPLAY]){let c=Lt(new Uint8Array(i));try{let u=Sh(JSON.parse(c).sinf),h=Qg(new Uint8Array(u));if(!h)return;s=h.subarray(8,24),n=st.FAIRPLAY}catch{this.warn('Failed to parse sinf "encrypted" event message initData');return}}else{let c=BT(i);if(c===null)return;c.version===0&&c.systemId===Gg.WIDEVINE&&c.data&&(s=c.data.subarray(8,24)),n=mT(c.systemId)}if(!n||!s)return;let a=Ni.hexDump(s),{keyIdToKeySessionPromise:o,mediaKeySessions:l}=this,d=o[a];for(let c=0;c<l.length;c++){let u=l[c],h=u.decryptdata;if(h.pssh||!h.keyId)continue;let f=Ni.hexDump(h.keyId);if(a===f||h.uri.replace(/-/g,"").indexOf(a)!==-1){d=o[f],delete o[f],h.pssh=new Uint8Array(i),h.keyId=s,d=o[a]=d.then(()=>this.generateRequestWithPreferredKeySession(u,t,i,"encrypted-event-key-match"));break}}d||(d=o[a]=this.getKeySystemSelectionPromise([n]).then(({keySystem:c,mediaKeys:u})=>{var h;this.throwIfDestroyed();let f=new Wr("ISO-23001-7",a,(h=rg(c))!=null?h:"");return f.pssh=new Uint8Array(i),f.keyId=s,this.attemptSetMediaKeys(c,u).then(()=>{this.throwIfDestroyed();let g=this.createMediaKeySessionContext({decryptdata:f,keySystem:c,mediaKeys:u});return this.generateRequestWithPreferredKeySession(g,t,i,"encrypted-event-no-match")})})),d.catch(c=>this.handleError(c))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(i).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}"`),i.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>i.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,i,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let h=o.call(this.hls,t,i,e);if(!h)throw new Error("Invalid response from configured generateRequest filter");t=h.initDataType,i=e.decryptdata.pssh=h.initData?new Uint8Array(h.initData):null}catch(h){var l;if(this.warn(h.message),(l=this.hls)!=null&&l.config.debug)throw h}if(i===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: ${i?i.byteLength:null})`);let c=new Dh;e.mediaKeysSession.onmessage=h=>{let f=e.mediaKeysSession;if(!f){c.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=h;this.log(`"${g}" message event for session "${f.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(T=>{this.handleError(T),c.emit("error",T)}):g==="license-release"?e.keySystem===st.FAIRPLAY&&(this.updateKeySession(e,Hg("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},e.mediaKeysSession.onkeystatuseschange=h=>{if(!e.mediaKeysSession){c.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;c.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};let u=new Promise((h,f)=>{c.on("error",f),c.on("keyStatus",g=>{g.startsWith("usable")?h():g==="output-restricted"?f(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?f(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?f(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,i).then(()=>{var h;this.log(`Request generated for key-session "${(h=e.mediaKeysSession)==null?void 0:h.sessionId}" keyId: ${d}`)}).catch(h=>{throw new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_SESSION,error:h,fatal:!1},`Error generating key-session request: ${h}`)}).then(()=>u).catch(h=>{throw c.removeAllListeners(),this.removeSession(e),h}).then(()=>(c.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,i)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Ni.hexDump("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))} session keyId: ${Ni.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,i=t.loader,s=new i(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching serverCertificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(h,f,g,E)=>{a(h.data)},onError:(h,f,g,E)=>{o(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:jt({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,g)=>{o(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,g)=>{o(new Error("aborted"))}};s.load(l,c,u)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise((s,n)=>{e.setServerCertificate(i).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${i==null?void 0:i.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(i=>this.updateKeySession(e,new Uint8Array(i)).catch(s=>{throw new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}setupLicenseXHR(e,t,i,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!i.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,i,s)}).catch(a=>{if(!i.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,i,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 i=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(c){this.error(c)}s(l)}else{let l=i.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.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 c=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${c} 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})=>{l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let i=t.media;this.media=i,i.addEventListener("encrypted",this.onMediaEncrypted),i.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={},Wr.clearKeyUriToKeyIdMap();let i=t.length;Er.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}. media.src: ${e==null?void 0:e.src}`)}))).then(()=>{i&&(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}. media.src: ${e==null?void 0:e.src}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let i=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${i.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(i)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:i}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),t.onmessage=null,t.onkeystatuseschange=null,i&&i.readyState!==XMLHttpRequest.DONE&&i.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}`)})}}};Er.CDMCleanupPromise=void 0;var qt=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}},vA=1,Kt={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},EA="h",Bi=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.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:Kt.MANIFEST,su:!this.initialized})}catch(n){M.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===Kt.VIDEO||o===Kt.AUDIO||o==Kt.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){M.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:i}=t;i!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||Bi.uuid(),this.cid=i.contentId,this.useHeaders=i.useHeaders===!0,this.registerListeners())}registerListeners(){let e=this.hls;e.on(b.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(b.MEDIA_DETACHED,this.onMediaDetached,this),e.on(b.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(b.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(b.MEDIA_DETACHED,this.onMediaDetached,this),e.off(b.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=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 i,s;this.audioBuffer=(i=t.tracks.audio)==null?void 0:i.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:vA,sf:EA,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){pt(t,this.createData());let i=t.ot===Kt.INIT||t.ot===Kt.VIDEO||t.ot===Kt.MUXED;if(this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering),this.useHeaders){let s=Bi.toHeaders(t);if(!Object.keys(s).length)return;e.headers||(e.headers={}),pt(e.headers,s)}else{let s=Bi.toQuery(t);if(!s)return;e.url=Bi.appendQueryToUri(e.url,s)}}getObjectType(e){let{type:t}=e;if(t==="subtitle")return Kt.TIMED_TEXT;if(e.sn==="initSegment")return Kt.INIT;if(t==="audio")return Kt.AUDIO;if(t==="main")return this.hls.audioTracks.length?Kt.VIDEO:Kt.MUXED}getTopBandwidth(e){let t=0,i,s=this.hls;if(e===Kt.AUDIO)i=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;i=s.levels.slice(0,a)}for(let n of i)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,i=e===Kt.AUDIO?this.audioBuffer:this.videoBuffer;return!i||!t?NaN:je.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(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,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(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)}}}static uuid(){let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}static serialize(e){let t=[],i=d=>!Number.isNaN(d)&&d!=null&&d!==""&&d!==!1,s=d=>Math.round(d),n=d=>s(d/100)*100,o={br:s,d:s,bl:n,dl:n,mtp:n,nor:d=>encodeURIComponent(d),rtp:n,tb:s},l=Object.keys(e||{}).sort();for(let d of l){let c=e[d];if(!i(c)||d==="v"&&c===1||d=="pr"&&c===1)continue;let u=o[d];u&&(c=u(c));let h=typeof c,f;d==="ot"||d==="sf"||d==="st"?f=`${d}=${c}`:h==="boolean"?f=d:h==="number"?f=`${d}=${c}`:f=`${d}=${JSON.stringify(c)}`,t.push(f)}return t.join(",")}static toHeaders(e){let t=Object.keys(e),i={},s=["Object","Request","Session","Status"],n=[{},{},{},{}],a={br:0,d:0,ot:0,tb:0,bl:1,dl:1,mtp:1,nor:1,nrr:1,su:1,cid:2,pr:2,sf:2,sid:2,st:2,v:2,bs:3,rtp:3};for(let o of t){let l=a[o]!=null?a[o]:1;n[l][o]=e[o]}for(let o=0;o<n.length;o++){let l=Bi.serialize(n[o]);l&&(i[`CMCD-${s[o]}`]=l)}return i}static toQuery(e){return`CMCD=${encodeURIComponent(Bi.serialize(e))}`}static appendQueryToUri(e,t){if(!t)return e;let i=e.includes("?")?"&":"?";return`${e}${i}${t}`}},bA=3e5,yh=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=M.log.bind(M,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(b.MANIFEST_PARSED,this.onManifestParsed,this),e.on(b.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;!e||(e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(b.MANIFEST_PARSED,this.onManifestParsed,this),e.off(b.ERROR,this.onError,this))}startLoad(){if(this.started=!0,self.clearTimeout(this.reloadTimer),this.enabled&&this.uri)if(this.updated){let e=Math.max(this.timeToLoad*1e3-(performance.now()-this.updated),0);this.scheduleRefresh(this.uri,e)}else this.loadSteeringManifest(this.uri)}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),self.clearTimeout(this.reloadTimer)}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(i=>i!==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:i}=t;i!==null&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:i}=t;if((i==null?void 0:i.action)===Mt.SendAlternateToPenaltyBox&&i.flags===oi.MoveAllAlternatesMatchingHost){let s=this.pathwayPriority,n=this.pathwayId;this.penalizedPathways[n]||(this.penalizedPathways[n]=performance.now()),!s&&this.levels&&(s=this.levels.reduce((a,o)=>(a.indexOf(o.pathwayId)===-1&&a.push(o.pathwayId),a),[])),s&&s.length>1&&(this.updatePathwayPriority(s),i.resolved=this.pathwayId!==n)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}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,i=this.penalizedPathways,s=performance.now();Object.keys(i).forEach(n=>{s-i[n]>bA&&delete i[n]});for(let n=0;n<e.length;n++){let a=e[n];if(i[a])continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,this.hls.trigger(b.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}}}clonePathways(e){let t=this.levels;if(!t)return;let i={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(c=>c.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(c=>{let u=pt({},c);u.details=void 0,u.url=w0(c.uri,c.attrs["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l);let h=new Ze(c.attrs);h["PATHWAY-ID"]=a;let f=h.AUDIO&&`${h.AUDIO}_clone_${a}`,g=h.SUBTITLES&&`${h.SUBTITLES}_clone_${a}`;f&&(i[h.AUDIO]=f,h.AUDIO=f),g&&(s[h.SUBTITLES]=g,h.SUBTITLES=g),u.attrs=h;let E=new qr(u);return El(E,"audio",f),El(E,"text",g),E});t.push(...d),Bg(this.audioTracks,i,l,a),Bg(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,i=t.loader;this.loader&&this.loader.destroy(),this.loader=new i(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let c=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+c)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(c,u,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let g=c.data;if(g.VERSION!==1){this.log(`Steering VERSION ${g.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=g.TTL;let{"RELOAD-URI":E,"PATHWAY-CLONES":T,"PATHWAY-PRIORITY":A}=g;if(E)try{this.uri=new self.URL(E,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${E}`);return}this.scheduleRefresh(this.uri||h.url),T&&this.clonePathways(T),A&&this.updatePathwayPriority(A)},onError:(c,u,h,f)=>{if(this.log(`Error loading steering manifest: ${c.code} ${c.text} (${u.url})`),this.stopLoad(),c.code===410){this.enabled=!1,this.log(`Steering manifest ${u.url} no longer available`);return}let g=this.timeToLoad*1e3;if(c.code===429){let E=this.loader;if(typeof(E==null?void 0:E.getResponseHeader)=="function"){let T=E.getResponseHeader("Retry-After");T&&(g=parseFloat(T)*1e3)}this.log(`Steering manifest ${u.url} rate limited`);return}this.scheduleRefresh(this.uri||u.url,g)},onTimeout:(c,u,h)=>{this.log(`Timeout loading steering manifest (${u.url})`),this.scheduleRefresh(this.uri||u.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){self.clearTimeout(this.reloadTimer),this.reloadTimer=self.setTimeout(()=>{this.loadSteeringManifest(e)},t)}};function Bg(r,e,t,i){!r||Object.keys(e).forEach(s=>{let n=r.filter(a=>a.groupId===s).map(a=>{let o=pt({},a);return o.details=void 0,o.attrs=new Ze(o.attrs),o.url=o.attrs.URI=w0(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=i,o});r.push(...n)})}function w0(r,e,t,i){let{HOST:s,PARAMS:n,[t]:a}=i,o;e&&(o=a==null?void 0:a[e],o&&(r=o));let l=new self.URL(r);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var yA=/^age:\s*[\d.]+\s*$/im,wl=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=void 0,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Ks,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=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,i){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=i,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e)return;let i=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.stats.aborted)return n(i,t.url)}).catch(a=>(i.open("GET",t.url,!0),n(i,t.url))).then(()=>{this.stats.aborted||this.openAndSendXhr(i,t,e)}).catch(a=>{this.callbacks.onError({code:i.status,text:a.message},t,i,s)}):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let s=this.context.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=i.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),i.timeout=n&&ce(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:i}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!i.aborted&&s>=2&&(i.loading.first===0&&(i.loading.first=Math.max(self.performance.now(),i.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-(i.loading.first-i.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)){i.loading.end=Math.max(self.performance.now(),i.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(i.loaded=i.total=d,i.bwEstimate=i.total*8e3/(i.loading.end-i.loading.first),!this.callbacks)return;let c=this.callbacks.onProgress;if(c&&c(i,e,l,t),!this.callbacks)return;let u={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(u,i,e,t)}else{let l=n.loadPolicy.errorRetry,d=i.retry;vl(l,d,!1,a)?this.retry(l):(M.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,i))}}}loadtimeout(){var e;let t=(e=this.config)==null?void 0:e.loadPolicy.timeoutRetry,i=this.stats.retry;if(vl(t,i,!0))this.retry(t);else{M.warn(`timeout while loading ${this.context.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:i}=this;this.retryDelay=Ih(e,i.retry),i.retry++,M.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t.url}, retrying ${i.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&&yA.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 TA(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var _A=/(\d+)-(\d+)\/(\d+)/,Dl=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=void 0,this.response=void 0,this.controller=void 0,this.context=void 0,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||IA,this.controller=new self.AbortController,this.stats=new Ks}destroy(){this.loader=this.callbacks=null,this.abortInternal()}abortInternal(){let e=this.response;e!=null&&e.ok||(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,i){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=AA(e,this.controller.signal),a=i.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:c}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&ce(d)?d:c,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(u=>{this.response=this.loader=u;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=c,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(s,e,this.response)},c-(h-s.loading.start)),!u.ok){let{status:f,statusText:g}=u;throw new Th(g||"fetch, bad network response",f,u)}return s.loading.first=h,s.total=xA(u.headers)||s.total,a&&ce(t.highWaterMark)?this.loadProgressively(u,s,e,t.highWaterMark,a):o?u.arrayBuffer():e.responseType==="json"?u.json():u.text()}).then(u=>{let{response:h}=this;self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=u[l];f&&(s.loaded=s.total=f);let g={url:h.url,data:u,code:h.status};a&&!ce(t.highWaterMark)&&a(s,e,u,h),i.onSuccess(g,s,e,h)}).catch(u=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=u&&u.code||0,f=u?u.message:null;i.onError({code:h,text:f},e,u?u.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,i,s=0,n){let a=new Il,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,i,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let c=d.value,u=c.length;return t.loaded+=u,u<s||a.dataLength?(a.push(c),a.dataLength>=s&&n(t,i,a.flush(),e)):n(t,i,c,e),l()}).catch(()=>Promise.reject());return l()}};function AA(r,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(pt({},r.headers))};return r.rangeEnd&&t.headers.set("Range","bytes="+r.rangeStart+"-"+String(r.rangeEnd-1)),t}function SA(r){let e=_A.exec(r);if(e)return parseInt(e[2])-parseInt(e[1])+1}function xA(r){let e=r.get("Content-Range");if(e){let i=SA(e);if(ce(i))return i}let t=r.get("Content-Length");if(t)return parseInt(t)}function IA(r,e){return new self.Request(r.url,e)}var Th=class extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}},LA=/\s/,kA={newCue(r,e,t,i){let s=[],n,a,o,l,d,c=self.VTTCue||self.TextTrackCue;for(let h=0;h<i.rows.length;h++)if(n=i.rows[h],o=!0,l=0,d="",!n.isEmpty()){var u;for(let E=0;E<n.chars.length;E++)LA.test(n.chars[E].uchar)&&o?l++:(d+=n.chars[E].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=I0(d.trim()),g=Mh(e,t,f);r!=null&&(u=r.cues)!=null&&u.getCueById(g)||(a=new c(e,t,f),a.id=g,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return r&&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=>i0(r,h))),s}},RA={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},wA=jt(jt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength: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:wl,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:rh,bufferController:ch,capLevelController:Yn,errorController:Nu,fpsController:bh,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Vg,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,certLoadPolicy:{default:RA},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},DA()),{},{subtitleStreamController:ah,subtitleTrackController:lh,timelineController:Eh,audioStreamController:sh,audioTrackController:nh,emeController:Er,cmcdController:Bi,contentSteeringController:yh});function DA(){return{cueHandler:kA,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 CA(r,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=_h(r),i=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return i.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let c=`${n}Loading${d}`,u=e[c];if(u!==void 0&&o){l.push(c);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=u,h.maxTimeToFirstByteMs=u;break;case"MaxRetry":h.errorRetry.maxNumRetry=u,h.timeoutRetry.maxNumRetry=u;break;case"RetryDelay":h.errorRetry.retryDelayMs=u,h.timeoutRetry.retryDelayMs=u;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=u,h.timeoutRetry.maxRetryDelayMs=u;break}}}),l.length&&M.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),jt(jt({},t),e)}function _h(r){return r&&typeof r=="object"?Array.isArray(r)?r.map(_h):Object.keys(r).reduce((e,t)=>(e[t]=_h(r[t]),e),{}):r}function MA(r){let e=r.loader;e!==Dl&&e!==wl?(M.log("[config]: Custom loader detected, cannot enable progressive streaming"),r.progressive=!1):TA()&&(r.loader=Dl,r.progressive=!0,r.enableSoftwareAES=!0,M.log("[config]: Progressive streaming enabled, using FetchLoader"))}var $i=class{static get version(){return"1.4.10"}static isSupported(){return y_()}static get Events(){return b}static get ErrorTypes(){return pe}static get ErrorDetails(){return B}static get DefaultConfig(){return $i.defaultConfig?$i.defaultConfig:wA}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._emitter=new Dh,this._autoLevelCapping=void 0,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,aT(e.debug||!1,"Hls instance");let t=this.config=CA($i.DefaultConfig,e);this.userConfig=e,this._autoLevelCapping=-1,t.progressive&&MA(t);let{abrController:i,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new i(this),c=this.bufferController=new s(this),u=this.capLevelController=new n(this),h=new o(this),f=new ku(this),g=new Du(this),E=t.contentSteeringController,T=E?new E(this):null,A=this.levelController=new Uu(this,T),k=new Fu(this),L=new $u(this.config),N=this.streamController=new th(this,k,L);u.setStreamController(N),h.setStreamController(N);let D=[f,A,N];T&&D.splice(1,0,T),this.networkControllers=D;let $=[d,c,u,h,g,k];this.audioTrackController=this.createController(t.audioTrackController,D);let O=t.audioStreamController;O&&D.push(new O(this,k,L)),this.subtitleTrackController=this.createController(t.subtitleTrackController,D);let G=t.subtitleStreamController;G&&D.push(new G(this,k,L)),this.createController(t.timelineController,$),L.emeController=this.emeController=this.createController(t.emeController,$),this.cmcdController=this.createController(t.cmcdController,$),this.latencyController=this.createController(Cu,$),this.coreComponents=$,D.push(l);let q=l.onErrorOut;typeof q=="function"&&this.on(b.ERROR,q,l)}createController(e,t){if(e){let i=new e(this);return t&&t.push(i),i}return null}on(e,t,i=this){this._emitter.on(e,t,i)}once(e,t,i=this){this._emitter.once(e,t,i)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,i=this,s){this._emitter.off(e,t,i,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(i){M.error("An internal error happened while handling event "+e+'. Error message: "'+i.message+'". Here is a stacktrace:',i),this.trigger(b.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:!1,event:e,error:i})}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){M.log("destroy"),this.trigger(b.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){M.log("attachMedia"),this._media=e,this.trigger(b.MEDIA_ATTACHING,{media:e})}detachMedia(){M.log("detachMedia"),this.trigger(b.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,i=this.url,s=this.url=Ah.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});M.log(`loadSource:${s}`),t&&i&&(i!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(b.MANIFEST_LOADING,{url:e})}startLoad(e=-1){M.log(`startLoad(${e})`),this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){M.log("stopLoad"),this.networkControllers.forEach(e=>{e.stopLoad()})}swapAudioCodec(){M.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){M.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e,t=0){this.levelController.removeLevel(e,t)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){M.log(`set currentLevel:${e}`),this.loadLevel=e,this.abrController.clearTimer(),this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){M.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){M.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){M.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){return this.levelController.startLevel}set startLevel(e){M.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}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(M.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e)}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){Mu.indexOf(e)>-1&&(this._maxHdcpLevel=e)}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 i=e.length;for(let s=0;s<i;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:i}=this,s;if(t===-1&&e&&e.length?s=e.length-1:s=t,i)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=i)return n}return s}get nextAutoLevel(){return Math.min(Math.max(this.abrController.nextAutoLevel,this.minAutoLevel),this.maxAutoLevel)}set nextAutoLevel(e){this.abrController.nextAutoLevel=Math.max(this.minAutoLevel,e)}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}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 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}};$i.defaultConfig=void 0;var dt=$i,jn=class extends Error{constructor(r,e=jn.MEDIA_ERR_CUSTOM,t,i){var s;super(r),this.name="MediaError",this.code=e,this.context=i,this.fatal=t!=null?t:e>=jn.MEDIA_ERR_NETWORK&&e<=jn.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(s=jn.defaultMessages[this.code])!=null?s:"")}},tt=jn;tt.MEDIA_ERR_ABORTED=1,tt.MEDIA_ERR_NETWORK=2,tt.MEDIA_ERR_DECODE=3,tt.MEDIA_ERR_SRC_NOT_SUPPORTED=4,tt.MEDIA_ERR_ENCRYPTED=5,tt.MEDIA_ERR_CUSTOM=100,tt.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 OA=r=>r==null,U0=(r,e)=>OA(e)?!1:r in e,Ph={ANY:"any",MUTED:"muted"},Je={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},di={MSE:"mse",NATIVE:"native"},Nh={HEADER:"header",QUERY:"query",NONE:"none"},Ws=Object.values(Nh),br={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},Uh={HLS:br.M3U8},vw=Object.keys(Uh),Ew=[...Object.values(br),"hls","HLS"],bi=(r,e,t,i,s=r)=>{s.addEventListener(e,t,i),r.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function PA(r,e,t){e&&t>e&&(t=e);for(let i=0;i<r.length;i++)if(r.start(i)<=t&&r.end(i)>=t)return!0;return!1}var NA=r=>{let e=r.indexOf("?");if(e<0)return[r];let t=r.slice(0,e),i=r.slice(e);return[t,i]},Pl=r=>{let e=r.type;if(e){let i=e.toUpperCase();return U0(i,Uh)?Uh[i]:e}let{src:t}=r;return t?UA(t):""},F0=r=>r==="VOD"?Je.ON_DEMAND:Je.LIVE,B0=r=>r==="EVENT"?Number.POSITIVE_INFINITY:r==="VOD"?Number.NaN:0,UA=r=>{let e="";try{e=new URL(r).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let i=e.slice(t+1).toUpperCase();return U0(i,br)?br[i]:""},FA=Object.values(Ph),D0=r=>typeof r=="boolean"||typeof r=="string"&&FA.includes(r),BA=({autoplay:r},e,t)=>{let i=!1,s=!1,n=D0(r)?r:!!r,a=()=>{i||bi(e,"playing",()=>{i=!0},{once:!0})};if(a(),bi(e,"loadstart",()=>{i=!1,a(),Oh(e,n)},{once:!0}),bi(e,"loadstart",()=>{t||(s=!Number.isFinite(e.duration)),Oh(e,n)},{once:!0}),t&&t.once(dt.Events.LEVEL_LOADED,(o,l)=>{var d;s=(d=l.details.live)!=null?d:!1}),!n){let o=()=>{!s||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&bi(e,"play",()=>{e.preload==="metadata"?t.once(dt.Events.LEVEL_UPDATED,o):o()},{once:!0})}return o=>{i||(n=D0(o)?o:!!o,Oh(e,n))}},Oh=(r,e)=>{if(!e)return;let t=r.muted,i=()=>r.muted=t;switch(e){case Ph.ANY:r.play().catch(()=>{r.muted=!0,r.play().catch(i)});break;case Ph.MUTED:r.muted=!0,r.play().catch(i);break;default:r.play().catch(()=>{});break}},$A=({preload:r,src:e},t,i)=>{let s=u=>{u!=null&&["","none","metadata","auto"].includes(u)?t.setAttribute("preload",u):t.removeAttribute("preload")};if(!i)return s(r),s;let n=!1,a=!1,o=i.config.maxBufferLength,l=i.config.maxBufferSize,d=u=>{s(u);let h=u!=null?u:t.preload;a||h==="none"||(h==="metadata"?(i.config.maxBufferLength=1,i.config.maxBufferSize=1):(i.config.maxBufferLength=o,i.config.maxBufferSize=l),c())},c=()=>{!n&&e&&(n=!0,i.loadSource(e))};return bi(t,"play",()=>{a=!0,i.config.maxBufferLength=o,i.config.maxBufferSize=l,c()},{once:!0}),d(r),d};function HA(r,e){var t;if(!("videoTracks"in r))return;let i=new WeakMap;e.on(dt.Events.MANIFEST_PARSED,function(d,c){l();let u=r.addVideoTrack("main");u.selected=!0;for(let[h,f]of c.levels.entries()){let g=u.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);i.set(f,`${h}`),g.id=`${h}`}}),e.on(dt.Events.AUDIO_TRACKS_UPDATED,function(d,c){o();for(let u of c.audioTracks){let h=u.default?"main":"alternative",f=r.addAudioTrack(h,u.name,u.lang);f.id=`${u.id}`,u.default&&(f.enabled=!0)}}),r.audioTracks.addEventListener("change",()=>{var d;let c=+((d=[...r.audioTracks].find(h=>h.enabled))==null?void 0:d.id),u=e.audioTracks.map(h=>h.id);c!=e.audioTrack&&u.includes(c)&&(e.audioTrack=c)}),e.on(dt.Events.LEVELS_UPDATED,function(d,c){var u;let h=r.videoTracks[(u=r.videoTracks.selectedIndex)!=null?u:0];if(!h)return;let f=c.levels.map(g=>i.get(g));for(let g of r.videoRenditions)g.id&&!f.includes(g.id)&&h.removeRendition(g)});let s=d=>{let c=d.target.selectedIndex;c!=e.nextLevel&&n(c)},n=d=>{let c=r.currentTime,u=!1,h=(f,g)=>{u||(u=!Number.isFinite(g.endOffset))};e.on(dt.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(dt.Events.BUFFER_FLUSHING,h),u||e.trigger(dt.Events.BUFFER_FLUSHING,{startOffset:c+10,endOffset:1/0,type:"video"})};(t=r.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of r.videoTracks)r.removeVideoTrack(d)},o=()=>{for(let d of r.audioTracks)r.removeAudioTrack(d)},l=()=>{a(),o()};e.once(dt.Events.DESTROYING,l)}function GA(r,e){e.on(dt.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o;let l=(o=a.subtitleTrack)!=null?o:a.closedCaptions,d=e.subtitleTracks.findIndex(({lang:c,name:u,type:h})=>c==(l==null?void 0:l.lang)&&u===a.label&&h.toLowerCase()===a.kind);Nl(r,a.kind,a.label,l==null?void 0:l.lang,`${a.kind}${d}`)})});let t=()=>{var s;if(!e.subtitleTracks.length)return;let n=Array.from(r.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind)),a=`${(s=e.subtitleTracks[e.subtitleTrack])==null?void 0:s.type.toLowerCase()}${e.subtitleTrack}`;if(n&&(e.subtitleTrack<0||(n==null?void 0:n.id)!==a)){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:c})=>l==n.language&&d===n.label&&c.toLowerCase()===n.kind);e.subtitleTrack=o}n&&(n==null?void 0:n.id)===a&&n.cues&&Array.from(n.cues).forEach(o=>{n.addCue(o)})};r.textTracks.addEventListener("change",t),e.on(dt.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=r.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var c;(c=o.cues)!=null&&c.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(dt.Events.DESTROYING,()=>{r.textTracks.removeEventListener("change",t),r.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let i=()=>{Array.from(r.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&s.label==="thumbnails"){if(!((n=s.cues)!=null&&n.length)){let o=r.querySelector('track[label="thumbnails"]'),l=(a=o==null?void 0:o.getAttribute("src"))!=null?a:"";o==null||o.removeAttribute("src"),setTimeout(()=>{o==null||o.setAttribute("src",l)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(dt.Events.MANIFEST_LOADED,i),e.once(dt.Events.MEDIA_ATTACHED,i)}function Nl(r,e,t,i,s){let n=document.createElement("track");return n.kind=e,n.label=t,i&&(n.srclang=i),s&&(n.id=s),n.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),r.append(n),n.track}function $0(r,e){let t=Array.prototype.find.call(r.querySelectorAll("track"),i=>i.track===e);t==null||t.remove()}var zn="cuepoints",Bh=Object.freeze({label:zn}),$h=(r,{label:e=zn}=Bh)=>{var t;return(t=Array.from(r.querySelectorAll("track")).find(i=>i.track.label===e&&i.track.kind==="metadata"))==null?void 0:t.track};async function Hh(r,e,t=Bh){let i=$h(r,t);if(!i){let{label:s=zn}=t;i=Nl(r,"metadata",s),i.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))}return i.mode!=="hidden"&&(i.mode="hidden"),[...e].sort(({time:s},{time:n})=>n-s).forEach(({time:s,value:n})=>{var a,o;let l=Array.prototype.findIndex.call(i==null?void 0:i.cues,f=>f.startTime>=s),d=(a=i==null?void 0:i.cues)==null?void 0:a[l],c=d?d.startTime:Number.isFinite(r.duration)?r.duration:Number.MAX_SAFE_INTEGER,u=(o=i==null?void 0:i.cues)==null?void 0:o[l-1];u&&(u.endTime=s);let h=new VTTCue(s,c,JSON.stringify(n!=null?n:null));i.addCue(h)}),i}var H0=r=>({time:r.startTime,value:JSON.parse(r.text)});function G0(r,e={label:zn}){let t=$h(r,e);return t!=null&&t.cues?Array.from(t.cues,i=>H0(i)):[]}function Gh(r,e={label:zn}){var t,i;let s=$h(r,e);if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;let{currentTime:n}=r,a=Array.prototype.find.call((i=s.activeCues)!=null?i:[],({startTime:o,endTime:l})=>o<=n&&l>n);return H0(a)}async function VA(r,e=Bh){return new Promise(t=>{bi(r,"loadstart",async()=>{let i=await Hh(r,[],e);bi(r,"cuechange",()=>{let s=Gh(r);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});r.dispatchEvent(n)}},{},i),t(i)})})}function V0(r,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-r.currentTime*1e3)}return typeof r.getStartDate=="function"?r.getStartDate():new Date(NaN)}function K0(r,e){if(e&&e.playingDate)return e.playingDate;if(typeof r.getStartDate=="function"){let t=r.getStartDate();return new Date(t.getTime()+r.currentTime*1e3)}return new Date(NaN)}var KA=async r=>fetch(r).then(e=>e.text()).then(e=>{let t=e.split(`
|
|
974
|
+
`:(n=i.childNodes)!=null&&n.length?R0(i,e):e?t+i.textContent.trim().replace(/\s+/g," "):t+i.textContent},"")}function hA(r,e,t){let i="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=r!=null&&r.hasAttribute("style")?r.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=_u(e,i,l)||_u(r,i,l)||_u(s,i,l);return d&&(o[l]=d),o},{})}function _u(r,e,t){return r&&r.hasAttributeNS(e,t)?r.getAttributeNS(e,t):null}function Ug(r){return new Error(`Could not parse ttml timestamp ${r}`)}function Au(r,e){if(!r)return null;let t=S0(r);return t===null&&(L0.test(r)?t=fA(r,e):k0.test(r)&&(t=mA(r,e))),t}function fA(r,e){let t=L0.exec(r),i=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+i/e.frameRate}function mA(r,e){let t=k0.exec(r),i=Number(t[1]);switch(t[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/e.frameRate;case"t":return i/e.tickRate}return i}var Eh=class{constructor(e){if(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.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Fg(),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}},this.config.enableCEA708Captions){let t=new Vs(this,"textTrack1"),i=new Vs(this,"textTrack2"),s=new Vs(this,"textTrack3"),n=new Vs(this,"textTrack4");this.cea608Parser1=new Rl(1,t,i),this.cea608Parser2=new Rl(3,s,n)}e.on(b.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(b.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(b.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(b.FRAG_LOADING,this.onFragLoading,this),e.on(b.FRAG_LOADED,this.onFragLoaded,this),e.on(b.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(b.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(b.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(b.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(b.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(b.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(b.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(b.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(b.FRAG_LOADING,this.onFragLoading,this),e.off(b.FRAG_LOADED,this.onFragLoaded,this),e.off(b.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(b.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(b.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(b.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(b.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.cea608Parser1=this.cea608Parser2=null}addCues(e,t,i,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=gA(l[0],l[1],t,i);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],i),a=!0,d/(i-t)>.5))return}if(a||n.push([t,i]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,i,s)}else{let o=this.Cues.newCue(null,t,i,s);this.hls.trigger(b.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;i==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(b.FRAG_LOADED,o)}))}getExistingTrack(e){let{media:t}=this;if(t)for(let i=0;i<t.textTracks.length;i++){let s=t.textTracks[i];if(s[e])return s}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(e);if(o)i[e]=o,Gs(i[e]),t0(i[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,i[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i=t.label,s={_id:e,label:i,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(b.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,i){let s=this.media;if(!!s)return s.addTextTrack(e,t,i)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{Gs(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Fg(),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 i=0;i<t.length;i++)Gs(t[i])}onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],s=i.some(n=>n.textCodec===yu);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(_0(this.tracks,i)){this.tracks=i;return}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let a=this.media?this.media.textTracks:null;this.tracks.forEach((o,l)=>{let d;if(a&&l<a.length){let c=null;for(let u=0;u<a.length;u++)if(pA(a[u],o)){c=a[u];break}c&&(d=c)}if(d)Gs(d);else{let c=this._captionsOrSubtitlesFromCharacteristics(o);d=this.createTextTrack(c,o.name,o.lang),d&&(d.mode="disabled")}d&&(d.groupId=o.groupId,this.textTracks.push(d))})}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(b.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}_captionsOrSubtitlesFromCharacteristics(e){if(e.attrs.CHARACTERISTICS){let t=/transcribes-spoken-dialog/gi.test(e.attrs.CHARACTERISTICS),i=/describes-music-and-sound/gi.test(e.attrs.CHARACTERISTICS);if(t&&i)return"captions"}return"subtitles"}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(i=>{let s=/(?:CC|SERVICE)([1-4])/.exec(i.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];!a||(a.label=i.name,i.lang&&(a.languageCode=i.lang),a.media=i)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){let{cea608Parser1:i,cea608Parser2:s,lastSn:n,lastPartIndex:a}=this;if(!(!this.enabled||!(i&&s))&&t.frag.type===ge.MAIN){var o,l;let d=t.frag.sn,c=(o=t==null||(l=t.part)==null?void 0:l.index)!=null?o:-1;d===n+1||d===n&&c===a+1||(i.reset(),s.reset()),this.lastSn=d,this.lastPartIndex=c}}onFragLoaded(e,t){let{frag:i,payload:s}=t;if(i.type===ge.SUBTITLE)if(s.byteLength){let n=i.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[i.level],l=this.vttCCs;l[i.cc]||(l[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),o&&o.textCodec===yu?this._parseIMSC1(i,s):this._parseVTTs(t)}}else this.hls.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let i=this.hls;Pg(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),i.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{M.log(`Failed to parse IMSC1: ${s}`),i.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:i,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[i.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=i.initSegment)!=null&&t.data?Kr(i.initSegment.data,new Uint8Array(s)):s;dA(d,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,c=>{this._appendCues(c,i.level),l.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})},c=>{let u=c.message==="Missing initPTS for VTT MPEGTS";u?a.push(e):this._fallbackToIMSC1(i,s),M.log(`Failed to parse VTT cue: ${c}`),!(u&&o>i.cc)&&l.trigger(b.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:c})})}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||Pg(t,this.initPTS[e.cc],()=>{i.textCodec=yu,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>i0(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;i.trigger(b.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:i}=t;i.type===ge.SUBTITLE&&this.onFragLoaded(b.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){let{cea608Parser1:i,cea608Parser2:s}=this;if(!this.enabled||!(i&&s))return;let{frag:n,samples:a}=t;if(!(n.type===ge.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);i.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<i)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>Ru(o[l],t,i))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>Ru(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],i=e[0]&31,s=2;for(let n=0;n<i;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let c=3&a;(c===0||c===1)&&(t[c].push(o),t[c].push(l))}}return t}};function pA(r,e){return!!r&&r.label===e.name&&!(r.textTrack1||r.textTrack2)}function gA(r,e,t,i){return Math.min(e,i)-Math.max(r,t)}function Fg(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Yn=class{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.unregisterListener(),this.hls.config.capLevelToPlayerSize&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(b.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(b.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(b.MANIFEST_PARSED,this.onManifestParsed,this),e.on(b.BUFFER_CODECS,this.onBufferCodecs,this),e.on(b.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(b.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(b.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(b.MANIFEST_PARSED,this.onManifestParsed,this),e.off(b.BUFFER_CODECS,this.onBufferCodecs,this),e.off(b.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null}onManifestParsed(e,t){let i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media&&this.mediaHeight>0&&this.mediaWidth>0){let e=this.hls.levels;if(e.length){let t=this.hls;t.autoLevelCapping=this.getMaxLevel(e.length-1),t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let i=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,Yn.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,this.hls.firstLevel=this.getMaxLevel(this.firstLevel),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 i=e.getBoundingClientRect();t.width=i.width,t.height=i.height,!t.width&&!t.height&&(t.width=i.right-i.left||e.width||0,t.height=i.bottom-i.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(i=>e.bitrate===i.bitrate&&e.width===i.width&&e.height===i.height)}static getMaxLevelByMediaSize(e,t,i){if(!(e!=null&&e.length))return-1;let s=(a,o)=>o?a.width!==o.width||a.height!==o.height:!0,n=e.length-1;for(let a=0;a<e.length;a+=1){let o=e[a];if((o.width>=t||o.height>=i)&&s(o,e[a+1])){n=a;break}}return n}},bh=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(b.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(b.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let i=this.hls.config;if(i.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),i.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,i){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=i-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(b.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:i}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let c=d.currentLevel;M.warn("drop FPS ratio greater than max allowed value for currentLevel: "+c),c>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=c)&&(c=c-1,d.trigger(b.FPS_DROP_LEVEL_CAPPING,{level:c,droppedLevel:d.currentLevel}),d.autoLevelCapping=c,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=i,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)}},dl="[eme]",Er=class{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=Er.CDMCleanupPromise?[Er.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=M.debug.bind(M,dl),this.log=M.log.bind(M,dl),this.warn=M.warn.bind(M,dl),this.error=M.error.bind(M,dl),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(b.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(b.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(b.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(b.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(b.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(b.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(b.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(b.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:i}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===nt.WIDEVINE&&i)return i;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,i=t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,i=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(i),n=t.map(a=>a.videoCodec).filter(i);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let c=d.shift();this.getMediaKeysPromise(c,s,n).then(u=>a({keySystem:c,mediaKeys:u})).catch(u=>{d.length?l(d):u instanceof qt?o(u):o(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_ACCESS,error:u,fatal:!0},u.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:i}=this.config;if(typeof i!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${i}`;return Vg===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return i(e,t)}getMediaKeysPromise(e,t,i){let s=pT(e,t,i,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(c=>(this.log(`Media-keys created for "${e}"`),d.then(u=>u?this.setMediaKeysServerCertificate(c,e,u):c))),o.mediaKeys.catch(c=>{this.error(`Failed to create media-keys for "${e}"}: ${c}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${Ni.hexDump(e.keyId||[])}`);let s=i.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let i=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(i,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 Ni.hexDump(e.keyId)}updateKeySession(e,t){var i;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Ni.hexDump(((i=e.decryptdata)==null?void 0:i.keyId)||[])}
|
|
975
|
+
} (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,i)=>{let s=su(this.config),n=e.map(ig).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=rg(a);o?t(o):i(new Error(`Unable to find format for key-system "${a}"`))}).catch(i)})}loadKey(e){let t=e.keyInfo.decryptdata,i=this.getKeyIdString(t),s=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[i];return n||(n=this.keyIdToKeySessionPromise[i]=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}),d="cenc";return this.generateRequestWithPreferredKeySession(l,d,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 qt?this.hls.trigger(b.ERROR,e.data):this.hls.trigger(b.ERROR,{type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),i=this.keyIdToKeySessionPromise[t];if(!i){let s=ig(e.keyFormat),n=s?[s]:su(this.config);return this.attemptKeySystemAccess(n)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=su(this.config)),e.length===0)throw new qt({type:pe.KEY_SYSTEM_ERROR,details:B.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:i}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),i===null)return;let s,n;if(t==="sinf"&&this.config.drmSystems[nt.FAIRPLAY]){let c=Lt(new Uint8Array(i));try{let u=Sh(JSON.parse(c).sinf),h=Qg(new Uint8Array(u));if(!h)return;s=h.subarray(8,24),n=nt.FAIRPLAY}catch{this.warn('Failed to parse sinf "encrypted" event message initData');return}}else{let c=BT(i);if(c===null)return;c.version===0&&c.systemId===Gg.WIDEVINE&&c.data&&(s=c.data.subarray(8,24)),n=mT(c.systemId)}if(!n||!s)return;let a=Ni.hexDump(s),{keyIdToKeySessionPromise:o,mediaKeySessions:l}=this,d=o[a];for(let c=0;c<l.length;c++){let u=l[c],h=u.decryptdata;if(h.pssh||!h.keyId)continue;let f=Ni.hexDump(h.keyId);if(a===f||h.uri.replace(/-/g,"").indexOf(a)!==-1){d=o[f],delete o[f],h.pssh=new Uint8Array(i),h.keyId=s,d=o[a]=d.then(()=>this.generateRequestWithPreferredKeySession(u,t,i,"encrypted-event-key-match"));break}}d||(d=o[a]=this.getKeySystemSelectionPromise([n]).then(({keySystem:c,mediaKeys:u})=>{var h;this.throwIfDestroyed();let f=new Wr("ISO-23001-7",a,(h=rg(c))!=null?h:"");return f.pssh=new Uint8Array(i),f.keyId=s,this.attemptSetMediaKeys(c,u).then(()=>{this.throwIfDestroyed();let g=this.createMediaKeySessionContext({decryptdata:f,keySystem:c,mediaKeys:u});return this.generateRequestWithPreferredKeySession(g,t,i,"encrypted-event-no-match")})})),d.catch(c=>this.handleError(c))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(i).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}"`),i.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>i.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,i,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let h=o.call(this.hls,t,i,e);if(!h)throw new Error("Invalid response from configured generateRequest filter");t=h.initDataType,i=e.decryptdata.pssh=h.initData?new Uint8Array(h.initData):null}catch(h){var l;if(this.warn(h.message),(l=this.hls)!=null&&l.config.debug)throw h}if(i===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: ${i?i.byteLength:null})`);let c=new Dh;e.mediaKeysSession.onmessage=h=>{let f=e.mediaKeysSession;if(!f){c.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=h;this.log(`"${g}" message event for session "${f.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(T=>{this.handleError(T),c.emit("error",T)}):g==="license-release"?e.keySystem===nt.FAIRPLAY&&(this.updateKeySession(e,Hg("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},e.mediaKeysSession.onkeystatuseschange=h=>{if(!e.mediaKeysSession){c.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;c.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};let u=new Promise((h,f)=>{c.on("error",f),c.on("keyStatus",g=>{g.startsWith("usable")?h():g==="output-restricted"?f(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?f(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?f(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,i).then(()=>{var h;this.log(`Request generated for key-session "${(h=e.mediaKeysSession)==null?void 0:h.sessionId}" keyId: ${d}`)}).catch(h=>{throw new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_SESSION,error:h,fatal:!1},`Error generating key-session request: ${h}`)}).then(()=>u).catch(h=>{throw c.removeAllListeners(),this.removeSession(e),h}).then(()=>(c.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,i)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Ni.hexDump("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))} session keyId: ${Ni.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,i=t.loader,s=new i(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching serverCertificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(h,f,g,E)=>{a(h.data)},onError:(h,f,g,E)=>{o(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:jt({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,g)=>{o(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,g)=>{o(new Error("aborted"))}};s.load(l,c,u)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise((s,n)=>{e.setServerCertificate(i).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${i==null?void 0:i.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(i=>this.updateKeySession(e,new Uint8Array(i)).catch(s=>{throw new qt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}setupLicenseXHR(e,t,i,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!i.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,i,s)}).catch(a=>{if(!i.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,i,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 i=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(c){this.error(c)}s(l)}else{let l=i.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new qt({type:pe.KEY_SYSTEM_ERROR,details:B.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 c=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${c} 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})=>{l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let i=t.media;this.media=i,i.addEventListener("encrypted",this.onMediaEncrypted),i.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={},Wr.clearKeyUriToKeyIdMap();let i=t.length;Er.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}. media.src: ${e==null?void 0:e.src}`)}))).then(()=>{i&&(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}. media.src: ${e==null?void 0:e.src}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let i=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${i.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(i)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:i}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),t.onmessage=null,t.onkeystatuseschange=null,i&&i.readyState!==XMLHttpRequest.DONE&&i.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}`)})}}};Er.CDMCleanupPromise=void 0;var qt=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}},vA=1,Kt={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},EA="h",Bi=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.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:Kt.MANIFEST,su:!this.initialized})}catch(n){M.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===Kt.VIDEO||o===Kt.AUDIO||o==Kt.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){M.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:i}=t;i!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||Bi.uuid(),this.cid=i.contentId,this.useHeaders=i.useHeaders===!0,this.registerListeners())}registerListeners(){let e=this.hls;e.on(b.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(b.MEDIA_DETACHED,this.onMediaDetached,this),e.on(b.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(b.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(b.MEDIA_DETACHED,this.onMediaDetached,this),e.off(b.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=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 i,s;this.audioBuffer=(i=t.tracks.audio)==null?void 0:i.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:vA,sf:EA,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){pt(t,this.createData());let i=t.ot===Kt.INIT||t.ot===Kt.VIDEO||t.ot===Kt.MUXED;if(this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering),this.useHeaders){let s=Bi.toHeaders(t);if(!Object.keys(s).length)return;e.headers||(e.headers={}),pt(e.headers,s)}else{let s=Bi.toQuery(t);if(!s)return;e.url=Bi.appendQueryToUri(e.url,s)}}getObjectType(e){let{type:t}=e;if(t==="subtitle")return Kt.TIMED_TEXT;if(e.sn==="initSegment")return Kt.INIT;if(t==="audio")return Kt.AUDIO;if(t==="main")return this.hls.audioTracks.length?Kt.VIDEO:Kt.MUXED}getTopBandwidth(e){let t=0,i,s=this.hls;if(e===Kt.AUDIO)i=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;i=s.levels.slice(0,a)}for(let n of i)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,i=e===Kt.AUDIO?this.audioBuffer:this.videoBuffer;return!i||!t?NaN:je.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(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,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(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)}}}static uuid(){let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}static serialize(e){let t=[],i=d=>!Number.isNaN(d)&&d!=null&&d!==""&&d!==!1,s=d=>Math.round(d),n=d=>s(d/100)*100,o={br:s,d:s,bl:n,dl:n,mtp:n,nor:d=>encodeURIComponent(d),rtp:n,tb:s},l=Object.keys(e||{}).sort();for(let d of l){let c=e[d];if(!i(c)||d==="v"&&c===1||d=="pr"&&c===1)continue;let u=o[d];u&&(c=u(c));let h=typeof c,f;d==="ot"||d==="sf"||d==="st"?f=`${d}=${c}`:h==="boolean"?f=d:h==="number"?f=`${d}=${c}`:f=`${d}=${JSON.stringify(c)}`,t.push(f)}return t.join(",")}static toHeaders(e){let t=Object.keys(e),i={},s=["Object","Request","Session","Status"],n=[{},{},{},{}],a={br:0,d:0,ot:0,tb:0,bl:1,dl:1,mtp:1,nor:1,nrr:1,su:1,cid:2,pr:2,sf:2,sid:2,st:2,v:2,bs:3,rtp:3};for(let o of t){let l=a[o]!=null?a[o]:1;n[l][o]=e[o]}for(let o=0;o<n.length;o++){let l=Bi.serialize(n[o]);l&&(i[`CMCD-${s[o]}`]=l)}return i}static toQuery(e){return`CMCD=${encodeURIComponent(Bi.serialize(e))}`}static appendQueryToUri(e,t){if(!t)return e;let i=e.includes("?")?"&":"?";return`${e}${i}${t}`}},bA=3e5,yh=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=M.log.bind(M,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(b.MANIFEST_LOADING,this.onManifestLoading,this),e.on(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(b.MANIFEST_PARSED,this.onManifestParsed,this),e.on(b.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;!e||(e.off(b.MANIFEST_LOADING,this.onManifestLoading,this),e.off(b.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(b.MANIFEST_PARSED,this.onManifestParsed,this),e.off(b.ERROR,this.onError,this))}startLoad(){if(this.started=!0,self.clearTimeout(this.reloadTimer),this.enabled&&this.uri)if(this.updated){let e=Math.max(this.timeToLoad*1e3-(performance.now()-this.updated),0);this.scheduleRefresh(this.uri,e)}else this.loadSteeringManifest(this.uri)}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),self.clearTimeout(this.reloadTimer)}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(i=>i!==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:i}=t;i!==null&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:i}=t;if((i==null?void 0:i.action)===Mt.SendAlternateToPenaltyBox&&i.flags===oi.MoveAllAlternatesMatchingHost){let s=this.pathwayPriority,n=this.pathwayId;this.penalizedPathways[n]||(this.penalizedPathways[n]=performance.now()),!s&&this.levels&&(s=this.levels.reduce((a,o)=>(a.indexOf(o.pathwayId)===-1&&a.push(o.pathwayId),a),[])),s&&s.length>1&&(this.updatePathwayPriority(s),i.resolved=this.pathwayId!==n)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}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,i=this.penalizedPathways,s=performance.now();Object.keys(i).forEach(n=>{s-i[n]>bA&&delete i[n]});for(let n=0;n<e.length;n++){let a=e[n];if(i[a])continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,this.hls.trigger(b.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}}}clonePathways(e){let t=this.levels;if(!t)return;let i={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(c=>c.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(c=>{let u=pt({},c);u.details=void 0,u.url=w0(c.uri,c.attrs["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l);let h=new Ze(c.attrs);h["PATHWAY-ID"]=a;let f=h.AUDIO&&`${h.AUDIO}_clone_${a}`,g=h.SUBTITLES&&`${h.SUBTITLES}_clone_${a}`;f&&(i[h.AUDIO]=f,h.AUDIO=f),g&&(s[h.SUBTITLES]=g,h.SUBTITLES=g),u.attrs=h;let E=new qr(u);return El(E,"audio",f),El(E,"text",g),E});t.push(...d),Bg(this.audioTracks,i,l,a),Bg(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,i=t.loader;this.loader&&this.loader.destroy(),this.loader=new i(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let c=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+c)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(c,u,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let g=c.data;if(g.VERSION!==1){this.log(`Steering VERSION ${g.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=g.TTL;let{"RELOAD-URI":E,"PATHWAY-CLONES":T,"PATHWAY-PRIORITY":A}=g;if(E)try{this.uri=new self.URL(E,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${E}`);return}this.scheduleRefresh(this.uri||h.url),T&&this.clonePathways(T),A&&this.updatePathwayPriority(A)},onError:(c,u,h,f)=>{if(this.log(`Error loading steering manifest: ${c.code} ${c.text} (${u.url})`),this.stopLoad(),c.code===410){this.enabled=!1,this.log(`Steering manifest ${u.url} no longer available`);return}let g=this.timeToLoad*1e3;if(c.code===429){let E=this.loader;if(typeof(E==null?void 0:E.getResponseHeader)=="function"){let T=E.getResponseHeader("Retry-After");T&&(g=parseFloat(T)*1e3)}this.log(`Steering manifest ${u.url} rate limited`);return}this.scheduleRefresh(this.uri||u.url,g)},onTimeout:(c,u,h)=>{this.log(`Timeout loading steering manifest (${u.url})`),this.scheduleRefresh(this.uri||u.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){self.clearTimeout(this.reloadTimer),this.reloadTimer=self.setTimeout(()=>{this.loadSteeringManifest(e)},t)}};function Bg(r,e,t,i){!r||Object.keys(e).forEach(s=>{let n=r.filter(a=>a.groupId===s).map(a=>{let o=pt({},a);return o.details=void 0,o.attrs=new Ze(o.attrs),o.url=o.attrs.URI=w0(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=i,o});r.push(...n)})}function w0(r,e,t,i){let{HOST:s,PARAMS:n,[t]:a}=i,o;e&&(o=a==null?void 0:a[e],o&&(r=o));let l=new self.URL(r);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var yA=/^age:\s*[\d.]+\s*$/im,wl=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=void 0,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Ks,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=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,i){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=i,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e)return;let i=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.stats.aborted)return n(i,t.url)}).catch(a=>(i.open("GET",t.url,!0),n(i,t.url))).then(()=>{this.stats.aborted||this.openAndSendXhr(i,t,e)}).catch(a=>{this.callbacks.onError({code:i.status,text:a.message},t,i,s)}):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let s=this.context.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=i.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),i.timeout=n&&ce(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:i}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!i.aborted&&s>=2&&(i.loading.first===0&&(i.loading.first=Math.max(self.performance.now(),i.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-(i.loading.first-i.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)){i.loading.end=Math.max(self.performance.now(),i.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(i.loaded=i.total=d,i.bwEstimate=i.total*8e3/(i.loading.end-i.loading.first),!this.callbacks)return;let c=this.callbacks.onProgress;if(c&&c(i,e,l,t),!this.callbacks)return;let u={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(u,i,e,t)}else{let l=n.loadPolicy.errorRetry,d=i.retry;vl(l,d,!1,a)?this.retry(l):(M.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,i))}}}loadtimeout(){var e;let t=(e=this.config)==null?void 0:e.loadPolicy.timeoutRetry,i=this.stats.retry;if(vl(t,i,!0))this.retry(t);else{M.warn(`timeout while loading ${this.context.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:i}=this;this.retryDelay=Ih(e,i.retry),i.retry++,M.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t.url}, retrying ${i.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&&yA.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 TA(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var _A=/(\d+)-(\d+)\/(\d+)/,Dl=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=void 0,this.response=void 0,this.controller=void 0,this.context=void 0,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||IA,this.controller=new self.AbortController,this.stats=new Ks}destroy(){this.loader=this.callbacks=null,this.abortInternal()}abortInternal(){let e=this.response;e!=null&&e.ok||(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,i){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=AA(e,this.controller.signal),a=i.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:c}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&ce(d)?d:c,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(u=>{this.response=this.loader=u;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=c,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(s,e,this.response)},c-(h-s.loading.start)),!u.ok){let{status:f,statusText:g}=u;throw new Th(g||"fetch, bad network response",f,u)}return s.loading.first=h,s.total=xA(u.headers)||s.total,a&&ce(t.highWaterMark)?this.loadProgressively(u,s,e,t.highWaterMark,a):o?u.arrayBuffer():e.responseType==="json"?u.json():u.text()}).then(u=>{let{response:h}=this;self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=u[l];f&&(s.loaded=s.total=f);let g={url:h.url,data:u,code:h.status};a&&!ce(t.highWaterMark)&&a(s,e,u,h),i.onSuccess(g,s,e,h)}).catch(u=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=u&&u.code||0,f=u?u.message:null;i.onError({code:h,text:f},e,u?u.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,i,s=0,n){let a=new Il,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,i,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let c=d.value,u=c.length;return t.loaded+=u,u<s||a.dataLength?(a.push(c),a.dataLength>=s&&n(t,i,a.flush(),e)):n(t,i,c,e),l()}).catch(()=>Promise.reject());return l()}};function AA(r,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(pt({},r.headers))};return r.rangeEnd&&t.headers.set("Range","bytes="+r.rangeStart+"-"+String(r.rangeEnd-1)),t}function SA(r){let e=_A.exec(r);if(e)return parseInt(e[2])-parseInt(e[1])+1}function xA(r){let e=r.get("Content-Range");if(e){let i=SA(e);if(ce(i))return i}let t=r.get("Content-Length");if(t)return parseInt(t)}function IA(r,e){return new self.Request(r.url,e)}var Th=class extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}},LA=/\s/,kA={newCue(r,e,t,i){let s=[],n,a,o,l,d,c=self.VTTCue||self.TextTrackCue;for(let h=0;h<i.rows.length;h++)if(n=i.rows[h],o=!0,l=0,d="",!n.isEmpty()){var u;for(let E=0;E<n.chars.length;E++)LA.test(n.chars[E].uchar)&&o?l++:(d+=n.chars[E].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=I0(d.trim()),g=Mh(e,t,f);r!=null&&(u=r.cues)!=null&&u.getCueById(g)||(a=new c(e,t,f),a.id=g,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return r&&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=>i0(r,h))),s}},RA={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},wA=jt(jt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength: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:wl,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:rh,bufferController:ch,capLevelController:Yn,errorController:Nu,fpsController:bh,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Vg,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,certLoadPolicy:{default:RA},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},DA()),{},{subtitleStreamController:ah,subtitleTrackController:lh,timelineController:Eh,audioStreamController:sh,audioTrackController:nh,emeController:Er,cmcdController:Bi,contentSteeringController:yh});function DA(){return{cueHandler:kA,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 CA(r,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=_h(r),i=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return i.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let c=`${n}Loading${d}`,u=e[c];if(u!==void 0&&o){l.push(c);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=u,h.maxTimeToFirstByteMs=u;break;case"MaxRetry":h.errorRetry.maxNumRetry=u,h.timeoutRetry.maxNumRetry=u;break;case"RetryDelay":h.errorRetry.retryDelayMs=u,h.timeoutRetry.retryDelayMs=u;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=u,h.timeoutRetry.maxRetryDelayMs=u;break}}}),l.length&&M.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),jt(jt({},t),e)}function _h(r){return r&&typeof r=="object"?Array.isArray(r)?r.map(_h):Object.keys(r).reduce((e,t)=>(e[t]=_h(r[t]),e),{}):r}function MA(r){let e=r.loader;e!==Dl&&e!==wl?(M.log("[config]: Custom loader detected, cannot enable progressive streaming"),r.progressive=!1):TA()&&(r.loader=Dl,r.progressive=!0,r.enableSoftwareAES=!0,M.log("[config]: Progressive streaming enabled, using FetchLoader"))}var $i=class{static get version(){return"1.4.10"}static isSupported(){return y_()}static get Events(){return b}static get ErrorTypes(){return pe}static get ErrorDetails(){return B}static get DefaultConfig(){return $i.defaultConfig?$i.defaultConfig:wA}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._emitter=new Dh,this._autoLevelCapping=void 0,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,aT(e.debug||!1,"Hls instance");let t=this.config=CA($i.DefaultConfig,e);this.userConfig=e,this._autoLevelCapping=-1,t.progressive&&MA(t);let{abrController:i,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new i(this),c=this.bufferController=new s(this),u=this.capLevelController=new n(this),h=new o(this),f=new ku(this),g=new Du(this),E=t.contentSteeringController,T=E?new E(this):null,A=this.levelController=new Uu(this,T),k=new Fu(this),L=new $u(this.config),N=this.streamController=new th(this,k,L);u.setStreamController(N),h.setStreamController(N);let D=[f,A,N];T&&D.splice(1,0,T),this.networkControllers=D;let $=[d,c,u,h,g,k];this.audioTrackController=this.createController(t.audioTrackController,D);let O=t.audioStreamController;O&&D.push(new O(this,k,L)),this.subtitleTrackController=this.createController(t.subtitleTrackController,D);let G=t.subtitleStreamController;G&&D.push(new G(this,k,L)),this.createController(t.timelineController,$),L.emeController=this.emeController=this.createController(t.emeController,$),this.cmcdController=this.createController(t.cmcdController,$),this.latencyController=this.createController(Cu,$),this.coreComponents=$,D.push(l);let q=l.onErrorOut;typeof q=="function"&&this.on(b.ERROR,q,l)}createController(e,t){if(e){let i=new e(this);return t&&t.push(i),i}return null}on(e,t,i=this){this._emitter.on(e,t,i)}once(e,t,i=this){this._emitter.once(e,t,i)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,i=this,s){this._emitter.off(e,t,i,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(i){M.error("An internal error happened while handling event "+e+'. Error message: "'+i.message+'". Here is a stacktrace:',i),this.trigger(b.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:!1,event:e,error:i})}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){M.log("destroy"),this.trigger(b.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){M.log("attachMedia"),this._media=e,this.trigger(b.MEDIA_ATTACHING,{media:e})}detachMedia(){M.log("detachMedia"),this.trigger(b.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,i=this.url,s=this.url=Ah.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});M.log(`loadSource:${s}`),t&&i&&(i!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(b.MANIFEST_LOADING,{url:e})}startLoad(e=-1){M.log(`startLoad(${e})`),this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){M.log("stopLoad"),this.networkControllers.forEach(e=>{e.stopLoad()})}swapAudioCodec(){M.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){M.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e,t=0){this.levelController.removeLevel(e,t)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){M.log(`set currentLevel:${e}`),this.loadLevel=e,this.abrController.clearTimer(),this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){M.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){M.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){M.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){return this.levelController.startLevel}set startLevel(e){M.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}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(M.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e)}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){Mu.indexOf(e)>-1&&(this._maxHdcpLevel=e)}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 i=e.length;for(let s=0;s<i;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:i}=this,s;if(t===-1&&e&&e.length?s=e.length-1:s=t,i)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=i)return n}return s}get nextAutoLevel(){return Math.min(Math.max(this.abrController.nextAutoLevel,this.minAutoLevel),this.maxAutoLevel)}set nextAutoLevel(e){this.abrController.nextAutoLevel=Math.max(this.minAutoLevel,e)}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}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 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}};$i.defaultConfig=void 0;var dt=$i,jn=class extends Error{constructor(r,e=jn.MEDIA_ERR_CUSTOM,t,i){var s;super(r),this.name="MediaError",this.code=e,this.context=i,this.fatal=t!=null?t:e>=jn.MEDIA_ERR_NETWORK&&e<=jn.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(s=jn.defaultMessages[this.code])!=null?s:"")}},tt=jn;tt.MEDIA_ERR_ABORTED=1,tt.MEDIA_ERR_NETWORK=2,tt.MEDIA_ERR_DECODE=3,tt.MEDIA_ERR_SRC_NOT_SUPPORTED=4,tt.MEDIA_ERR_ENCRYPTED=5,tt.MEDIA_ERR_CUSTOM=100,tt.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 OA=r=>r==null,U0=(r,e)=>OA(e)?!1:r in e,Ph={ANY:"any",MUTED:"muted"},Je={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},di={MSE:"mse",NATIVE:"native"},Nh={HEADER:"header",QUERY:"query",NONE:"none"},Ws=Object.values(Nh),br={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},Uh={HLS:br.M3U8},vw=Object.keys(Uh),Ew=[...Object.values(br),"hls","HLS"],bi=(r,e,t,i,s=r)=>{s.addEventListener(e,t,i),r.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function PA(r,e,t){e&&t>e&&(t=e);for(let i=0;i<r.length;i++)if(r.start(i)<=t&&r.end(i)>=t)return!0;return!1}var NA=r=>{let e=r.indexOf("?");if(e<0)return[r];let t=r.slice(0,e),i=r.slice(e);return[t,i]},Pl=r=>{let e=r.type;if(e){let i=e.toUpperCase();return U0(i,Uh)?Uh[i]:e}let{src:t}=r;return t?UA(t):""},F0=r=>r==="VOD"?Je.ON_DEMAND:Je.LIVE,B0=r=>r==="EVENT"?Number.POSITIVE_INFINITY:r==="VOD"?Number.NaN:0,UA=r=>{let e="";try{e=new URL(r).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let i=e.slice(t+1).toUpperCase();return U0(i,br)?br[i]:""},FA=Object.values(Ph),D0=r=>typeof r=="boolean"||typeof r=="string"&&FA.includes(r),BA=({autoplay:r},e,t)=>{let i=!1,s=!1,n=D0(r)?r:!!r,a=()=>{i||bi(e,"playing",()=>{i=!0},{once:!0})};if(a(),bi(e,"loadstart",()=>{i=!1,a(),Oh(e,n)},{once:!0}),bi(e,"loadstart",()=>{t||(s=!Number.isFinite(e.duration)),Oh(e,n)},{once:!0}),t&&t.once(dt.Events.LEVEL_LOADED,(o,l)=>{var d;s=(d=l.details.live)!=null?d:!1}),!n){let o=()=>{!s||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&bi(e,"play",()=>{e.preload==="metadata"?t.once(dt.Events.LEVEL_UPDATED,o):o()},{once:!0})}return o=>{i||(n=D0(o)?o:!!o,Oh(e,n))}},Oh=(r,e)=>{if(!e)return;let t=r.muted,i=()=>r.muted=t;switch(e){case Ph.ANY:r.play().catch(()=>{r.muted=!0,r.play().catch(i)});break;case Ph.MUTED:r.muted=!0,r.play().catch(i);break;default:r.play().catch(()=>{});break}},$A=({preload:r,src:e},t,i)=>{let s=u=>{u!=null&&["","none","metadata","auto"].includes(u)?t.setAttribute("preload",u):t.removeAttribute("preload")};if(!i)return s(r),s;let n=!1,a=!1,o=i.config.maxBufferLength,l=i.config.maxBufferSize,d=u=>{s(u);let h=u!=null?u:t.preload;a||h==="none"||(h==="metadata"?(i.config.maxBufferLength=1,i.config.maxBufferSize=1):(i.config.maxBufferLength=o,i.config.maxBufferSize=l),c())},c=()=>{!n&&e&&(n=!0,i.loadSource(e))};return bi(t,"play",()=>{a=!0,i.config.maxBufferLength=o,i.config.maxBufferSize=l,c()},{once:!0}),d(r),d};function HA(r,e){var t;if(!("videoTracks"in r))return;let i=new WeakMap;e.on(dt.Events.MANIFEST_PARSED,function(d,c){l();let u=r.addVideoTrack("main");u.selected=!0;for(let[h,f]of c.levels.entries()){let g=u.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);i.set(f,`${h}`),g.id=`${h}`}}),e.on(dt.Events.AUDIO_TRACKS_UPDATED,function(d,c){o();for(let u of c.audioTracks){let h=u.default?"main":"alternative",f=r.addAudioTrack(h,u.name,u.lang);f.id=`${u.id}`,u.default&&(f.enabled=!0)}}),r.audioTracks.addEventListener("change",()=>{var d;let c=+((d=[...r.audioTracks].find(h=>h.enabled))==null?void 0:d.id),u=e.audioTracks.map(h=>h.id);c!=e.audioTrack&&u.includes(c)&&(e.audioTrack=c)}),e.on(dt.Events.LEVELS_UPDATED,function(d,c){var u;let h=r.videoTracks[(u=r.videoTracks.selectedIndex)!=null?u:0];if(!h)return;let f=c.levels.map(g=>i.get(g));for(let g of r.videoRenditions)g.id&&!f.includes(g.id)&&h.removeRendition(g)});let s=d=>{let c=d.target.selectedIndex;c!=e.nextLevel&&n(c)},n=d=>{let c=r.currentTime,u=!1,h=(f,g)=>{u||(u=!Number.isFinite(g.endOffset))};e.on(dt.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(dt.Events.BUFFER_FLUSHING,h),u||e.trigger(dt.Events.BUFFER_FLUSHING,{startOffset:c+10,endOffset:1/0,type:"video"})};(t=r.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of r.videoTracks)r.removeVideoTrack(d)},o=()=>{for(let d of r.audioTracks)r.removeAudioTrack(d)},l=()=>{a(),o()};e.once(dt.Events.DESTROYING,l)}function GA(r,e){e.on(dt.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o;let l=(o=a.subtitleTrack)!=null?o:a.closedCaptions,d=e.subtitleTracks.findIndex(({lang:c,name:u,type:h})=>c==(l==null?void 0:l.lang)&&u===a.label&&h.toLowerCase()===a.kind);Nl(r,a.kind,a.label,l==null?void 0:l.lang,`${a.kind}${d}`)})});let t=()=>{var s;if(!e.subtitleTracks.length)return;let n=Array.from(r.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind)),a=`${(s=e.subtitleTracks[e.subtitleTrack])==null?void 0:s.type.toLowerCase()}${e.subtitleTrack}`;if(n&&(e.subtitleTrack<0||(n==null?void 0:n.id)!==a)){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:c})=>l==n.language&&d===n.label&&c.toLowerCase()===n.kind);e.subtitleTrack=o}n&&(n==null?void 0:n.id)===a&&n.cues&&Array.from(n.cues).forEach(o=>{n.addCue(o)})};r.textTracks.addEventListener("change",t),e.on(dt.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=r.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var c;(c=o.cues)!=null&&c.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(dt.Events.DESTROYING,()=>{r.textTracks.removeEventListener("change",t),r.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let i=()=>{Array.from(r.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&s.label==="thumbnails"){if(!((n=s.cues)!=null&&n.length)){let o=r.querySelector('track[label="thumbnails"]'),l=(a=o==null?void 0:o.getAttribute("src"))!=null?a:"";o==null||o.removeAttribute("src"),setTimeout(()=>{o==null||o.setAttribute("src",l)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(dt.Events.MANIFEST_LOADED,i),e.once(dt.Events.MEDIA_ATTACHED,i)}function Nl(r,e,t,i,s){let n=document.createElement("track");return n.kind=e,n.label=t,i&&(n.srclang=i),s&&(n.id=s),n.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),r.append(n),n.track}function $0(r,e){let t=Array.prototype.find.call(r.querySelectorAll("track"),i=>i.track===e);t==null||t.remove()}var zn="cuepoints",Bh=Object.freeze({label:zn}),$h=(r,{label:e=zn}=Bh)=>{var t;return(t=Array.from(r.querySelectorAll("track")).find(i=>i.track.label===e&&i.track.kind==="metadata"))==null?void 0:t.track};async function Hh(r,e,t=Bh){let i=$h(r,t);if(!i){let{label:s=zn}=t;i=Nl(r,"metadata",s),i.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))}return i.mode!=="hidden"&&(i.mode="hidden"),[...e].sort(({time:s},{time:n})=>n-s).forEach(({time:s,value:n})=>{var a,o;let l=Array.prototype.findIndex.call(i==null?void 0:i.cues,f=>f.startTime>=s),d=(a=i==null?void 0:i.cues)==null?void 0:a[l],c=d?d.startTime:Number.isFinite(r.duration)?r.duration:Number.MAX_SAFE_INTEGER,u=(o=i==null?void 0:i.cues)==null?void 0:o[l-1];u&&(u.endTime=s);let h=new VTTCue(s,c,JSON.stringify(n!=null?n:null));i.addCue(h)}),i}var H0=r=>({time:r.startTime,value:JSON.parse(r.text)});function G0(r,e={label:zn}){let t=$h(r,e);return t!=null&&t.cues?Array.from(t.cues,i=>H0(i)):[]}function Gh(r,e={label:zn}){var t,i;let s=$h(r,e);if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;let{currentTime:n}=r,a=Array.prototype.find.call((i=s.activeCues)!=null?i:[],({startTime:o,endTime:l})=>o<=n&&l>n);return H0(a)}async function VA(r,e=Bh){return new Promise(t=>{bi(r,"loadstart",async()=>{let i=await Hh(r,[],e);bi(r,"cuechange",()=>{let s=Gh(r);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});r.dispatchEvent(n)}},{},i),t(i)})})}function V0(r,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-r.currentTime*1e3)}return typeof r.getStartDate=="function"?r.getStartDate():new Date(NaN)}function K0(r,e){if(e&&e.playingDate)return e.playingDate;if(typeof r.getStartDate=="function"){let t=r.getStartDate();return new Date(t.getTime()+r.currentTime*1e3)}return new Date(NaN)}var KA=async r=>fetch(r).then(e=>e.text()).then(e=>{let t=e.split(`
|
|
976
976
|
`).find((i,s,n)=>s&&n[s-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(i=>i.text()).then(i=>i.split(`
|
|
977
|
-
`))}),WA=r=>{var e,t,i;let s=(t=((e=r.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),n=F0(s),a=B0(s),o;if(n===Je.LIVE){let l=r.find(d=>d.startsWith("#EXT-X-PART-INF"));if(l)o=+l.split(":")[1].split("=")[1]*2;else{let d=r.find(u=>u.startsWith("#EXT-X-TARGETDURATION")),c=(i=d==null?void 0:d.split(":"))==null?void 0:i[1];o=+(c!=null?c:6)*3}}return{streamType:n,targetLiveWindow:a,liveEdgeStartOffset:o}},qA=async(r,e)=>{if(e===br.MP4)return{streamType:Je.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===br.M3U8){let t=await KA(r);return WA(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${r}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},C0=async(r,e,t=Pl({src:r}))=>{var i,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await qA(r,t);((i=kt.get(e))!=null?i:{}).liveEdgeStartOffset=l,((s=kt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=kt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},YA=r=>{var e;let t=r.type,i=F0(t),s=B0(t),n,a=!!((e=r.partList)!=null&&e.length);return i===Je.LIVE&&(n=a?r.partTarget*2:r.targetduration*3),{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},jA=(r,e,t)=>{var i,s,n,a,o,l,d,c;let{streamType:u,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:g}=YA(r);if(u===Je.LIVE){g?(t.config.backBufferLength=(i=t.userConfig.backBufferLength)!=null?i: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 E=Object.freeze({get length(){return e.seekable.length},start(T){return e.seekable.start(T)},end(T){var A;return T>this.length?e.seekable.end(T):(A=t.liveSyncPosition)!=null?A:e.seekable.end(T)}});((o=kt.get(e))!=null?o:{}).seekable=E}((l=kt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=kt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((c=kt.get(e))!=null?c:{}).streamType=u,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},M0,O0,zA=(O0=(M0=globalThis==null?void 0:globalThis.navigator)==null?void 0:M0.userAgent)!=null?O0:"",XA=zA.toLowerCase().indexOf("android")!==-1,kt=new WeakMap,W0="mux.com",P0,N0,q0=(N0=(P0=dt).isSupported)==null?void 0:N0.call(P0),QA=XA,Y0=()=>Ol.default.utils.now(),ZA=Ol.default.utils.generateUUID,j0=(r,{domain:e=W0,maxResolution:t=""}={})=>{if(!r)return;let[i,s=""]=NA(r),n=new URL(`https://stream.${e}/${i}.m3u8${s}`);return t&&n.searchParams.set("max_resolution",t),n.toString()},JA=r=>{if(!r)return;let[e]=r.split("?");return e||void 0},e1=r=>{if(!r||!r.startsWith("https://stream."))return;let[e]=new URL(r).pathname.slice(1).split(".m3u8");return e||void 0},t1=r=>{var e,t,i;return(e=r==null?void 0:r.metadata)!=null&&e.video_id?r.metadata.video_id:iv(r)&&(i=(t=JA(r.playbackId))!=null?t:e1(r.src))!=null?i:r.src},z0=r=>{var e;return(e=kt.get(r))==null?void 0:e.error},X0=r=>{var e,t;return(t=(e=kt.get(r))==null?void 0:e.streamType)!=null?t:Je.UNKNOWN},Q0=r=>{var e,t;return(t=(e=kt.get(r))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},Vh=r=>{var e,t;return(t=(e=kt.get(r))==null?void 0:e.seekable)!=null?t:r.seekable},Z0=r=>{var e;let t=(e=kt.get(r))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let i=Vh(r);return i.length?i.end(i.length-1)-t:Number.NaN},i1=(r,e,t=.001)=>Math.abs(r-e)<=t,J0=(r,e,t=.001)=>r>e||i1(r,e,t),r1=r=>r.paused&&J0(r.currentTime,r.duration),Kh=(r,e)=>r.loop||!!e?r.ended:r.ended||r1(r),ev=(r,e,t)=>{Wh(e,t);let{metadata:i={}}=r,{view_session_id:s=ZA()}=i,n=t1(r);i.view_session_id=s,i.video_id=n,r.metadata=i,kt.set(e,{});let a=s1(r,e);a1(r,e,a),o1(r,e,a),VA(e);let o=BA(r,e,a),l=$A(r,e,a);return{engine:a,setAutoplay:o,setPreload:l}},Wh=(r,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),(r==null?void 0:r.mux)&&!r.mux.deleted&&(r.mux.destroy(),delete r.mux),r&&(r.removeAttribute("src"),r.load(),r.removeEventListener("error",sv),r.removeEventListener("error",Fh),r.removeEventListener("durationchange",rv),kt.delete(r),r.dispatchEvent(new Event("teardown")))};function tv(r,e){var t;let i=Pl(r);if(i!==br.M3U8)return!0;let s=!i||((t=e.canPlayType(i))!=null?t:!0),{preferPlayback:n}=r,a=n===di.MSE,o=n===di.NATIVE;return s&&(o||!(q0&&(a||QA)))}var s1=(r,e)=>{let{debug:t,streamType:i,startTime:s=-1,metadata:n,preferCmcd:a}=r,o=Pl(r)===br.M3U8,l=tv(r,e);if(o&&!l&&q0){let d={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=n1(i),u=a!==Nh.NONE?{useHeaders:a===Nh.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new dt({debug:t,startPosition:s,cmcd:u,...d,...c})}},n1=r=>r===Je.LIVE?{backBufferLength:8}:{},iv=({playbackId:r,src:e,customDomain:t})=>{if(r)return!0;if(typeof e!="string")return!1;let i=window==null?void 0:window.location.href,s=new URL(e,i).hostname.toLocaleLowerCase();return s.includes(W0)||!!t&&s.includes(t.toLocaleLowerCase())},a1=(r,e,t)=>{var i;let{envKey:s}=r,n=iv(r);if(s||n){let{playerInitTime:a,playerSoftwareName:o,playerSoftwareVersion:l,beaconCollectionDomain:d,debug:c,disableCookies:u}=r,h={...r.metadata,video_title:((i=r==null?void 0:r.metadata)==null?void 0:i.video_title)||void 0},f=g=>typeof g.player_error_code=="string"?!1:typeof r.errorTranslator=="function"?r.errorTranslator(g):g;Ol.default.monitor(e,{debug:c,beaconCollectionDomain:d,hlsjs:t,Hls:t?dt:void 0,automaticErrorTracking:!1,errorTranslator:f,disableCookies:u,data:{...s?{env_key:s}:{},player_software_name:o,player_software:o,player_software_version:l,player_init_time:a,...h}})}},o1=(r,e,t)=>{var i;let s=tv(r,e),{src:n}=r;if(e&&s){let a=Pl(r);typeof n=="string"?(e.preload==="none"?bi(e,"loadstart",()=>C0(n,e,a)):C0(n,e,a),e.setAttribute("src",n),r.startTime&&(((i=kt.get(e))!=null?i:{}).startTime=r.startTime,e.addEventListener("durationchange",rv,{once:!0}))):e.removeAttribute("src"),e.addEventListener("error",sv),e.addEventListener("error",Fh),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(l=>{l.remove()})},{once:!0});let o=()=>{e.ended||!Kh(e)||e.dispatchEvent(new Event("ended"))};bi(e,"pause",o),bi(e,"seeked",o),bi(e,"play",()=>{e.ended||!J0(e.currentTime,e.duration)||(e.currentTime=e.seekable.start(0))})}else t&&n?(t.once(dt.Events.LEVEL_LOADED,(a,o)=>{jA(o.details,e,t)}),t.on(dt.Events.ERROR,(a,o)=>{let l={[dt.ErrorTypes.NETWORK_ERROR]:tt.MEDIA_ERR_NETWORK,[dt.ErrorTypes.MEDIA_ERROR]:tt.MEDIA_ERR_DECODE},d=new tt("",l[o.type]);d.fatal=o.fatal,d.data=o,e.dispatchEvent(new CustomEvent("error",{detail:d}))}),e.addEventListener("error",Fh),HA(r,t),GA(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 rv(r){var e;let t=r.target,i=(e=kt.get(t))==null?void 0:e.startTime;if(!!i&&PA(t.seekable,t.duration,i)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=i,s&&(t.preload="auto")}}async function sv(r){if(!r.isTrusted)return;r.stopImmediatePropagation();let e=r.target;if(!(e!=null&&e.error))return;let{message:t,code:i}=e.error,s=new tt(t,i);if(e.src&&(i!==tt.MEDIA_ERR_DECODE||i!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}e.dispatchEvent(new CustomEvent("error",{detail:s}))}function Fh(r){var e,t;if(!(r instanceof CustomEvent)||!(r.detail instanceof tt))return;let i=r.target,s=r.detail;!s||!s.fatal||(((e=kt.get(i))!=null?e:{}).error=s,(t=i.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var l1=Object.defineProperty,d1=(r,e,t)=>e in r?l1(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ge=(r,e,t)=>(d1(r,typeof e!="symbol"?e+"":e,t),t),of=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},H=(r,e,t)=>(of(r,e,"read from private field"),t?t.call(r):e.get(r)),le=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ue=(r,e,t,i)=>(of(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),it=(r,e,t)=>(of(r,e,"access private method"),t),ql=class{addEventListener(){}removeEventListener(){}dispatchEvent(r){return!0}};if(typeof DocumentFragment=="undefined"){class r extends ql{}globalThis.DocumentFragment=r}var lf=class extends ql{},c1=class extends ql{},u1={get(r){},define(r,e,t){},upgrade(r){},whenDefined(r){return Promise.resolve(lf)}},Ul,h1=class{constructor(r,e={}){le(this,Ul,void 0),ue(this,Ul,e==null?void 0:e.detail)}get detail(){return H(this,Ul)}initCustomEvent(){}};Ul=new WeakMap;function f1(r,e){return new lf}var cv={document:{createElement:f1},DocumentFragment,customElements:u1,CustomEvent:h1,EventTarget:ql,HTMLElement:lf,HTMLVideoElement:c1},uv=typeof window=="undefined"||typeof globalThis.customElements=="undefined",Fl=uv?cv:globalThis,Tw=uv?cv.document:globalThis.document,m1=()=>{try{return"0.16.5"}catch{}return"UNKNOWN"},p1=m1(),g1=()=>p1,nv=r=>{var e,t,i,s,n,a,o,l,d,c,u,h,f,g,E,T,A,k,L,N,D,$,O,G,q,P,X,z,Ae,Ee,be,we,Se,Z,ne,se,xe,Ie,Ve,ht;return e=class extends r{constructor(){super(),le(this,X),le(this,Ae),le(this,be),le(this,Se),le(this,ne),le(this,xe),le(this,Ve),Ge(this,"castEnabled",!1),le(this,D,{paused:!1}),le(this,$,void 0),le(this,O,{}),le(this,G,void 0),le(this,q,void 0),le(this,P,void 0),e.instances.add(this),it(this,ne,se).call(this)}static get castElement(){return H(e,t)}static get castEnabled(){return H(e,i)}static get castState(){var V;return(V=H(e,d,c))==null?void 0:V.getCastState()}static async exitCast(){try{await H(e,d,c).endCurrentSession(!0)}catch(V){console.error(V);return}}get castPlayer(){if(e.castElement===this)return H(this,$)}attributeChangedCallback(V){if(this.castPlayer)switch(V){case"cast-stream-type":case"cast-src":this.load();break}}async requestCast(V={}){var J;it(J=e,L,N).call(J,V),ue(e,t,this),Object.entries(H(this,O)).forEach(([ke,et])=>{H(this,$).controller.addEventListener(ke,et)});try{await H(e,d,c).requestSession()}catch{ue(e,t,void 0);return}H(this,D).paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(ke){console.error(ke)}}async load(){var V,J;if(!this.castPlayer)return super.load();let ke=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),et=[...this.querySelectorAll("track")].filter(({kind:Jt,src:_i})=>_i&&(Jt==="subtitles"||Jt==="captions")),_t=[],zt=0;et.length&&(ke.tracks=et.map(Jt=>{let _i=++zt;_t.length===0&&Jt.track.mode==="showing"&&_t.push(_i);let Ai=new chrome.cast.media.Track(_i,chrome.cast.media.TrackType.TEXT);return Ai.trackContentId=Jt.src,Ai.trackContentType="text/vtt",Ai.subtype=Jt.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,Ai.name=Jt.label,Ai.language=Jt.srclang,Ai})),this.castStreamType==="live"?ke.streamType=chrome.cast.media.StreamType.LIVE:ke.streamType=chrome.cast.media.StreamType.BUFFERED,ke.metadata=new chrome.cast.media.GenericMediaMetadata,ke.metadata.title=this.title,ke.metadata.images=[{url:this.poster}];let nr=new chrome.cast.media.LoadRequest(ke);nr.currentTime=(V=super.currentTime)!=null?V:0,nr.autoplay=!H(this,D).paused,nr.activeTrackIds=_t,await((J=H(e,u,h))==null?void 0:J.loadMedia(nr)),this.dispatchEvent(new Event("volumechange"))}play(){var V;if(this.castPlayer){this.castPlayer.isPaused&&((V=this.castPlayer.controller)==null||V.playOrPause());return}return super.play()}pause(){var V;if(this.castPlayer){this.castPlayer.isPaused||(V=this.castPlayer.controller)==null||V.playOrPause();return}super.pause()}get castSrc(){var V,J,ke;return(ke=(J=this.getAttribute("cast-src"))!=null?J:(V=this.querySelector("source"))==null?void 0:V.src)!=null?ke:this.currentSrc}set castSrc(V){this.castSrc!=V&&this.setAttribute("cast-src",`${V}`)}get castContentType(){var V;return(V=this.getAttribute("cast-content-type"))!=null?V:void 0}set castContentType(V){this.setAttribute("cast-content-type",`${V}`)}get castStreamType(){var V,J;return(J=(V=this.getAttribute("cast-stream-type"))!=null?V:this.streamType)!=null?J:void 0}set castStreamType(V){this.setAttribute("cast-stream-type",`${V}`)}get readyState(){if(this.castPlayer)switch(this.castPlayer.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 this.castPlayer?this.castPlayer.isPaused:super.paused}get muted(){var V;return this.castPlayer?(V=this.castPlayer)==null?void 0:V.isMuted:super.muted}set muted(V){var J;if(this.castPlayer){(V&&!this.castPlayer.isMuted||!V&&this.castPlayer.isMuted)&&((J=this.castPlayer.controller)==null||J.muteOrUnmute());return}super.muted=V}get volume(){var V,J;return this.castPlayer?(J=(V=this.castPlayer)==null?void 0:V.volumeLevel)!=null?J:1:super.volume}set volume(V){var J;if(this.castPlayer){this.castPlayer.volumeLevel=V,(J=this.castPlayer.controller)==null||J.setVolumeLevel();return}super.volume=V}get duration(){var V,J;return this.castPlayer&&H(this,X,z)?(J=(V=this.castPlayer)==null?void 0:V.duration)!=null?J:NaN:super.duration}get currentTime(){var V,J;return this.castPlayer&&H(this,X,z)?(J=(V=this.castPlayer)==null?void 0:V.currentTime)!=null?J:0:super.currentTime}set currentTime(V){var J;if(this.castPlayer){this.castPlayer.currentTime=V,(J=this.castPlayer.controller)==null||J.seek();return}super.currentTime=V}get onentercast(){return H(this,G)}set onentercast(V){H(this,G)&&(this.removeEventListener("entercast",H(this,G)),ue(this,G,null)),typeof V=="function"&&(ue(this,G,V),this.addEventListener("entercast",V))}get onleavecast(){return H(this,q)}set onleavecast(V){H(this,q)&&(this.removeEventListener("leavecast",H(this,q)),ue(this,q,null)),typeof V=="function"&&(ue(this,q,V),this.addEventListener("leavecast",V))}get oncastchange(){return H(this,P)}set oncastchange(V){H(this,P)&&(this.removeEventListener("castchange",H(this,P)),ue(this,P,null)),typeof V=="function"&&(ue(this,P,V),this.addEventListener("castchange",V))}},t=new WeakMap,i=new WeakMap,s=new WeakMap,n=new WeakSet,a=function(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable},o=new WeakSet,l=function(){return typeof cast!="undefined"&&cast.framework},d=new WeakSet,c=function(){if(H(e,o,l))return cast.framework.CastContext.getInstance()},u=new WeakSet,h=function(){var V;return(V=H(e,d,c))==null?void 0:V.getCurrentSession()},f=new WeakSet,g=function(){var V;return(V=H(e,u,h))==null?void 0:V.getSessionObj().media[0]},E=new WeakSet,T=function(V){return new Promise((J,ke)=>{H(e,f,g).editTracksInfo(V,J,ke)})},A=new WeakSet,k=function(V){return new Promise((J,ke)=>{H(e,f,g).getStatus(V,J,ke)})},L=new WeakSet,N=function(V){return H(e,d,c).setOptions({receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0,...V})},D=new WeakMap,$=new WeakMap,O=new WeakMap,G=new WeakMap,q=new WeakMap,P=new WeakMap,X=new WeakSet,z=function(){var V;return(V=this.castPlayer)==null?void 0:V.isMediaLoaded},Ae=new WeakSet,Ee=function(){H(e,t)===this&&(Object.entries(H(this,O)).forEach(([V,J])=>{H(this,$).controller.removeEventListener(V,J)}),ue(e,t,void 0),this.muted=H(this,$).isMuted,this.currentTime=H(this,$).savedPlayerState.currentTime,H(this,$).savedPlayerState.isPaused===!1&&this.play())},be=new WeakSet,we=function(){this.dispatchEvent(new CustomEvent("castchange",{detail:H(e,d,c).getCastState()}))},Se=new WeakSet,Z=async function(){var V,J;let{SESSION_RESUMED:ke}=cast.framework.SessionState;if(H(e,d,c).getSessionState()===ke&&this.castSrc===((V=H(e,f,g))==null?void 0:V.media.contentId)){ue(e,t,this),Object.entries(H(this,O)).forEach(([et,_t])=>{H(this,$).controller.addEventListener(et,_t)});try{await it(J=e,A,k).call(J,new chrome.cast.media.GetStatusRequest)}catch(et){console.error(et)}H(this,O)[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED](),H(this,O)[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},ne=new WeakSet,se=function(){var V;!H(e,o,l)||this.castEnabled||(this.castEnabled=!0,it(V=e,L,N).call(V),this.textTracks.addEventListener("change",it(this,Ve,ht).bind(this)),it(this,be,we).call(this),ue(this,$,new cast.framework.RemotePlayer),new cast.framework.RemotePlayerController(H(this,$)),ue(this,O,{[cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:J})=>{J===!1&&it(this,Ae,Ee).call(this),this.dispatchEvent(new Event(J?"entercast":"leavecast"))},[cast.framework.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.dispatchEvent(new Event("durationchange"))},[cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{!H(this,X,z)||this.dispatchEvent(new Event("timeupdate"))},[cast.framework.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.dispatchEvent(new Event("resize"))},[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.dispatchEvent(new Event(this.paused?"pause":"play"))},[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var J,ke;((J=this.castPlayer)==null?void 0:J.playerState)!==chrome.cast.media.PlayerState.PAUSED&&this.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(ke=this.castPlayer)==null?void 0:ke.playerState]))},[cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{!H(this,X,z)||(await Promise.resolve(),it(this,xe,Ie).call(this))}}))},xe=new WeakSet,Ie=function(){it(this,Ve,ht).call(this)},Ve=new WeakSet,ht=async function(){var V,J,ke,et,_t,zt;if(!this.castPlayer)return;let nr=((J=(V=H(this,$).mediaInfo)==null?void 0:V.tracks)!=null?J:[]).filter(({type:rt})=>rt===chrome.cast.media.TrackType.TEXT),Jt=[...this.textTracks].filter(({kind:rt})=>rt==="subtitles"||rt==="captions"),_i=nr.map(({language:rt,name:Rr,trackId:sn})=>{var nn;let{mode:Ta}=(nn=Jt.find(an=>an.language===rt&&an.label===Rr))!=null?nn:{};return Ta?{mode:Ta,trackId:sn}:!1}).filter(Boolean),Ai=_i.filter(({mode:rt})=>rt!=="showing").map(({trackId:rt})=>rt),ps=_i.find(({mode:rt})=>rt==="showing"),rn=(_t=(et=(ke=H(e,u,h))==null?void 0:ke.getSessionObj().media[0])==null?void 0:et.activeTrackIds)!=null?_t:[],ci=rn;if(rn.length&&(ci=ci.filter(rt=>!Ai.includes(rt))),ps!=null&&ps.trackId&&(ci=[...ci,ps.trackId]),ci=[...new Set(ci)],!((rt,Rr)=>rt.length===Rr.length&&rt.every(sn=>Rr.includes(sn)))(rn,ci))try{let rt=new chrome.cast.media.EditTracksInfoRequest(ci);await it(zt=e,E,T).call(zt,rt)}catch(rt){console.error(rt)}},le(e,n),le(e,o),le(e,d),le(e,u),le(e,f),le(e,E),le(e,A),le(e,L),Ge(e,"observedAttributes",["cast-src","cast-content-type","cast-stream-type"]),Ge(e,"instances",new Set),le(e,t,void 0),le(e,i,!1),Ge(e,"initCast",()=>{var V;H(e,n,a)?H(e,o,l)?H(V=e,s).call(V,chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>{var J;return H(J=e,s).call(J,chrome.cast.isAvailable)}):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>{var J;return H(J=e,s).call(J,chrome.cast.isAvailable)})}}),le(e,s,V=>{if(V){ue(e,i,!0);let{CAST_STATE_CHANGED:J}=cast.framework.CastContextEventType;H(e,d,c).addEventListener(J,et=>{e.instances.forEach(_t=>{var zt;return it(zt=_t,be,we).call(zt,et)})});let{SESSION_STATE_CHANGED:ke}=cast.framework.CastContextEventType;H(e,d,c).addEventListener(ke,et=>{e.instances.forEach(_t=>{var zt;return it(zt=_t,Se,Z).call(zt,et)})}),e.instances.forEach(et=>{var _t;return it(_t=et,ne,se).call(_t)})}}),e},Yh=globalThis.HTMLVideoElement?nv(HTMLVideoElement):nv(Object);globalThis.customElements&&!globalThis.customElements.get("castable-video")&&(customElements.define("castable-video",Yh,{extends:"video"}),globalThis.CastableVideoElement=Yh);Yh.initCast();var Yl=["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"],av,jh=(av=globalThis.document)==null?void 0:av.createElement("template");jh&&(jh.innerHTML=`
|
|
977
|
+
`))}),WA=r=>{var e,t,i;let s=(t=((e=r.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),n=F0(s),a=B0(s),o;if(n===Je.LIVE){let l=r.find(d=>d.startsWith("#EXT-X-PART-INF"));if(l)o=+l.split(":")[1].split("=")[1]*2;else{let d=r.find(u=>u.startsWith("#EXT-X-TARGETDURATION")),c=(i=d==null?void 0:d.split(":"))==null?void 0:i[1];o=+(c!=null?c:6)*3}}return{streamType:n,targetLiveWindow:a,liveEdgeStartOffset:o}},qA=async(r,e)=>{if(e===br.MP4)return{streamType:Je.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===br.M3U8){let t=await KA(r);return WA(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${r}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},C0=async(r,e,t=Pl({src:r}))=>{var i,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await qA(r,t);((i=kt.get(e))!=null?i:{}).liveEdgeStartOffset=l,((s=kt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=kt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},YA=r=>{var e;let t=r.type,i=F0(t),s=B0(t),n,a=!!((e=r.partList)!=null&&e.length);return i===Je.LIVE&&(n=a?r.partTarget*2:r.targetduration*3),{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},jA=(r,e,t)=>{var i,s,n,a,o,l,d,c;let{streamType:u,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:g}=YA(r);if(u===Je.LIVE){g?(t.config.backBufferLength=(i=t.userConfig.backBufferLength)!=null?i: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 E=Object.freeze({get length(){return e.seekable.length},start(T){return e.seekable.start(T)},end(T){var A;return T>this.length?e.seekable.end(T):(A=t.liveSyncPosition)!=null?A:e.seekable.end(T)}});((o=kt.get(e))!=null?o:{}).seekable=E}((l=kt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=kt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((c=kt.get(e))!=null?c:{}).streamType=u,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},M0,O0,zA=(O0=(M0=globalThis==null?void 0:globalThis.navigator)==null?void 0:M0.userAgent)!=null?O0:"",XA=zA.toLowerCase().indexOf("android")!==-1,kt=new WeakMap,W0="mux.com",P0,N0,q0=(N0=(P0=dt).isSupported)==null?void 0:N0.call(P0),QA=XA,Y0=()=>Ol.default.utils.now(),ZA=Ol.default.utils.generateUUID,j0=(r,{domain:e=W0,maxResolution:t=""}={})=>{if(!r)return;let[i,s=""]=NA(r),n=new URL(`https://stream.${e}/${i}.m3u8${s}`);return t&&n.searchParams.set("max_resolution",t),n.toString()},JA=r=>{if(!r)return;let[e]=r.split("?");return e||void 0},e1=r=>{if(!r||!r.startsWith("https://stream."))return;let[e]=new URL(r).pathname.slice(1).split(".m3u8");return e||void 0},t1=r=>{var e,t,i;return(e=r==null?void 0:r.metadata)!=null&&e.video_id?r.metadata.video_id:iv(r)&&(i=(t=JA(r.playbackId))!=null?t:e1(r.src))!=null?i:r.src},z0=r=>{var e;return(e=kt.get(r))==null?void 0:e.error},X0=r=>{var e,t;return(t=(e=kt.get(r))==null?void 0:e.streamType)!=null?t:Je.UNKNOWN},Q0=r=>{var e,t;return(t=(e=kt.get(r))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},Vh=r=>{var e,t;return(t=(e=kt.get(r))==null?void 0:e.seekable)!=null?t:r.seekable},Z0=r=>{var e;let t=(e=kt.get(r))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let i=Vh(r);return i.length?i.end(i.length-1)-t:Number.NaN},i1=(r,e,t=.001)=>Math.abs(r-e)<=t,J0=(r,e,t=.001)=>r>e||i1(r,e,t),r1=r=>r.paused&&J0(r.currentTime,r.duration),Kh=(r,e)=>r.loop||!!e?r.ended:r.ended||r1(r),ev=(r,e,t)=>{Wh(e,t);let{metadata:i={}}=r,{view_session_id:s=ZA()}=i,n=t1(r);i.view_session_id=s,i.video_id=n,r.metadata=i,kt.set(e,{});let a=s1(r,e);a1(r,e,a),o1(r,e,a),VA(e);let o=BA(r,e,a),l=$A(r,e,a);return{engine:a,setAutoplay:o,setPreload:l}},Wh=(r,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),(r==null?void 0:r.mux)&&!r.mux.deleted&&(r.mux.destroy(),delete r.mux),r&&(r.removeAttribute("src"),r.load(),r.removeEventListener("error",sv),r.removeEventListener("error",Fh),r.removeEventListener("durationchange",rv),kt.delete(r),r.dispatchEvent(new Event("teardown")))};function tv(r,e){var t;let i=Pl(r);if(i!==br.M3U8)return!0;let s=!i||((t=e.canPlayType(i))!=null?t:!0),{preferPlayback:n}=r,a=n===di.MSE,o=n===di.NATIVE;return s&&(o||!(q0&&(a||QA)))}var s1=(r,e)=>{let{debug:t,streamType:i,startTime:s=-1,metadata:n,preferCmcd:a}=r,o=Pl(r)===br.M3U8,l=tv(r,e);if(o&&!l&&q0){let d={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=n1(i),u=a!==Nh.NONE?{useHeaders:a===Nh.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new dt({debug:t,startPosition:s,cmcd:u,...d,...c})}},n1=r=>r===Je.LIVE?{backBufferLength:8}:{},iv=({playbackId:r,src:e,customDomain:t})=>{if(r)return!0;if(typeof e!="string")return!1;let i=window==null?void 0:window.location.href,s=new URL(e,i).hostname.toLocaleLowerCase();return s.includes(W0)||!!t&&s.includes(t.toLocaleLowerCase())},a1=(r,e,t)=>{var i;let{envKey:s}=r,n=iv(r);if(s||n){let{playerInitTime:a,playerSoftwareName:o,playerSoftwareVersion:l,beaconCollectionDomain:d,debug:c,disableCookies:u}=r,h={...r.metadata,video_title:((i=r==null?void 0:r.metadata)==null?void 0:i.video_title)||void 0},f=g=>typeof g.player_error_code=="string"?!1:typeof r.errorTranslator=="function"?r.errorTranslator(g):g;Ol.default.monitor(e,{debug:c,beaconCollectionDomain:d,hlsjs:t,Hls:t?dt:void 0,automaticErrorTracking:!1,errorTranslator:f,disableCookies:u,data:{...s?{env_key:s}:{},player_software_name:o,player_software:o,player_software_version:l,player_init_time:a,...h}})}},o1=(r,e,t)=>{var i;let s=tv(r,e),{src:n}=r;if(e&&s){let a=Pl(r);typeof n=="string"?(e.preload==="none"?bi(e,"loadstart",()=>C0(n,e,a)):C0(n,e,a),e.setAttribute("src",n),r.startTime&&(((i=kt.get(e))!=null?i:{}).startTime=r.startTime,e.addEventListener("durationchange",rv,{once:!0}))):e.removeAttribute("src"),e.addEventListener("error",sv),e.addEventListener("error",Fh),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(l=>{l.remove()})},{once:!0});let o=()=>{e.ended||!Kh(e)||e.dispatchEvent(new Event("ended"))};bi(e,"pause",o),bi(e,"seeked",o),bi(e,"play",()=>{e.ended||!J0(e.currentTime,e.duration)||(e.currentTime=e.seekable.start(0))})}else t&&n?(t.once(dt.Events.LEVEL_LOADED,(a,o)=>{jA(o.details,e,t)}),t.on(dt.Events.ERROR,(a,o)=>{let l={[dt.ErrorTypes.NETWORK_ERROR]:tt.MEDIA_ERR_NETWORK,[dt.ErrorTypes.MEDIA_ERROR]:tt.MEDIA_ERR_DECODE},d=new tt("",l[o.type]);d.fatal=o.fatal,d.data=o,e.dispatchEvent(new CustomEvent("error",{detail:d}))}),e.addEventListener("error",Fh),HA(r,t),GA(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 rv(r){var e;let t=r.target,i=(e=kt.get(t))==null?void 0:e.startTime;if(!!i&&PA(t.seekable,t.duration,i)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=i,s&&(t.preload="auto")}}async function sv(r){if(!r.isTrusted)return;r.stopImmediatePropagation();let e=r.target;if(!(e!=null&&e.error))return;let{message:t,code:i}=e.error,s=new tt(t,i);if(e.src&&(i!==tt.MEDIA_ERR_DECODE||i!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}e.dispatchEvent(new CustomEvent("error",{detail:s}))}function Fh(r){var e,t;if(!(r instanceof CustomEvent)||!(r.detail instanceof tt))return;let i=r.target,s=r.detail;!s||!s.fatal||(((e=kt.get(i))!=null?e:{}).error=s,(t=i.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var l1=Object.defineProperty,d1=(r,e,t)=>e in r?l1(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ge=(r,e,t)=>(d1(r,typeof e!="symbol"?e+"":e,t),t),of=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},H=(r,e,t)=>(of(r,e,"read from private field"),t?t.call(r):e.get(r)),le=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ue=(r,e,t,i)=>(of(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),it=(r,e,t)=>(of(r,e,"access private method"),t),ql=class{addEventListener(){}removeEventListener(){}dispatchEvent(r){return!0}};if(typeof DocumentFragment=="undefined"){class r extends ql{}globalThis.DocumentFragment=r}var lf=class extends ql{},c1=class extends ql{},u1={get(r){},define(r,e,t){},upgrade(r){},whenDefined(r){return Promise.resolve(lf)}},Ul,h1=class{constructor(r,e={}){le(this,Ul,void 0),ue(this,Ul,e==null?void 0:e.detail)}get detail(){return H(this,Ul)}initCustomEvent(){}};Ul=new WeakMap;function f1(r,e){return new lf}var cv={document:{createElement:f1},DocumentFragment,customElements:u1,CustomEvent:h1,EventTarget:ql,HTMLElement:lf,HTMLVideoElement:c1},uv=typeof window=="undefined"||typeof globalThis.customElements=="undefined",Fl=uv?cv:globalThis,Tw=uv?cv.document:globalThis.document,m1=()=>{try{return"0.16.5"}catch{}return"UNKNOWN"},p1=m1(),g1=()=>p1,nv=r=>{var e,t,i,s,n,a,o,l,d,c,u,h,f,g,E,T,A,k,L,N,D,$,O,G,q,P,X,z,Ae,Ee,be,we,Se,Z,ne,se,xe,Ie,Ve,ht;return e=class extends r{constructor(){super(),le(this,X),le(this,Ae),le(this,be),le(this,Se),le(this,ne),le(this,xe),le(this,Ve),Ge(this,"castEnabled",!1),le(this,D,{paused:!1}),le(this,$,void 0),le(this,O,{}),le(this,G,void 0),le(this,q,void 0),le(this,P,void 0),e.instances.add(this),it(this,ne,se).call(this)}static get castElement(){return H(e,t)}static get castEnabled(){return H(e,i)}static get castState(){var V;return(V=H(e,d,c))==null?void 0:V.getCastState()}static async exitCast(){try{await H(e,d,c).endCurrentSession(!0)}catch(V){console.error(V);return}}get castPlayer(){if(e.castElement===this)return H(this,$)}attributeChangedCallback(V){if(this.castPlayer)switch(V){case"cast-stream-type":case"cast-src":this.load();break}}async requestCast(V={}){var ee;it(ee=e,L,N).call(ee,V),ue(e,t,this),Object.entries(H(this,O)).forEach(([ke,et])=>{H(this,$).controller.addEventListener(ke,et)});try{await H(e,d,c).requestSession()}catch{ue(e,t,void 0);return}H(this,D).paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(ke){console.error(ke)}}async load(){var V,ee;if(!this.castPlayer)return super.load();let ke=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),et=[...this.querySelectorAll("track")].filter(({kind:Jt,src:_i})=>_i&&(Jt==="subtitles"||Jt==="captions")),_t=[],zt=0;et.length&&(ke.tracks=et.map(Jt=>{let _i=++zt;_t.length===0&&Jt.track.mode==="showing"&&_t.push(_i);let Ai=new chrome.cast.media.Track(_i,chrome.cast.media.TrackType.TEXT);return Ai.trackContentId=Jt.src,Ai.trackContentType="text/vtt",Ai.subtype=Jt.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,Ai.name=Jt.label,Ai.language=Jt.srclang,Ai})),this.castStreamType==="live"?ke.streamType=chrome.cast.media.StreamType.LIVE:ke.streamType=chrome.cast.media.StreamType.BUFFERED,ke.metadata=new chrome.cast.media.GenericMediaMetadata,ke.metadata.title=this.title,ke.metadata.images=[{url:this.poster}];let nr=new chrome.cast.media.LoadRequest(ke);nr.currentTime=(V=super.currentTime)!=null?V:0,nr.autoplay=!H(this,D).paused,nr.activeTrackIds=_t,await((ee=H(e,u,h))==null?void 0:ee.loadMedia(nr)),this.dispatchEvent(new Event("volumechange"))}play(){var V;if(this.castPlayer){this.castPlayer.isPaused&&((V=this.castPlayer.controller)==null||V.playOrPause());return}return super.play()}pause(){var V;if(this.castPlayer){this.castPlayer.isPaused||(V=this.castPlayer.controller)==null||V.playOrPause();return}super.pause()}get castSrc(){var V,ee,ke;return(ke=(ee=this.getAttribute("cast-src"))!=null?ee:(V=this.querySelector("source"))==null?void 0:V.src)!=null?ke:this.currentSrc}set castSrc(V){this.castSrc!=V&&this.setAttribute("cast-src",`${V}`)}get castContentType(){var V;return(V=this.getAttribute("cast-content-type"))!=null?V:void 0}set castContentType(V){this.setAttribute("cast-content-type",`${V}`)}get castStreamType(){var V,ee;return(ee=(V=this.getAttribute("cast-stream-type"))!=null?V:this.streamType)!=null?ee:void 0}set castStreamType(V){this.setAttribute("cast-stream-type",`${V}`)}get readyState(){if(this.castPlayer)switch(this.castPlayer.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 this.castPlayer?this.castPlayer.isPaused:super.paused}get muted(){var V;return this.castPlayer?(V=this.castPlayer)==null?void 0:V.isMuted:super.muted}set muted(V){var ee;if(this.castPlayer){(V&&!this.castPlayer.isMuted||!V&&this.castPlayer.isMuted)&&((ee=this.castPlayer.controller)==null||ee.muteOrUnmute());return}super.muted=V}get volume(){var V,ee;return this.castPlayer?(ee=(V=this.castPlayer)==null?void 0:V.volumeLevel)!=null?ee:1:super.volume}set volume(V){var ee;if(this.castPlayer){this.castPlayer.volumeLevel=V,(ee=this.castPlayer.controller)==null||ee.setVolumeLevel();return}super.volume=V}get duration(){var V,ee;return this.castPlayer&&H(this,X,z)?(ee=(V=this.castPlayer)==null?void 0:V.duration)!=null?ee:NaN:super.duration}get currentTime(){var V,ee;return this.castPlayer&&H(this,X,z)?(ee=(V=this.castPlayer)==null?void 0:V.currentTime)!=null?ee:0:super.currentTime}set currentTime(V){var ee;if(this.castPlayer){this.castPlayer.currentTime=V,(ee=this.castPlayer.controller)==null||ee.seek();return}super.currentTime=V}get onentercast(){return H(this,G)}set onentercast(V){H(this,G)&&(this.removeEventListener("entercast",H(this,G)),ue(this,G,null)),typeof V=="function"&&(ue(this,G,V),this.addEventListener("entercast",V))}get onleavecast(){return H(this,q)}set onleavecast(V){H(this,q)&&(this.removeEventListener("leavecast",H(this,q)),ue(this,q,null)),typeof V=="function"&&(ue(this,q,V),this.addEventListener("leavecast",V))}get oncastchange(){return H(this,P)}set oncastchange(V){H(this,P)&&(this.removeEventListener("castchange",H(this,P)),ue(this,P,null)),typeof V=="function"&&(ue(this,P,V),this.addEventListener("castchange",V))}},t=new WeakMap,i=new WeakMap,s=new WeakMap,n=new WeakSet,a=function(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable},o=new WeakSet,l=function(){return typeof cast!="undefined"&&cast.framework},d=new WeakSet,c=function(){if(H(e,o,l))return cast.framework.CastContext.getInstance()},u=new WeakSet,h=function(){var V;return(V=H(e,d,c))==null?void 0:V.getCurrentSession()},f=new WeakSet,g=function(){var V;return(V=H(e,u,h))==null?void 0:V.getSessionObj().media[0]},E=new WeakSet,T=function(V){return new Promise((ee,ke)=>{H(e,f,g).editTracksInfo(V,ee,ke)})},A=new WeakSet,k=function(V){return new Promise((ee,ke)=>{H(e,f,g).getStatus(V,ee,ke)})},L=new WeakSet,N=function(V){return H(e,d,c).setOptions({receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0,...V})},D=new WeakMap,$=new WeakMap,O=new WeakMap,G=new WeakMap,q=new WeakMap,P=new WeakMap,X=new WeakSet,z=function(){var V;return(V=this.castPlayer)==null?void 0:V.isMediaLoaded},Ae=new WeakSet,Ee=function(){H(e,t)===this&&(Object.entries(H(this,O)).forEach(([V,ee])=>{H(this,$).controller.removeEventListener(V,ee)}),ue(e,t,void 0),this.muted=H(this,$).isMuted,this.currentTime=H(this,$).savedPlayerState.currentTime,H(this,$).savedPlayerState.isPaused===!1&&this.play())},be=new WeakSet,we=function(){this.dispatchEvent(new CustomEvent("castchange",{detail:H(e,d,c).getCastState()}))},Se=new WeakSet,Z=async function(){var V,ee;let{SESSION_RESUMED:ke}=cast.framework.SessionState;if(H(e,d,c).getSessionState()===ke&&this.castSrc===((V=H(e,f,g))==null?void 0:V.media.contentId)){ue(e,t,this),Object.entries(H(this,O)).forEach(([et,_t])=>{H(this,$).controller.addEventListener(et,_t)});try{await it(ee=e,A,k).call(ee,new chrome.cast.media.GetStatusRequest)}catch(et){console.error(et)}H(this,O)[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED](),H(this,O)[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},ne=new WeakSet,se=function(){var V;!H(e,o,l)||this.castEnabled||(this.castEnabled=!0,it(V=e,L,N).call(V),this.textTracks.addEventListener("change",it(this,Ve,ht).bind(this)),it(this,be,we).call(this),ue(this,$,new cast.framework.RemotePlayer),new cast.framework.RemotePlayerController(H(this,$)),ue(this,O,{[cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:ee})=>{ee===!1&&it(this,Ae,Ee).call(this),this.dispatchEvent(new Event(ee?"entercast":"leavecast"))},[cast.framework.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.dispatchEvent(new Event("durationchange"))},[cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{!H(this,X,z)||this.dispatchEvent(new Event("timeupdate"))},[cast.framework.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.dispatchEvent(new Event("resize"))},[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.dispatchEvent(new Event(this.paused?"pause":"play"))},[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var ee,ke;((ee=this.castPlayer)==null?void 0:ee.playerState)!==chrome.cast.media.PlayerState.PAUSED&&this.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(ke=this.castPlayer)==null?void 0:ke.playerState]))},[cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{!H(this,X,z)||(await Promise.resolve(),it(this,xe,Ie).call(this))}}))},xe=new WeakSet,Ie=function(){it(this,Ve,ht).call(this)},Ve=new WeakSet,ht=async function(){var V,ee,ke,et,_t,zt;if(!this.castPlayer)return;let nr=((ee=(V=H(this,$).mediaInfo)==null?void 0:V.tracks)!=null?ee:[]).filter(({type:rt})=>rt===chrome.cast.media.TrackType.TEXT),Jt=[...this.textTracks].filter(({kind:rt})=>rt==="subtitles"||rt==="captions"),_i=nr.map(({language:rt,name:Rr,trackId:sn})=>{var nn;let{mode:Ta}=(nn=Jt.find(an=>an.language===rt&&an.label===Rr))!=null?nn:{};return Ta?{mode:Ta,trackId:sn}:!1}).filter(Boolean),Ai=_i.filter(({mode:rt})=>rt!=="showing").map(({trackId:rt})=>rt),ps=_i.find(({mode:rt})=>rt==="showing"),rn=(_t=(et=(ke=H(e,u,h))==null?void 0:ke.getSessionObj().media[0])==null?void 0:et.activeTrackIds)!=null?_t:[],ci=rn;if(rn.length&&(ci=ci.filter(rt=>!Ai.includes(rt))),ps!=null&&ps.trackId&&(ci=[...ci,ps.trackId]),ci=[...new Set(ci)],!((rt,Rr)=>rt.length===Rr.length&&rt.every(sn=>Rr.includes(sn)))(rn,ci))try{let rt=new chrome.cast.media.EditTracksInfoRequest(ci);await it(zt=e,E,T).call(zt,rt)}catch(rt){console.error(rt)}},le(e,n),le(e,o),le(e,d),le(e,u),le(e,f),le(e,E),le(e,A),le(e,L),Ge(e,"observedAttributes",["cast-src","cast-content-type","cast-stream-type"]),Ge(e,"instances",new Set),le(e,t,void 0),le(e,i,!1),Ge(e,"initCast",()=>{var V;H(e,n,a)?H(e,o,l)?H(V=e,s).call(V,chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>{var ee;return H(ee=e,s).call(ee,chrome.cast.isAvailable)}):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>{var ee;return H(ee=e,s).call(ee,chrome.cast.isAvailable)})}}),le(e,s,V=>{if(V){ue(e,i,!0);let{CAST_STATE_CHANGED:ee}=cast.framework.CastContextEventType;H(e,d,c).addEventListener(ee,et=>{e.instances.forEach(_t=>{var zt;return it(zt=_t,be,we).call(zt,et)})});let{SESSION_STATE_CHANGED:ke}=cast.framework.CastContextEventType;H(e,d,c).addEventListener(ke,et=>{e.instances.forEach(_t=>{var zt;return it(zt=_t,Se,Z).call(zt,et)})}),e.instances.forEach(et=>{var _t;return it(_t=et,ne,se).call(_t)})}}),e},Yh=globalThis.HTMLVideoElement?nv(HTMLVideoElement):nv(Object);globalThis.customElements&&!globalThis.customElements.get("castable-video")&&(customElements.define("castable-video",Yh,{extends:"video"}),globalThis.CastableVideoElement=Yh);Yh.initCast();var Yl=["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"],av,jh=(av=globalThis.document)==null?void 0:av.createElement("template");jh&&(jh.innerHTML=`
|
|
978
978
|
<style>
|
|
979
979
|
:host {
|
|
980
980
|
display: inline-block;
|
|
@@ -1011,8 +1011,8 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
1011
1011
|
}
|
|
1012
1012
|
</style>
|
|
1013
1013
|
<slot></slot>
|
|
1014
|
-
`);var df=(r,{tag:e,is:t})=>{var i,s,n,a,o,l,d,c,u,h,f,g,E;let T=(i=globalThis.document)==null?void 0:i.createElement(e,{is:t}),A=T?v1(T):[];return s=class extends r{constructor(){super(),le(this,c),le(this,h),le(this,g),le(this,l,void 0),le(this,d,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0)))}static get observedAttributes(){var k,L,N;return it(k=s,a,o).call(k),[...(N=(L=T==null?void 0:T.constructor)==null?void 0:L.observedAttributes)!=null?N:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var k,L;return(L=(k=H(this,d))!=null?k:this.shadowRoot.querySelector(e))!=null?L:this.querySelector(e)}set nativeEl(k){ue(this,d,k)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(k){this.toggleAttribute("muted",Boolean(k))}get src(){return this.getAttribute("src")}set src(k){this.setAttribute("src",`${k}`)}get preload(){var k,L;return(L=this.getAttribute("preload"))!=null?L:(k=this.nativeEl)==null?void 0:k.preload}set preload(k){this.setAttribute("preload",`${k}`)}attributeChangedCallback(k,L,N){it(this,c,u).call(this),it(this,g,E).call(this,k,L,N)}connectedCallback(){it(this,c,u).call(this)}},n=new WeakMap,a=new WeakSet,o=function(){if(H(this,n))return;ue(this,n,!0);let k=new Set(this.observedAttributes);k.delete("muted");for(let L of A)if(!(L in this.prototype))if(typeof T[L]=="function")this.prototype[L]=function(...N){return it(this,c,u).call(this),(()=>this.call?this.call(L,...N):this.nativeEl[L].apply(this.nativeEl,N))()};else{let N={get(){var D,$,O;it(this,c,u).call(this);let G=L.toLowerCase();if(k.has(G)){let q=this.getAttribute(G);return q===null?!1:q===""?!0:q}return(O=(D=this.get)==null?void 0:D.call(this,L))!=null?O:($=this.nativeEl)==null?void 0:$[L]}};L!==L.toUpperCase()&&(N.set=function(D){it(this,c,u).call(this);let $=L.toLowerCase();if(k.has($)){D===!0||D===!1||D==null?this.toggleAttribute($,Boolean(D)):this.setAttribute($,D);return}if(this.set){this.set(L,D);return}this.nativeEl[L]=D}),Object.defineProperty(this.prototype,L,N)}},l=new WeakMap,d=new WeakMap,c=new WeakSet,u=function(){var k,L;if(H(this,l))return;if(ue(this,l,!0),!this.nativeEl){let $=document.createElement(e,{is:t});$.part=e,this.shadowRoot.append($)}this.nativeEl.muted=this.hasAttribute("muted");for(let $ of A)it(this,h,f).call(this,$);let N=new Map,D=this.shadowRoot.querySelector("slot:not([name])");D==null||D.addEventListener("slotchange",()=>{let $=new Map(N);D.assignedElements().filter(O=>["track","source"].includes(O.localName)).forEach(O=>{var G,q;$.delete(O);let P=N.get(O);P||(P=O.cloneNode(),N.set(O,P)),(q=(G=this.nativeEl).append)==null||q.call(G,P)}),$.forEach(O=>O.remove())});for(let $ of this.constructor.Events)(L=(k=this.shadowRoot).addEventListener)==null||L.call(k,$,O=>{O.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(O.type,{detail:O.detail}))},!0)},h=new WeakSet,f=function(k){if(Object.prototype.hasOwnProperty.call(this,k)){let L=this[k];delete this[k],this[k]=L}},g=new WeakSet,E=function(k,L,N){var D,$,O,G;["id","class"].includes(k)||(N===null?($=(D=this.nativeEl).removeAttribute)==null||$.call(D,k):(G=(O=this.nativeEl).setAttribute)==null||G.call(O,k,N))},le(s,a),Ge(s,"Events",Yl),Ge(s,"template",e.endsWith("audio")?jh:zh),le(s,n,void 0),s};function v1(r){let e=[];for(let t=Object.getPrototypeOf(r);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t))e.push(...Object.getOwnPropertyNames(t));return e}var Aw=globalThis.document?df(HTMLElement,{tag:"video"}):class{},Sw=globalThis.document?df(HTMLElement,{tag:"audio"}):class{},jl=class extends Event{constructor(r,e){super(r),Ge(this,"track"),this.track=e.track}},Xh=new WeakMap;function ie(r){var e;return(e=Xh.get(r))!=null?e:E1(r,{})}function E1(r,e){let t=Xh.get(r);return t||Xh.set(r,t={}),Object.assign(t,e)}function Qh(r,e){let t=r.videoTracks;ie(e).media=r,ie(e).renditionSet||(ie(e).renditionSet=new Set);let i=ie(t).trackSet;i.add(e);let s=i.size-1;s in Jh.prototype||Object.defineProperty(Jh.prototype,s,{get(){return[...ie(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new jl("addtrack",{track:e}))})}function Zh(r){var e;let t=(e=ie(r).media)==null?void 0:e.videoTracks;!t||(ie(t).trackSet.delete(r),queueMicrotask(()=>{t.dispatchEvent(new jl("removetrack",{track:r}))}))}function b1(r){var e;let t=(e=ie(r).media.videoTracks)!=null?e:[],i=!1;for(let s of t)s!==r&&(s.selected=!1,i=!0);if(i){if(ie(t).changeRequested)return;ie(t).changeRequested=!0,queueMicrotask(()=>{delete ie(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var Yr,jr,zr,qs,Xn,Jh=class extends EventTarget{constructor(){super(),le(this,qs),le(this,Yr,void 0),le(this,jr,void 0),le(this,zr,void 0),ie(this).trackSet=new Set}[Symbol.iterator](){return H(this,qs,Xn).values()}get length(){return H(this,qs,Xn).size}getTrackById(r){var e;return(e=[...H(this,qs,Xn)].find(t=>t.id===r))!=null?e:null}get selectedIndex(){return[...H(this,qs,Xn)].findIndex(r=>r.selected)}get onaddtrack(){return H(this,Yr)}set onaddtrack(r){H(this,Yr)&&(this.removeEventListener("addtrack",H(this,Yr)),ue(this,Yr,void 0)),typeof r=="function"&&(ue(this,Yr,r),this.addEventListener("addtrack",r))}get onremovetrack(){return H(this,jr)}set onremovetrack(r){H(this,jr)&&(this.removeEventListener("removetrack",H(this,jr)),ue(this,jr,void 0)),typeof r=="function"&&(ue(this,jr,r),this.addEventListener("removetrack",r))}get onchange(){return H(this,zr)}set onchange(r){H(this,zr)&&(this.removeEventListener("change",H(this,zr)),ue(this,zr,void 0)),typeof r=="function"&&(ue(this,zr,r),this.addEventListener("change",r))}};Yr=new WeakMap,jr=new WeakMap,zr=new WeakMap,qs=new WeakSet,Xn=function(){return ie(this).trackSet};var zl=class extends Event{constructor(r,e){super(r),Ge(this,"rendition"),this.rendition=e.rendition}};function y1(r,e){let t=ie(r).media.videoRenditions;ie(e).media=ie(r).media,ie(e).track=r;let i=ie(r).renditionSet;i.add(e);let s=i.size-1;s in ef.prototype||Object.defineProperty(ef.prototype,s,{get(){return Ys(this)[s]}}),queueMicrotask(()=>{!r.selected||t.dispatchEvent(new zl("addrendition",{rendition:e}))})}function T1(r){let e=ie(r).media.videoRenditions,t=ie(r).track;ie(t).renditionSet.delete(r),queueMicrotask(()=>{!ie(r).track.selected||e.dispatchEvent(new zl("removerendition",{rendition:r}))})}function _1(r){let e=ie(r).media.videoRenditions;!e||ie(e).changeRequested||(ie(e).changeRequested=!0,queueMicrotask(()=>{delete ie(e).changeRequested,ie(r).track.selected&&e.dispatchEvent(new Event("change"))}))}function Ys(r){return[...ie(r).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...ie(e).renditionSet])}var Xr,Qr,Zr,ef=class extends EventTarget{constructor(){super(...arguments),le(this,Xr,void 0),le(this,Qr,void 0),le(this,Zr,void 0)}[Symbol.iterator](){return Ys(this).values()}get length(){return Ys(this).length}getRenditionById(r){var e;return(e=Ys(this).find(t=>`${t.id}`==`${r}`))!=null?e:null}get selectedIndex(){return Ys(this).findIndex(r=>r.selected)}set selectedIndex(r){for(let[e,t]of Ys(this).entries())t.selected=e===r}get onaddrendition(){return H(this,Xr)}set onaddrendition(r){H(this,Xr)&&(this.removeEventListener("addrendition",H(this,Xr)),ue(this,Xr,void 0)),typeof r=="function"&&(ue(this,Xr,r),this.addEventListener("addrendition",r))}get onremoverendition(){return H(this,Qr)}set onremoverendition(r){H(this,Qr)&&(this.removeEventListener("removerendition",H(this,Qr)),ue(this,Qr,void 0)),typeof r=="function"&&(ue(this,Qr,r),this.addEventListener("removerendition",r))}get onchange(){return H(this,Zr)}set onchange(r){H(this,Zr)&&(this.removeEventListener("change",H(this,Zr)),ue(this,Zr,void 0)),typeof r=="function"&&(ue(this,Zr,r),this.addEventListener("change",r))}};Xr=new WeakMap,Qr=new WeakMap,Zr=new WeakMap;var Qn,A1=class{constructor(){Ge(this,"src"),Ge(this,"id"),Ge(this,"width"),Ge(this,"height"),Ge(this,"bitrate"),Ge(this,"frameRate"),Ge(this,"codec"),le(this,Qn,!1)}get selected(){return H(this,Qn)}set selected(r){H(this,Qn)!==r&&(ue(this,Qn,r),_1(this))}};Qn=new WeakMap;var Zn,hv=class{constructor(){Ge(this,"id"),Ge(this,"kind"),Ge(this,"label",""),Ge(this,"language",""),Ge(this,"sourceBuffer"),le(this,Zn,!1)}addRendition(r,e,t,i,s,n){let a=new A1;return a.src=r,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=i,y1(this,a),a}removeRendition(r){T1(r)}get selected(){return H(this,Zn)}set selected(r){H(this,Zn)!==r&&(ue(this,Zn,r),r===!0&&b1(this))}};Zn=new WeakMap;function S1(r,e){let t=ie(r).media.audioRenditions;ie(e).media=ie(r).media,ie(e).track=r;let i=ie(r).renditionSet;i.add(e);let s=i.size-1;s in tf.prototype||Object.defineProperty(tf.prototype,s,{get(){return js(this)[s]}}),queueMicrotask(()=>{!r.enabled||t.dispatchEvent(new zl("addrendition",{rendition:e}))})}function x1(r){let e=ie(r).media.audioRenditions,t=ie(r).track;ie(t).renditionSet.delete(r),queueMicrotask(()=>{!ie(r).track.enabled||e.dispatchEvent(new zl("removerendition",{rendition:r}))})}function I1(r){let e=ie(r).media.audioRenditions;!e||ie(e).changeRequested||(ie(e).changeRequested=!0,queueMicrotask(()=>{delete ie(e).changeRequested,ie(r).track.enabled&&e.dispatchEvent(new Event("change"))}))}function js(r){return[...ie(r).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...ie(e).renditionSet])}var Jr,es,ts,tf=class extends EventTarget{constructor(){super(...arguments),le(this,Jr,void 0),le(this,es,void 0),le(this,ts,void 0)}[Symbol.iterator](){return js(this).values()}get length(){return js(this).length}getRenditionById(r){var e;return(e=js(this).find(t=>`${t.id}`==`${r}`))!=null?e:null}get selectedIndex(){return js(this).findIndex(r=>r.selected)}set selectedIndex(r){for(let[e,t]of js(this).entries())t.selected=e===r}get onaddrendition(){return H(this,Jr)}set onaddrendition(r){H(this,Jr)&&(this.removeEventListener("addrendition",H(this,Jr)),ue(this,Jr,void 0)),typeof r=="function"&&(ue(this,Jr,r),this.addEventListener("addrendition",r))}get onremoverendition(){return H(this,es)}set onremoverendition(r){H(this,es)&&(this.removeEventListener("removerendition",H(this,es)),ue(this,es,void 0)),typeof r=="function"&&(ue(this,es,r),this.addEventListener("removerendition",r))}get onchange(){return H(this,ts)}set onchange(r){H(this,ts)&&(this.removeEventListener("change",H(this,ts)),ue(this,ts,void 0)),typeof r=="function"&&(ue(this,ts,r),this.addEventListener("change",r))}};Jr=new WeakMap,es=new WeakMap,ts=new WeakMap;var Jn,L1=class{constructor(){Ge(this,"src"),Ge(this,"id"),Ge(this,"bitrate"),Ge(this,"codec"),le(this,Jn,!1)}get selected(){return H(this,Jn)}set selected(r){H(this,Jn)!==r&&(ue(this,Jn,r),I1(this))}};Jn=new WeakMap;function rf(r,e){let t=r.audioTracks;ie(e).media=r,ie(e).renditionSet||(ie(e).renditionSet=new Set);let i=ie(t).trackSet;i.add(e);let s=i.size-1;s in nf.prototype||Object.defineProperty(nf.prototype,s,{get(){return[...ie(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new jl("addtrack",{track:e}))})}function sf(r){var e;let t=(e=ie(r).media)==null?void 0:e.audioTracks;!t||(ie(t).trackSet.delete(r),queueMicrotask(()=>{t.dispatchEvent(new jl("removetrack",{track:r}))}))}function k1(r){let e=ie(r).media.audioTracks;!e||ie(e).changeRequested||(ie(e).changeRequested=!0,queueMicrotask(()=>{delete ie(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var is,rs,ss,ea,Bl,nf=class extends EventTarget{constructor(){super(),le(this,ea),le(this,is,void 0),le(this,rs,void 0),le(this,ss,void 0),ie(this).trackSet=new Set}[Symbol.iterator](){return H(this,ea,Bl).values()}get length(){return H(this,ea,Bl).size}getTrackById(r){var e;return(e=[...H(this,ea,Bl)].find(t=>t.id===r))!=null?e:null}get onaddtrack(){return H(this,is)}set onaddtrack(r){H(this,is)&&(this.removeEventListener("addtrack",H(this,is)),ue(this,is,void 0)),typeof r=="function"&&(ue(this,is,r),this.addEventListener("addtrack",r))}get onremovetrack(){return H(this,rs)}set onremovetrack(r){H(this,rs)&&(this.removeEventListener("removetrack",H(this,rs)),ue(this,rs,void 0)),typeof r=="function"&&(ue(this,rs,r),this.addEventListener("removetrack",r))}get onchange(){return H(this,ss)}set onchange(r){H(this,ss)&&(this.removeEventListener("change",H(this,ss)),ue(this,ss,void 0)),typeof r=="function"&&(ue(this,ss,r),this.addEventListener("change",r))}};is=new WeakMap,rs=new WeakMap,ss=new WeakMap,ea=new WeakSet,Bl=function(){return ie(this).trackSet};var ta,fv=class{constructor(){Ge(this,"id"),Ge(this,"kind"),Ge(this,"label",""),Ge(this,"language",""),Ge(this,"sourceBuffer"),le(this,ta,!1)}addRendition(r,e,t){let i=new L1;return i.src=r,i.codec=e,i.bitrate=t,S1(this,i),i}removeRendition(r){x1(r)}get enabled(){return H(this,ta)}set enabled(r){H(this,ta)!==r&&(ue(this,ta,r),k1(this))}};ta=new WeakMap;var lv=Wl(globalThis.HTMLMediaElement,"video"),dv=Wl(globalThis.HTMLMediaElement,"audio");function R1(r){if(!(r!=null&&r.prototype))return r;let e=Wl(r,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(r.prototype,"videoTracks",{get(){return w1(this)}});let t=Wl(r,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(r.prototype,"audioTracks",{get(){return D1(this)}}),"addVideoTrack"in r.prototype||(r.prototype.addVideoTrack=function(n,a="",o=""){let l=new hv;return l.kind=n,l.label=a,l.language=o,Qh(this,l),l}),"removeVideoTrack"in r.prototype||(r.prototype.removeVideoTrack=Zh),"addAudioTrack"in r.prototype||(r.prototype.addAudioTrack=function(n,a="",o=""){let l=new fv;return l.kind=n,l.label=a,l.language=o,rf(this,l),l}),"removeAudioTrack"in r.prototype||(r.prototype.removeAudioTrack=sf),"videoRenditions"in r.prototype||Object.defineProperty(r.prototype,"videoRenditions",{get(){return i(this)}});let i=n=>{let a=ie(n).videoRenditions;return a||(a=new ef,ie(a).media=n,ie(n).videoRenditions=a),a};"audioRenditions"in r.prototype||Object.defineProperty(r.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=ie(n).audioRenditions;return a||(a=new tf,ie(a).media=n,ie(n).audioRenditions=a),a};return r}function Wl(r,e){var t;if(r!=null&&r.prototype)return(t=Object.getOwnPropertyDescriptor(r.prototype,`${e}Tracks`))==null?void 0:t.get}function w1(r){var e;let t=ie(r).videoTracks;if(!t&&(t=new Jh,ie(r).videoTracks=t,lv)){let i=lv.call((e=r.nativeEl)!=null?e:r);for(let s of i)Qh(r,s);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof hv)){for(let n of i)Zh(n);return}Qh(r,s.track)}),i.addEventListener("removetrack",s=>{Zh(s.track)})}return t}function D1(r){var e;let t=ie(r).audioTracks;if(!t&&(t=new nf,ie(r).audioTracks=t,dv)){let i=dv.call((e=r.nativeEl)!=null?e:r);for(let s of i)rf(r,s);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof fv)){for(let n of i)sf(n);return}rf(r,s.track)}),i.addEventListener("removetrack",s=>{sf(s.track)})}return t}Yl.push("castchange","entercast","leavecast");var qh=R1(df(Fl.HTMLElement,{tag:"video",is:"castable-video"})),j={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_COOKIES:"disable-cookies",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",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"},C1=Object.values(j),M1=g1(),O1="mux-video",Gi,ia,$l,ra,Hl,Gl,Vl,sa,Kl,af=class extends qh{constructor(){super(),le(this,sa),le(this,Gi,void 0),le(this,ia,void 0),le(this,$l,void 0),le(this,ra,{}),le(this,Hl,void 0),le(this,Gl,void 0),le(this,Vl,void 0),ue(this,$l,Y0())}static get observedAttributes(){var r;return[...C1,...(r=qh.observedAttributes)!=null?r:[]]}get preferCmcd(){var r;return(r=this.getAttribute(j.PREFER_CMCD))!=null?r:void 0}set preferCmcd(r){r!==this.preferCmcd&&(r?Ws.includes(r)?this.setAttribute(j.PREFER_CMCD,r):console.warn(`Invalid value for preferCmcd. Must be one of ${Ws.join()}`):this.removeAttribute(j.PREFER_CMCD))}get playerInitTime(){return H(this,$l)}get playerSoftwareName(){var r;return(r=H(this,Gl))!=null?r:O1}set playerSoftwareName(r){ue(this,Gl,r)}get playerSoftwareVersion(){var r;return(r=H(this,Hl))!=null?r:M1}set playerSoftwareVersion(r){ue(this,Hl,r)}get _hls(){var r;return(r=H(this,Gi))==null?void 0:r.engine}get mux(){var r;return(r=this.nativeEl)==null?void 0:r.mux}get error(){var r;return(r=z0(this.nativeEl))!=null?r:null}get errorTranslator(){return H(this,Vl)}set errorTranslator(r){ue(this,Vl,r)}get src(){return this.getAttribute("src")}set src(r){r!==this.src&&(r==null?this.removeAttribute("src"):this.setAttribute("src",r))}get type(){var r;return(r=this.getAttribute(j.TYPE))!=null?r:void 0}set type(r){r!==this.type&&(r?this.setAttribute(j.TYPE,r):this.removeAttribute(j.TYPE))}get autoplay(){let r=this.getAttribute("autoplay");return r===null?!1:r===""?!0:r}set autoplay(r){let e=this.autoplay;r!==e&&(r?this.setAttribute("autoplay",typeof r=="string"?r:""):this.removeAttribute("autoplay"))}get preload(){let r=this.getAttribute("preload");return r===""?"auto":["none","metadata","auto"].includes(r)?r:super.preload}set preload(r){r!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(r)?this.setAttribute("preload",r):this.removeAttribute("preload"))}get debug(){return this.getAttribute(j.DEBUG)!=null}set debug(r){r!==this.debug&&(r?this.setAttribute(j.DEBUG,""):this.removeAttribute(j.DEBUG))}get disableCookies(){return this.hasAttribute(j.DISABLE_COOKIES)}set disableCookies(r){r!==this.disableCookies&&(r?this.setAttribute(j.DISABLE_COOKIES,""):this.removeAttribute(j.DISABLE_COOKIES))}get startTime(){let r=this.getAttribute(j.START_TIME);if(r==null)return;let e=+r;return Number.isNaN(e)?void 0:e}set startTime(r){r!==this.startTime&&(r==null?this.removeAttribute(j.START_TIME):this.setAttribute(j.START_TIME,`${r}`))}get playbackId(){var r;return(r=this.getAttribute(j.PLAYBACK_ID))!=null?r:void 0}set playbackId(r){r!==this.playbackId&&(r?this.setAttribute(j.PLAYBACK_ID,r):this.removeAttribute(j.PLAYBACK_ID))}get maxResolution(){var r;return(r=this.getAttribute(j.MAX_RESOLUTION))!=null?r:void 0}set maxResolution(r){r!==this.maxResolution&&(r?this.setAttribute(j.MAX_RESOLUTION,r):this.removeAttribute(j.MAX_RESOLUTION))}get customDomain(){var r;return(r=this.getAttribute(j.CUSTOM_DOMAIN))!=null?r:void 0}set customDomain(r){r!==this.customDomain&&(r?this.setAttribute(j.CUSTOM_DOMAIN,r):this.removeAttribute(j.CUSTOM_DOMAIN))}get ended(){return Kh(this.nativeEl,this._hls)}get envKey(){var r;return(r=this.getAttribute(j.ENV_KEY))!=null?r:void 0}set envKey(r){r!==this.envKey&&(r?this.setAttribute(j.ENV_KEY,r):this.removeAttribute(j.ENV_KEY))}get beaconCollectionDomain(){var r;return(r=this.getAttribute(j.BEACON_COLLECTION_DOMAIN))!=null?r:void 0}set beaconCollectionDomain(r){r!==this.beaconCollectionDomain&&(r?this.setAttribute(j.BEACON_COLLECTION_DOMAIN,r):this.removeAttribute(j.BEACON_COLLECTION_DOMAIN))}get streamType(){var r;return(r=this.getAttribute(j.STREAM_TYPE))!=null?r:X0(this.nativeEl)}set streamType(r){r!==this.streamType&&(r?this.setAttribute(j.STREAM_TYPE,r):this.removeAttribute(j.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(j.TARGET_LIVE_WINDOW)?+this.getAttribute(j.TARGET_LIVE_WINDOW):Q0(this.nativeEl)}set targetLiveWindow(r){r!=this.targetLiveWindow&&(r==null?this.removeAttribute(j.TARGET_LIVE_WINDOW):this.setAttribute(j.TARGET_LIVE_WINDOW,`${+r}`))}get liveEdgeStart(){var r,e;if(this.hasAttribute(j.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,i=(r=this.nativeEl.seekable.end(0))!=null?r:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,i-t)}return Z0(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(j.LIVE_EDGE_OFFSET))return+this.getAttribute(j.LIVE_EDGE_OFFSET)}set liveEdgeOffset(r){r!=this.targetLiveWindow&&(r==null?this.removeAttribute(j.LIVE_EDGE_OFFSET):this.setAttribute(j.LIVE_EDGE_OFFSET,`${+r}`))}get seekable(){return Vh(this.nativeEl)}async addCuePoints(r){return Hh(this.nativeEl,r)}get activeCuePoint(){return Gh(this.nativeEl)}get cuePoints(){return G0(this.nativeEl)}getStartDate(){return V0(this.nativeEl,this._hls)}get currentPdt(){return K0(this.nativeEl,this._hls)}get preferPlayback(){let r=this.getAttribute(j.PREFER_PLAYBACK);if(r===di.MSE||r===di.NATIVE)return r}set preferPlayback(r){r!==this.preferPlayback&&(r===di.MSE||r===di.NATIVE?this.setAttribute(j.PREFER_PLAYBACK,r):this.removeAttribute(j.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(r=>r.startsWith("metadata-")&&![j.METADATA_URL].includes(r)).reduce((r,e)=>{let t=this.getAttribute(e);return t!=null&&(r[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),r},{}),...H(this,ra)}}set metadata(r){ue(this,ra,r!=null?r:{}),this.mux&&this.mux.emit("hb",H(this,ra))}load(){ue(this,Gi,ev(this,this.nativeEl,H(this,Gi)))}unload(){Wh(this.nativeEl,H(this,Gi)),ue(this,Gi,void 0)}attributeChangedCallback(r,e,t){var i,s;switch(qh.observedAttributes.includes(r)&&!["src","autoplay","preload"].includes(r)&&super.attributeChangedCallback(r,e,t),r){case j.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case j.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?it(this,sa,Kl).call(this):n&&!a?this.unload():n&&a&&(this.unload(),it(this,sa,Kl).call(this));break}case"autoplay":if(t===e)break;(i=H(this,Gi))==null||i.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=H(this,Gi))==null||s.setPreload(t);break;case j.PLAYBACK_ID:this.src=j0(t!=null?t:void 0,{maxResolution:this.maxResolution,domain:this.customDomain});break;case j.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 j.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 j.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case j.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}connectedCallback(){var r;(r=super.connectedCallback)==null||r.call(this),this.nativeEl&&this.src&&!H(this,Gi)&&it(this,sa,Kl).call(this)}disconnectedCallback(){this.unload()}};Gi=new WeakMap,ia=new WeakMap,$l=new WeakMap,ra=new WeakMap,Hl=new WeakMap,Gl=new WeakMap,Vl=new WeakMap,sa=new WeakSet,Kl=async function(){H(this,ia)||(await ue(this,ia,Promise.resolve()),ue(this,ia,null),this.load())};Fl.customElements.get("mux-video")||(Fl.customElements.define("mux-video",af),Fl.MuxVideoElement=af);var mv=af;var P1="en",ns={code:P1};var pv="en";function Re(r,e=!0){var s,n;let t=e&&(n=(s=ns)==null?void 0:s[r])!=null?n:r,i=e?ns.code:pv;return new cf(t,i)}var cf=class{constructor(e,t=(i=>(i=ns.code)!=null?i:pv)()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,i)=>{var s;return(s=e[i])!=null?s:""})}toString(){return this.message}};function gv(r){let e="";return Object.entries(r).forEach(([t,i])=>{i!=null&&(e+=`${Xl(t)}: ${i}; `)}),e?e.trim():void 0}function Xl(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Ql(r){return r.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Zi(r){if(r==null)return;let e=+r;return Number.isNaN(e)?void 0:e}function Zl(r){let e=N1(r).toString();return e?"?"+e:""}function N1(r){let e={};for(let t in r)r[t]!=null&&(e[t]=r[t]);return new URLSearchParams(e)}function yr(r){let e=(r!=null?r:"").split(".")[1];if(!e)return{};let t=e.replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}var uf=(r,e)=>!r||!e?!1:r.contains(e)?!0:uf(r,e.getRootNode().host);var hf="mux.com",U1=()=>{try{return"2.0.0"}catch{}return"UNKNOWN"},F1=U1(),ed=()=>F1,ff=(r,{maxResolution:e,token:t,domain:i=hf}={})=>{let a=!!t?{token:t}:{redundant_streams:!0,...e?{max_resolution:e}:{}};return`https://stream.${i}/${r}.m3u8${Zl(a)}`},vv=(r,{token:e,thumbnailTime:t,domain:i=hf}={})=>{let s=e==null?t:void 0,{aud:n}=yr(e);if(!(e&&n!=="t"))return`https://image.${i}/${r}/thumbnail.webp${Zl({token:e,time:s})}`},Ev=(r,{token:e,domain:t=hf}={})=>{let{aud:i}=yr(e);if(!(e&&i!=="s"))return`https://image.${t}/${r}/storyboard.vtt${Zl({token:e,format:"webp"})}`},na=r=>{if(!!r){if([Je.LIVE,Je.ON_DEMAND].includes(r))return r;if(r!=null&&r.includes("live"))return Je.LIVE}};var B1={crossorigin:"crossOrigin",playsinline:"playsInline"};function bv(r){var e;return(e=B1[r])!=null?e:Ql(r)}var as,os,Nt,Jl=class{constructor(e,t){ut(this,as,void 0);ut(this,os,void 0);ut(this,Nt,[]);ii(this,as,e),ii(this,os,t)}[Symbol.iterator](){return Ne(this,Nt).values()}get length(){return Ne(this,Nt).length}get value(){var e;return(e=Ne(this,Nt).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(ii(this,Nt,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return Ne(this,Nt)[e]}values(){return Ne(this,Nt).values()}keys(){return Ne(this,Nt).keys()}forEach(e){Ne(this,Nt).forEach(e)}add(...e){var t,i;e.forEach(s=>{this.contains(s)||Ne(this,Nt).push(s)}),!(this.value===""&&!((t=Ne(this,as))!=null&&t.hasAttribute(`${Ne(this,os)}`)))&&((i=Ne(this,as))==null||i.setAttribute(`${Ne(this,os)}`,`${this.value}`))}remove(...e){var t;e.forEach(i=>{Ne(this,Nt).splice(Ne(this,Nt).indexOf(i),1)}),(t=Ne(this,as))==null||t.setAttribute(`${Ne(this,os)}`,`${this.value}`)}contains(e){return Ne(this,Nt).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,os=new WeakMap,Nt=new WeakMap;var yv=`[mux-player ${ed()}]`;function Tr(...r){console.warn(yv,...r)}function yi(...r){console.error(yv,...r)}function mf(r){var t;let e=(t=r.message)!=null?t:"";if(r.context&&(e+=` ${r.context}`),r.file){let i="https://github.com/muxinc/elements/blob/main/errors/";e+=` ${Re("Read more: ")}
|
|
1015
|
-
${i}${r.file}`}Tr(e)}var Ot={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},ls={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},_v=Object.freeze({length:0,start(r){let e=r>>>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(r){let e=r>>>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}}),$1=Yl.filter(r=>r!=="error"),H1=Object.values(Ot).filter(r=>![Ot.PLAYSINLINE].includes(r)),G1=Object.values(ls);function Av(r){r.querySelectorAll(":scope > track").forEach(e=>{var t;(t=r.media)==null||t.append(e.cloneNode())}),$1.forEach(e=>{var t;(t=r.media)==null||t.addEventListener(e,i=>{r.dispatchEvent(new Event(i.type))})})}var pf=class extends nt.HTMLElement{static get observedAttributes(){return[...H1,...G1]}constructor(){super(),this.querySelectorAll(":scope > track").forEach(i=>{var s;(s=this.media)==null||s.append(i.cloneNode())});let e=i=>{for(let s of i)s.type==="childList"&&(s.removedNodes.forEach(n=>{var o,l;let a=(o=this.media)==null?void 0:o.querySelector(`track[src="${n.src}"]`);a&&((l=this.media)==null||l.removeChild(a))}),s.addedNodes.forEach(n=>{var a;(a=this.media)==null||a.append(n.cloneNode())}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0})}attributeChangedCallback(e,t,i){var s,n;switch(e){case ls.MUTED:{this.media&&(this.media.muted=i!=null,this.media.defaultMuted=i!=null);return}case ls.VOLUME:{let a=(s=Zi(i))!=null?s:1;this.media&&(this.media.volume=a);return}case ls.PLAYBACKRATE:{let a=(n=Zi(i))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.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 e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:_v}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:_v}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=Zi(this.getAttribute(ls.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(ls.PLAYBACKRATE,`${e}`):this.removeAttribute(ls.PLAYBACKRATE)}get crossOrigin(){return aa(this,Ot.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Ot.CROSSORIGIN,`${e}`)}get autoplay(){return aa(this,Ot.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(Ot.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(Ot.AUTOPLAY)}get loop(){return aa(this,Ot.LOOP)!=null}set loop(e){e?this.setAttribute(Ot.LOOP,""):this.removeAttribute(Ot.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=Boolean(e))}get defaultMuted(){return aa(this,Ot.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(Ot.MUTED,""):this.removeAttribute(Ot.MUTED)}get playsInline(){return aa(this,Ot.PLAYSINLINE)!=null}set playsInline(e){yi("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(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Ot.PRELOAD,e):this.removeAttribute(Ot.PRELOAD)}};function aa(r,e){return r.media?r.media.getAttribute(e):r.getAttribute(e)}var gf=pf;var V1=Object.defineProperty,K1=(r,e,t)=>e in r?V1(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W1=(r,e,t)=>(K1(r,typeof e!="symbol"?e+"":e,t),t),kv=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Le=(r,e,t)=>(kv(r,e,"read from private field"),t?t.call(r):e.get(r)),Vi=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ji=(r,e,t,i)=>(kv(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),zs,td,ds,oa,_r,Ar,Sr,cs,Xs,id,Ti,Sv=1,xv=0,q1=1,Y1={processCallback(r,e,t){if(!!t){for(let[i,s]of e)if(i in t){let n=t[i];typeof n=="boolean"&&s instanceof Ut&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Ut?s.element[s.attributeName]=n:s.value=n}}}},er=class extends w.DocumentFragment{constructor(e,t,i=Y1){var s;super(),Vi(this,zs,void 0),Vi(this,td,void 0),this.append(e.content.cloneNode(!0)),Ji(this,zs,Rv(this)),Ji(this,td,i),(s=i.createCallback)==null||s.call(i,this,Le(this,zs),t),i.processCallback(this,Le(this,zs),t)}update(e){Le(this,td).processCallback(this,Le(this,zs),e)}};zs=new WeakMap;td=new WeakMap;var Rv=(r,e=[])=>{let t,i;for(let s of r.attributes||[])if(s.value.includes("{{")){let n=new vf;for([t,i]of Lv(s.value))if(!t)n.append(i);else{let a=new Ut(r,s.name,s.namespaceURI);n.append(a),e.push([i,a])}s.value=n.toString()}for(let s of r.childNodes)if(s.nodeType===Sv&&!(s instanceof HTMLTemplateElement))Rv(s,e);else if(s.nodeType===Sv||s.data.includes("{{")){let n=[];if(s.data)for([t,i]of Lv(s.data))if(!t)n.push(new Text(i));else{let a=new tr(r);n.push(a),e.push([i,a])}else if(s instanceof HTMLTemplateElement){let a=new la(r,s);n.push(a),e.push([a.expression,a])}s.replaceWith(...n.flatMap(a=>a.replacementNodes||[a]))}return e},Iv={},Lv=r=>{let e="",t=0,i=Iv[r],s=0,n;if(i)return i;for(i=[];n=r[s];s++)n==="{"&&r[s+1]==="{"&&r[s-1]!=="\\"&&r[s+2]&&++t==1?(e&&i.push([xv,e]),e="",s++):n==="}"&&r[s+1]==="}"&&r[s-1]!=="\\"&&!--t?(i.push([q1,e.trim()]),e="",s++):e+=n||"";return e&&i.push([xv,(t>0?"{{":"")+e]),Iv[r]=i},j1=11,rd=class{get value(){return""}set value(e){}toString(){return this.value}},wv=new WeakMap,vf=class{constructor(){Vi(this,ds,[])}[Symbol.iterator](){return Le(this,ds).values()}get length(){return Le(this,ds).length}item(e){return Le(this,ds)[e]}append(...e){for(let t of e)t instanceof Ut&&wv.set(t,this),Le(this,ds).push(t)}toString(){return Le(this,ds).join("")}};ds=new WeakMap;var Ut=class extends rd{constructor(e,t,i){super(),Vi(this,cs),Vi(this,oa,""),Vi(this,_r,void 0),Vi(this,Ar,void 0),Vi(this,Sr,void 0),Ji(this,_r,e),Ji(this,Ar,t),Ji(this,Sr,i)}get attributeName(){return Le(this,Ar)}get attributeNamespace(){return Le(this,Sr)}get element(){return Le(this,_r)}get value(){return Le(this,oa)}set value(e){Le(this,oa)!==e&&(Ji(this,oa,e),!Le(this,cs,Xs)||Le(this,cs,Xs).length===1?e==null?Le(this,_r).removeAttributeNS(Le(this,Sr),Le(this,Ar)):Le(this,_r).setAttributeNS(Le(this,Sr),Le(this,Ar),e):Le(this,_r).setAttributeNS(Le(this,Sr),Le(this,Ar),Le(this,cs,Xs)))}get booleanValue(){return Le(this,_r).hasAttributeNS(Le(this,Sr),Le(this,Ar))}set booleanValue(e){if(!Le(this,cs,Xs)||Le(this,cs,Xs).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};oa=new WeakMap;_r=new WeakMap;Ar=new WeakMap;Sr=new WeakMap;cs=new WeakSet;Xs=function(){return wv.get(this)};var tr=class extends rd{constructor(e,t){super(),Vi(this,id,void 0),Vi(this,Ti,void 0),Ji(this,id,e),Ji(this,Ti,t?[...t]:[new Text])}get replacementNodes(){return Le(this,Ti)}get parentNode(){return Le(this,id)}get nextSibling(){return Le(this,Ti)[Le(this,Ti).length-1].nextSibling}get previousSibling(){return Le(this,Ti)[0].previousSibling}get value(){return Le(this,Ti).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(i=>i==null?[new Text]:i.forEach?[...i]:i.nodeType===j1?[...i.childNodes]:i.nodeType?[i]:[new Text(i)]);t.length||t.push(new Text),Ji(this,Ti,z1(Le(this,Ti)[0].parentNode,Le(this,Ti),t,this.nextSibling))}};id=new WeakMap;Ti=new WeakMap;var la=class extends tr{constructor(e,t){let i=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(i)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),W1(this,"directive"),this.expression=s,this.template=t,this.directive=i}};function z1(r,e,t,i=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)i=t[--d,--l];if(s==d)for(;s<l;)r.insertBefore(t[s++],i);if(s==l)for(;s<d;)r.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:i,n==o?n=a:s<l&&t[s]==a?(r.replaceChild(o,n),n=a):r.insertBefore(o,n);for(;n!=i;)a=n.nextSibling,r.removeChild(n),n=a}return t}var Dv={string:r=>String(r)},nd=class{constructor(e){this.template=e,this.state=void 0}},us=new WeakMap,hs=new WeakMap,Ef={partial:(r,e)=>{e[r.expression]=new nd(r.template)},if:(r,e)=>{var t;if(Mv(r.expression,e))if(us.get(r)!==r.template){us.set(r,r.template);let i=new er(r.template,e,ad);r.replace(i),hs.set(r,i)}else(t=hs.get(r))==null||t.update(e);else r.replace(""),us.delete(r),hs.delete(r)}},X1=Object.keys(Ef),ad={processCallback(r,e,t){var i,s;if(!!t)for(let[n,a]of e){if(a instanceof la){if(!a.directive){let l=X1.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(i=Ef[a.directive])==null||i.call(Ef,a,t);continue}let o=Mv(n,t);if(o instanceof nd){us.get(a)!==o.template?(us.set(a,o.template),o=new er(o.template,o.state,ad),a.value=o,hs.set(a,o)):(s=hs.get(a))==null||s.update(o.state);continue}o?(a instanceof Ut&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Ut?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,us.delete(a),hs.delete(a))):a instanceof Ut?a.value=void 0:(a.value=void 0,us.delete(a),hs.delete(a))}}},Cv={"!":r=>!r,"!!":r=>!!r,"==":(r,e)=>r==e,"!=":(r,e)=>r!=e,">":(r,e)=>r>e,">=":(r,e)=>r>=e,"<":(r,e)=>r<e,"<=":(r,e)=>r<=e,"??":(r,e)=>r!=null?r:e,"|":(r,e)=>{var t;return(t=Dv[e])==null?void 0:t.call(Dv,r)}};function Q1(r){return Z1(r,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function Mv(r,e={}){var t,i,s,n,a,o,l;let d=Q1(r);if(d.length===0||d.some(({type:c})=>!c))return da(r);if(((t=d[0])==null?void 0:t.token)===">"){let c=e[(i=d[1])==null?void 0:i.token];if(!c)return da(r);let u={...e};c.state=u;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let g=(s=h[f])==null?void 0:s.token,E=(n=h[f+1])==null?void 0:n.token,T=(a=h[f+2])==null?void 0:a.token;g&&E==="="&&(u[g]=ca(T,e))}return c}if(d.length===1)return sd(d[0])?ca(d[0].token,e):da(r);if(d.length===2){let c=(o=d[0])==null?void 0:o.token,u=Cv[c];if(!u||!sd(d[1]))return da(r);let h=ca(d[1].token,e);return u(h)}if(d.length===3){let c=(l=d[1])==null?void 0:l.token,u=Cv[c];if(!u||!sd(d[0])||!sd(d[2]))return da(r);let h=ca(d[0].token,e);if(c==="|")return u(h,d[2].token);let f=ca(d[2].token,e);return u(h,f)}}function da(r){return console.warn(`Warning: invalid expression \`${r}\``),!1}function sd({type:r}){return["number","boolean","string","param"].includes(r)}function ca(r,e){let t=r[0],i=r.slice(-1);return r==="true"||r==="false"?r==="true":t===i&&["'",'"'].includes(t)?r.slice(1,-1):La(r)?parseFloat(r):e[r]}function Z1(r,e){let t,i,s,n=[];for(;r;){s=null,t=r.length;for(let a in e)i=e[a].exec(r),i&&i.index<t&&(s={token:i[0],type:a,matches:i.slice(1)},t=i.index);t&&n.push({token:r.substr(0,t),type:void 0}),s&&n.push(s),r=r.substr(t+(s?s.token.length:0))}return n}var J1=Object.defineProperty,eS=(r,e,t)=>e in r?J1(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ha=(r,e,t)=>(eS(r,typeof e!="symbol"?e+"":e,t),t),Sf=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Tf=(r,e,t)=>(Sf(r,e,"read from private field"),t?t.call(r):e.get(r)),ua=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},fs=(r,e,t,i)=>(Sf(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),bf=(r,e,t)=>(Sf(r,e,"access private method"),t),Qs,od,Zs,_f,Ov,ld,Af,yf={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},Pv=Y.createElement("template");Pv.innerHTML=`
|
|
1014
|
+
`);var df=(r,{tag:e,is:t})=>{var i,s,n,a,o,l,d,c,u,h,f,g,E;let T=(i=globalThis.document)==null?void 0:i.createElement(e,{is:t}),A=T?v1(T):[];return s=class extends r{constructor(){super(),le(this,c),le(this,h),le(this,g),le(this,l,void 0),le(this,d,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0)))}static get observedAttributes(){var k,L,N;return it(k=s,a,o).call(k),[...(N=(L=T==null?void 0:T.constructor)==null?void 0:L.observedAttributes)!=null?N:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var k,L;return(L=(k=H(this,d))!=null?k:this.shadowRoot.querySelector(e))!=null?L:this.querySelector(e)}set nativeEl(k){ue(this,d,k)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(k){this.toggleAttribute("muted",Boolean(k))}get src(){return this.getAttribute("src")}set src(k){this.setAttribute("src",`${k}`)}get preload(){var k,L;return(L=this.getAttribute("preload"))!=null?L:(k=this.nativeEl)==null?void 0:k.preload}set preload(k){this.setAttribute("preload",`${k}`)}attributeChangedCallback(k,L,N){it(this,c,u).call(this),it(this,g,E).call(this,k,L,N)}connectedCallback(){it(this,c,u).call(this)}},n=new WeakMap,a=new WeakSet,o=function(){if(H(this,n))return;ue(this,n,!0);let k=new Set(this.observedAttributes);k.delete("muted");for(let L of A)if(!(L in this.prototype))if(typeof T[L]=="function")this.prototype[L]=function(...N){return it(this,c,u).call(this),(()=>this.call?this.call(L,...N):this.nativeEl[L].apply(this.nativeEl,N))()};else{let N={get(){var D,$,O;it(this,c,u).call(this);let G=L.toLowerCase();if(k.has(G)){let q=this.getAttribute(G);return q===null?!1:q===""?!0:q}return(O=(D=this.get)==null?void 0:D.call(this,L))!=null?O:($=this.nativeEl)==null?void 0:$[L]}};L!==L.toUpperCase()&&(N.set=function(D){it(this,c,u).call(this);let $=L.toLowerCase();if(k.has($)){D===!0||D===!1||D==null?this.toggleAttribute($,Boolean(D)):this.setAttribute($,D);return}if(this.set){this.set(L,D);return}this.nativeEl[L]=D}),Object.defineProperty(this.prototype,L,N)}},l=new WeakMap,d=new WeakMap,c=new WeakSet,u=function(){var k,L;if(H(this,l))return;if(ue(this,l,!0),!this.nativeEl){let $=document.createElement(e,{is:t});$.part=e,this.shadowRoot.append($)}this.nativeEl.muted=this.hasAttribute("muted");for(let $ of A)it(this,h,f).call(this,$);let N=new Map,D=this.shadowRoot.querySelector("slot:not([name])");D==null||D.addEventListener("slotchange",()=>{let $=new Map(N);D.assignedElements().filter(O=>["track","source"].includes(O.localName)).forEach(O=>{var G,q;$.delete(O);let P=N.get(O);P||(P=O.cloneNode(),N.set(O,P)),(q=(G=this.nativeEl).append)==null||q.call(G,P)}),$.forEach(O=>O.remove())});for(let $ of this.constructor.Events)(L=(k=this.shadowRoot).addEventListener)==null||L.call(k,$,O=>{O.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(O.type,{detail:O.detail}))},!0)},h=new WeakSet,f=function(k){if(Object.prototype.hasOwnProperty.call(this,k)){let L=this[k];delete this[k],this[k]=L}},g=new WeakSet,E=function(k,L,N){var D,$,O,G;["id","class"].includes(k)||(N===null?($=(D=this.nativeEl).removeAttribute)==null||$.call(D,k):(G=(O=this.nativeEl).setAttribute)==null||G.call(O,k,N))},le(s,a),Ge(s,"Events",Yl),Ge(s,"template",e.endsWith("audio")?jh:zh),le(s,n,void 0),s};function v1(r){let e=[];for(let t=Object.getPrototypeOf(r);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t))e.push(...Object.getOwnPropertyNames(t));return e}var Aw=globalThis.document?df(HTMLElement,{tag:"video"}):class{},Sw=globalThis.document?df(HTMLElement,{tag:"audio"}):class{},jl=class extends Event{constructor(r,e){super(r),Ge(this,"track"),this.track=e.track}},Xh=new WeakMap;function ie(r){var e;return(e=Xh.get(r))!=null?e:E1(r,{})}function E1(r,e){let t=Xh.get(r);return t||Xh.set(r,t={}),Object.assign(t,e)}function Qh(r,e){let t=r.videoTracks;ie(e).media=r,ie(e).renditionSet||(ie(e).renditionSet=new Set);let i=ie(t).trackSet;i.add(e);let s=i.size-1;s in Jh.prototype||Object.defineProperty(Jh.prototype,s,{get(){return[...ie(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new jl("addtrack",{track:e}))})}function Zh(r){var e;let t=(e=ie(r).media)==null?void 0:e.videoTracks;!t||(ie(t).trackSet.delete(r),queueMicrotask(()=>{t.dispatchEvent(new jl("removetrack",{track:r}))}))}function b1(r){var e;let t=(e=ie(r).media.videoTracks)!=null?e:[],i=!1;for(let s of t)s!==r&&(s.selected=!1,i=!0);if(i){if(ie(t).changeRequested)return;ie(t).changeRequested=!0,queueMicrotask(()=>{delete ie(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var Yr,jr,zr,qs,Xn,Jh=class extends EventTarget{constructor(){super(),le(this,qs),le(this,Yr,void 0),le(this,jr,void 0),le(this,zr,void 0),ie(this).trackSet=new Set}[Symbol.iterator](){return H(this,qs,Xn).values()}get length(){return H(this,qs,Xn).size}getTrackById(r){var e;return(e=[...H(this,qs,Xn)].find(t=>t.id===r))!=null?e:null}get selectedIndex(){return[...H(this,qs,Xn)].findIndex(r=>r.selected)}get onaddtrack(){return H(this,Yr)}set onaddtrack(r){H(this,Yr)&&(this.removeEventListener("addtrack",H(this,Yr)),ue(this,Yr,void 0)),typeof r=="function"&&(ue(this,Yr,r),this.addEventListener("addtrack",r))}get onremovetrack(){return H(this,jr)}set onremovetrack(r){H(this,jr)&&(this.removeEventListener("removetrack",H(this,jr)),ue(this,jr,void 0)),typeof r=="function"&&(ue(this,jr,r),this.addEventListener("removetrack",r))}get onchange(){return H(this,zr)}set onchange(r){H(this,zr)&&(this.removeEventListener("change",H(this,zr)),ue(this,zr,void 0)),typeof r=="function"&&(ue(this,zr,r),this.addEventListener("change",r))}};Yr=new WeakMap,jr=new WeakMap,zr=new WeakMap,qs=new WeakSet,Xn=function(){return ie(this).trackSet};var zl=class extends Event{constructor(r,e){super(r),Ge(this,"rendition"),this.rendition=e.rendition}};function y1(r,e){let t=ie(r).media.videoRenditions;ie(e).media=ie(r).media,ie(e).track=r;let i=ie(r).renditionSet;i.add(e);let s=i.size-1;s in ef.prototype||Object.defineProperty(ef.prototype,s,{get(){return Ys(this)[s]}}),queueMicrotask(()=>{!r.selected||t.dispatchEvent(new zl("addrendition",{rendition:e}))})}function T1(r){let e=ie(r).media.videoRenditions,t=ie(r).track;ie(t).renditionSet.delete(r),queueMicrotask(()=>{!ie(r).track.selected||e.dispatchEvent(new zl("removerendition",{rendition:r}))})}function _1(r){let e=ie(r).media.videoRenditions;!e||ie(e).changeRequested||(ie(e).changeRequested=!0,queueMicrotask(()=>{delete ie(e).changeRequested,ie(r).track.selected&&e.dispatchEvent(new Event("change"))}))}function Ys(r){return[...ie(r).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...ie(e).renditionSet])}var Xr,Qr,Zr,ef=class extends EventTarget{constructor(){super(...arguments),le(this,Xr,void 0),le(this,Qr,void 0),le(this,Zr,void 0)}[Symbol.iterator](){return Ys(this).values()}get length(){return Ys(this).length}getRenditionById(r){var e;return(e=Ys(this).find(t=>`${t.id}`==`${r}`))!=null?e:null}get selectedIndex(){return Ys(this).findIndex(r=>r.selected)}set selectedIndex(r){for(let[e,t]of Ys(this).entries())t.selected=e===r}get onaddrendition(){return H(this,Xr)}set onaddrendition(r){H(this,Xr)&&(this.removeEventListener("addrendition",H(this,Xr)),ue(this,Xr,void 0)),typeof r=="function"&&(ue(this,Xr,r),this.addEventListener("addrendition",r))}get onremoverendition(){return H(this,Qr)}set onremoverendition(r){H(this,Qr)&&(this.removeEventListener("removerendition",H(this,Qr)),ue(this,Qr,void 0)),typeof r=="function"&&(ue(this,Qr,r),this.addEventListener("removerendition",r))}get onchange(){return H(this,Zr)}set onchange(r){H(this,Zr)&&(this.removeEventListener("change",H(this,Zr)),ue(this,Zr,void 0)),typeof r=="function"&&(ue(this,Zr,r),this.addEventListener("change",r))}};Xr=new WeakMap,Qr=new WeakMap,Zr=new WeakMap;var Qn,A1=class{constructor(){Ge(this,"src"),Ge(this,"id"),Ge(this,"width"),Ge(this,"height"),Ge(this,"bitrate"),Ge(this,"frameRate"),Ge(this,"codec"),le(this,Qn,!1)}get selected(){return H(this,Qn)}set selected(r){H(this,Qn)!==r&&(ue(this,Qn,r),_1(this))}};Qn=new WeakMap;var Zn,hv=class{constructor(){Ge(this,"id"),Ge(this,"kind"),Ge(this,"label",""),Ge(this,"language",""),Ge(this,"sourceBuffer"),le(this,Zn,!1)}addRendition(r,e,t,i,s,n){let a=new A1;return a.src=r,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=i,y1(this,a),a}removeRendition(r){T1(r)}get selected(){return H(this,Zn)}set selected(r){H(this,Zn)!==r&&(ue(this,Zn,r),r===!0&&b1(this))}};Zn=new WeakMap;function S1(r,e){let t=ie(r).media.audioRenditions;ie(e).media=ie(r).media,ie(e).track=r;let i=ie(r).renditionSet;i.add(e);let s=i.size-1;s in tf.prototype||Object.defineProperty(tf.prototype,s,{get(){return js(this)[s]}}),queueMicrotask(()=>{!r.enabled||t.dispatchEvent(new zl("addrendition",{rendition:e}))})}function x1(r){let e=ie(r).media.audioRenditions,t=ie(r).track;ie(t).renditionSet.delete(r),queueMicrotask(()=>{!ie(r).track.enabled||e.dispatchEvent(new zl("removerendition",{rendition:r}))})}function I1(r){let e=ie(r).media.audioRenditions;!e||ie(e).changeRequested||(ie(e).changeRequested=!0,queueMicrotask(()=>{delete ie(e).changeRequested,ie(r).track.enabled&&e.dispatchEvent(new Event("change"))}))}function js(r){return[...ie(r).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...ie(e).renditionSet])}var Jr,es,ts,tf=class extends EventTarget{constructor(){super(...arguments),le(this,Jr,void 0),le(this,es,void 0),le(this,ts,void 0)}[Symbol.iterator](){return js(this).values()}get length(){return js(this).length}getRenditionById(r){var e;return(e=js(this).find(t=>`${t.id}`==`${r}`))!=null?e:null}get selectedIndex(){return js(this).findIndex(r=>r.selected)}set selectedIndex(r){for(let[e,t]of js(this).entries())t.selected=e===r}get onaddrendition(){return H(this,Jr)}set onaddrendition(r){H(this,Jr)&&(this.removeEventListener("addrendition",H(this,Jr)),ue(this,Jr,void 0)),typeof r=="function"&&(ue(this,Jr,r),this.addEventListener("addrendition",r))}get onremoverendition(){return H(this,es)}set onremoverendition(r){H(this,es)&&(this.removeEventListener("removerendition",H(this,es)),ue(this,es,void 0)),typeof r=="function"&&(ue(this,es,r),this.addEventListener("removerendition",r))}get onchange(){return H(this,ts)}set onchange(r){H(this,ts)&&(this.removeEventListener("change",H(this,ts)),ue(this,ts,void 0)),typeof r=="function"&&(ue(this,ts,r),this.addEventListener("change",r))}};Jr=new WeakMap,es=new WeakMap,ts=new WeakMap;var Jn,L1=class{constructor(){Ge(this,"src"),Ge(this,"id"),Ge(this,"bitrate"),Ge(this,"codec"),le(this,Jn,!1)}get selected(){return H(this,Jn)}set selected(r){H(this,Jn)!==r&&(ue(this,Jn,r),I1(this))}};Jn=new WeakMap;function rf(r,e){let t=r.audioTracks;ie(e).media=r,ie(e).renditionSet||(ie(e).renditionSet=new Set);let i=ie(t).trackSet;i.add(e);let s=i.size-1;s in nf.prototype||Object.defineProperty(nf.prototype,s,{get(){return[...ie(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new jl("addtrack",{track:e}))})}function sf(r){var e;let t=(e=ie(r).media)==null?void 0:e.audioTracks;!t||(ie(t).trackSet.delete(r),queueMicrotask(()=>{t.dispatchEvent(new jl("removetrack",{track:r}))}))}function k1(r){let e=ie(r).media.audioTracks;!e||ie(e).changeRequested||(ie(e).changeRequested=!0,queueMicrotask(()=>{delete ie(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var is,rs,ss,ea,Bl,nf=class extends EventTarget{constructor(){super(),le(this,ea),le(this,is,void 0),le(this,rs,void 0),le(this,ss,void 0),ie(this).trackSet=new Set}[Symbol.iterator](){return H(this,ea,Bl).values()}get length(){return H(this,ea,Bl).size}getTrackById(r){var e;return(e=[...H(this,ea,Bl)].find(t=>t.id===r))!=null?e:null}get onaddtrack(){return H(this,is)}set onaddtrack(r){H(this,is)&&(this.removeEventListener("addtrack",H(this,is)),ue(this,is,void 0)),typeof r=="function"&&(ue(this,is,r),this.addEventListener("addtrack",r))}get onremovetrack(){return H(this,rs)}set onremovetrack(r){H(this,rs)&&(this.removeEventListener("removetrack",H(this,rs)),ue(this,rs,void 0)),typeof r=="function"&&(ue(this,rs,r),this.addEventListener("removetrack",r))}get onchange(){return H(this,ss)}set onchange(r){H(this,ss)&&(this.removeEventListener("change",H(this,ss)),ue(this,ss,void 0)),typeof r=="function"&&(ue(this,ss,r),this.addEventListener("change",r))}};is=new WeakMap,rs=new WeakMap,ss=new WeakMap,ea=new WeakSet,Bl=function(){return ie(this).trackSet};var ta,fv=class{constructor(){Ge(this,"id"),Ge(this,"kind"),Ge(this,"label",""),Ge(this,"language",""),Ge(this,"sourceBuffer"),le(this,ta,!1)}addRendition(r,e,t){let i=new L1;return i.src=r,i.codec=e,i.bitrate=t,S1(this,i),i}removeRendition(r){x1(r)}get enabled(){return H(this,ta)}set enabled(r){H(this,ta)!==r&&(ue(this,ta,r),k1(this))}};ta=new WeakMap;var lv=Wl(globalThis.HTMLMediaElement,"video"),dv=Wl(globalThis.HTMLMediaElement,"audio");function R1(r){if(!(r!=null&&r.prototype))return r;let e=Wl(r,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(r.prototype,"videoTracks",{get(){return w1(this)}});let t=Wl(r,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(r.prototype,"audioTracks",{get(){return D1(this)}}),"addVideoTrack"in r.prototype||(r.prototype.addVideoTrack=function(n,a="",o=""){let l=new hv;return l.kind=n,l.label=a,l.language=o,Qh(this,l),l}),"removeVideoTrack"in r.prototype||(r.prototype.removeVideoTrack=Zh),"addAudioTrack"in r.prototype||(r.prototype.addAudioTrack=function(n,a="",o=""){let l=new fv;return l.kind=n,l.label=a,l.language=o,rf(this,l),l}),"removeAudioTrack"in r.prototype||(r.prototype.removeAudioTrack=sf),"videoRenditions"in r.prototype||Object.defineProperty(r.prototype,"videoRenditions",{get(){return i(this)}});let i=n=>{let a=ie(n).videoRenditions;return a||(a=new ef,ie(a).media=n,ie(n).videoRenditions=a),a};"audioRenditions"in r.prototype||Object.defineProperty(r.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=ie(n).audioRenditions;return a||(a=new tf,ie(a).media=n,ie(n).audioRenditions=a),a};return r}function Wl(r,e){var t;if(r!=null&&r.prototype)return(t=Object.getOwnPropertyDescriptor(r.prototype,`${e}Tracks`))==null?void 0:t.get}function w1(r){var e;let t=ie(r).videoTracks;if(!t&&(t=new Jh,ie(r).videoTracks=t,lv)){let i=lv.call((e=r.nativeEl)!=null?e:r);for(let s of i)Qh(r,s);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof hv)){for(let n of i)Zh(n);return}Qh(r,s.track)}),i.addEventListener("removetrack",s=>{Zh(s.track)})}return t}function D1(r){var e;let t=ie(r).audioTracks;if(!t&&(t=new nf,ie(r).audioTracks=t,dv)){let i=dv.call((e=r.nativeEl)!=null?e:r);for(let s of i)rf(r,s);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof fv)){for(let n of i)sf(n);return}rf(r,s.track)}),i.addEventListener("removetrack",s=>{sf(s.track)})}return t}Yl.push("castchange","entercast","leavecast");var qh=R1(df(Fl.HTMLElement,{tag:"video",is:"castable-video"})),j={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_COOKIES:"disable-cookies",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",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"},C1=Object.values(j),M1=g1(),O1="mux-video",Gi,ia,$l,ra,Hl,Gl,Vl,sa,Kl,af=class extends qh{constructor(){super(),le(this,sa),le(this,Gi,void 0),le(this,ia,void 0),le(this,$l,void 0),le(this,ra,{}),le(this,Hl,void 0),le(this,Gl,void 0),le(this,Vl,void 0),ue(this,$l,Y0())}static get observedAttributes(){var r;return[...C1,...(r=qh.observedAttributes)!=null?r:[]]}get preferCmcd(){var r;return(r=this.getAttribute(j.PREFER_CMCD))!=null?r:void 0}set preferCmcd(r){r!==this.preferCmcd&&(r?Ws.includes(r)?this.setAttribute(j.PREFER_CMCD,r):console.warn(`Invalid value for preferCmcd. Must be one of ${Ws.join()}`):this.removeAttribute(j.PREFER_CMCD))}get playerInitTime(){return H(this,$l)}get playerSoftwareName(){var r;return(r=H(this,Gl))!=null?r:O1}set playerSoftwareName(r){ue(this,Gl,r)}get playerSoftwareVersion(){var r;return(r=H(this,Hl))!=null?r:M1}set playerSoftwareVersion(r){ue(this,Hl,r)}get _hls(){var r;return(r=H(this,Gi))==null?void 0:r.engine}get mux(){var r;return(r=this.nativeEl)==null?void 0:r.mux}get error(){var r;return(r=z0(this.nativeEl))!=null?r:null}get errorTranslator(){return H(this,Vl)}set errorTranslator(r){ue(this,Vl,r)}get src(){return this.getAttribute("src")}set src(r){r!==this.src&&(r==null?this.removeAttribute("src"):this.setAttribute("src",r))}get type(){var r;return(r=this.getAttribute(j.TYPE))!=null?r:void 0}set type(r){r!==this.type&&(r?this.setAttribute(j.TYPE,r):this.removeAttribute(j.TYPE))}get autoplay(){let r=this.getAttribute("autoplay");return r===null?!1:r===""?!0:r}set autoplay(r){let e=this.autoplay;r!==e&&(r?this.setAttribute("autoplay",typeof r=="string"?r:""):this.removeAttribute("autoplay"))}get preload(){let r=this.getAttribute("preload");return r===""?"auto":["none","metadata","auto"].includes(r)?r:super.preload}set preload(r){r!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(r)?this.setAttribute("preload",r):this.removeAttribute("preload"))}get debug(){return this.getAttribute(j.DEBUG)!=null}set debug(r){r!==this.debug&&(r?this.setAttribute(j.DEBUG,""):this.removeAttribute(j.DEBUG))}get disableCookies(){return this.hasAttribute(j.DISABLE_COOKIES)}set disableCookies(r){r!==this.disableCookies&&(r?this.setAttribute(j.DISABLE_COOKIES,""):this.removeAttribute(j.DISABLE_COOKIES))}get startTime(){let r=this.getAttribute(j.START_TIME);if(r==null)return;let e=+r;return Number.isNaN(e)?void 0:e}set startTime(r){r!==this.startTime&&(r==null?this.removeAttribute(j.START_TIME):this.setAttribute(j.START_TIME,`${r}`))}get playbackId(){var r;return(r=this.getAttribute(j.PLAYBACK_ID))!=null?r:void 0}set playbackId(r){r!==this.playbackId&&(r?this.setAttribute(j.PLAYBACK_ID,r):this.removeAttribute(j.PLAYBACK_ID))}get maxResolution(){var r;return(r=this.getAttribute(j.MAX_RESOLUTION))!=null?r:void 0}set maxResolution(r){r!==this.maxResolution&&(r?this.setAttribute(j.MAX_RESOLUTION,r):this.removeAttribute(j.MAX_RESOLUTION))}get customDomain(){var r;return(r=this.getAttribute(j.CUSTOM_DOMAIN))!=null?r:void 0}set customDomain(r){r!==this.customDomain&&(r?this.setAttribute(j.CUSTOM_DOMAIN,r):this.removeAttribute(j.CUSTOM_DOMAIN))}get ended(){return Kh(this.nativeEl,this._hls)}get envKey(){var r;return(r=this.getAttribute(j.ENV_KEY))!=null?r:void 0}set envKey(r){r!==this.envKey&&(r?this.setAttribute(j.ENV_KEY,r):this.removeAttribute(j.ENV_KEY))}get beaconCollectionDomain(){var r;return(r=this.getAttribute(j.BEACON_COLLECTION_DOMAIN))!=null?r:void 0}set beaconCollectionDomain(r){r!==this.beaconCollectionDomain&&(r?this.setAttribute(j.BEACON_COLLECTION_DOMAIN,r):this.removeAttribute(j.BEACON_COLLECTION_DOMAIN))}get streamType(){var r;return(r=this.getAttribute(j.STREAM_TYPE))!=null?r:X0(this.nativeEl)}set streamType(r){r!==this.streamType&&(r?this.setAttribute(j.STREAM_TYPE,r):this.removeAttribute(j.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(j.TARGET_LIVE_WINDOW)?+this.getAttribute(j.TARGET_LIVE_WINDOW):Q0(this.nativeEl)}set targetLiveWindow(r){r!=this.targetLiveWindow&&(r==null?this.removeAttribute(j.TARGET_LIVE_WINDOW):this.setAttribute(j.TARGET_LIVE_WINDOW,`${+r}`))}get liveEdgeStart(){var r,e;if(this.hasAttribute(j.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,i=(r=this.nativeEl.seekable.end(0))!=null?r:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,i-t)}return Z0(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(j.LIVE_EDGE_OFFSET))return+this.getAttribute(j.LIVE_EDGE_OFFSET)}set liveEdgeOffset(r){r!=this.targetLiveWindow&&(r==null?this.removeAttribute(j.LIVE_EDGE_OFFSET):this.setAttribute(j.LIVE_EDGE_OFFSET,`${+r}`))}get seekable(){return Vh(this.nativeEl)}async addCuePoints(r){return Hh(this.nativeEl,r)}get activeCuePoint(){return Gh(this.nativeEl)}get cuePoints(){return G0(this.nativeEl)}getStartDate(){return V0(this.nativeEl,this._hls)}get currentPdt(){return K0(this.nativeEl,this._hls)}get preferPlayback(){let r=this.getAttribute(j.PREFER_PLAYBACK);if(r===di.MSE||r===di.NATIVE)return r}set preferPlayback(r){r!==this.preferPlayback&&(r===di.MSE||r===di.NATIVE?this.setAttribute(j.PREFER_PLAYBACK,r):this.removeAttribute(j.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(r=>r.startsWith("metadata-")&&![j.METADATA_URL].includes(r)).reduce((r,e)=>{let t=this.getAttribute(e);return t!=null&&(r[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),r},{}),...H(this,ra)}}set metadata(r){ue(this,ra,r!=null?r:{}),this.mux&&this.mux.emit("hb",H(this,ra))}load(){ue(this,Gi,ev(this,this.nativeEl,H(this,Gi)))}unload(){Wh(this.nativeEl,H(this,Gi)),ue(this,Gi,void 0)}attributeChangedCallback(r,e,t){var i,s;switch(qh.observedAttributes.includes(r)&&!["src","autoplay","preload"].includes(r)&&super.attributeChangedCallback(r,e,t),r){case j.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case j.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?it(this,sa,Kl).call(this):n&&!a?this.unload():n&&a&&(this.unload(),it(this,sa,Kl).call(this));break}case"autoplay":if(t===e)break;(i=H(this,Gi))==null||i.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=H(this,Gi))==null||s.setPreload(t);break;case j.PLAYBACK_ID:this.src=j0(t!=null?t:void 0,{maxResolution:this.maxResolution,domain:this.customDomain});break;case j.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 j.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 j.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case j.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}connectedCallback(){var r;(r=super.connectedCallback)==null||r.call(this),this.nativeEl&&this.src&&!H(this,Gi)&&it(this,sa,Kl).call(this)}disconnectedCallback(){this.unload()}};Gi=new WeakMap,ia=new WeakMap,$l=new WeakMap,ra=new WeakMap,Hl=new WeakMap,Gl=new WeakMap,Vl=new WeakMap,sa=new WeakSet,Kl=async function(){H(this,ia)||(await ue(this,ia,Promise.resolve()),ue(this,ia,null),this.load())};Fl.customElements.get("mux-video")||(Fl.customElements.define("mux-video",af),Fl.MuxVideoElement=af);var mv=af;var P1="en",ns={code:P1};var pv="en";function Re(r,e=!0){var s,n;let t=e&&(n=(s=ns)==null?void 0:s[r])!=null?n:r,i=e?ns.code:pv;return new cf(t,i)}var cf=class{constructor(e,t=(i=>(i=ns.code)!=null?i:pv)()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,i)=>{var s;return(s=e[i])!=null?s:""})}toString(){return this.message}};function gv(r){let e="";return Object.entries(r).forEach(([t,i])=>{i!=null&&(e+=`${Xl(t)}: ${i}; `)}),e?e.trim():void 0}function Xl(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Ql(r){return r.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Zi(r){if(r==null)return;let e=+r;return Number.isNaN(e)?void 0:e}function Zl(r){let e=N1(r).toString();return e?"?"+e:""}function N1(r){let e={};for(let t in r)r[t]!=null&&(e[t]=r[t]);return new URLSearchParams(e)}function yr(r){let e=(r!=null?r:"").split(".")[1];if(!e)return{};let t=e.replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}var uf=(r,e)=>!r||!e?!1:r.contains(e)?!0:uf(r,e.getRootNode().host);var hf="mux.com",U1=()=>{try{return"2.0.1"}catch{}return"UNKNOWN"},F1=U1(),ed=()=>F1,ff=(r,{maxResolution:e,token:t,domain:i=hf}={})=>{let a=!!t?{token:t}:{redundant_streams:!0,...e?{max_resolution:e}:{}};return`https://stream.${i}/${r}.m3u8${Zl(a)}`},vv=(r,{token:e,thumbnailTime:t,domain:i=hf}={})=>{let s=e==null?t:void 0,{aud:n}=yr(e);if(!(e&&n!=="t"))return`https://image.${i}/${r}/thumbnail.webp${Zl({token:e,time:s})}`},Ev=(r,{token:e,domain:t=hf}={})=>{let{aud:i}=yr(e);if(!(e&&i!=="s"))return`https://image.${t}/${r}/storyboard.vtt${Zl({token:e,format:"webp"})}`},na=r=>{if(!!r){if([Je.LIVE,Je.ON_DEMAND].includes(r))return r;if(r!=null&&r.includes("live"))return Je.LIVE}};var B1={crossorigin:"crossOrigin",playsinline:"playsInline"};function bv(r){var e;return(e=B1[r])!=null?e:Ql(r)}var as,os,Nt,Jl=class{constructor(e,t){ut(this,as,void 0);ut(this,os,void 0);ut(this,Nt,[]);ii(this,as,e),ii(this,os,t)}[Symbol.iterator](){return Ne(this,Nt).values()}get length(){return Ne(this,Nt).length}get value(){var e;return(e=Ne(this,Nt).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(ii(this,Nt,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return Ne(this,Nt)[e]}values(){return Ne(this,Nt).values()}keys(){return Ne(this,Nt).keys()}forEach(e){Ne(this,Nt).forEach(e)}add(...e){var t,i;e.forEach(s=>{this.contains(s)||Ne(this,Nt).push(s)}),!(this.value===""&&!((t=Ne(this,as))!=null&&t.hasAttribute(`${Ne(this,os)}`)))&&((i=Ne(this,as))==null||i.setAttribute(`${Ne(this,os)}`,`${this.value}`))}remove(...e){var t;e.forEach(i=>{Ne(this,Nt).splice(Ne(this,Nt).indexOf(i),1)}),(t=Ne(this,as))==null||t.setAttribute(`${Ne(this,os)}`,`${this.value}`)}contains(e){return Ne(this,Nt).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,os=new WeakMap,Nt=new WeakMap;var yv=`[mux-player ${ed()}]`;function Tr(...r){console.warn(yv,...r)}function yi(...r){console.error(yv,...r)}function mf(r){var t;let e=(t=r.message)!=null?t:"";if(r.context&&(e+=` ${r.context}`),r.file){let i="https://github.com/muxinc/elements/blob/main/errors/";e+=` ${Re("Read more: ")}
|
|
1015
|
+
${i}${r.file}`}Tr(e)}var Ot={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},ls={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},_v=Object.freeze({length:0,start(r){let e=r>>>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(r){let e=r>>>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}}),$1=Yl.filter(r=>r!=="error"),H1=Object.values(Ot).filter(r=>![Ot.PLAYSINLINE].includes(r)),G1=Object.values(ls);function Av(r){r.querySelectorAll(":scope > track").forEach(e=>{var t;(t=r.media)==null||t.append(e.cloneNode())}),$1.forEach(e=>{var t;(t=r.media)==null||t.addEventListener(e,i=>{r.dispatchEvent(new Event(i.type))})})}var pf=class extends st.HTMLElement{static get observedAttributes(){return[...H1,...G1]}constructor(){super(),this.querySelectorAll(":scope > track").forEach(i=>{var s;(s=this.media)==null||s.append(i.cloneNode())});let e=i=>{for(let s of i)s.type==="childList"&&(s.removedNodes.forEach(n=>{var o,l;let a=(o=this.media)==null?void 0:o.querySelector(`track[src="${n.src}"]`);a&&((l=this.media)==null||l.removeChild(a))}),s.addedNodes.forEach(n=>{var a;(a=this.media)==null||a.append(n.cloneNode())}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0})}attributeChangedCallback(e,t,i){var s,n;switch(e){case ls.MUTED:{this.media&&(this.media.muted=i!=null,this.media.defaultMuted=i!=null);return}case ls.VOLUME:{let a=(s=Zi(i))!=null?s:1;this.media&&(this.media.volume=a);return}case ls.PLAYBACKRATE:{let a=(n=Zi(i))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.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 e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:_v}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:_v}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=Zi(this.getAttribute(ls.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(ls.PLAYBACKRATE,`${e}`):this.removeAttribute(ls.PLAYBACKRATE)}get crossOrigin(){return aa(this,Ot.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Ot.CROSSORIGIN,`${e}`)}get autoplay(){return aa(this,Ot.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(Ot.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(Ot.AUTOPLAY)}get loop(){return aa(this,Ot.LOOP)!=null}set loop(e){e?this.setAttribute(Ot.LOOP,""):this.removeAttribute(Ot.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=Boolean(e))}get defaultMuted(){return aa(this,Ot.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(Ot.MUTED,""):this.removeAttribute(Ot.MUTED)}get playsInline(){return aa(this,Ot.PLAYSINLINE)!=null}set playsInline(e){yi("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(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Ot.PRELOAD,e):this.removeAttribute(Ot.PRELOAD)}};function aa(r,e){return r.media?r.media.getAttribute(e):r.getAttribute(e)}var gf=pf;var V1=Object.defineProperty,K1=(r,e,t)=>e in r?V1(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W1=(r,e,t)=>(K1(r,typeof e!="symbol"?e+"":e,t),t),kv=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Le=(r,e,t)=>(kv(r,e,"read from private field"),t?t.call(r):e.get(r)),Vi=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ji=(r,e,t,i)=>(kv(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),zs,td,ds,oa,_r,Ar,Sr,cs,Xs,id,Ti,Sv=1,xv=0,q1=1,Y1={processCallback(r,e,t){if(!!t){for(let[i,s]of e)if(i in t){let n=t[i];typeof n=="boolean"&&s instanceof Ut&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Ut?s.element[s.attributeName]=n:s.value=n}}}},er=class extends w.DocumentFragment{constructor(e,t,i=Y1){var s;super(),Vi(this,zs,void 0),Vi(this,td,void 0),this.append(e.content.cloneNode(!0)),Ji(this,zs,Rv(this)),Ji(this,td,i),(s=i.createCallback)==null||s.call(i,this,Le(this,zs),t),i.processCallback(this,Le(this,zs),t)}update(e){Le(this,td).processCallback(this,Le(this,zs),e)}};zs=new WeakMap;td=new WeakMap;var Rv=(r,e=[])=>{let t,i;for(let s of r.attributes||[])if(s.value.includes("{{")){let n=new vf;for([t,i]of Lv(s.value))if(!t)n.append(i);else{let a=new Ut(r,s.name,s.namespaceURI);n.append(a),e.push([i,a])}s.value=n.toString()}for(let s of r.childNodes)if(s.nodeType===Sv&&!(s instanceof HTMLTemplateElement))Rv(s,e);else if(s.nodeType===Sv||s.data.includes("{{")){let n=[];if(s.data)for([t,i]of Lv(s.data))if(!t)n.push(new Text(i));else{let a=new tr(r);n.push(a),e.push([i,a])}else if(s instanceof HTMLTemplateElement){let a=new la(r,s);n.push(a),e.push([a.expression,a])}s.replaceWith(...n.flatMap(a=>a.replacementNodes||[a]))}return e},Iv={},Lv=r=>{let e="",t=0,i=Iv[r],s=0,n;if(i)return i;for(i=[];n=r[s];s++)n==="{"&&r[s+1]==="{"&&r[s-1]!=="\\"&&r[s+2]&&++t==1?(e&&i.push([xv,e]),e="",s++):n==="}"&&r[s+1]==="}"&&r[s-1]!=="\\"&&!--t?(i.push([q1,e.trim()]),e="",s++):e+=n||"";return e&&i.push([xv,(t>0?"{{":"")+e]),Iv[r]=i},j1=11,rd=class{get value(){return""}set value(e){}toString(){return this.value}},wv=new WeakMap,vf=class{constructor(){Vi(this,ds,[])}[Symbol.iterator](){return Le(this,ds).values()}get length(){return Le(this,ds).length}item(e){return Le(this,ds)[e]}append(...e){for(let t of e)t instanceof Ut&&wv.set(t,this),Le(this,ds).push(t)}toString(){return Le(this,ds).join("")}};ds=new WeakMap;var Ut=class extends rd{constructor(e,t,i){super(),Vi(this,cs),Vi(this,oa,""),Vi(this,_r,void 0),Vi(this,Ar,void 0),Vi(this,Sr,void 0),Ji(this,_r,e),Ji(this,Ar,t),Ji(this,Sr,i)}get attributeName(){return Le(this,Ar)}get attributeNamespace(){return Le(this,Sr)}get element(){return Le(this,_r)}get value(){return Le(this,oa)}set value(e){Le(this,oa)!==e&&(Ji(this,oa,e),!Le(this,cs,Xs)||Le(this,cs,Xs).length===1?e==null?Le(this,_r).removeAttributeNS(Le(this,Sr),Le(this,Ar)):Le(this,_r).setAttributeNS(Le(this,Sr),Le(this,Ar),e):Le(this,_r).setAttributeNS(Le(this,Sr),Le(this,Ar),Le(this,cs,Xs)))}get booleanValue(){return Le(this,_r).hasAttributeNS(Le(this,Sr),Le(this,Ar))}set booleanValue(e){if(!Le(this,cs,Xs)||Le(this,cs,Xs).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};oa=new WeakMap;_r=new WeakMap;Ar=new WeakMap;Sr=new WeakMap;cs=new WeakSet;Xs=function(){return wv.get(this)};var tr=class extends rd{constructor(e,t){super(),Vi(this,id,void 0),Vi(this,Ti,void 0),Ji(this,id,e),Ji(this,Ti,t?[...t]:[new Text])}get replacementNodes(){return Le(this,Ti)}get parentNode(){return Le(this,id)}get nextSibling(){return Le(this,Ti)[Le(this,Ti).length-1].nextSibling}get previousSibling(){return Le(this,Ti)[0].previousSibling}get value(){return Le(this,Ti).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(i=>i==null?[new Text]:i.forEach?[...i]:i.nodeType===j1?[...i.childNodes]:i.nodeType?[i]:[new Text(i)]);t.length||t.push(new Text),Ji(this,Ti,z1(Le(this,Ti)[0].parentNode,Le(this,Ti),t,this.nextSibling))}};id=new WeakMap;Ti=new WeakMap;var la=class extends tr{constructor(e,t){let i=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(i)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),W1(this,"directive"),this.expression=s,this.template=t,this.directive=i}};function z1(r,e,t,i=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)i=t[--d,--l];if(s==d)for(;s<l;)r.insertBefore(t[s++],i);if(s==l)for(;s<d;)r.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:i,n==o?n=a:s<l&&t[s]==a?(r.replaceChild(o,n),n=a):r.insertBefore(o,n);for(;n!=i;)a=n.nextSibling,r.removeChild(n),n=a}return t}var Dv={string:r=>String(r)},nd=class{constructor(e){this.template=e,this.state=void 0}},us=new WeakMap,hs=new WeakMap,Ef={partial:(r,e)=>{e[r.expression]=new nd(r.template)},if:(r,e)=>{var t;if(Mv(r.expression,e))if(us.get(r)!==r.template){us.set(r,r.template);let i=new er(r.template,e,ad);r.replace(i),hs.set(r,i)}else(t=hs.get(r))==null||t.update(e);else r.replace(""),us.delete(r),hs.delete(r)}},X1=Object.keys(Ef),ad={processCallback(r,e,t){var i,s;if(!!t)for(let[n,a]of e){if(a instanceof la){if(!a.directive){let l=X1.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(i=Ef[a.directive])==null||i.call(Ef,a,t);continue}let o=Mv(n,t);if(o instanceof nd){us.get(a)!==o.template?(us.set(a,o.template),o=new er(o.template,o.state,ad),a.value=o,hs.set(a,o)):(s=hs.get(a))==null||s.update(o.state);continue}o?(a instanceof Ut&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Ut?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,us.delete(a),hs.delete(a))):a instanceof Ut?a.value=void 0:(a.value=void 0,us.delete(a),hs.delete(a))}}},Cv={"!":r=>!r,"!!":r=>!!r,"==":(r,e)=>r==e,"!=":(r,e)=>r!=e,">":(r,e)=>r>e,">=":(r,e)=>r>=e,"<":(r,e)=>r<e,"<=":(r,e)=>r<=e,"??":(r,e)=>r!=null?r:e,"|":(r,e)=>{var t;return(t=Dv[e])==null?void 0:t.call(Dv,r)}};function Q1(r){return Z1(r,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function Mv(r,e={}){var t,i,s,n,a,o,l;let d=Q1(r);if(d.length===0||d.some(({type:c})=>!c))return da(r);if(((t=d[0])==null?void 0:t.token)===">"){let c=e[(i=d[1])==null?void 0:i.token];if(!c)return da(r);let u={...e};c.state=u;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let g=(s=h[f])==null?void 0:s.token,E=(n=h[f+1])==null?void 0:n.token,T=(a=h[f+2])==null?void 0:a.token;g&&E==="="&&(u[g]=ca(T,e))}return c}if(d.length===1)return sd(d[0])?ca(d[0].token,e):da(r);if(d.length===2){let c=(o=d[0])==null?void 0:o.token,u=Cv[c];if(!u||!sd(d[1]))return da(r);let h=ca(d[1].token,e);return u(h)}if(d.length===3){let c=(l=d[1])==null?void 0:l.token,u=Cv[c];if(!u||!sd(d[0])||!sd(d[2]))return da(r);let h=ca(d[0].token,e);if(c==="|")return u(h,d[2].token);let f=ca(d[2].token,e);return u(h,f)}}function da(r){return console.warn(`Warning: invalid expression \`${r}\``),!1}function sd({type:r}){return["number","boolean","string","param"].includes(r)}function ca(r,e){let t=r[0],i=r.slice(-1);return r==="true"||r==="false"?r==="true":t===i&&["'",'"'].includes(t)?r.slice(1,-1):La(r)?parseFloat(r):e[r]}function Z1(r,e){let t,i,s,n=[];for(;r;){s=null,t=r.length;for(let a in e)i=e[a].exec(r),i&&i.index<t&&(s={token:i[0],type:a,matches:i.slice(1)},t=i.index);t&&n.push({token:r.substr(0,t),type:void 0}),s&&n.push(s),r=r.substr(t+(s?s.token.length:0))}return n}var J1=Object.defineProperty,eS=(r,e,t)=>e in r?J1(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ha=(r,e,t)=>(eS(r,typeof e!="symbol"?e+"":e,t),t),Sf=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Tf=(r,e,t)=>(Sf(r,e,"read from private field"),t?t.call(r):e.get(r)),ua=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},fs=(r,e,t,i)=>(Sf(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),bf=(r,e,t)=>(Sf(r,e,"access private method"),t),Qs,od,Zs,_f,Ov,ld,Af,yf={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},Pv=Y.createElement("template");Pv.innerHTML=`
|
|
1016
1016
|
<style>
|
|
1017
1017
|
:host {
|
|
1018
1018
|
display: inline-block;
|
|
@@ -1230,7 +1230,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
1230
1230
|
<div class="dialog">
|
|
1231
1231
|
<slot></slot>
|
|
1232
1232
|
</div>
|
|
1233
|
-
`;var Ir=class extends
|
|
1233
|
+
`;var Ir=class extends st.HTMLElement{constructor(){var t;super();this.attachShadow({mode:"open"}),(t=this.shadowRoot)==null||t.appendChild(this.constructor.template.content.cloneNode(!0))}show(){this.setAttribute("open",""),this.dispatchEvent(new CustomEvent("open",{composed:!0,bubbles:!0})),Uv(this)}close(){!this.hasAttribute("open")||(this.removeAttribute("open"),this.dispatchEvent(new CustomEvent("close",{composed:!0,bubbles:!0})),sS(this))}attributeChangedCallback(t,i,s){t==="open"&&i!==s&&(s!=null?this.show():this.close())}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","dialog"),this.hasAttribute("open")&&Uv(this)}};Ir.styles=Fv,Ir.template=Bv,Ir.observedAttributes=["open"];function Uv(r){let e=new CustomEvent("initfocus",{composed:!0,bubbles:!0,cancelable:!0});if(r.dispatchEvent(e),e.defaultPrevented)return;let t=r.querySelector("[autofocus]:not([disabled])");!t&&r.tabIndex>=0&&(t=r),t||(t=$v(r.shadowRoot)),r._previouslyFocusedElement=Xt.activeElement,Xt.activeElement instanceof HTMLElement&&Xt.activeElement.blur(),r.addEventListener("transitionend",()=>{t instanceof HTMLElement&&t.focus({preventScroll:!0})},{once:!0})}function $v(r){let t=["button","input","keygen","select","textarea"].map(function(s){return s+":not([disabled])"});t.push('[tabindex]:not([disabled]):not([tabindex=""])');let i=r==null?void 0:r.querySelector(t.join(", "));if(!i&&"attachShadow"in Element.prototype){let s=(r==null?void 0:r.querySelectorAll("*"))||[];for(let n=0;n<s.length&&!(s[n].tagName&&s[n].shadowRoot&&(i=$v(s[n].shadowRoot),i));n++);}return i}function sS(r){r._previouslyFocusedElement instanceof HTMLElement&&r._previouslyFocusedElement.focus()}st.customElements.get("media-dialog")||(st.customElements.define("media-dialog",Ir),st.MediaDialog=Ir);var xf=Ir;var Hv=Xt.createElement("template");Hv.innerHTML=`
|
|
1234
1234
|
<style>
|
|
1235
1235
|
${xf.styles}
|
|
1236
1236
|
|
|
@@ -1261,7 +1261,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
1261
1261
|
</svg>
|
|
1262
1262
|
</button>
|
|
1263
1263
|
</slot>
|
|
1264
|
-
`;var fa=class extends xf{constructor(){var e,t;super(),(t=(e=this.shadowRoot)==null?void 0:e.querySelector(".close"))==null||t.addEventListener("click",()=>{this.close()})}};fa.template=Hv;
|
|
1264
|
+
`;var fa=class extends xf{constructor(){var e,t;super(),(t=(e=this.shadowRoot)==null?void 0:e.querySelector(".close"))==null||t.addEventListener("click",()=>{this.close()})}};fa.template=Hv;st.customElements.get("mxp-dialog")||(st.customElements.define("mxp-dialog",fa),st.MxpDialog=fa);var ma=new WeakMap,pa=class{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let i=ma.get(this.element);i&&i.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=ma.get(this.element);t&&t.delete(this.type)}}static for(e){ma.has(e.element)||ma.set(e.element,new Map);let t=e.attributeName.slice(2),i=ma.get(e.element);return i&&i.has(t)?i.get(t):new pa(e.element,t)}};function nS(r,e){return r instanceof Ut&&r.attributeName.startsWith("on")?(pa.for(r).set(e),r.element.removeAttributeNS(r.attributeNamespace,r.attributeName),!0):!1}function aS(r,e){return e instanceof dd&&r instanceof tr?(e.renderInto(r),!0):!1}function oS(r,e){return e instanceof DocumentFragment&&r instanceof tr?(e.childNodes.length&&r.replace(...e.childNodes),!0):!1}function lS(r,e){if(r instanceof Ut){let t=r.attributeNamespace,i=r.element.getAttributeNS(t,r.attributeName);return String(e)!==i&&(r.value=String(e)),!0}return r.value=String(e),!0}function dS(r,e){if(r instanceof Ut&&e instanceof Element){let t=r.element;return t[r.attributeName]!==e&&(r.element.removeAttributeNS(r.attributeNamespace,r.attributeName),t[r.attributeName]=e),!0}return!1}function cS(r,e){if(typeof e=="boolean"&&r instanceof Ut){let t=r.attributeNamespace,i=r.element.hasAttributeNS(t,r.attributeName);return e!==i&&(r.booleanValue=e),!0}return!1}function uS(r,e){return e===!1&&r instanceof tr?(r.replace(""),!0):!1}function hS(r,e){dS(r,e)||cS(r,e)||nS(r,e)||uS(r,e)||aS(r,e)||oS(r,e)||lS(r,e)}var If=new Map,Gv=new WeakMap,Vv=new WeakMap,dd=class{constructor(e,t,i){this.strings=e;this.values=t;this.processor=i;this.stringsKey=this.strings.join("")}get template(){if(If.has(this.stringsKey))return If.get(this.stringsKey);{let e=Xt.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((i,s,n)=>i+s+(n<t?`{{ ${n} }}`:""),""),If.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if(Gv.get(e)!==t){Gv.set(e,t);let n=new er(t,this.values,this.processor);Vv.set(e,n),e instanceof tr?e.replace(...n.children):e.appendChild(n);return}let i=Vv.get(e);(s=i==null?void 0:i.update)==null||s.call(i,this.values)}},fS={processCallback(r,e,t){var i;if(!!t){for(let[s,n]of e)if(s in t){let a=(i=t[s])!=null?i:"";hS(n,a)}}}};function ir(r,...e){return new dd(r,e,fS)}function Kv(r,e){r.renderInto(e)}var Wv=r=>ir`
|
|
1265
1265
|
<style>
|
|
1266
1266
|
${Nv}
|
|
1267
1267
|
</style>
|
|
@@ -1276,7 +1276,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
1276
1276
|
novolumepref="${r.novolumepref||!1}"
|
|
1277
1277
|
disabled="${!r.hasSrc||r.isDialogOpen}"
|
|
1278
1278
|
audio="${(i=r.audio)!=null?i:!1}"
|
|
1279
|
-
style="${(s=gv({"--media-primary-color":r.primaryColor,"--media-secondary-color":r.secondaryColor}))!=null?s:!1}"
|
|
1279
|
+
style="${(s=gv({"--media-primary-color":r.primaryColor,"--media-secondary-color":r.secondaryColor,"--media-accent-color":r.accentColor}))!=null?s:!1}"
|
|
1280
1280
|
defaultsubtitles="${!r.defaultHiddenCaptions}"
|
|
1281
1281
|
forwardseekoffset="${(n=r.forwardSeekOffset)!=null?n:!1}"
|
|
1282
1282
|
backwardseekoffset="${(a=r.backwardSeekOffset)!=null?a:!1}"
|
|
@@ -2292,8 +2292,8 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
2292
2292
|
<slot></slot>
|
|
2293
2293
|
</media-controller>
|
|
2294
2294
|
</template>
|
|
2295
|
-
`;var Lf=Xt.createElement("template");"innerHTML"in Lf&&(Lf.innerHTML=qv);var Yv,jv,ud=class extends xr{};ud.template=(jv=(Yv=Lf.content)==null?void 0:Yv.children)==null?void 0:jv[0];nt.customElements.get("media-theme-gerwig")||nt.customElements.define("media-theme-gerwig",ud);var vS="gerwig";var rr={SRC:"src",POSTER:"poster"},te={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-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",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",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",NO_VOLUME_PREF:"no-volume-pref"},kf=["audio","backwardseekoffset","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function ES(r,e){var i;return{src:!r.playbackId&&r.src,playbackId:r.playbackId,hasSrc:!!r.playbackId||!!r.src,poster:r.poster,storyboard:r.storyboard,storyboardSrc:r.getAttribute(te.STORYBOARD_SRC),placeholder:r.getAttribute("placeholder"),themeTemplate:bS(r),thumbnailTime:!r.tokens.thumbnail&&r.thumbnailTime,autoplay:r.autoplay,crossOrigin:r.crossOrigin,loop:r.loop,noHotKeys:r.hasAttribute(te.NOHOTKEYS),hotKeys:r.getAttribute(te.HOTKEYS),muted:r.muted,paused:r.paused,preload:r.preload,envKey:r.envKey,preferCmcd:r.preferCmcd,debug:r.debug,disableCookies:r.disableCookies,tokens:r.tokens,beaconCollectionDomain:r.beaconCollectionDomain,maxResolution:r.maxResolution,metadata:r.metadata,playerSoftwareName:r.playerSoftwareName,playerSoftwareVersion:r.playerSoftwareVersion,startTime:r.startTime,preferPlayback:r.preferPlayback,audio:r.audio,defaultStreamType:r.defaultStreamType,targetLiveWindow:r.getAttribute(j.TARGET_LIVE_WINDOW),streamType:na(r.getAttribute(j.STREAM_TYPE)),primaryColor:r.primaryColor,secondaryColor:r.secondaryColor,forwardSeekOffset:r.forwardSeekOffset,backwardSeekOffset:r.backwardSeekOffset,defaultHiddenCaptions:r.defaultHiddenCaptions,defaultShowRemainingTime:r.defaultShowRemainingTime,hideDuration:yS(r),playbackRates:r.getAttribute(te.PLAYBACK_RATES),customDomain:(i=r.getAttribute(j.CUSTOM_DOMAIN))!=null?i:void 0,title:r.getAttribute(te.TITLE),novolumepref:r.hasAttribute(te.NO_VOLUME_PREF),...e}}function bS(r){var t,i;let e=r.theme;if(e){let s=(i=(t=r.getRootNode())==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=nt.customElements.get(e);if(n!=null&&n.template)return n.template}}function yS(r){var t;let e=(t=r.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function zv(r){let e=r.hasAttribute(te.TITLE)?{video_title:r.getAttribute(te.TITLE)}:{};return r.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,i)=>{let s=r.getAttribute(i);return s!==null&&(t[i.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var TS=Object.values(j),_S=Object.values(rr),AS=Object.values(te),SS=ed(),xS="mux-player",Xv={dialog:void 0,isDialogOpen:!1},va,Ea,sr,ba,ms,Lr,en,hd,Qv,ya,Rf,kr,tn,fd,Zv,md,Jv,pd,eE,gd,tE,ga=class extends gf{constructor(){super();ut(this,Lr);ut(this,hd);ut(this,ya);ut(this,kr);ut(this,fd);ut(this,md);ut(this,pd);ut(this,gd);ut(this,va,!1);ut(this,Ea,{});ut(this,sr,!0);ut(this,ba,new Jl(this,"hotkeys"));ut(this,ms,{...Xv,onCloseErrorDialog:()=>bt(this,ya,Rf).call(this,{dialog:void 0,isDialogOpen:!1}),onInitFocusDialog:t=>{uf(this,Xt.activeElement)||t.preventDefault()}});this.attachShadow({mode:"open"}),bt(this,hd,Qv).call(this),this.isConnected&&bt(this,Lr,en).call(this)}static get observedAttributes(){var t;return[...(t=gf.observedAttributes)!=null?t:[],..._S,...TS,...AS]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,i;return(i=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:i.querySelector("media-controller")}connectedCallback(){var i;let t=(i=this.shadowRoot)==null?void 0:i.querySelector("mux-video");t&&(t.metadata=zv(this))}attributeChangedCallback(t,i,s){switch(bt(this,Lr,en).call(this),super.attributeChangedCallback(t,i,s),t){case te.HOTKEYS:Ne(this,ba).value=s;break;case te.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&Tr(Re("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").format({}));break}case te.THUMBNAIL_TOKEN:{let{aud:a}=yr(s);s&&a!=="t"&&Tr(Re("The provided thumbnail-token should have audience value 't' instead of '{aud}'.").format({aud:a}));break}case te.STORYBOARD_TOKEN:{let{aud:a}=yr(s);s&&a!=="s"&&Tr(Re("The provided storyboard-token should have audience value 's' instead of '{aud}'.").format({aud:a}));break}case j.PLAYBACK_ID:{s!=null&&s.includes("?token")&&yi(Re("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case j.STREAM_TYPE:s&&![Je.LIVE,Je.ON_DEMAND,Je.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:mf({file:"invalid-stream-type.md",message:Re("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):this.targetLiveWindow=s===Je.LIVE?0:Number.NaN}[j.PLAYBACK_ID,rr.SRC,te.PLAYBACK_TOKEN].includes(t)&&i!==s&&ii(this,ms,{...Ne(this,ms),...Xv}),bt(this,kr,tn).call(this,{[bv(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(j.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?Ws.includes(t)?this.setAttribute(j.PREFER_CMCD,t):Tr(`Invalid value for preferCmcd. Must be one of ${Ws.join()}`):this.removeAttribute(j.PREFER_CMCD))}get hasPlayed(){var t,i;return(i=(t=this.mediaController)==null?void 0:t.hasAttribute("media-has-played"))!=null?i:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute("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(te.THEME))!=null?t:vS}set theme(t){this.setAttribute(te.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let i={};for(let s of t.getAttributeNames()){if(kf.includes(s))continue;let n=t.getAttribute(s);i[Ql(s)]=n===""?!0:n}return i}set themeProps(t){var s,n;bt(this,Lr,en).call(this);let i={...this.themeProps,...t};for(let a in i){if(kf.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(Xl(a),Boolean(o)):(n=this.mediaTheme)==null||n.setAttribute(Xl(a),o)}}get playbackId(){var t;return(t=this.getAttribute(j.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(j.PLAYBACK_ID,t):this.removeAttribute(j.PLAYBACK_ID)}get src(){var t,i;return this.playbackId?(t=Js(this,rr.SRC))!=null?t:void 0:(i=this.getAttribute(rr.SRC))!=null?i:void 0}set src(t){t?this.setAttribute(rr.SRC,t):this.removeAttribute(rr.SRC)}get poster(){var i;let t=this.getAttribute(rr.POSTER);if(t!=null)return t;if(this.playbackId&&!this.audio)return vv(this.playbackId,{domain:this.customDomain,thumbnailTime:(i=this.thumbnailTime)!=null?i:this.startTime,token:this.tokens.thumbnail})}set poster(t){t||t===""?this.setAttribute(rr.POSTER,t):this.removeAttribute(rr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute(te.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute(te.STORYBOARD_SRC,t):this.removeAttribute(te.STORYBOARD_SRC)}get storyboard(){if(this.storyboardSrc&&!this.tokens.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[Je.LIVE,Je.UNKNOWN].includes(this.streamType)))return Ev(this.playbackId,{domain:this.customDomain,token:this.tokens.storyboard})}get audio(){return this.hasAttribute(te.AUDIO)}set audio(t){if(!t){this.removeAttribute(te.AUDIO);return}this.setAttribute(te.AUDIO,"")}get hotkeys(){return Ne(this,ba)}get nohotkeys(){return this.hasAttribute(te.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute(te.NOHOTKEYS);return}this.setAttribute(te.NOHOTKEYS,"")}get thumbnailTime(){return Zi(this.getAttribute(te.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute(te.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute(te.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute(te.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Js(this,te.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute(te.PLACEHOLDER,`${t}`)}get primaryColor(){var i,s;let t=this.getAttribute(te.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(i=nt.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute(te.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var i,s;let t=this.getAttribute(te.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(i=nt.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute(te.SECONDARY_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute(te.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute(te.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(te.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(!!this.hasAttribute(te.PLAYBACK_RATES))return this.getAttribute(te.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,i)=>t-i)}set playbackRates(t){if(!t){this.removeAttribute(te.PLAYBACK_RATES);return}this.setAttribute(te.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=Zi(this.getAttribute(te.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute(te.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=Zi(this.getAttribute(te.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute(te.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute(te.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute(te.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(te.DEFAULT_HIDDEN_CAPTIONS)}get playerSoftwareName(){var t;return(t=this.getAttribute(j.PLAYER_SOFTWARE_NAME))!=null?t:xS}get playerSoftwareVersion(){var t;return(t=this.getAttribute(j.PLAYER_SOFTWARE_VERSION))!=null?t:SS}get beaconCollectionDomain(){var t;return(t=this.getAttribute(j.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(j.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(j.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(j.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(j.MAX_RESOLUTION,t):this.removeAttribute(j.MAX_RESOLUTION))}get customDomain(){var t;return(t=this.getAttribute(j.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(j.CUSTOM_DOMAIN,t):this.removeAttribute(j.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Js(this,j.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(j.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute(te.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute(te.NO_VOLUME_PREF,""):this.removeAttribute(te.NO_VOLUME_PREF)}get debug(){return Js(this,j.DEBUG)!=null}set debug(t){t?this.setAttribute(j.DEBUG,""):this.removeAttribute(j.DEBUG)}get disableCookies(){return Js(this,j.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(j.DISABLE_COOKIES,""):this.removeAttribute(j.DISABLE_COOKIES)}get streamType(){var t,i,s;return(s=(i=this.getAttribute(j.STREAM_TYPE))!=null?i:(t=this.media)==null?void 0:t.streamType)!=null?s:Je.UNKNOWN}set streamType(t){this.setAttribute(j.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,i,s;return(s=(i=this.getAttribute(te.DEFAULT_STREAM_TYPE))!=null?i:(t=this.mediaController)==null?void 0:t.getAttribute(te.DEFAULT_STREAM_TYPE))!=null?s:Je.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute(te.DEFAULT_STREAM_TYPE,t):this.removeAttribute(te.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,i;return this.hasAttribute(te.TARGET_LIVE_WINDOW)?+this.getAttribute(te.TARGET_LIVE_WINDOW):(i=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?i:Number.NaN}set targetLiveWindow(t){t!=this.targetLiveWindow&&(t==null?this.removeAttribute(te.TARGET_LIVE_WINDOW):this.setAttribute(te.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return Zi(Js(this,j.START_TIME))}set startTime(t){this.setAttribute(j.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(j.PREFER_PLAYBACK);if(t===di.MSE||t===di.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===di.MSE||t===di.NATIVE?this.setAttribute(j.PREFER_PLAYBACK,t):this.removeAttribute(j.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(bt(this,Lr,en).call(this),!this.media){yi("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...zv(this),...t}}async addCuePoints(t){var i;if(bt(this,Lr,en).call(this),!this.media){yi("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(i=this.media)==null?void 0:i.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,i;return(i=(t=this.media)==null?void 0:t.cuePoints)!=null?i:[]}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(te.PLAYBACK_TOKEN),i=this.getAttribute(te.THUMBNAIL_TOKEN),s=this.getAttribute(te.STORYBOARD_TOKEN);return{...Ne(this,Ea),...t!=null?{playback:t}:{},...i!=null?{thumbnail:i}:{},...s!=null?{storyboard:s}:{}}}set tokens(t){ii(this,Ea,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute(te.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute(te.PLAYBACK_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute(te.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute(te.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute(te.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute(te.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,i,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(!!a)return Nl(a,t,i,s,n)}removeTextTrack(t){var s;let i=(s=this.media)==null?void 0:s.nativeEl;if(!!i)return $0(i,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}};va=new WeakMap,Ea=new WeakMap,sr=new WeakMap,ba=new WeakMap,ms=new WeakMap,Lr=new WeakSet,en=function(){var t,i,s;if(!Ne(this,va)){ii(this,va,!0),bt(this,kr,tn).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof nt.HTMLElement))throw""}catch{yi("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof mv))throw""}catch{yi("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Gd))throw""}catch{yi("<media-controller> failed to upgrade!")}Av(this),bt(this,fd,Zv).call(this),bt(this,md,Jv).call(this),bt(this,pd,eE).call(this),ii(this,sr,(i=(t=this.mediaController)==null?void 0:t.hasAttribute("userinactive"))!=null?i:!0),bt(this,gd,tE).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>{bt(this,kr,tn).call(this)})}},hd=new WeakSet,Qv=function(){var t,i;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(i=window==null?void 0:window.CSS)==null||i.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},ya=new WeakSet,Rf=function(t){Object.assign(Ne(this,ms),t),bt(this,kr,tn).call(this)},kr=new WeakSet,tn=function(t={}){Kv(Wv(ES(this,{...Ne(this,ms),...t})),this.shadowRoot)},fd=new WeakSet,Zv=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(kf.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)},md=new WeakSet,Jv=function(){var i;let t=s=>{let{detail:n}=s;if(n instanceof tt||(n=new tt(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){Tr(n),n.data&&Tr(`${n.name} data:`,n.data);return}let{dialog:a,devlog:o}=cd(n,!window.navigator.onLine,this.playbackId,this.playbackToken);o.message&&mf(o),yi(n),n.data&&yi(`${n.name} data:`,n.data),bt(this,ya,Rf).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 tt))return s;let{devlog:n}=cd((o=this.media)==null?void 0:o.error,!window.navigator.onLine,this.playbackId,this.playbackToken,!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}}),(i=this.media)==null||i.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 tt(l,d)}!(n!=null&&n.fatal)||this.dispatchEvent(new CustomEvent("error",{detail:n}))})},pd=new WeakSet,eE=function(){var i,s,n,a;let t=()=>bt(this,kr,tn).call(this);(s=(i=this.media)==null?void 0:i.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},gd=new WeakSet,tE=function(){var c,u;let t=/.*Version\/.*Safari\/.*/.test(navigator.userAgent);if(!/Firefox/i.test(navigator.userAgent))return;let s,n=new WeakMap,a=()=>this.streamType===Je.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,o=(h,f,g=!1)=>{if(a())return;Array.from(h&&h.activeCues||[]).forEach(T=>{if(!(!T.snapToLines||T.line<-5||T.line>=0&&T.line<10))if(!f||this.paused){let A=T.text.split(`
|
|
2296
|
-
`).length,k=t?-2:-3;this.streamType===Je.LIVE&&(k=t?-1:-2);let L=k-A;if(T.line===L&&!g)return;n.has(T)||n.set(T,T.line),T.line=L-1,T.line=L}else setTimeout(()=>{T.line=n.get(T)||"auto"},500)})},l=()=>{var h,f;o(s,(f=(h=this.mediaController)==null?void 0:h.hasAttribute("userinactive"))!=null?f:!1)},d=()=>{var g,E;let f=Array.from(((E=(g=this.mediaController)==null?void 0:g.media)==null?void 0:E.textTracks)||[]).filter(T=>["subtitles","captions"].includes(T.kind)&&T.mode==="showing")[0];f!==s&&(s==null||s.removeEventListener("cuechange",l)),s=f,s==null||s.addEventListener("cuechange",l),o(s,Ne(this,sr))};if(d(),(c=this.textTracks)==null||c.addEventListener("change",d),(u=this.textTracks)==null||u.addEventListener("addtrack",d),navigator.userAgent.includes("Chrome/")){let h=()=>{o(s,Ne(this,sr),!0),this.paused||window.requestAnimationFrame(h)};this.addEventListener("playing",()=>{h()})}this.addEventListener("userinactivechange",()=>{var f,g;let h=(g=(f=this.mediaController)==null?void 0:f.hasAttribute("userinactive"))!=null?g:!0;Ne(this,sr)!==h&&(ii(this,sr,h),o(s,Ne(this,sr)))})};function Js(r,e){return r.media?r.media.getAttribute(e):r.getAttribute(e)}
|
|
2295
|
+
`;var Lf=Xt.createElement("template");"innerHTML"in Lf&&(Lf.innerHTML=qv);var Yv,jv,ud=class extends xr{};ud.template=(jv=(Yv=Lf.content)==null?void 0:Yv.children)==null?void 0:jv[0];st.customElements.get("media-theme-gerwig")||st.customElements.define("media-theme-gerwig",ud);var vS="gerwig";var rr={SRC:"src",POSTER:"poster"},J={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",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",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",NO_VOLUME_PREF:"no-volume-pref"},kf=["audio","backwardseekoffset","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function ES(r,e){var i;return{src:!r.playbackId&&r.src,playbackId:r.playbackId,hasSrc:!!r.playbackId||!!r.src,poster:r.poster,storyboard:r.storyboard,storyboardSrc:r.getAttribute(J.STORYBOARD_SRC),placeholder:r.getAttribute("placeholder"),themeTemplate:bS(r),thumbnailTime:!r.tokens.thumbnail&&r.thumbnailTime,autoplay:r.autoplay,crossOrigin:r.crossOrigin,loop:r.loop,noHotKeys:r.hasAttribute(J.NOHOTKEYS),hotKeys:r.getAttribute(J.HOTKEYS),muted:r.muted,paused:r.paused,preload:r.preload,envKey:r.envKey,preferCmcd:r.preferCmcd,debug:r.debug,disableCookies:r.disableCookies,tokens:r.tokens,beaconCollectionDomain:r.beaconCollectionDomain,maxResolution:r.maxResolution,metadata:r.metadata,playerSoftwareName:r.playerSoftwareName,playerSoftwareVersion:r.playerSoftwareVersion,startTime:r.startTime,preferPlayback:r.preferPlayback,audio:r.audio,defaultStreamType:r.defaultStreamType,targetLiveWindow:r.getAttribute(j.TARGET_LIVE_WINDOW),streamType:na(r.getAttribute(j.STREAM_TYPE)),primaryColor:r.primaryColor,secondaryColor:r.secondaryColor,accentColor:r.accentColor,forwardSeekOffset:r.forwardSeekOffset,backwardSeekOffset:r.backwardSeekOffset,defaultHiddenCaptions:r.defaultHiddenCaptions,defaultShowRemainingTime:r.defaultShowRemainingTime,hideDuration:yS(r),playbackRates:r.getAttribute(J.PLAYBACK_RATES),customDomain:(i=r.getAttribute(j.CUSTOM_DOMAIN))!=null?i:void 0,title:r.getAttribute(J.TITLE),novolumepref:r.hasAttribute(J.NO_VOLUME_PREF),...e}}function bS(r){var t,i;let e=r.theme;if(e){let s=(i=(t=r.getRootNode())==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=st.customElements.get(e);if(n!=null&&n.template)return n.template}}function yS(r){var t;let e=(t=r.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function zv(r){let e=r.hasAttribute(J.TITLE)?{video_title:r.getAttribute(J.TITLE)}:{};return r.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,i)=>{let s=r.getAttribute(i);return s!==null&&(t[i.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var TS=Object.values(j),_S=Object.values(rr),AS=Object.values(J),SS=ed(),xS="mux-player",Xv={dialog:void 0,isDialogOpen:!1},va,Ea,sr,ba,ms,Lr,en,hd,Qv,ya,Rf,kr,tn,fd,Zv,md,Jv,pd,eE,gd,tE,ga=class extends gf{constructor(){super();ut(this,Lr);ut(this,hd);ut(this,ya);ut(this,kr);ut(this,fd);ut(this,md);ut(this,pd);ut(this,gd);ut(this,va,!1);ut(this,Ea,{});ut(this,sr,!0);ut(this,ba,new Jl(this,"hotkeys"));ut(this,ms,{...Xv,onCloseErrorDialog:()=>bt(this,ya,Rf).call(this,{dialog:void 0,isDialogOpen:!1}),onInitFocusDialog:t=>{uf(this,Xt.activeElement)||t.preventDefault()}});this.attachShadow({mode:"open"}),bt(this,hd,Qv).call(this),this.isConnected&&bt(this,Lr,en).call(this)}static get observedAttributes(){var t;return[...(t=gf.observedAttributes)!=null?t:[],..._S,...TS,...AS]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,i;return(i=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:i.querySelector("media-controller")}connectedCallback(){var i;let t=(i=this.shadowRoot)==null?void 0:i.querySelector("mux-video");t&&(t.metadata=zv(this))}attributeChangedCallback(t,i,s){switch(bt(this,Lr,en).call(this),super.attributeChangedCallback(t,i,s),t){case J.HOTKEYS:Ne(this,ba).value=s;break;case J.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&Tr(Re("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").format({}));break}case J.THUMBNAIL_TOKEN:{let{aud:a}=yr(s);s&&a!=="t"&&Tr(Re("The provided thumbnail-token should have audience value 't' instead of '{aud}'.").format({aud:a}));break}case J.STORYBOARD_TOKEN:{let{aud:a}=yr(s);s&&a!=="s"&&Tr(Re("The provided storyboard-token should have audience value 's' instead of '{aud}'.").format({aud:a}));break}case j.PLAYBACK_ID:{s!=null&&s.includes("?token")&&yi(Re("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case j.STREAM_TYPE:s&&![Je.LIVE,Je.ON_DEMAND,Je.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:mf({file:"invalid-stream-type.md",message:Re("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):this.targetLiveWindow=s===Je.LIVE?0:Number.NaN}[j.PLAYBACK_ID,rr.SRC,J.PLAYBACK_TOKEN].includes(t)&&i!==s&&ii(this,ms,{...Ne(this,ms),...Xv}),bt(this,kr,tn).call(this,{[bv(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(j.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?Ws.includes(t)?this.setAttribute(j.PREFER_CMCD,t):Tr(`Invalid value for preferCmcd. Must be one of ${Ws.join()}`):this.removeAttribute(j.PREFER_CMCD))}get hasPlayed(){var t,i;return(i=(t=this.mediaController)==null?void 0:t.hasAttribute("media-has-played"))!=null?i:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute("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(J.THEME))!=null?t:vS}set theme(t){this.setAttribute(J.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let i={};for(let s of t.getAttributeNames()){if(kf.includes(s))continue;let n=t.getAttribute(s);i[Ql(s)]=n===""?!0:n}return i}set themeProps(t){var s,n;bt(this,Lr,en).call(this);let i={...this.themeProps,...t};for(let a in i){if(kf.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(Xl(a),Boolean(o)):(n=this.mediaTheme)==null||n.setAttribute(Xl(a),o)}}get playbackId(){var t;return(t=this.getAttribute(j.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(j.PLAYBACK_ID,t):this.removeAttribute(j.PLAYBACK_ID)}get src(){var t,i;return this.playbackId?(t=Js(this,rr.SRC))!=null?t:void 0:(i=this.getAttribute(rr.SRC))!=null?i:void 0}set src(t){t?this.setAttribute(rr.SRC,t):this.removeAttribute(rr.SRC)}get poster(){var i;let t=this.getAttribute(rr.POSTER);if(t!=null)return t;if(this.playbackId&&!this.audio)return vv(this.playbackId,{domain:this.customDomain,thumbnailTime:(i=this.thumbnailTime)!=null?i:this.startTime,token:this.tokens.thumbnail})}set poster(t){t||t===""?this.setAttribute(rr.POSTER,t):this.removeAttribute(rr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute(J.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute(J.STORYBOARD_SRC,t):this.removeAttribute(J.STORYBOARD_SRC)}get storyboard(){if(this.storyboardSrc&&!this.tokens.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[Je.LIVE,Je.UNKNOWN].includes(this.streamType)))return Ev(this.playbackId,{domain:this.customDomain,token:this.tokens.storyboard})}get audio(){return this.hasAttribute(J.AUDIO)}set audio(t){if(!t){this.removeAttribute(J.AUDIO);return}this.setAttribute(J.AUDIO,"")}get hotkeys(){return Ne(this,ba)}get nohotkeys(){return this.hasAttribute(J.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute(J.NOHOTKEYS);return}this.setAttribute(J.NOHOTKEYS,"")}get thumbnailTime(){return Zi(this.getAttribute(J.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute(J.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute(J.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute(J.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Js(this,J.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute(J.PLACEHOLDER,`${t}`)}get primaryColor(){var i,s;let t=this.getAttribute(J.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(i=st.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute(J.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var i,s;let t=this.getAttribute(J.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(i=st.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute(J.SECONDARY_COLOR,`${t}`)}get accentColor(){var i,s;let t=this.getAttribute(J.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(i=st.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute(J.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute(J.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute(J.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(J.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(!!this.hasAttribute(J.PLAYBACK_RATES))return this.getAttribute(J.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,i)=>t-i)}set playbackRates(t){if(!t){this.removeAttribute(J.PLAYBACK_RATES);return}this.setAttribute(J.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=Zi(this.getAttribute(J.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute(J.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=Zi(this.getAttribute(J.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute(J.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute(J.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute(J.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(J.DEFAULT_HIDDEN_CAPTIONS)}get playerSoftwareName(){var t;return(t=this.getAttribute(j.PLAYER_SOFTWARE_NAME))!=null?t:xS}get playerSoftwareVersion(){var t;return(t=this.getAttribute(j.PLAYER_SOFTWARE_VERSION))!=null?t:SS}get beaconCollectionDomain(){var t;return(t=this.getAttribute(j.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(j.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(j.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(j.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(j.MAX_RESOLUTION,t):this.removeAttribute(j.MAX_RESOLUTION))}get customDomain(){var t;return(t=this.getAttribute(j.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(j.CUSTOM_DOMAIN,t):this.removeAttribute(j.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Js(this,j.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(j.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute(J.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute(J.NO_VOLUME_PREF,""):this.removeAttribute(J.NO_VOLUME_PREF)}get debug(){return Js(this,j.DEBUG)!=null}set debug(t){t?this.setAttribute(j.DEBUG,""):this.removeAttribute(j.DEBUG)}get disableCookies(){return Js(this,j.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(j.DISABLE_COOKIES,""):this.removeAttribute(j.DISABLE_COOKIES)}get streamType(){var t,i,s;return(s=(i=this.getAttribute(j.STREAM_TYPE))!=null?i:(t=this.media)==null?void 0:t.streamType)!=null?s:Je.UNKNOWN}set streamType(t){this.setAttribute(j.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,i,s;return(s=(i=this.getAttribute(J.DEFAULT_STREAM_TYPE))!=null?i:(t=this.mediaController)==null?void 0:t.getAttribute(J.DEFAULT_STREAM_TYPE))!=null?s:Je.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute(J.DEFAULT_STREAM_TYPE,t):this.removeAttribute(J.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,i;return this.hasAttribute(J.TARGET_LIVE_WINDOW)?+this.getAttribute(J.TARGET_LIVE_WINDOW):(i=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?i:Number.NaN}set targetLiveWindow(t){t!=this.targetLiveWindow&&(t==null?this.removeAttribute(J.TARGET_LIVE_WINDOW):this.setAttribute(J.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return Zi(Js(this,j.START_TIME))}set startTime(t){this.setAttribute(j.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(j.PREFER_PLAYBACK);if(t===di.MSE||t===di.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===di.MSE||t===di.NATIVE?this.setAttribute(j.PREFER_PLAYBACK,t):this.removeAttribute(j.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(bt(this,Lr,en).call(this),!this.media){yi("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...zv(this),...t}}async addCuePoints(t){var i;if(bt(this,Lr,en).call(this),!this.media){yi("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(i=this.media)==null?void 0:i.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,i;return(i=(t=this.media)==null?void 0:t.cuePoints)!=null?i:[]}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(J.PLAYBACK_TOKEN),i=this.getAttribute(J.THUMBNAIL_TOKEN),s=this.getAttribute(J.STORYBOARD_TOKEN);return{...Ne(this,Ea),...t!=null?{playback:t}:{},...i!=null?{thumbnail:i}:{},...s!=null?{storyboard:s}:{}}}set tokens(t){ii(this,Ea,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute(J.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute(J.PLAYBACK_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute(J.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute(J.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute(J.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute(J.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,i,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(!!a)return Nl(a,t,i,s,n)}removeTextTrack(t){var s;let i=(s=this.media)==null?void 0:s.nativeEl;if(!!i)return $0(i,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}};va=new WeakMap,Ea=new WeakMap,sr=new WeakMap,ba=new WeakMap,ms=new WeakMap,Lr=new WeakSet,en=function(){var t,i,s;if(!Ne(this,va)){ii(this,va,!0),bt(this,kr,tn).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof st.HTMLElement))throw""}catch{yi("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof mv))throw""}catch{yi("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Gd))throw""}catch{yi("<media-controller> failed to upgrade!")}Av(this),bt(this,fd,Zv).call(this),bt(this,md,Jv).call(this),bt(this,pd,eE).call(this),ii(this,sr,(i=(t=this.mediaController)==null?void 0:t.hasAttribute("userinactive"))!=null?i:!0),bt(this,gd,tE).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>{bt(this,kr,tn).call(this)})}},hd=new WeakSet,Qv=function(){var t,i;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(i=window==null?void 0:window.CSS)==null||i.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},ya=new WeakSet,Rf=function(t){Object.assign(Ne(this,ms),t),bt(this,kr,tn).call(this)},kr=new WeakSet,tn=function(t={}){Kv(Wv(ES(this,{...Ne(this,ms),...t})),this.shadowRoot)},fd=new WeakSet,Zv=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(kf.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)},md=new WeakSet,Jv=function(){var i;let t=s=>{let{detail:n}=s;if(n instanceof tt||(n=new tt(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){Tr(n),n.data&&Tr(`${n.name} data:`,n.data);return}let{dialog:a,devlog:o}=cd(n,!window.navigator.onLine,this.playbackId,this.playbackToken);o.message&&mf(o),yi(n),n.data&&yi(`${n.name} data:`,n.data),bt(this,ya,Rf).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 tt))return s;let{devlog:n}=cd((o=this.media)==null?void 0:o.error,!window.navigator.onLine,this.playbackId,this.playbackToken,!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}}),(i=this.media)==null||i.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 tt(l,d)}!(n!=null&&n.fatal)||this.dispatchEvent(new CustomEvent("error",{detail:n}))})},pd=new WeakSet,eE=function(){var i,s,n,a;let t=()=>bt(this,kr,tn).call(this);(s=(i=this.media)==null?void 0:i.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},gd=new WeakSet,tE=function(){var c,u;let t=/.*Version\/.*Safari\/.*/.test(navigator.userAgent);if(!/Firefox/i.test(navigator.userAgent))return;let s,n=new WeakMap,a=()=>this.streamType===Je.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,o=(h,f,g=!1)=>{if(a())return;Array.from(h&&h.activeCues||[]).forEach(T=>{if(!(!T.snapToLines||T.line<-5||T.line>=0&&T.line<10))if(!f||this.paused){let A=T.text.split(`
|
|
2296
|
+
`).length,k=t?-2:-3;this.streamType===Je.LIVE&&(k=t?-1:-2);let L=k-A;if(T.line===L&&!g)return;n.has(T)||n.set(T,T.line),T.line=L-1,T.line=L}else setTimeout(()=>{T.line=n.get(T)||"auto"},500)})},l=()=>{var h,f;o(s,(f=(h=this.mediaController)==null?void 0:h.hasAttribute("userinactive"))!=null?f:!1)},d=()=>{var g,E;let f=Array.from(((E=(g=this.mediaController)==null?void 0:g.media)==null?void 0:E.textTracks)||[]).filter(T=>["subtitles","captions"].includes(T.kind)&&T.mode==="showing")[0];f!==s&&(s==null||s.removeEventListener("cuechange",l)),s=f,s==null||s.addEventListener("cuechange",l),o(s,Ne(this,sr))};if(d(),(c=this.textTracks)==null||c.addEventListener("change",d),(u=this.textTracks)==null||u.addEventListener("addtrack",d),navigator.userAgent.includes("Chrome/")){let h=()=>{o(s,Ne(this,sr),!0),this.paused||window.requestAnimationFrame(h)};this.addEventListener("playing",()=>{h()})}this.addEventListener("userinactivechange",()=>{var f,g;let h=(g=(f=this.mediaController)==null?void 0:f.hasAttribute("userinactive"))!=null?g:!0;Ne(this,sr)!==h&&(ii(this,sr,h),o(s,Ne(this,sr)))})};function Js(r,e){return r.media?r.media.getAttribute(e):r.getAttribute(e)}st.customElements.get("mux-player")||(st.customElements.define("mux-player",ga),st.MuxPlayerElement=ga);var nC=ga;})();
|
|
2297
2297
|
/*!
|
|
2298
2298
|
* JavaScript Cookie v2.1.3
|
|
2299
2299
|
* https://github.com/js-cookie/js-cookie
|