&(tE||!tS)&&(tr.stats.parsing.start=tb);var tL=!(tv&&(null==(to=$.initSegment)?void 0:to.url)===(null==(tl=tv.initSegment)?void 0:tl.url)),tD=new es.TransmuxState(tp,tS,tn,tm,tc,tL);if(!tS||tp||tL){tg.logger.log("[transmuxer-interface, "+$.type+"]: Starting new transmux session for sn: "+ta.sn+" p: "+ta.part+" level: "+ta.level+" id: "+ta.id+` discontinuity: `+tp+` trackSwitch: `+tm+` contiguous: `+tS+` accurateTimeOffset: `+tn+` timeOffset: `+tc+` initSegmentChange: `+tL);var tA=new es.TransmuxConfig(q,Q,K,ti,ts);this.configureTransmuxer(tA)}if(this.frag=$,this.part=tr,td)td.postMessage({cmd:"demux",data:O,decryptdata:tf,chunkMeta:ta,state:tD},O instanceof ArrayBuffer?[O]:[]);else if(th){var tk=th.push(O,tf,ta,tD);(0,es.isPromise)(tk)?tk.then(function(O){tu.handleTransmuxComplete(O)}):this.handleTransmuxComplete(tk)}},O.flush=function(O){var K=this;O.transmuxing.start=self.performance.now();var q=this.transmuxer,Q=this.worker;if(Q)Q.postMessage({cmd:"flush",chunkMeta:O});else if(q){var $=q.flush(O);(0,es.isPromise)($)?$.then(function(q){K.handleFlushResult(q,O)}):this.handleFlushResult($,O)}},O.handleFlushResult=function(O,K){var q=this;O.forEach(function(O){q.handleTransmuxComplete(O)}),this.onFlush(K)},O.onWorkerMessage=function(O){var K=O.data,q=this.hls;switch(K.event){case"init":self.URL.revokeObjectURL(this.worker.objectURL);break;case"transmuxComplete":this.handleTransmuxComplete(K.data);break;case"flush":this.onFlush(K.data);break;case"workerLog":tg.logger[K.data.logType]&&tg.logger[K.data.logType](K.data.message);break;default:K.data=K.data||{},K.data.frag=this.frag,K.data.id=this.id,q.trigger(K.event,K.data)}},O.configureTransmuxer=function(O){var K=this.worker,q=this.transmuxer;K?K.postMessage({cmd:"configure",config:O}):q&&q.configure(O)},O.handleTransmuxComplete=function(O){O.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(O)},t}(),eh=function(){function t(O,K,q,Q){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=O,this.media=K,this.fragmentTracker=q,this.hls=Q}var O=t.prototype;return O.destroy=function(){this.media=null,this.hls=this.fragmentTracker=null},O.poll=function(O,K){var q=this.config,Q=this.media,$=this.stalled;if(null!==Q){var tr=Q.currentTime,ti=Q.seeking,tn=this.seeking&&!ti,ta=!this.seeking&&ti;if(this.seeking=ti,tr===O){if((ta||tn)&&(this.stalled=null),!(Q.paused&&!ti||Q.ended||0===Q.playbackRate)&&tQ.getBuffered(Q).length){var ts=tQ.bufferInfo(Q,tr,0),to=ts.len>0,tl=ts.nextStart||0;if(to||tl){if(ti){var tu=ts.len>2,th=!tl||K&&K.start<=tr||tl-tr>2&&!this.fragmentTracker.getPartialFragment(tr);if(tu||th)return;this.moved=!1}if(!this.moved&&null!==this.stalled){var td,tc=Math.max(tl,ts.start||0)-tr,tf=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,tv=(null==tf||null==(td=tf.details)?void 0:td.live)?2*tf.details.targetduration:2;if(tc>0&&tc<=tv)return void this._trySkipBufferHole(null)}var tp=self.performance.now();if(null!==$){var tm=tp-$;if(ti||!(tm>=250)||(this._reportStall(ts),this.media)){var ty=tQ.bufferInfo(Q,tr,q.maxBufferHole);this._tryFixBufferStall(ty,tm)}}else this.stalled=tp}}}else if(this.moved=!0,null!==$){if(this.stallReported){var tE=self.performance.now()-$;tg.logger.warn("playback not stuck anymore @"+tr+", after "+Math.round(tE)+"ms"),this.stallReported=!1}this.stalled=null,this.nudgeRetry=0}}},O._tryFixBufferStall=function(O,K){var q=this.config,Q=this.fragmentTracker,$=this.media;if(null!==$){var tr=$.currentTime,ti=Q.getPartialFragment(tr);if(ti&&(this._trySkipBufferHole(ti)||!this.media))return;O.len>q.maxBufferHole&&K>1e3*q.highBufferWatchdogPeriod&&(tg.logger.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}},O._reportStall=function(O){var K=this.hls,q=this.media;!this.stallReported&&q&&(this.stallReported=!0,tg.logger.warn("Playback stalling at @"+q.currentTime+" due to low buffer ("+JSON.stringify(O)+")"),K.trigger(tc.Events.ERROR,{type:tf.ErrorTypes.MEDIA_ERROR,details:tf.ErrorDetails.BUFFER_STALLED_ERROR,fatal:!1,buffer:O.len}))},O._trySkipBufferHole=function(O){var K=this.config,q=this.hls,Q=this.media;if(null===Q)return 0;for(var $=Q.currentTime,tr=0,ti=tQ.getBuffered(Q),tn=0;tn=tr&&$1?(Q=0,this.bitrateTest=!0):Q=q.nextAutoLevel),this.level=q.nextLoadLevel=Q,this.loadedmetadata=!1}K>0&&-1===O&&(this.log("Override startPosition with lastCurrentTime @"+K.toFixed(3)),O=K),this.state=t1,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=O,this.tick()}else this._forceStartLoad=!0,this.state=t0},$.stopLoad=function(){this._forceStartLoad=!1,O.prototype.stopLoad.call(this)},$.doTick=function(){switch(this.state){case t1:this.doTickIdle();break;case ei:var O,K=this.levels,q=this.level,Q=null==K||null==(O=K[q])?void 0:O.details;if(Q&&(!Q.live||this.levelLastLoaded===this.level)){if(this.waitForCdnTuneIn(Q))break;this.state=t1}break;case t4:var $,tr=self.performance.now(),ti=this.retryDate;(!ti||tr>=ti||null!=($=this.media)&&$.seeking)&&(this.log("retryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded(this.level),this.state=t1)}this.onTickEnd()},$.onTickEnd=function(){O.prototype.onTickEnd.call(this),this.checkBuffer(),this.checkFragmentChanged()},$.doTickIdle=function(){var O,K,q=this.hls,Q=this.levelLastLoaded,$=this.levels,tr=this.media,ti=q.config,tn=q.nextLoadLevel;if(null!==Q&&(tr||!this.startFragRequested&&ti.startFragPrefetch)&&(!this.altAudio||!this.audioOnly)&&$&&$[tn]){var ta=$[tn];this.level=q.nextLoadLevel=tn;var ts=ta.details;if(!ts||this.state===ei||ts.live&&this.levelLastLoaded!==tn)this.state=ei;else{var to=this.getMainFwdBufferInfo();if(null!==to&&!(to.len>=this.getMaxBufferLength(ta.maxBitrate))){if(this._streamEnded(to,ts)){var tl={};return this.altAudio&&(tl.type="video"),this.hls.trigger(tc.Events.BUFFER_EOS,tl),void(this.state=t9)}this.backtrackFragment&&this.backtrackFragment.start>to.end&&(this.backtrackFragment=null);var tu=this.backtrackFragment?this.backtrackFragment.start:to.end,th=this.getNextFragment(tu,ts);if(this.couldBacktrack&&!this.fragPrevious&&th&&"initSegment"!==th.sn&&this.fragmentTracker.getState(th)!==tV.OK){var td,tf=(null!=(td=this.backtrackFragment)?td:th).sn-ts.startSN,tg=ts.fragments[tf-1];tg&&th.cc===tg.cc&&(th=tg,this.fragmentTracker.removeFragment(tg))}else this.backtrackFragment&&to.len&&(this.backtrackFragment=null);if(th&&this.fragmentTracker.getState(th)===tV.OK&&this.nextLoadPosition>tu){var tv=this.audioOnly&&!this.altAudio?tT.ElementaryStreamTypes.AUDIO:tT.ElementaryStreamTypes.VIDEO;tr&&this.afterBufferFlushed(tr,tv,tI.PlaylistLevelType.MAIN),th=this.getNextFragment(this.nextLoadPosition,ts)}th&&(!th.initSegment||th.initSegment.data||this.bitrateTest||(th=th.initSegment),"identity"!==(null==(O=th.decryptdata)?void 0:O.keyFormat)||null!=(K=th.decryptdata)&&K.key?this.loadFragment(th,ts,tu):this.loadKey(th,ts))}}}},$.loadFragment=function(K,q,Q){var $,tr=this.fragmentTracker.getState(K);this.fragCurrent=K,tr===tV.NOT_LOADED?"initSegment"===K.sn?this._loadInitSegment(K):this.bitrateTest?(this.log("Fragment "+K.sn+" of level "+K.level+" is being downloaded to test bitrate and will not be buffered"),this._loadBitrateTestFrag(K)):(this.startFragRequested=!0,O.prototype.loadFragment.call(this,K,q,Q)):tr===tV.APPENDING?this.reduceMaxBufferLength(K.duration)&&this.fragmentTracker.removeFragment(K):0===(null==($=this.media)?void 0:$.buffered.length)&&this.fragmentTracker.removeAllFragments()},$.getAppendedFrag=function(O){var K=this.fragmentTracker.getAppendedFrag(O,tI.PlaylistLevelType.MAIN);return K&&"fragment"in K?K.fragment:K},$.getBufferedFrag=function(O){return this.fragmentTracker.getBufferedFrag(O,tI.PlaylistLevelType.MAIN)},$.followingBufferedFrag=function(O){return O?this.getBufferedFrag(O.end+.5):null},$.immediateLevelSwitch=function(){this.abortCurrentFrag(),this.flushMainBuffer(0,1/0)},$.nextLevelSwitch=function(){var O=this.levels,K=this.media;if(null!=K&&K.readyState){var q,Q=this.getAppendedFrag(K.currentTime);if(Q&&Q.start>1&&this.flushMainBuffer(0,Q.start-1),!K.paused&&O){var $=O[this.hls.nextLoadLevel],tr=this.fragLastKbps;q=tr&&this.fragCurrent?this.fragCurrent.duration*$.maxBitrate/(1e3*tr)+1:0}else q=0;var ti=this.getBufferedFrag(K.currentTime+q);if(ti){var tn=this.followingBufferedFrag(ti);if(tn){this.abortCurrentFrag();var ta=tn.maxStartPTS?tn.maxStartPTS:tn.start,ts=tn.duration,to=Math.max(ti.end,ta+Math.min(Math.max(ts-this.config.maxFragLookUpTolerance,.5*ts),.75*ts));this.flushMainBuffer(to,1/0)}}}},$.abortCurrentFrag=function(){var O=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,null!=O&&O.loader&&O.loader.abort(),this.state){case t2:case t3:case t4:case t8:case t6:this.state=t1}this.nextLoadPosition=this.getLoadPosition()},$.flushMainBuffer=function(K,q){O.prototype.flushMainBuffer.call(this,K,q,this.altAudio?"video":null)},$.onMediaAttached=function(K,q){O.prototype.onMediaAttached.call(this,K,q);var Q=q.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),Q.addEventListener("playing",this.onvplaying),Q.addEventListener("seeked",this.onvseeked),this.gapController=new eh(this.config,Q,this.fragmentTracker,this.hls)},$.onMediaDetaching=function(){var K=this.media;K&&this.onvplaying&&this.onvseeked&&(K.removeEventListener("playing",this.onvplaying),K.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),O.prototype.onMediaDetaching.call(this)},$.onMediaPlaying=function(){this.tick()},$.onMediaSeeked=function(){var O=this.media,K=O?O.currentTime:null;(0,td.isFiniteNumber)(K)&&this.log("Media seeked to "+K.toFixed(3)),this.tick()},$.onManifestLoading=function(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(tc.Events.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=0,this.fragPlaying=null,this.backtrackFragment=null},$.onManifestParsed=function(O,K){var q,Q,$,tr=!1,ti=!1;K.levels.forEach(function(O){(q=O.audioCodec)&&(-1!==q.indexOf("mp4a.40.2")&&(tr=!0),-1!==q.indexOf("mp4a.40.5")&&(ti=!0))}),this.audioCodecSwitch=tr&&ti&&"function"!=typeof(null==($=ee())||null==(Q=$.prototype)?void 0:Q.changeType),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=K.levels,this.startFragRequested=!1},$.onLevelLoading=function(O,K){var q=this.levels;if(q&&this.state===t1){var Q=q[K.level];(!Q.details||Q.details.live&&this.levelLastLoaded!==K.level||this.waitForCdnTuneIn(Q.details))&&(this.state=ei)}},$.onLevelLoaded=function(O,K){var q,Q=this.levels,$=K.level,tr=K.details,ti=tr.totalduration;if(Q){this.log("Level "+$+" loaded ["+tr.startSN+","+tr.endSN+"], cc ["+tr.startCC+", "+tr.endCC+"] duration:"+ti);var tn=this.fragCurrent;!tn||this.state!==t3&&this.state!==t4||tn.level!==K.level&&tn.loader&&(this.state=t1,this.backtrackFragment=null,tn.loader.abort());var ta=Q[$],ts=0;if(tr.live||null!=(q=ta.details)&&q.live){if(tr.fragments[0]||(tr.deltaUpdateFailed=!0),tr.deltaUpdateFailed)return;ts=this.alignPlaylists(tr,ta.details)}if(ta.details=tr,this.levelLastLoaded=$,this.hls.trigger(tc.Events.LEVEL_UPDATED,{details:tr,level:$}),this.state===ei){if(this.waitForCdnTuneIn(tr))return;this.state=t1}this.startFragRequested?tr.live&&this.synchronizeToLiveEdge(tr):this.setStartPosition(tr,ts),this.tick()}else this.warn("Levels were reset while loading level "+$)},$._handleFragmentLoadProgress=function(O){var K,q=O.frag,Q=O.part,$=O.payload,tr=this.levels;if(tr){var ti=tr[q.level],tn=ti.details;if(tn){var ta=ti.videoCodec,ts=tn.PTSKnown||!tn.live,to=null==(K=q.initSegment)?void 0:K.data,tl=this._getAudioCodec(ti),tu=this.transmuxer=this.transmuxer||new eu(this.hls,tI.PlaylistLevelType.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),th=Q?Q.index:-1,td=new yt(q.level,q.sn,q.stats.chunkCount,$.byteLength,th,-1!==th),tc=this.initPTS[q.cc];tu.push($,to,tl,ta,q,Q,tn.totalduration,ts,td,tc)}else this.warn("Dropping fragment "+q.sn+" of level "+q.level+" after level details were reset")}else this.warn("Levels were reset while fragment load was in progress. Fragment "+q.sn+" of level "+q.level+" will not be buffered")},$.onAudioTrackSwitching=function(O,K){var q=this.altAudio,Q=!!K.url,$=K.id;if(!Q){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var tr=this.fragCurrent;null!=tr&&tr.loader&&(this.log("Switching to main audio track, cancel main fragment load"),tr.loader.abort()),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();var ti=this.hls;q&&ti.trigger(tc.Events.BUFFER_FLUSHING,{startOffset:0,endOffset:1/0,type:"audio"}),ti.trigger(tc.Events.AUDIO_TRACK_SWITCHED,{id:$})}},$.onAudioTrackSwitched=function(O,K){var q=K.id,Q=!!this.hls.audioTracks[q].url;if(Q){var $=this.videoBuffer;$&&this.mediaBuffer!==$&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=$)}this.altAudio=Q,this.tick()},$.onBufferCreated=function(O,K){var q,Q,$=K.tracks,tr=!1;for(var ti in $){var tn=$[ti];if("main"===tn.id){if(Q=ti,q=tn,"video"===ti){var ta=$[ti];ta&&(this.videoBuffer=ta.buffer)}}else tr=!0}tr&&q?(this.log("Alternate track found, use "+Q+".buffered to schedule main fragment loading"),this.mediaBuffer=q.buffer):this.mediaBuffer=this.media},$.onFragBuffered=function(O,K){var q=K.frag,Q=K.part;if(!q||q.type===tI.PlaylistLevelType.MAIN){if(this.fragContextChanged(q))return this.warn("Fragment "+q.sn+(Q?" p: "+Q.index:"")+" of level "+q.level+" finished buffering, but was aborted. state: "+this.state),void(this.state===t6&&(this.state=t1));var $=Q?Q.stats:q.stats;this.fragLastKbps=Math.round(8*$.total/($.buffering.end-$.loading.first)),"initSegment"!==q.sn&&(this.fragPrevious=q),this.fragBufferedComplete(q,Q)}},$.onError=function(O,K){switch(K.details){case tf.ErrorDetails.FRAG_LOAD_ERROR:case tf.ErrorDetails.FRAG_LOAD_TIMEOUT:case tf.ErrorDetails.KEY_LOAD_ERROR:case tf.ErrorDetails.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(tI.PlaylistLevelType.MAIN,K);break;case tf.ErrorDetails.LEVEL_LOAD_ERROR:case tf.ErrorDetails.LEVEL_LOAD_TIMEOUT:this.state!==t7&&(K.fatal?(this.warn(""+K.details),this.state=t7):K.levelRetry||this.state!==ei||(this.state=t1));break;case tf.ErrorDetails.BUFFER_FULL_ERROR:if("main"===K.parent&&(this.state===t8||this.state===t6)){var q=!0,Q=this.getFwdBufferInfo(this.media,tI.PlaylistLevelType.MAIN);Q&&Q.len>.5&&(q=!this.reduceMaxBufferLength(Q.len)),q&&(this.warn("buffer full error also media.currentTime is not buffered, flush main"),this.immediateLevelSwitch()),this.resetLoadingState()}}},$.checkBuffer=function(){var O=this.media,K=this.gapController;if(O&&K&&O.readyState){if(this.loadedmetadata||!tQ.getBuffered(O).length){var q=this.state!==t1?this.fragCurrent:null;K.poll(this.lastCurrentTime,q)}this.lastCurrentTime=O.currentTime}},$.onFragLoadEmergencyAborted=function(){this.state=t1,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()},$.onBufferFlushed=function(O,K){var q=K.type;if(q!==tT.ElementaryStreamTypes.AUDIO||this.audioOnly&&!this.altAudio){var Q=(q===tT.ElementaryStreamTypes.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(Q,q,tI.PlaylistLevelType.MAIN)}},$.onLevelsUpdated=function(O,K){this.levels=K.levels},$.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},$.seekToStartPos=function(){var O=this.media;if(O){var K=O.currentTime,q=this.startPosition;if(q>=0&&K0&&($1&&!1===O.seeking){var q=O.currentTime;if(tQ.isBuffered(O,q)?K=this.getAppendedFrag(q):tQ.isBuffered(O,q+.1)&&(K=this.getAppendedFrag(q+.1)),K){this.backtrackFragment=null;var Q=this.fragPlaying,$=K.level;Q&&K.sn===Q.sn&&Q.level===$&&K.urlId===Q.urlId||(this.hls.trigger(tc.Events.FRAG_CHANGED,{frag:K}),Q&&Q.level===$||this.hls.trigger(tc.Events.LEVEL_SWITCHED,{level:$}),this.fragPlaying=K)}}},q=i,Q=[{key:"nextLevel",get:function(){var O=this.nextBufferedFrag;return O?O.level:-1}},{key:"currentFrag",get:function(){var O=this.media;return O?this.fragPlaying||this.getAppendedFrag(O.currentTime):null}},{key:"currentProgramDateTime",get:function(){var O=this.media;if(O){var K=O.currentTime,q=this.currentFrag;if(q&&(0,td.isFiniteNumber)(K)&&(0,td.isFiniteNumber)(q.programDateTime))return new Date(q.programDateTime+1e3*(K-q.start))}return null}},{key:"currentLevel",get:function(){var O=this.currentFrag;return O?O.level:-1}},{key:"nextBufferedFrag",get:function(){var O=this.currentFrag;return O?this.followingBufferedFrag(O):null}},{key:"forceStartLoad",get:function(){return this._forceStartLoad}}],fe(q.prototype,Q),Object.defineProperty(q,"prototype",{writable:!1}),i}(en);let ec=function(){function t(O,K,q){void 0===K&&(K=0),void 0===q&&(q=0),this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=O,this.alpha_=O?Math.exp(Math.log(.5)/O):0,this.estimate_=K,this.totalWeight_=q}var O=t.prototype;return O.sample=function(O,K){var q=Math.pow(this.alpha_,O);this.estimate_=K*(1-q)+q*this.estimate_,this.totalWeight_+=O},O.getTotalWeight=function(){return this.totalWeight_},O.getEstimate=function(){if(this.alpha_){var O=1-Math.pow(this.alpha_,this.totalWeight_);if(O)return this.estimate_/O}return this.estimate_},t}(),ef=function(){function t(O,K,q){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultEstimate_=q,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new ec(O),this.fast_=new ec(K)}var O=t.prototype;return O.update=function(O,K){var q=this.slow_,Q=this.fast_;this.slow_.halfLife!==O&&(this.slow_=new ec(O,q.getEstimate(),q.getTotalWeight())),this.fast_.halfLife!==K&&(this.fast_=new ec(K,Q.getEstimate(),Q.getTotalWeight()))},O.sample=function(O,K){var q=(O=Math.max(O,this.minDelayMs_))/1e3,Q=8*K/q;this.fast_.sample(q,Q),this.slow_.sample(q,Q)},O.canEstimate=function(){var O=this.fast_;return O&&O.getTotalWeight()>=this.minWeight_},O.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},O.destroy=function(){},t}();function ye(O,K){for(var q=0;qth;tE--){var tS=tu[tE].maxBitrate;if((tT=tp?ti*tS/(6.4*tp):ti*tS/tl)=tm||(tg.logger.warn("Fragment "+O.sn+(K?" part "+K.index:"")+" of level "+O.level+" is loading too slowly and will cause an underbuffer; aborting and switching to level "+tE+` Current BW estimate: `+((0,td.isFiniteNumber)(tl)?(tl/1024).toFixed(3):"Unknown")+` Kb/s Estimated load time for current fragment: `+tm.toFixed(3)+` s Estimated load time for the next fragment: `+tT.toFixed(3)+` s Time to underbuffer: `+ty.toFixed(3)+" s"),q.nextLoadLevel=tE,to&&this.bwEstimator.sample(ta,tr.loaded),this.clearTimer(),O.loader&&(this.fragCurrent=this.partCurrent=null,O.loader.abort()),q.trigger(tc.Events.FRAG_LOAD_EMERGENCY_ABORTED,{frag:O,part:K,stats:tr}))}}}}}},q.onFragLoaded=function(O,K){var q=K.frag,Q=K.part;if(q.type===tI.PlaylistLevelType.MAIN&&(0,td.isFiniteNumber)(q.sn)){var $=Q?Q.stats:q.stats,tr=Q?Q.duration:q.duration;if(this.clearTimer(),this.lastLoadedFragLevel=q.level,this._nextAutoLevel=-1,this.hls.config.abrMaxWithRealBitrate){var ti=this.hls.levels[q.level],tn=(ti.loaded?ti.loaded.bytes:0)+$.loaded,ta=(ti.loaded?ti.loaded.duration:0)+tr;ti.loaded={bytes:tn,duration:ta},ti.realBitrate=Math.round(8*tn/ta)}if(q.bitrateTest){var ts={stats:$,frag:q,part:Q,id:q.type};this.onFragBuffered(tc.Events.FRAG_BUFFERED,ts)}}},q.onFragBuffered=function(O,K){var q=K.frag,Q=K.part,$=Q?Q.stats:q.stats;if(!$.aborted&&q.type===tI.PlaylistLevelType.MAIN&&"initSegment"!==q.sn){var tr=$.parsing.end-$.loading.start;this.bwEstimator.sample(tr,$.loaded),$.bwEstimate=this.bwEstimator.getEstimate(),q.bitrateTest?this.bitrateTestDelay=tr/1e3:this.bitrateTestDelay=0}},q.onError=function(O,K){switch(K.details){case tf.ErrorDetails.FRAG_LOAD_ERROR:case tf.ErrorDetails.FRAG_LOAD_TIMEOUT:this.clearTimer()}},q.clearTimer=function(){self.clearInterval(this.timer),this.timer=void 0},q.getNextABRAutoLevel=function(){var O=this.fragCurrent,K=this.partCurrent,q=this.hls,Q=q.maxAutoLevel,$=q.config,tr=q.minAutoLevel,ti=q.media,tn=K?K.duration:O?O.duration:0,ta=(ti&&ti.currentTime,ti&&0!==ti.playbackRate?Math.abs(ti.playbackRate):1),ts=this.bwEstimator?this.bwEstimator.getEstimate():$.abrEwmaDefaultEstimate,to=q.mainForwardBufferInfo,tl=(to?to.len:0)/ta,tu=this.findBestLevel(ts,tr,Q,tl,$.abrBandWidthFactor,$.abrBandWidthUpFactor);if(tu>=0)return tu;tg.logger.trace((tl?"rebuffering expected":"buffer is empty")+", finding optimal quality level");var th=tn?Math.min(tn,$.maxStarvationDelay):$.maxStarvationDelay,td=$.abrBandWidthFactor,tc=$.abrBandWidthUpFactor;if(!tl){var tf=this.bitrateTestDelay;tf&&(th=(tn?Math.min(tn,$.maxLoadingDelay):$.maxLoadingDelay)-tf,tg.logger.trace("bitrate test took "+Math.round(1e3*tf)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*th)+" ms"),td=tc=1)}return Math.max(tu=this.findBestLevel(ts,tr,Q,tl+th,td,tc),0)},q.findBestLevel=function(O,K,q,Q,$,tr){for(var ti,tn=this.fragCurrent,ta=this.partCurrent,ts=this.lastLoadedFragLevel,to=this.hls.levels,tl=to[ts],tu=!(null==tl||null==(ti=tl.details)||!ti.live),th=null==tl?void 0:tl.codecSet,tc=ta?ta.duration:tn?tn.duration:0,tf=q;tf>=K;tf--){var tv=to[tf];if(tv&&(!th||tv.codecSet===th)){var tp,tm=tv.details,ty=(ta?null==tm?void 0:tm.partTarget:null==tm?void 0:tm.averagetargetduration)||tc;tp=tf<=ts?$*O:tr*O;var tE=to[tf].maxBitrate,tT=tE*ty/tp;if(tg.logger.trace("level/adjustedbw/bitrate/avgDuration/maxFetchDuration/fetchDuration: "+tf+"/"+Math.round(tp)+"/"+tE+"/"+ty+"/"+Q+"/"+tT),tp>tE&&(0===tT||!(0,td.isFiniteNumber)(tT)||tu&&!this.bitrateTestDelay||tT0&&-1===O?(this.log("Override startPosition with lastCurrentTime @"+K.toFixed(3)),O=K,this.state=t1):(this.loadedmetadata=!1,this.state=t5),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=O,this.tick()},q.doTick=function(){switch(this.state){case t1:this.doTickIdle();break;case t5:var K,q=this.levels,Q=this.trackId,$=null==q||null==(K=q[Q])?void 0:K.details;if($){if(this.waitForCdnTuneIn($))break;this.state=er}break;case t4:var tr,ti=performance.now(),tn=this.retryDate;(!tn||ti>=tn||null!=(tr=this.media)&&tr.seeking)&&(this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded(this.trackId),this.state=t1);break;case er:var ta=this.waitingData;if(ta){var ts=ta.frag,to=ta.part,tl=ta.cache,tu=ta.complete;if(void 0!==this.initPTS[ts.cc]){this.waitingData=null,this.waitingVideoCC=-1,this.state=t3;var th={frag:ts,part:to,payload:tl.flush(),networkDetails:null};this._handleFragmentLoadProgress(th),tu&&O.prototype._handleFragmentLoadComplete.call(this,th)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log("Waiting fragment cc ("+ts.cc+") cancelled because video is at cc "+this.videoTrackCC),this.clearWaitingFragment();else{var td=this.getLoadPosition(),tc=tQ.bufferInfo(this.mediaBuffer,td,this.config.maxBufferHole);0>At(tc.end,this.config.maxFragLookUpTolerance,ts)&&(this.log("Waiting fragment cc ("+ts.cc+") @ "+ts.start+" cancelled because another fragment at "+tc.end+" is needed"),this.clearWaitingFragment())}}else this.state=t1}this.onTickEnd()},q.clearWaitingFragment=function(){var O=this.waitingData;O&&(this.fragmentTracker.removeFragment(O.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=t1)},q.resetLoadingState=function(){this.clearWaitingFragment(),O.prototype.resetLoadingState.call(this)},q.onTickEnd=function(){var O=this.media;if(O&&O.readyState){var K=(this.mediaBuffer?this.mediaBuffer:O).buffered;!this.loadedmetadata&&K.length&&(this.loadedmetadata=!0),this.lastCurrentTime=O.currentTime}},q.doTickIdle=function(){var O,K,q=this.hls,Q=this.levels,$=this.media,tr=this.trackId,ti=q.config;if(Q&&Q[tr]&&($||!this.startFragRequested&&ti.startFragPrefetch)){var tn=Q[tr].details;if(!tn||tn.live&&this.levelLastLoaded!==tr||this.waitForCdnTuneIn(tn))this.state=t5;else{var ta=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&ta&&(this.bufferFlushed=!1,this.afterBufferFlushed(ta,tT.ElementaryStreamTypes.AUDIO,tI.PlaylistLevelType.AUDIO));var ts=this.getFwdBufferInfo(ta,tI.PlaylistLevelType.AUDIO);if(null!==ts){var to=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,tI.PlaylistLevelType.MAIN),tl=ts.len,tu=this.getMaxBufferLength(null==to?void 0:to.len),th=this.audioSwitch;if(!(tl>=tu)||th){if(!th&&this._streamEnded(ts,tn))return q.trigger(tc.Events.BUFFER_EOS,{type:"audio"}),void(this.state=t9);var td=tn.fragments[0].start,tf=ts.end;if(th&&$){var tg=this.getLoadPosition();tf=tg,tn.PTSKnown&&tgtd||ts.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),$.currentTime=td+.05)}if(!(to&&tf>to.end+tn.targetduration)&&(to&&to.len||!ts.len)){var tv=this.getNextFragment(tf,tn);tv?"identity"!==(null==(O=tv.decryptdata)?void 0:O.keyFormat)||null!=(K=tv.decryptdata)&&K.key?this.loadFragment(tv,tn,tf):this.loadKey(tv,tn):this.bufferFlushed=!0}}}}}},q.getMaxBufferLength=function(K){var q=O.prototype.getMaxBufferLength.call(this);return K?Math.max(q,K):q},q.onMediaDetaching=function(){this.videoBuffer=null,O.prototype.onMediaDetaching.call(this)},q.onAudioTracksUpdated=function(O,K){var q=K.audioTracks;this.resetTransmuxer(),this.levels=q.map(function(O){return new tK(O)})},q.onAudioTrackSwitching=function(O,K){var q=!!K.url;this.trackId=K.id;var Q=this.fragCurrent;null!=Q&&Q.loader&&Q.loader.abort(),this.fragCurrent=null,this.clearWaitingFragment(),q?this.setInterval(100):this.resetTransmuxer(),q?(this.audioSwitch=!0,this.state=t1):this.state=t0,this.tick()},q.onManifestLoading=function(){this.mainDetails=null,this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=!1},q.onLevelLoaded=function(O,K){this.mainDetails=K.details,null!==this.cachedTrackLoadedData&&(this.hls.trigger(tc.Events.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)},q.onAudioTrackLoaded=function(O,K){var q;if(null!=this.mainDetails){var Q=this.levels,$=K.details,tr=K.id;if(Q){this.log("Track "+tr+" loaded ["+$.startSN+","+$.endSN+"],duration:"+$.totalduration);var ti=Q[tr],tn=0;if($.live||null!=(q=ti.details)&&q.live){var ta=this.mainDetails;if($.fragments[0]||($.deltaUpdateFailed=!0),$.deltaUpdateFailed||!ta)return;!ti.details&&$.hasProgramDateTime&&ta.hasProgramDateTime?(bt($,ta),tn=$.fragments[0].start):tn=this.alignPlaylists($,ti.details)}ti.details=$,this.levelLastLoaded=tr,this.startFragRequested||!this.mainDetails&&$.live||this.setStartPosition(ti.details,tn),this.state!==t5||this.waitForCdnTuneIn($)||(this.state=t1),this.tick()}else this.warn("Audio tracks were reset while loading level "+tr)}else this.cachedTrackLoadedData=K},q._handleFragmentLoadProgress=function(O){var K,q=O.frag,Q=O.part,$=O.payload,tr=this.config,ti=this.trackId,tn=this.levels;if(tn){var ta=tn[ti],ts=ta.details,to=tr.defaultAudioCodec||ta.audioCodec||"mp4a.40.2",tl=this.transmuxer;tl||(tl=this.transmuxer=new eu(this.hls,tI.PlaylistLevelType.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));var tu=this.initPTS[q.cc],th=null==(K=q.initSegment)?void 0:K.data;if(void 0!==tu){var td=Q?Q.index:-1,tc=new yt(q.level,q.sn,q.stats.chunkCount,$.byteLength,td,-1!==td);tl.push($,th,to,"",q,Q,ts.totalduration,!1,tc,tu)}else this.log("Unknown video PTS for cc "+q.cc+", waiting for video PTS before demuxing audio frag "+q.sn+" of ["+ts.startSN+" ,"+ts.endSN+"],track "+ti),(this.waitingData=this.waitingData||{frag:q,part:Q,cache:new ev,complete:!1}).cache.push(new Uint8Array($)),this.waitingVideoCC=this.videoTrackCC,this.state=er}else this.warn("Audio tracks were reset while fragment load was in progress. Fragment "+q.sn+" of level "+q.level+" will not be buffered")},q._handleFragmentLoadComplete=function(K){this.waitingData?this.waitingData.complete=!0:O.prototype._handleFragmentLoadComplete.call(this,K)},q.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1},q.onBufferCreated=function(O,K){var q=K.tracks.audio;q&&(this.mediaBuffer=q.buffer||null),K.tracks.video&&(this.videoBuffer=K.tracks.video.buffer||null)},q.onFragBuffered=function(O,K){var q=K.frag,Q=K.part;q.type===tI.PlaylistLevelType.AUDIO&&(this.fragContextChanged(q)?this.warn("Fragment "+q.sn+(Q?" p: "+Q.index:"")+" of level "+q.level+" finished buffering, but was aborted. state: "+this.state+", audioSwitch: "+this.audioSwitch):("initSegment"!==q.sn&&(this.fragPrevious=q,this.audioSwitch&&(this.audioSwitch=!1,this.hls.trigger(tc.Events.AUDIO_TRACK_SWITCHED,{id:this.trackId}))),this.fragBufferedComplete(q,Q)))},q.onError=function(K,q){switch(q.details){case tf.ErrorDetails.FRAG_LOAD_ERROR:case tf.ErrorDetails.FRAG_LOAD_TIMEOUT:case tf.ErrorDetails.KEY_LOAD_ERROR:case tf.ErrorDetails.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(tI.PlaylistLevelType.AUDIO,q);break;case tf.ErrorDetails.AUDIO_TRACK_LOAD_ERROR:case tf.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:this.state!==t7&&this.state!==t0&&(this.state=q.fatal?t7:t1,this.warn(q.details+" while loading frag, switching to "+this.state+" state"));break;case tf.ErrorDetails.BUFFER_FULL_ERROR:if("audio"===q.parent&&(this.state===t8||this.state===t6)){var Q=!0,$=this.getFwdBufferInfo(this.mediaBuffer,tI.PlaylistLevelType.AUDIO);$&&$.len>.5&&(Q=!this.reduceMaxBufferLength($.len)),Q&&(this.warn("Buffer full error also media.currentTime is not buffered, flush audio buffer"),this.fragCurrent=null,O.prototype.flushMainBuffer.call(this,0,1/0,"audio")),this.resetLoadingState()}}},q.onBufferFlushed=function(O,K){K.type===tT.ElementaryStreamTypes.AUDIO&&(this.bufferFlushed=!0)},q._handleTransmuxComplete=function(O){var K,q="audio",Q=this.hls,$=O.remuxResult,tr=O.chunkMeta,ti=this.getCurrentContext(tr);if(!ti)return this.warn("The loading context changed while buffering fragment "+tr.sn+" of level "+tr.level+". This chunk will not be buffered."),void this.resetStartWhenNotLoaded(tr.level);var tn=ti.frag,ta=ti.part,ts=ti.level.details,to=$.audio,tl=$.text,tu=$.id3,th=$.initSegment;if(!this.fragContextChanged(tn)&&ts){if(this.state=t8,this.audioSwitch&&to&&this.completeAudioSwitch(),null!=th&&th.tracks&&(this._bufferInitSegment(th.tracks,tn,tr),Q.trigger(tc.Events.FRAG_PARSING_INIT_SEGMENT,{frag:tn,id:q,tracks:th.tracks})),to){var td=to.startPTS,tf=to.endPTS,tg=to.startDTS,tv=to.endDTS;ta&&(ta.elementaryStreams[tT.ElementaryStreamTypes.AUDIO]={startPTS:td,endPTS:tf,startDTS:tg,endDTS:tv}),tn.setElementaryStreamInfo(tT.ElementaryStreamTypes.AUDIO,td,tf,tg,tv),this.bufferFragmentData(to,tn,ta,tr)}if(null!=tu&&null!=(K=tu.samples)&&K.length){var tp=Se({id:q,frag:tn,details:ts},tu);Q.trigger(tc.Events.FRAG_PARSING_METADATA,tp)}if(tl){var tm=Se({id:q,frag:tn,details:ts},tl);Q.trigger(tc.Events.FRAG_PARSING_USERDATA,tm)}}},q._bufferInitSegment=function(O,K,q){if(this.state===t8){O.video&&delete O.video;var Q=O.audio;if(Q){Q.levelCodec=Q.codec,Q.id="audio",this.log("Init audio buffer, container:"+Q.container+", codecs[parsed]=["+Q.codec+"]"),this.hls.trigger(tc.Events.BUFFER_CODECS,O);var $=Q.initSegment;if(null!=$&&$.byteLength){var tr={type:"audio",frag:K,part:null,chunkMeta:q,parent:K.type,data:$};this.hls.trigger(tc.Events.BUFFER_APPENDING,tr)}this.tick()}}},q.loadFragment=function(K,q,Q){var $=this.fragmentTracker.getState(K);this.fragCurrent=K,(this.audioSwitch||$===tV.NOT_LOADED||$===tV.PARTIAL)&&("initSegment"===K.sn?this._loadInitSegment(K):q.live&&!(0,td.isFiniteNumber)(this.initPTS[K.cc])?(this.log("Waiting for video PTS in continuity counter "+K.cc+" of live stream before loading audio fragment "+K.sn+" of level "+this.trackId),this.state=er):(this.startFragRequested=!0,O.prototype.loadFragment.call(this,K,q,Q)))},q.completeAudioSwitch=function(){var K=this.hls,q=this.media,Q=this.trackId;q&&(this.log("Switching audio track : flushing all audio"),O.prototype.flushMainBuffer.call(this,0,1/0,"audio")),this.audioSwitch=!1,K.trigger(tc.Events.AUDIO_TRACK_SWITCHED,{id:Q})},i}(en);function Ae(O,K){for(var q=0;q=K.length)this.warn("Invalid id passed to audio-track controller");else{this.clearTimer();var q=K[this.trackId];this.log("Now switching to audio-track index "+O);var Q=K[O],$=Q.id,tr=Q.groupId,ti=Q.name,tn=Q.type,ta=Q.url;if(this.trackId=O,this.trackName=ti,this.selectDefaultTrack=!1,this.hls.trigger(tc.Events.AUDIO_TRACK_SWITCHING,{id:$,groupId:void 0===tr?"":tr,name:ti,type:tn,url:ta}),!Q.details||Q.details.live){var ts=this.switchParams(Q.url,null==q?void 0:q.details);this.loadPlaylist(ts)}}},$.selectInitialTrack=function(){this.tracksInGroup;var O=this.trackName,K=this.findTrackId(O)||this.findTrackId();-1!==K?this.setAudioTrack(K):(this.warn("No track found for running audio group-ID: "+this.groupId),this.hls.trigger(tc.Events.ERROR,{type:tf.ErrorTypes.MEDIA_ERROR,details:tf.ErrorDetails.AUDIO_TRACK_LOAD_ERROR,fatal:!0}))},$.findTrackId=function(O){for(var K=this.tracksInGroup,q=0;q=$[tn].start&&ti<=$[tn].end){tr=$[tn];break}var ta=q.start+q.duration;tr?tr.end=ta:(tr={start:ti,end:ta},$.push(tr)),this.fragmentTracker.fragBuffered(q)}}},$.onBufferFlushing=function(O,K){var q=K.startOffset,Q=K.endOffset;if(0===q&&Q!==1/0){var $=this.currentTrackId,tr=this.levels;if(!tr.length||!tr[$]||!tr[$].details)return;var ti=Q-tr[$].details.targetduration;if(ti<=0)return;K.endOffsetSubtitles=Math.max(0,ti),this.tracksBuffered.forEach(function(O){for(var K=0;K=ti.length||$!==tr)&&tn){if(this.mediaBuffer=this.mediaBufferTimeRanges,Q.live||null!=(q=tn.details)&&q.live){var ta=this.mainDetails;if(Q.deltaUpdateFailed||!ta)return;var ts=ta.fragments[0];tn.details?0===this.alignPlaylists(Q,tn.details)&&ts&&nt(Q,ts.start):Q.hasProgramDateTime&&ta.hasProgramDateTime?bt(Q,ta):ts&&nt(Q,ts.start)}tn.details=Q,this.levelLastLoaded=$,this.tick(),Q.live&&!this.fragCurrent&&this.media&&this.state===t1&&(Dt(null,Q.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),tn.details=void 0))}}},$._handleFragmentLoadComplete=function(O){var K=O.frag,q=O.payload,Q=K.decryptdata,$=this.hls;if(!this.fragContextChanged(K)&&q&&q.byteLength>0&&Q&&Q.key&&Q.iv&&"AES-128"===Q.method){var tr=performance.now();this.decrypter.webCryptoDecrypt(new Uint8Array(q),Q.key.buffer,Q.iv.buffer).then(function(O){var q=performance.now();$.trigger(tc.Events.FRAG_DECRYPTED,{frag:K,payload:O,stats:{tstart:tr,tdecrypt:q}})})}},$.doTick=function(){if(this.media){if(this.state===t1){var O=this.currentTrackId,K=this.levels;if(!K.length||!K[O]||!K[O].details)return;var q=K[O].details,Q=q.targetduration,$=this.config,tr=this.media,ti=tQ.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],tr.currentTime-Q,$.maxBufferHole),tn=ti.end;if(ti.len>this.getMaxBufferLength()+Q)return;var ta,ts=q.fragments,to=ts.length,tl=q.edge,tu=this.fragPrevious;if(tn>>=0)>Q-1)throw new DOMException("Failed to execute '"+K+"' on 'TimeRanges': The index provided ("+q+") is greater than the maximum bound ("+Q+")");return O[q][K]};this.buffered={get length(){return O.length},end:function(K){return e("end",K,O.length)},start:function(K){return e("start",K,O.length)}}};function Oe(O,K){for(var q=0;q-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))},$.pollTrackChange=function(O){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.trackChangeListener,O)},$.onMediaDetaching=function(){this.media&&(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),Pe(this.media.textTracks).forEach(function(O){U(O)}),this.subtitleTrack=-1,this.media=null)},$.onManifestLoading=function(){this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.selectDefaultTrack=!0},$.onManifestParsed=function(O,K){this.tracks=K.subtitleTracks},$.onSubtitleTrackLoaded=function(O,K){var q=K.id,Q=K.details,$=this.trackId,tr=this.tracksInGroup[$];if(tr){var ti=tr.details;tr.details=K.details,this.log("subtitle track "+q+" loaded ["+Q.startSN+"-"+Q.endSN+"]"),q===this.trackId&&(this.retryCount=0,this.playlistLoaded(q,K,ti))}else this.warn("Invalid subtitle track id "+q)},$.onLevelLoading=function(O,K){this.switchLevel(K.level)},$.onLevelSwitching=function(O,K){this.switchLevel(K.level)},$.switchLevel=function(O){var K=this.hls.levels[O];if(null!=K&&K.textGroupIds){var q=K.textGroupIds[K.urlId];if(this.groupId!==q){var Q=this.tracksInGroup?this.tracksInGroup[this.trackId]:void 0,$=this.tracks.filter(function(O){return!q||O.groupId===q});this.tracksInGroup=$;var tr=this.findTrackId(null==Q?void 0:Q.name)||this.findTrackId();this.groupId=q,this.log("Updating subtitle tracks, "+$.length+' track(s) found in "'+q+'" group-id'),this.hls.trigger(tc.Events.SUBTITLE_TRACKS_UPDATED,{subtitleTracks:$}),-1!==tr&&this.setSubtitleTrack(tr,Q)}}},$.findTrackId=function(O){for(var K=this.tracksInGroup,q=0;q=Q.length)){this.clearTimer();var $=Q[O];if(this.log("Switching to subtitle track "+O),this.trackId=O,$){var tr=$.id,ti=$.groupId,tn=$.name,ta=$.type,ts=$.url;this.hls.trigger(tc.Events.SUBTITLE_TRACK_SWITCH,{id:tr,groupId:void 0===ti?"":ti,name:tn,type:ta,url:ts});var to=this.switchParams($.url,null==K?void 0:K.details);this.loadPlaylist(to)}else this.hls.trigger(tc.Events.SUBTITLE_TRACK_SWITCH,{id:O})}}else this.queuedDefaultTrack=O},$.onTextTracksChanged=function(){if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),this.media&&this.hls.config.renderTextTracksNatively){for(var O=-1,K=Pe(this.media.textTracks),q=0;q-1&&this.toggleTrackModes(this.trackId)}},{key:"subtitleTracks",get:function(){return this.tracksInGroup}},{key:"subtitleTrack",get:function(){return this.trackId},set:function(O){this.selectDefaultTrack=!1;var K=this.tracksInGroup?this.tracksInGroup[this.trackId]:void 0;this.setSubtitleTrack(O,K)}}],Oe(q.prototype,Q),Object.defineProperty(q,"prototype",{writable:!1}),i}(tH);var eT,eS,eb=function(){function t(O){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=O}var O=t.prototype;return O.append=function(O,K){var q=this.queues[K];q.push(O),1===q.length&&this.buffers[K]&&this.executeNext(K)},O.insertAbort=function(O,K){this.queues[K].unshift(O),this.executeNext(K)},O.appendBlocker=function(O){var K,q=new Promise(function(O){K=O}),Q={execute:K,onStart:function(){},onComplete:function(){},onError:function(){}};return this.append(Q,O),q},O.executeNext=function(O){var K=this.buffers,q=this.queues,Q=K[O],$=q[O];if($.length){var tr=$[0];try{tr.execute()}catch(K){tg.logger.warn("[buffer-operation-queue]: Unhandled exception executing the current operation"),tr.onError(K),Q&&Q.updating||($.shift(),this.executeNext(O))}}},O.shiftAndExecuteNext=function(O){this.queues[O].shift(),this.executeNext(O)},O.current=function(O){return this.queues[O][0]},t}(),eL=te(),eD=/([ha]vc.)(?:\.[^.,]+)+/,eA=function(){function t(O){var K=this;this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.appendError=0,this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this._onMediaSourceOpen=function(){var O=K.hls,q=K.media,Q=K.mediaSource;tg.logger.log("[buffer-controller]: Media source opened"),q&&(K.updateMediaElementDuration(),O.trigger(tc.Events.MEDIA_ATTACHED,{media:q})),Q&&Q.removeEventListener("sourceopen",K._onMediaSourceOpen),K.checkPendingTracks()},this._onMediaSourceClose=function(){tg.logger.log("[buffer-controller]: Media source closed")},this._onMediaSourceEnded=function(){tg.logger.log("[buffer-controller]: Media source ended")},this.hls=O,this._initSourceBuffer(),this.registerListeners()}var O=t.prototype;return O.hasSourceTypes=function(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0},O.destroy=function(){this.unregisterListeners(),this.details=null},O.registerListeners=function(){var O=this.hls;O.on(tc.Events.MEDIA_ATTACHING,this.onMediaAttaching,this),O.on(tc.Events.MEDIA_DETACHING,this.onMediaDetaching,this),O.on(tc.Events.MANIFEST_PARSED,this.onManifestParsed,this),O.on(tc.Events.BUFFER_RESET,this.onBufferReset,this),O.on(tc.Events.BUFFER_APPENDING,this.onBufferAppending,this),O.on(tc.Events.BUFFER_CODECS,this.onBufferCodecs,this),O.on(tc.Events.BUFFER_EOS,this.onBufferEos,this),O.on(tc.Events.BUFFER_FLUSHING,this.onBufferFlushing,this),O.on(tc.Events.LEVEL_UPDATED,this.onLevelUpdated,this),O.on(tc.Events.FRAG_PARSED,this.onFragParsed,this),O.on(tc.Events.FRAG_CHANGED,this.onFragChanged,this)},O.unregisterListeners=function(){var O=this.hls;O.off(tc.Events.MEDIA_ATTACHING,this.onMediaAttaching,this),O.off(tc.Events.MEDIA_DETACHING,this.onMediaDetaching,this),O.off(tc.Events.MANIFEST_PARSED,this.onManifestParsed,this),O.off(tc.Events.BUFFER_RESET,this.onBufferReset,this),O.off(tc.Events.BUFFER_APPENDING,this.onBufferAppending,this),O.off(tc.Events.BUFFER_CODECS,this.onBufferCodecs,this),O.off(tc.Events.BUFFER_EOS,this.onBufferEos,this),O.off(tc.Events.BUFFER_FLUSHING,this.onBufferFlushing,this),O.off(tc.Events.LEVEL_UPDATED,this.onLevelUpdated,this),O.off(tc.Events.FRAG_PARSED,this.onFragParsed,this),O.off(tc.Events.FRAG_CHANGED,this.onFragChanged,this)},O._initSourceBuffer=function(){this.sourceBuffer={},this.operationQueue=new eb(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]}},O.onManifestParsed=function(O,K){var q=2;(!K.audio||K.video)&&K.altAudio||(q=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=q,this.details=null,tg.logger.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},O.onMediaAttaching=function(O,K){var q=this.media=K.media;if(q&&eL){var Q=this.mediaSource=new eL;Q.addEventListener("sourceopen",this._onMediaSourceOpen),Q.addEventListener("sourceended",this._onMediaSourceEnded),Q.addEventListener("sourceclose",this._onMediaSourceClose),q.src=self.URL.createObjectURL(Q),this._objectUrl=q.src}},O.onMediaDetaching=function(){var O=this.media,K=this.mediaSource,q=this._objectUrl;if(K){if(tg.logger.log("[buffer-controller]: media source detaching"),"open"===K.readyState)try{K.endOfStream()}catch(O){tg.logger.warn("[buffer-controller]: onMediaDetaching: "+O.message+" while calling endOfStream")}this.onBufferReset(),K.removeEventListener("sourceopen",this._onMediaSourceOpen),K.removeEventListener("sourceended",this._onMediaSourceEnded),K.removeEventListener("sourceclose",this._onMediaSourceClose),O&&(q&&self.URL.revokeObjectURL(q),O.src===q?(O.removeAttribute("src"),O.load()):tg.logger.warn("[buffer-controller]: media.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(tc.Events.MEDIA_DETACHED,void 0)},O.onBufferReset=function(){var O=this;this.getSourceBufferTypes().forEach(function(K){var q=O.sourceBuffer[K];try{q&&(O.removeBufferListeners(K),O.mediaSource&&O.mediaSource.removeSourceBuffer(q),O.sourceBuffer[K]=void 0)}catch(O){tg.logger.warn("[buffer-controller]: Failed to reset the "+K+" buffer",O)}}),this._initSourceBuffer()},O.onBufferCodecs=function(O,K){var q=this,Q=this.getSourceBufferTypes().length;Object.keys(K).forEach(function(O){if(Q){var $=q.tracks[O];if($&&"function"==typeof $.buffer.changeType){var tr=K[O],ti=tr.id,tn=tr.codec,ta=tr.levelCodec,ts=tr.container,to=tr.metadata,tl=($.levelCodec||$.codec).replace(eD,"$1"),tu=(ta||tn).replace(eD,"$1");if(tl!==tu){var th=ts+";codecs="+(ta||tn);q.appendChangeType(O,th),tg.logger.log("[buffer-controller]: switching codec "+tl+" to "+tu),q.tracks[O]={buffer:$.buffer,codec:tn,container:ts,levelCodec:ta,metadata:to,id:ti}}}}else q.pendingTracks[O]=K[O]}),Q||(this.bufferCodecEventsExpected=Math.max(this.bufferCodecEventsExpected-1,0),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks())},O.appendChangeType=function(O,K){var q=this,Q=this.operationQueue;Q.append({execute:function(){var $=q.sourceBuffer[O];$&&(tg.logger.log("[buffer-controller]: changing "+O+" sourceBuffer type to "+K),$.changeType(K)),Q.shiftAndExecuteNext(O)},onStart:function(){},onComplete:function(){},onError:function(K){tg.logger.warn("[buffer-controller]: Failed to change "+O+" SourceBuffer type",K)}},O)},O.onBufferAppending=function(O,K){var q=this,Q=this.hls,$=this.operationQueue,tr=this.tracks,ti=K.data,tn=K.type,ta=K.frag,ts=K.part,to=K.chunkMeta,tl=to.buffering[tn],tu=self.performance.now();tl.start=tu;var th=ta.stats.buffering,td=ts?ts.stats.buffering:null;0===th.start&&(th.start=tu),td&&0===td.start&&(td.start=tu);var tv=tr.audio,tp="audio"===tn&&1===to.id&&"audio/mpeg"===(null==tv?void 0:tv.container);$.append({execute:function(){if(tl.executeStart=self.performance.now(),tp){var O=q.sourceBuffer[tn];if(O){var K=ta.start-O.timestampOffset;Math.abs(K)>=.1&&(tg.logger.log("[buffer-controller]: Updating audio SourceBuffer timestampOffset to "+ta.start+" (delta: "+K+") sn: "+ta.sn+")"),O.timestampOffset=ta.start)}}q.appendExecutor(ti,tn)},onStart:function(){},onComplete:function(){var O=self.performance.now();tl.executeEnd=tl.end=O,0===th.first&&(th.first=O),td&&0===td.first&&(td.first=O);var K=q.sourceBuffer,Q={};for(var $ in K)Q[$]=tQ.getBuffered(K[$]);q.appendError=0,q.hls.trigger(tc.Events.BUFFER_APPENDED,{type:tn,frag:ta,part:ts,chunkMeta:to,parent:ta.type,timeRanges:Q})},onError:function(O){tg.logger.error("[buffer-controller]: Error encountered while trying to append to the "+tn+" SourceBuffer",O);var K={type:tf.ErrorTypes.MEDIA_ERROR,parent:ta.type,details:tf.ErrorDetails.BUFFER_APPEND_ERROR,err:O,fatal:!1};O.code===DOMException.QUOTA_EXCEEDED_ERR?K.details=tf.ErrorDetails.BUFFER_FULL_ERROR:(q.appendError++,K.details=tf.ErrorDetails.BUFFER_APPEND_ERROR,q.appendError>Q.config.appendErrorMaxRetry&&(tg.logger.error("[buffer-controller]: Failed "+Q.config.appendErrorMaxRetry+" times to append segment in sourceBuffer"),K.fatal=!0,Q.stopLoad())),Q.trigger(tc.Events.ERROR,K)}},tn)},O.onBufferFlushing=function(O,K){var q=this,Q=this.operationQueue,n=function(O){return{execute:q.removeExecutor.bind(q,O,K.startOffset,K.endOffset),onStart:function(){},onComplete:function(){q.hls.trigger(tc.Events.BUFFER_FLUSHED,{type:O})},onError:function(K){tg.logger.warn("[buffer-controller]: Failed to remove from "+O+" SourceBuffer",K)}}};K.type?Q.append(n(K.type),K.type):this.getSourceBufferTypes().forEach(function(O){Q.append(n(O),O)})},O.onFragParsed=function(O,K){var q=this,Q=K.frag,$=K.part,tr=[],ti=$?$.elementaryStreams:Q.elementaryStreams;ti[tT.ElementaryStreamTypes.AUDIOVIDEO]?tr.push("audiovideo"):(ti[tT.ElementaryStreamTypes.AUDIO]&&tr.push("audio"),ti[tT.ElementaryStreamTypes.VIDEO]&&tr.push("video")),0===tr.length&&tg.logger.warn("Fragments must have at least one ElementaryStreamType set. type: "+Q.type+" level: "+Q.level+" sn: "+Q.sn),this.blockBuffers(function(){var O=self.performance.now();Q.stats.buffering.end=O,$&&($.stats.buffering.end=O);var K=$?$.stats:Q.stats;q.hls.trigger(tc.Events.FRAG_BUFFERED,{frag:Q,part:$,stats:K,id:Q.type})},tr)},O.onFragChanged=function(O,K){this.flushBackBuffer()},O.onBufferEos=function(O,K){var q=this;this.getSourceBufferTypes().reduce(function(O,Q){var $=q.sourceBuffer[Q];return K.type&&K.type!==Q||$&&!$.ended&&($.ended=!0,tg.logger.log("[buffer-controller]: "+Q+" sourceBuffer now EOS")),O&&!($&&!$.ended)},!0)&&this.blockBuffers(function(){var O=q.mediaSource;O&&"open"===O.readyState&&O.endOfStream()})},O.onLevelUpdated=function(O,K){var q=K.details;q.fragments.length&&(this.details=q,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())},O.flushBackBuffer=function(){var O=this.hls,K=this.details,q=this.media,Q=this.sourceBuffer;if(q&&null!==K){var $=this.getSourceBufferTypes();if($.length){var tr=K.live&&null!==O.config.liveBackBufferLength?O.config.liveBackBufferLength:O.config.backBufferLength;if((0,td.isFiniteNumber)(tr)&&!(tr<0)){var ti=q.currentTime,tn=K.levelTargetDuration,ta=Math.max(tr,tn),ts=Math.floor(ti/tn)*tn-ta;$.forEach(function(q){var $=Q[q];if($){var tr=tQ.getBuffered($);tr.length>0&&ts>tr.start(0)&&(O.trigger(tc.Events.BACK_BUFFER_REACHED,{bufferEnd:ts}),K.live&&O.trigger(tc.Events.LIVE_BACK_BUFFER_REACHED,{bufferEnd:ts}),O.trigger(tc.Events.BUFFER_FLUSHING,{startOffset:0,endOffset:ts,type:q}))}})}}}},O.updateMediaElementDuration=function(){if(this.details&&this.media&&this.mediaSource&&"open"===this.mediaSource.readyState){var O=this.details,K=this.hls,q=this.media,Q=this.mediaSource,$=O.fragments[0].start+O.totalduration,tr=q.duration,ti=(0,td.isFiniteNumber)(Q.duration)?Q.duration:0;O.live&&K.config.liveDurationInfinity?(tg.logger.log("[buffer-controller]: Media Source duration is set to Infinity"),Q.duration=1/0,this.updateSeekableRange(O)):($>ti&&$>tr||!(0,td.isFiniteNumber)(tr))&&(tg.logger.log("[buffer-controller]: Updating Media Source duration to "+$.toFixed(3)),Q.duration=$)}},O.updateSeekableRange=function(O){var K=this.mediaSource,q=O.fragments;if(q.length&&O.live&&null!=K&&K.setLiveSeekableRange){var Q=Math.max(0,q[0].start),$=Math.max(Q,Q+O.totalduration);K.setLiveSeekableRange(Q,$)}},O.checkPendingTracks=function(){var O=this.bufferCodecEventsExpected,K=this.operationQueue,q=this.pendingTracks,Q=Object.keys(q).length;if(Q&&!O||2===Q){this.createSourceBuffers(q),this.pendingTracks={};var $=this.getSourceBufferTypes();if(0===$.length)return void this.hls.trigger(tc.Events.ERROR,{type:tf.ErrorTypes.MEDIA_ERROR,details:tf.ErrorDetails.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,reason:"could not create source buffer for media codec(s)"});$.forEach(function(O){K.executeNext(O)})}},O.createSourceBuffers=function(O){var K=this.sourceBuffer,q=this.mediaSource;if(!q)throw Error("createSourceBuffers called when mediaSource was null");var Q=0;for(var $ in O)if(!K[$]){var tr=O[$];if(!tr)throw Error("source buffer exists for track "+$+", however track does not");var ti=tr.levelCodec||tr.codec,tn=tr.container+";codecs="+ti;tg.logger.log("[buffer-controller]: creating sourceBuffer("+tn+")");try{var ta=K[$]=q.addSourceBuffer(tn);this.addBufferListener($,"updatestart",this._onSBUpdateStart),this.addBufferListener($,"updateend",this._onSBUpdateEnd),this.addBufferListener($,"error",this._onSBUpdateError),this.tracks[$]={buffer:ta,codec:ti,container:tr.container,levelCodec:tr.levelCodec,metadata:tr.metadata,id:tr.id},Q++}catch(O){tg.logger.error("[buffer-controller]: error while trying to add sourceBuffer: "+O.message),this.hls.trigger(tc.Events.ERROR,{type:tf.ErrorTypes.MEDIA_ERROR,details:tf.ErrorDetails.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:O,mimeType:tn})}}Q&&this.hls.trigger(tc.Events.BUFFER_CREATED,{tracks:this.tracks})},O._onSBUpdateStart=function(O){this.operationQueue.current(O).onStart()},O._onSBUpdateEnd=function(O){var K=this.operationQueue;K.current(O).onComplete(),K.shiftAndExecuteNext(O)},O._onSBUpdateError=function(O,K){tg.logger.error("[buffer-controller]: "+O+" SourceBuffer error",K),this.hls.trigger(tc.Events.ERROR,{type:tf.ErrorTypes.MEDIA_ERROR,details:tf.ErrorDetails.BUFFER_APPENDING_ERROR,fatal:!1});var q=this.operationQueue.current(O);q&&q.onError(K)},O.removeExecutor=function(O,K,q){var Q=this.media,$=this.mediaSource,tr=this.operationQueue,ti=this.sourceBuffer[O];if(!Q||!$||!ti)return tg.logger.warn("[buffer-controller]: Attempting to remove from the "+O+" SourceBuffer, but it does not exist"),void tr.shiftAndExecuteNext(O);var tn=(0,td.isFiniteNumber)(Q.duration)?Q.duration:1/0,ta=(0,td.isFiniteNumber)($.duration)?$.duration:1/0,ts=Math.max(0,K),to=Math.min(q,tn,ta);to>ts?(tg.logger.log("[buffer-controller]: Removing ["+ts+","+to+"] from the "+O+" SourceBuffer"),ti.remove(ts,to)):tr.shiftAndExecuteNext(O)},O.appendExecutor=function(O,K){var q=this.operationQueue,Q=this.sourceBuffer[K];Q?(Q.ended=!1,Q.appendBuffer(O)):(tg.logger.warn("[buffer-controller]: Attempting to append to the "+K+" SourceBuffer, but it does not exist"),q.shiftAndExecuteNext(K))},O.blockBuffers=function(O,K){var q=this;if(void 0===K&&(K=this.getSourceBufferTypes()),!K.length)return tg.logger.log("[buffer-controller]: Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(O);var Q=this.operationQueue;Promise.all(K.map(function(O){return Q.appendBlocker(O)})).then(function(){O(),K.forEach(function(O){var K=q.sourceBuffer[O];K&&K.updating||Q.shiftAndExecuteNext(O)})})},O.getSourceBufferTypes=function(){return Object.keys(this.sourceBuffer)},O.addBufferListener=function(O,K,q){var Q=this.sourceBuffer[O];if(Q){var $=q.bind(this,O);this.listeners[O].push({event:K,listener:$}),Q.addEventListener(K,$)}},O.removeBufferListeners=function(O){var K=this.sourceBuffer[O];K&&this.listeners[O].forEach(function(O){K.removeEventListener(O.event,O.listener)})},t}(),ek={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},He=function(O){var K=O;return ek.hasOwnProperty(O)&&(K=ek[O]),String.fromCharCode(K)},eR={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},e_={17:2,18:4,21:6,22:8,23:10,19:13,20:15},eC={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},eI={25:2,26:4,29:6,30:8,31:10,27:13,28:15},ew=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];(Q=eS||(eS={}))[Q.ERROR=0]="ERROR",Q[Q.TEXT=1]="TEXT",Q[Q.WARNING=2]="WARNING",Q[Q.INFO=2]="INFO",Q[Q.DEBUG=3]="DEBUG",Q[Q.DATA=3]="DATA";var eO=function(){function t(){this.time=null,this.verboseLevel=eS.ERROR}return t.prototype.log=function(O,K){this.verboseLevel>=O&&tg.logger.log(this.time+" ["+O+"] "+K)},t}(),$e=function(O){for(var K=[],q=0;q100&&(this.logger.log(eS.DEBUG,"Too large cursor position "+this.pos),this.pos=100)},O.moveCursor=function(O){var K=this.pos+O;if(O>1)for(var q=this.pos+1;q=144&&this.backSpace();var K=He(O);this.pos>=100?this.logger.log(eS.ERROR,"Cannot insert "+O.toString(16)+" ("+K+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(K,this.currPenState),this.moveCursor(1))},O.clearFromPos=function(O){var K;for(K=O;K<100;K++)this.chars[K].reset()},O.clear=function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},O.clearToEndOfRow=function(){this.clearFromPos(this.pos)},O.getTextString=function(){for(var O=[],K=!0,q=0;q<100;q++){var Q=this.chars[q].uchar;" "!==Q&&(K=!1),O.push(Q)}return K?"":O.join("")},O.setPenStyles=function(O){this.currPenState.setStyles(O),this.chars[this.pos].setPenState(this.currPenState)},t}(),eM=function(){function t(O){this.rows=void 0,this.currRow=void 0,this.nrRollUpRows=void 0,this.lastOutputScreen=void 0,this.logger=void 0,this.rows=[];for(var K=0;K<15;K++)this.rows.push(new eF(O));this.logger=O,this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.reset()}var O=t.prototype;return O.reset=function(){for(var O=0;O<15;O++)this.rows[O].clear();this.currRow=14},O.equals=function(O){for(var K=!0,q=0;q<15;q++)if(!this.rows[q].equals(O.rows[q])){K=!1;break}return K},O.copy=function(O){for(var K=0;K<15;K++)this.rows[K].copy(O.rows[K])},O.isEmpty=function(){for(var O=!0,K=0;K<15;K++)if(!this.rows[K].isEmpty()){O=!1;break}return O},O.backSpace=function(){this.rows[this.currRow].backSpace()},O.clearToEndOfRow=function(){this.rows[this.currRow].clearToEndOfRow()},O.insertChar=function(O){this.rows[this.currRow].insertChar(O)},O.setPen=function(O){this.rows[this.currRow].setPenStyles(O)},O.moveCursor=function(O){this.rows[this.currRow].moveCursor(O)},O.setCursor=function(O){this.logger.log(eS.INFO,"setCursor: "+O),this.rows[this.currRow].setCursor(O)},O.setPAC=function(O){this.logger.log(eS.INFO,"pacData = "+JSON.stringify(O));var K=O.row-1;if(this.nrRollUpRows&&K0&&(q=O?"["+K.join(" | ")+"]":K.join(` `)),q},O.getTextAndFormat=function(){return this.rows},t}(),eN=function(){function t(O,K,q){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=O,this.outputFilter=K,this.mode=null,this.verbose=0,this.displayedMemory=new eM(q),this.nonDisplayedMemory=new eM(q),this.lastOutputScreen=new eM(q),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=q}var O=t.prototype;return O.reset=function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null},O.getHandler=function(){return this.outputFilter},O.setHandler=function(O){this.outputFilter=O},O.setPAC=function(O){this.writeScreen.setPAC(O)},O.setBkgData=function(O){this.writeScreen.setBkgData(O)},O.setMode=function(O){O!==this.mode&&(this.mode=O,this.logger.log(eS.INFO,"MODE="+O),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=O)},O.insertChars=function(O){for(var K=0;K=46,K.italics)?K.foreground="white":K.foreground=["white","green","blue","cyan","red","yellow","magenta"][Math.floor(O/2)-16],this.logger.log(eS.INFO,"MIDROW: "+JSON.stringify(K)),this.writeScreen.setPen(K)},O.outputDataUpdate=function(O){void 0===O&&(O=!1);var K=this.logger.time;null!==K&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,K,this.lastOutputScreen),O&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:K):this.cueStartTime=K,this.lastOutputScreen.copy(this.displayedMemory))},O.cueSplitAtTime=function(O){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,O,this.displayedMemory),this.cueStartTime=O))},t}(),eU=function(){function t(O,K,q){this.channels=void 0,this.currentChannel=0,this.cmdHistory=void 0,this.logger=void 0;var Q=new eO;this.channels=[null,new eN(O,K,Q),new eN(O+1,q,Q)],this.cmdHistory={a:null,b:null},this.logger=Q}var O=t.prototype;return O.getHandler=function(O){return this.channels[O].getHandler()},O.setHandler=function(O,K){this.channels[O].setHandler(K)},O.addData=function(O,K){var q,Q,$,tr=!1;this.logger.time=O;for(var ti=0;ti ("+$e([Q,$])+")"),(q=this.parseCmd(Q,$))||(q=this.parseMidrow(Q,$)),q||(q=this.parsePAC(Q,$)),q||(q=this.parseBackgroundAttributes(Q,$)),!q&&(tr=this.parseChars(Q,$))){var tn=this.currentChannel;tn&&tn>0?this.channels[tn].insertChars(tr):this.logger.log(eS.WARNING,"No channel found yet. TEXT-MODE?")}q||tr||this.logger.log(eS.WARNING,"Couldn't parse cleaned data "+$e([Q,$])+" orig: "+$e([K[ti],K[ti+1]]))}},O.parseCmd=function(O,K){var q=this.cmdHistory;if(!((20===O||28===O||21===O||29===O)&&K>=32&&K<=47||(23===O||31===O)&&K>=33&&K<=35))return!1;if(ar(O,K,q))return nr(null,null,q),this.logger.log(eS.DEBUG,"Repeated command ("+$e([O,K])+") is dropped"),!0;var Q=20===O||21===O||23===O?1:2,$=this.channels[Q];return 20===O||21===O||28===O||29===O?32===K?$.ccRCL():33===K?$.ccBS():34===K?$.ccAOF():35===K?$.ccAON():36===K?$.ccDER():37===K?$.ccRU(2):38===K?$.ccRU(3):39===K?$.ccRU(4):40===K?$.ccFON():41===K?$.ccRDC():42===K?$.ccTR():43===K?$.ccRTD():44===K?$.ccEDM():45===K?$.ccCR():46===K?$.ccENM():47===K&&$.ccEOC():$.ccTO(K-32),nr(O,K,q),this.currentChannel=Q,!0},O.parseMidrow=function(O,K){var q=0;if((17===O||25===O)&&K>=32&&K<=47){if((q=17===O?1:2)!==this.currentChannel)return this.logger.log(eS.ERROR,"Mismatch channel in midrow parsing"),!1;var Q=this.channels[q];return!!Q&&(Q.ccMIDROW(K),this.logger.log(eS.DEBUG,"MIDROW ("+$e([O,K])+")"),!0)}return!1},O.parsePAC=function(O,K){var q,Q=this.cmdHistory;if(!((O>=17&&O<=23||O>=25&&O<=31)&&K>=64&&K<=127||(16===O||24===O)&&K>=64&&K<=95))return!1;if(ar(O,K,Q))return nr(null,null,Q),!0;var $=O<=23?1:2;q=K>=64&&K<=95?1===$?eR[O]:eC[O]:1===$?e_[O]:eI[O];var tr=this.channels[$];return!!tr&&(tr.setPAC(this.interpretPAC(q,K)),nr(O,K,Q),this.currentChannel=$,!0)},O.interpretPAC=function(O,K){var q,Q={color:null,italics:!1,indent:null,underline:!1,row:O};return Q.underline=1==(1&(q=K>95?K-96:K-64)),q<=13?Q.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(q/2)]:q<=15?(Q.italics=!0,Q.color="white"):Q.indent=4*Math.floor((q-16)/2),Q},O.parseChars=function(O,K){var q,Q,$=null,tr=null;if(O>=25?(q=2,tr=O-8):(q=1,tr=O),tr>=17&&tr<=19?(Q=17===tr?K+80:18===tr?K+112:K+144,this.logger.log(eS.INFO,"Special char '"+He(Q)+"' in channel "+q),$=[Q]):O>=32&&O<=127&&($=0===K?[O]:[O,K]),$){var ti=$e($);this.logger.log(eS.DEBUG,"Char codes = "+ti.join(",")),nr(O,K,this.cmdHistory)}return $},O.parseBackgroundAttributes=function(O,K){if(!((16===O||24===O)&&K>=32&&K<=47||(23===O||31===O)&&K>=45&&K<=47))return!1;var q={};16===O||24===O?(q.background=ew[Math.floor((K-32)/2)],K%2==1&&(q.background=q.background+"_semi")):45===K?q.background="transparent":(q.foreground="black",47===K&&(q.underline=!0));var Q=O<=23?1:2;return this.channels[Q].setBkgData(q),nr(O,K,this.cmdHistory),!0},O.reset=function(){for(var O=0;OO)&&(this.startTime=O),this.endTime=K,this.screen=q,this.timelineController.createCaptionsTrack(this.trackName)},O.reset=function(){this.cueRanges=[],this.startTime=null},t}();let eG=function(){if("u">typeof self&&self.VTTCue)return self.VTTCue;var O=["","lr","rl"],K=["start","middle","end","left","right"];function r(O,K){if("string"!=typeof K||!Array.isArray(O))return!1;var q=K.toLowerCase();return!!~O.indexOf(q)&&q}function n(O){for(var K=arguments.length,q=Array(K>1?K-1:0),Q=1;Q100)throw Error("Position must be between 0 and 100.");tf=O,this.hasBeenReset=!0}})),Object.defineProperty(this,"positionAlign",n({},tr,{get:function(){return tg},set:function(O){var q=r(K,O);if(!q)throw SyntaxError("An invalid or illegal string was specified.");tg=q,this.hasBeenReset=!0}})),Object.defineProperty(this,"size",n({},tr,{get:function(){return tv},set:function(O){if(O<0||O>100)throw Error("Size must be between 0 and 100.");tv=O,this.hasBeenReset=!0}})),Object.defineProperty(this,"align",n({},tr,{get:function(){return tp},set:function(O){var q=r(K,O);if(!q)throw SyntaxError("An invalid or illegal string was specified.");tp=q,this.hasBeenReset=!0}})),this.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}();var eK=function(){function t(){}return t.prototype.decode=function(O,K){if(!O)return"";if("string"!=typeof O)throw Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(O))},t}();function dr(O){function e(O,K,q,Q){return 3600*(0|O)+60*(0|K)+(0|q)+parseFloat(Q||0)}var K=O.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return K?parseFloat(K[2])>59?e(K[2],K[3],0,K[4]):e(K[1],K[2],K[3],K[4]):null}var eH=function(){function t(){this.values=Object.create(null)}var O=t.prototype;return O.set=function(O,K){this.get(O)||""===K||(this.values[O]=K)},O.get=function(O,K,q){return q?this.has(O)?this.values[O]:K[q]:this.has(O)?this.values[O]:K},O.has=function(O){return O in this.values},O.alt=function(O,K,q){for(var Q=0;Q=0&&q<=100)return this.set(O,q),!0}return!1},t}();function cr(O,K,q,Q){var $=Q?O.split(Q):[O];for(var tr in $)if("string"==typeof $[tr]){var ti=$[tr].split(q);2===ti.length&&K(ti[0],ti[1])}}var ej=new eG(0,0,""),eV="middle"===ej.align?"middle":"center";function vr(O,K,q){var Q,$,tr,ti,tn=O;function n(){var K=dr(O);if(null===K)throw Error("Malformed timestamp: "+tn);return O=O.replace(/^[^\sa-zA-Z-]+/,""),K}function a(){O=O.replace(/^\s+/,"")}if(a(),K.startTime=n(),a(),"--\x3e"!==O.slice(0,3))throw Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+tn);O=O.slice(3),a(),K.endTime=n(),a(),Q=O,$=new eH,cr(Q,function(O,K){var Q;switch(O){case"region":for(var tr=q.length-1;tr>=0;tr--)if(q[tr].id===K){$.set(O,q[tr].region);break}break;case"vertical":$.alt(O,K,["rl","lr"]);break;case"line":Q=K.split(","),$.integer(O,Q[0]),$.percent(O,Q[0])&&$.set("snapToLines",!1),$.alt(O,Q[0],["auto"]),2===Q.length&&$.alt("lineAlign",Q[1],["start",eV,"end"]);break;case"position":Q=K.split(","),$.percent(O,Q[0]),2===Q.length&&$.alt("positionAlign",Q[1],["start",eV,"end","line-left","line-right","auto"]);break;case"size":$.percent(O,K);break;case"align":$.alt(O,K,["start",eV,"end","left","right"])}},/:/,/\s/),K.region=$.get("region",null),K.vertical=$.get("vertical",""),"auto"===(tr=$.get("line","auto"))&&-1===ej.line&&(tr=-1),K.line=tr,K.lineAlign=$.get("lineAlign","start"),K.snapToLines=$.get("snapToLines",!0),K.size=$.get("size",100),K.align=$.get("align",eV),"auto"===(ti=$.get("position","auto"))&&50===ej.position&&(ti="start"===K.align||"left"===K.align?0:"end"===K.align||"right"===K.align?100:50),K.position=ti}function pr(O){return O.replace(//gi,` `)}var eW=function(){function t(){this.state="INITIAL",this.buffer="",this.decoder=new eK,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}var O=t.prototype;return O.parse=function(O){var K=this;function r(){var O=K.buffer,q=0;for(O=pr(O);q>>0).toString()};function Lr(O,K,q){return br(O.toString())+br(K.toString())+br(q)}function Dr(){return(Dr=Object.assign?Object.assign.bind():function(O){for(var K=1;K=0&&(ta[0]=Math.min(ta[0],K),ta[1]=Math.max(ta[1],q),ti=!0,ts/(q-K)>.5))return}if(ti||$.push([K,q]),this.config.renderTextTracksNatively){var to=this.captionsTracks[O];this.Cues.newCue(to,K,q,Q)}else{var tl=this.Cues.newCue(null,K,q,Q);this.hls.trigger(tc.Events.CUES_PARSED,{type:"captions",cues:tl,track:O})}},O.onInitPtsFound=function(O,K){var q=this,Q=K.frag,$=K.id,tr=K.initPTS,ti=K.timescale,tn=this.unparsedVttFrags;"main"===$&&(this.initPTS[Q.cc]=tr,this.timescale[Q.cc]=ti),tn.length&&(this.unparsedVttFrags=[],tn.forEach(function(O){q.onFragLoaded(tc.Events.FRAG_LOADED,O)}))},O.getExistingTrack=function(O){var K=this.media;if(K)for(var q=0;q0&&th.push(O)},tl.onparsingerror=function(O){to=O},tl.onflush=function(){to?ts(to):ta(th)},tu.forEach(function(O){if(tE){if(Sr(O,"X-TIMESTAMP-MAP=")){tE=!1,O.slice(16).split(",").forEach(function(O){Sr(O,"LOCAL:")?tp=O.slice(6):Sr(O,"MPEGTS:")&&(tm=parseInt(O.slice(7)))});try{ty=function(O){var K=parseInt(O.slice(-3)),q=parseInt(O.slice(-6,-4)),Q=parseInt(O.slice(-9,-7)),$=O.length>9?parseInt(O.substring(0,O.indexOf(":"))):0;if(!((0,td.isFiniteNumber)(K)&&(0,td.isFiniteNumber)(q)&&(0,td.isFiniteNumber)(Q)&&(0,td.isFiniteNumber)($)))throw Error("Malformed X-TIMESTAMP-MAP: Local:"+O);return K+=1e3*q,(K+=6e4*Q)+36e5*$}(tp)/1e3}catch(O){to=O}return}""===O&&(tE=!1)}tl.parse(O+` `)}),tl.flush()},O._fallbackToIMSC1=function(O,K){var q=this,Q=this.tracks[O.level];Q.textCodec||_r(K,this.initPTS[O.cc],this.timescale[O.cc],function(){Q.textCodec=eX,q._parseIMSC1(O,K)},function(){Q.textCodec="wvtt"})},O._appendCues=function(O,K){var q=this.hls;if(this.config.renderTextTracksNatively){var Q=this.textTracks[K];if(!Q||"disabled"===Q.mode)return;O.forEach(function(O){return N(Q,O)})}else{var $=this.tracks[K];if(!$)return;var tr=$.default?"default":"subtitles"+K;q.trigger(tc.Events.CUES_PARSED,{type:"subtitles",cues:O,track:tr})}},O.onFragDecrypted=function(O,K){var q=K.frag;if(q.type===tI.PlaylistLevelType.SUBTITLE){if(!(0,td.isFiniteNumber)(this.initPTS[q.cc]))return void this.unparsedVttFrags.push(K);this.onFragLoaded(tc.Events.FRAG_LOADED,K)}},O.onSubtitleTracksCleared=function(){this.tracks=[],this.captionsTracks={}},O.onFragParsingUserdata=function(O,K){var q=this.cea608Parser1,Q=this.cea608Parser2;if(this.enabled&&q&&Q){var $=K.frag,tr=K.samples;if($.type!==tI.PlaylistLevelType.MAIN||"NONE"!==this.closedCaptionsForLevel($))for(var ti=0;ti0&&this.mediaWidth>0){var O=this.hls.levels;if(O.length){var K=this.hls;K.autoLevelCapping=this.getMaxLevel(O.length-1),K.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=K.autoLevelCapping}}},q.getMaxLevel=function(O){var K=this,q=this.hls.levels;if(!q.length)return -1;var Q=q.filter(function(q,Q){return t.isLevelAllowed(Q,K.restrictedLevels)&&Q<=O});return this.clientRect=null,t.getMaxLevelByMediaSize(Q,this.mediaWidth,this.mediaHeight)},q.startCapping=function(){this.timer||(this.autoLevelCapping=1/0,this.hls.firstLevel=this.getMaxLevel(this.firstLevel),self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},q.stopCapping=function(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=1/0,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)},q.getDimensions=function(){if(this.clientRect)return this.clientRect;var O=this.media,K={width:0,height:0};if(O){var q=O.getBoundingClientRect();K.width=q.width,K.height=q.height,K.width||K.height||(K.width=q.right-q.left||O.width||0,K.height=q.bottom-q.top||O.height||0)}return this.clientRect=K,K},t.isLevelAllowed=function(O,K){return void 0===K&&(K=[]),-1===K.indexOf(O)},t.getMaxLevelByMediaSize=function(O,K,q){if(!O||!O.length)return -1;for(var Q,$=O.length-1,tr=0;tr=K||ti.height>=q)&&(!(Q=O[tr+1])||ti.width!==Q.width||ti.height!==Q.height)){$=tr;break}}return $},O=t,K=[{key:"mediaWidth",get:function(){return this.getDimensions().width*this.contentScaleFactor}},{key:"mediaHeight",get:function(){return this.getDimensions().height*this.contentScaleFactor}},{key:"contentScaleFactor",get:function(){var O=1;if(!this.hls.config.ignoreDevicePixelRatio)try{O=self.devicePixelRatio}catch(O){}return O}}],Ur(O.prototype,K),Object.defineProperty(O,"prototype",{writable:!1}),t}(),e1=function(){function t(O){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=O,this.registerListeners()}var O=t.prototype;return O.setStreamController=function(O){this.streamController=O},O.registerListeners=function(){this.hls.on(tc.Events.MEDIA_ATTACHING,this.onMediaAttaching,this)},O.unregisterListeners=function(){this.hls.off(tc.Events.MEDIA_ATTACHING,this.onMediaAttaching)},O.destroy=function(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null},O.onMediaAttaching=function(O,K){var q=this.hls.config;if(q.capLevelOnFPSDrop){var Q=K.media instanceof self.HTMLVideoElement?K.media:null;this.media=Q,Q&&"function"==typeof Q.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),q.fpsDroppedMonitoringPeriod)}},O.checkFPS=function(O,K,q){var Q=performance.now();if(K){if(this.lastTime){var $=Q-this.lastTime,tr=q-this.lastDroppedFrames,ti=K-this.lastDecodedFrames,tn=1e3*tr/$,ta=this.hls;if(ta.trigger(tc.Events.FPS_DROP,{currentDropped:tr,currentDecoded:ti,totalDroppedFrames:q}),tn>0&&tr>ta.config.fpsDroppedMonitoringThreshold*ti){var ts=ta.currentLevel;tg.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+ts),ts>0&&(-1===ta.autoLevelCapping||ta.autoLevelCapping>=ts)&&(ts-=1,ta.trigger(tc.Events.FPS_DROP_LEVEL_CAPPING,{level:ts,droppedLevel:ta.currentLevel}),ta.autoLevelCapping=ts,this.streamController.nextLevelSwitch())}}this.lastTime=Q,this.lastDroppedFrames=q,this.lastDecodedFrames=K}},O.checkFPSInterval=function(){var O=this.media;if(O)if(this.isVideoPlaybackQualityAvailable){var K=O.getVideoPlaybackQuality();this.checkFPS(O,K.totalVideoFrames,K.droppedVideoFrames)}else this.checkFPS(O,O.webkitDecodedFrameCount,O.webkitDroppedFrameCount)},t}();($=ta||(ta={})).WIDEVINE="com.widevine.alpha",$.PLAYREADY="com.microsoft.playready";var e2="u">typeof self&&self.navigator&&self.navigator.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function jr(O,K){for(var q=0;q3)return void this.hls.trigger(tc.Events.ERROR,{type:tf.ErrorTypes.KEY_SYSTEM_ERROR,details:tf.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0});var ti=3-this._requestLicenseFailureCount+1;tg.logger.warn("Retrying license request, "+ti+" attempts left"),this._requestLicense(q,Q)}},q._generateLicenseRequestChallenge=function(O,K){if(O.mediaKeySystemDomain===ta.WIDEVINE)return K;throw Error("unsupported key-system: "+O.mediaKeySystemDomain)},q._requestLicense=function(O,K){tg.logger.log("Requesting content license for key-system");var q=this._mediaKeysList[0];if(!q)return tg.logger.error("Fatal error: Media is encrypted but no key-system access has been obtained yet"),void this.hls.trigger(tc.Events.ERROR,{type:tf.ErrorTypes.KEY_SYSTEM_ERROR,details:tf.ErrorDetails.KEY_SYSTEM_NO_ACCESS,fatal:!0});try{var Q=this.getLicenseServerUrl(q.mediaKeySystemDomain),$=this._createLicenseXhr(Q,O,K);tg.logger.log("Sending license request to URL: "+Q);var tr=this._generateLicenseRequestChallenge(q,O);$.send(tr)}catch(O){tg.logger.error("Failure requesting DRM license: "+O),this.hls.trigger(tc.Events.ERROR,{type:tf.ErrorTypes.KEY_SYSTEM_ERROR,details:tf.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0})}},q.onMediaAttached=function(O,K){if(this._emeEnabled){var q=K.media;this._media=q,q.addEventListener("encrypted",this._onMediaEncrypted)}},q.onMediaDetached=function(){var O=this._media,K=this._mediaKeysList;O&&(O.removeEventListener("encrypted",this._onMediaEncrypted),this._media=null,this._mediaKeysList=[],Promise.all(K.map(function(O){if(O.mediaKeysSession)return O.mediaKeysSession.close().catch(function(){})})).then(function(){return O.setMediaKeys(null)}).catch(function(){}))},q.onManifestParsed=function(O,K){if(this._emeEnabled){var q=K.levels.map(function(O){return O.audioCodec}).filter(function(O){return!!O}),Q=K.levels.map(function(O){return O.videoCodec}).filter(function(O){return!!O});this._attemptKeySystemAccess(ta.WIDEVINE,q,Q)}},O=t,K=[{key:"requestMediaKeySystemAccess",get:function(){if(!this._requestMediaKeySystemAccess)throw Error("No requestMediaKeySystemAccess function configured");return this._requestMediaKeySystemAccess}}],jr(O.prototype,K),Object.defineProperty(O,"prototype",{writable:!1}),t}();function zr(O,K){for(var q=0;qtypeof Symbol&&O[Symbol.iterator]||O["@@iterator"];if(q)return(q=q.call(O)).next.bind(q);if(Array.isArray(O)||(q=function(O){if(O){if("string"==typeof O)return $r(O,void 0);var K=Object.prototype.toString.call(O).slice(8,-1);return"Object"===K&&O.constructor&&(K=O.constructor.name),"Map"===K||"Set"===K?Array.from(O):"Arguments"===K||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(K)?$r(O,void 0):void 0}}(O))||K&&O&&"number"==typeof O.length){q&&(O=q);var Q=0;return function(){return Q>=O.length?{done:!0}:{done:!1,value:O[Q++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $r(O,K){(null==K||K>O.length)&&(K=O.length);for(var q=0,Q=Array(K);q-1?$+1:Q.levels.length;K=Q.levels.slice(0,tr)}for(var ti,tn=Qr(K);!(ti=tn()).done;){var ta=ti.value;ta.bitrate>q&&(q=ta.bitrate)}return q>0?q:NaN},O.getBufferLength=function(O){var K=this.hls.media,q=O===ts.AUDIO?this.audioBuffer:this.videoBuffer;return q&&K?1e3*tQ.bufferInfo(q,K.currentTime,this.config.maxBufferHole).len:NaN},O.createPlaylistLoader=function(){var O=this.config.pLoader,K=this.applyPlaylistData,q=O||this.config.loader;function t(O){this.loader=void 0,this.loader=new q(O)}var Q=t.prototype;return Q.destroy=function(){this.loader.destroy()},Q.abort=function(){this.loader.abort()},Q.load=function(O,q,Q){K(O),this.loader.load(O,q,Q)},Xr(t,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),t},O.createFragmentLoader=function(){var O=this.config.fLoader,K=this.applyFragmentData,q=O||this.config.loader;function t(O){this.loader=void 0,this.loader=new q(O)}var Q=t.prototype;return Q.destroy=function(){this.loader.destroy()},Q.abort=function(){this.loader.abort()},Q.load=function(O,q,Q){K(O),this.loader.load(O,q,Q)},Xr(t,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),t},t.uuid=function(){var O=URL.createObjectURL(new Blob),K=O.toString();return URL.revokeObjectURL(O),K.slice(K.lastIndexOf("/")+1)},t.serialize=function(O){for(var K,q=[],n=function(O){return Math.round(O)},a=function(O){return 100*n(O/100)},Q={br:n,d:n,bl:a,dl:a,mtp:a,nor:function(O){return encodeURIComponent(O)},rtp:a,tb:n},$=Qr(Object.keys(O||{}).sort());!(K=$()).done;){var tr=K.value,ti=O[tr];if(!Number.isNaN(ta=ti)&&null!=ta&&""!==ta&&!1!==ta&&("v"!==tr||1!==ti)&&("pr"!=tr||1!==ti)){var tn=Q[tr];tn&&(ti=tn(ti));var ta,ts,to=typeof ti;ts="ot"===tr||"sf"===tr||"st"===tr?tr+"="+ti:"boolean"===to?tr:"number"===to?tr+"="+ti:tr+"="+JSON.stringify(ti),q.push(ts)}}return q.join(",")},t.toHeaders=function(O){for(var K={},q=["Object","Request","Session","Status"],Q=[{},{},{},{}],$={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},tr=0,ti=Object.keys(O);tr=2)if(self.clearTimeout(this.requestTimeout),0===q.loading.first&&(q.loading.first=Math.max(self.performance.now(),q.loading.start)),4===Q){K.onreadystatechange=null,K.onprogress=null;var tr=K.status,ti="arraybuffer"===K.responseType;if(tr>=200&&tr<300&&(ti&&K.response||null!==K.responseText)){if(q.loading.end=Math.max(self.performance.now(),q.loading.first),q.loaded=q.total=ti?(tn=K.response).byteLength:(tn=K.responseText).length,!this.callbacks)return;var tn,ta=this.callbacks.onProgress;if(ta&&ta(q,O,tn,K),!this.callbacks)return;var ts={url:K.responseURL,data:tn};this.callbacks.onSuccess(ts,q,O,K)}else q.retry>=$.maxRetry||tr>=400&&tr<499?(tg.logger.error(tr+" while loading "+O.url),this.callbacks.onError({code:tr,text:K.statusText},O,K)):(tg.logger.warn(tr+" while loading "+O.url+", retrying in "+this.retryDelay+"..."),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay),this.retryDelay=Math.min(2*this.retryDelay,$.maxRetryDelay),q.retry++)}else self.clearTimeout(this.requestTimeout),this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),$.timeout)}},O.loadtimeout=function(){tg.logger.warn("timeout while loading "+this.context.url);var O=this.callbacks;O&&(this.abortInternal(),O.onTimeout(this.stats,this.context,this.loader))},O.loadprogress=function(O){var K=this.stats;K.loaded=O.loaded,O.lengthComputable&&(K.total=O.total)},O.getCacheAge=function(){var O=null;if(this.loader&&e8.test(this.loader.getAllResponseHeaders())){var K=this.loader.getResponseHeader("age");O=K?parseFloat(K):null}return O},t}();function ii(O){var K="function"==typeof Map?new Map:void 0;return(ii=function(O){if(null===O||-1===Function.toString.call(O).indexOf("[native code]"))return O;if("function"!=typeof O)throw TypeError("Super expression must either be null or a function");if(void 0!==K){if(K.has(O))return K.get(O);K.set(O,i)}function i(){return ni(O,arguments,oi(this).constructor)}return i.prototype=Object.create(O.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),si(i,O)})(O)}function ni(O,K,q){return(ni=ai()?Reflect.construct.bind():function(O,K,q){var Q=[null];Q.push.apply(Q,K);var $=new(Function.bind.apply(O,Q));return q&&si($,q.prototype),$}).apply(null,arguments)}function ai(){if("u"=Q&&$(K,q,tr.flush(),O)):$(K,q,tn,O),o()}).catch(function(){return Promise.reject()})}()},t}();function di(O,K){return new self.Request(O.url,K)}var e7=function(O){var K;function i(K,q,Q){var $;return($=O.call(this,K)||this).code=void 0,$.details=void 0,$.code=q,$.details=Q,$}return(K=i).prototype=Object.create(O.prototype),K.prototype.constructor=K,si(K,O),i}(ii(Error)),rr=/\s/;function gi(){return(gi=Object.assign?Object.assign.bind():function(O){for(var K=1;K=16?tn--:tn++;var th=pr(ta.trim()),td=Lr(K,q,th);O&&O.cues&&O.cues.getCueById(td)||((tr=new to(K,q,th)).id=td,tr.line=tl+1,tr.align="left",tr.position=10+Math.min(80,10*Math.floor(8*tn/32)),ts.push(tr))}return O&&ts.length&&(ts.sort(function(O,K){return"auto"===O.line||"auto"===K.line?0:O.line>8&&K.line>8?K.line-O.line:O.line-K.line}),ts.forEach(function(K){return N(O,K)})),ts}},enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:ey,subtitleTrackController:eE,timelineController:eJ,audioStreamController:ep,audioTrackController:em,emeController:e3,cmcdController:e4});function Ei(O,K){for(var q=0;q=K)return Q;return 0}},{key:"maxAutoLevel",get:function(){var O=this.levels,K=this.autoLevelCapping;return -1===K&&O&&O.length?O.length-1:K}},{key:"nextAutoLevel",get:function(){return Math.min(Math.max(this.abrController.nextAutoLevel,this.minAutoLevel),this.maxAutoLevel)},set:function(O){this.abrController.nextAutoLevel=Math.max(this.minAutoLevel,O)}},{key:"playingDate",get:function(){return this.streamController.currentProgramDateTime}},{key:"mainForwardBufferInfo",get:function(){return this.streamController.getMainFwdBufferInfo()}},{key:"audioTracks",get:function(){var O=this.audioTrackController;return O?O.audioTracks:[]}},{key:"audioTrack",get:function(){var O=this.audioTrackController;return O?O.audioTrack:-1},set:function(O){var K=this.audioTrackController;K&&(K.audioTrack=O)}},{key:"subtitleTracks",get:function(){var O=this.subtitleTrackController;return O?O.subtitleTracks:[]}},{key:"subtitleTrack",get:function(){var O=this.subtitleTrackController;return O?O.subtitleTrack:-1},set:function(O){var K=this.subtitleTrackController;K&&(K.subtitleTrack=O)}},{key:"media",get:function(){return this._media}},{key:"subtitleDisplay",get:function(){var O=this.subtitleTrackController;return!!O&&O.subtitleDisplay},set:function(O){var K=this.subtitleTrackController;K&&(K.subtitleDisplay=O)}},{key:"lowLatencyMode",get:function(){return this.config.lowLatencyMode},set:function(O){this.config.lowLatencyMode=O}},{key:"liveSyncPosition",get:function(){return this.latencyController.liveSyncPosition}},{key:"latency",get:function(){return this.latencyController.latency}},{key:"maxLatency",get:function(){return this.latencyController.maxLatency}},{key:"targetLatency",get:function(){return this.latencyController.targetLatency}},{key:"drift",get:function(){return this.latencyController.drift}},{key:"forceStartLoad",get:function(){return this.streamController.forceStartLoad}}],Ei(O.prototype,K),q&&Ei(O,q),Object.defineProperty(O,"prototype",{writable:!1}),t}();rn.defaultConfig=void 0},923:(O,K,q)=>{"use strict";q.r(K),q.d(K,{BaseSegment:()=>to,ElementaryStreamTypes:()=>$,Fragment:()=>tl,Part:()=>tu});var Q,$,tr=q(965),ti=q(945),tn=q(93),ta=q(960),ts=q(408);function u(O,K){O.prototype=Object.create(K.prototype),O.prototype.constructor=O,d(O,K)}function d(O,K){return(d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(O,K){return O.__proto__=K,O})(O,K)}function h(O,K){for(var q=0;q>8*(15-q)&255;return K},K.setDecryptDataFromLevelKey=function(O,K){var q=O;return"AES-128"===(null==O?void 0:O.method)&&O.uri&&!O.iv&&((q=ta.LevelKey.fromURI(O.uri)).method=O.method,q.iv=this.createInitializationVector(K),q.keyFormat="identity"),q},K.setElementaryStreamInfo=function(O,K,q,Q,$,tr){void 0===tr&&(tr=!1);var ti=this.elementaryStreams,tn=ti[O];tn?(tn.startPTS=Math.min(tn.startPTS,K),tn.endPTS=Math.max(tn.endPTS,q),tn.startDTS=Math.min(tn.startDTS,Q),tn.endDTS=Math.max(tn.endDTS,$)):ti[O]={startPTS:K,endPTS:q,startDTS:Q,endDTS:$,partial:tr}},K.clearElementaryStreamInfo=function(){var O=this.elementaryStreams;O[$.AUDIO]=null,O[$.VIDEO]=null,O[$.AUDIOVIDEO]=null},c(e,[{key:"decryptdata",get:function(){if(!this.levelkey&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkey){var O=this.sn;"number"!=typeof O&&(this.levelkey&&"AES-128"===this.levelkey.method&&!this.levelkey.iv&&tn.logger.warn('missing IV for initialization segment with method="'+this.levelkey.method+'" - compliance issue'),O=0),this._decryptdata=this.setDecryptDataFromLevelKey(this.levelkey,O)}return this._decryptdata}},{key:"end",get:function(){return this.start+this.duration}},{key:"endProgramDateTime",get:function(){if(null===this.programDateTime||!(0,tr.isFiniteNumber)(this.programDateTime))return null;var O=(0,tr.isFiniteNumber)(this.duration)?this.duration:0;return this.programDateTime+1e3*O}},{key:"encrypted",get:function(){var O;return!(null==(O=this.decryptdata)||!O.keyFormat||!this.decryptdata.uri)}}]),e}(to),tu=function(O){function e(K,q,Q,$,tr){(ti=O.call(this,Q)||this).fragOffset=0,ti.duration=0,ti.gap=!1,ti.independent=!1,ti.relurl=void 0,ti.fragment=void 0,ti.index=void 0,ti.stats=new ts.LoadStats,ti.duration=K.decimalFloatingPoint("DURATION"),ti.gap=K.bool("GAP"),ti.independent=K.bool("INDEPENDENT"),ti.relurl=K.enumeratedString("URI"),ti.fragment=q,ti.index=$;var ti,tn=K.enumeratedString("BYTERANGE");return tn&&ti.setByteRange(tn,tr),tr&&(ti.fragOffset=tr.fragOffset+tr.duration),ti}return u(e,O),c(e,[{key:"start",get:function(){return this.fragment.start+this.fragOffset}},{key:"end",get:function(){return this.start+this.duration}},{key:"loaded",get:function(){var O=this.elementaryStreams;return!!(O.audio||O.video||O.audiovideo)}}]),e}(to)},960:(O,K,q)=>{"use strict";q.r(K),q.d(K,{LevelKey:()=>$});var Q=q(945);function n(O,K){for(var q=0;q{"use strict";q.r(K),q.d(K,{LoadStats:()=>i});var i=function(){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}}},965:(O,K,q)=>{"use strict";q.r(K),q.d(K,{MAX_SAFE_INTEGER:()=>$,isFiniteNumber:()=>Q});var Q=Number.isFinite||function(O){return"number"==typeof O&&isFinite(O)},$=Number.MAX_SAFE_INTEGER||0x1fffffffffffff},524:(O,K,q)=>{"use strict";q.r(K),q.d(K,{default:()=>th,flushTextTrackMetadataCueSamples:()=>y,flushTextTrackUserdataCueSamples:()=>E,normalizePts:()=>m});var Q=q(965);let $=function(){function t(){}return t.getSilentFrame=function(O,K){if("mp4a.40.2"===O){if(1===K)return new Uint8Array([0,200,0,128,35,128]);if(2===K)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===K)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===K)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===K)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(6===K)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])}else{if(1===K)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(2===K||3===K)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])}},t}();var tr=function(){function t(){}return t.init=function(){for(O in t.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:[]},t.types)t.types.hasOwnProperty(O)&&(t.types[O]=[O.charCodeAt(0),O.charCodeAt(1),O.charCodeAt(2),O.charCodeAt(3)]);t.HDLR_TYPES={video: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]),audio: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])};var O,K=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]);t.STTS=t.STSC=t.STCO=new Uint8Array([0,0,0,0,0,0,0,0]),t.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),t.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),t.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var q=new Uint8Array([105,115,111,109]),Q=new Uint8Array([97,118,99,49]),$=new Uint8Array([0,0,0,1]);t.FTYP=t.box(t.types.ftyp,q,$,q,Q),t.DINF=t.box(t.types.dinf,t.box(t.types.dref,K))},t.box=function(O){for(var K=8,q=arguments.length,Q=Array(q>1?q-1:0),$=1;$>24&255,tn[1]=K>>16&255,tn[2]=K>>8&255,tn[3]=255&K,tn.set(O,4),tr=0,K=8;tr>24&255,O>>16&255,O>>8&255,255&O,q>>24,q>>16&255,q>>8&255,255&q,Q>>24,Q>>16&255,Q>>8&255,255&Q,85,196,0,0]))},t.mdia=function(O){return t.box(t.types.mdia,t.mdhd(O.timescale,O.duration),t.hdlr(O.type),t.minf(O))},t.mfhd=function(O){return t.box(t.types.mfhd,new Uint8Array([0,0,0,0,O>>24,O>>16&255,O>>8&255,255&O]))},t.minf=function(O){return"audio"===O.type?t.box(t.types.minf,t.box(t.types.smhd,t.SMHD),t.DINF,t.stbl(O)):t.box(t.types.minf,t.box(t.types.vmhd,t.VMHD),t.DINF,t.stbl(O))},t.moof=function(O,K,q){return t.box(t.types.moof,t.mfhd(O),t.traf(q,K))},t.moov=function(O){for(var K=O.length,q=[];K--;)q[K]=t.trak(O[K]);return t.box.apply(null,[t.types.moov,t.mvhd(O[0].timescale,O[0].duration)].concat(q).concat(t.mvex(O)))},t.mvex=function(O){for(var K=O.length,q=[];K--;)q[K]=t.trex(O[K]);return t.box.apply(null,[t.types.mvex].concat(q))},t.mvhd=function(O,K){var q=Math.floor((K*=O)/0x100000000),Q=Math.floor(K%0x100000000),$=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,O>>24&255,O>>16&255,O>>8&255,255&O,q>>24,q>>16&255,q>>8&255,255&q,Q>>24,Q>>16&255,Q>>8&255,255&Q,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 t.box(t.types.mvhd,$)},t.sdtp=function(O){var K,q,Q=O.samples||[],$=new Uint8Array(4+Q.length);for(K=0;K>>8&255),$.push(255&Q),$=$.concat(Array.prototype.slice.call(q));for(K=0;K>>8&255),tr.push(255&Q),tr=tr.concat(Array.prototype.slice.call(q));var ti=t.box(t.types.avcC,new Uint8Array([1,$[3],$[4],$[5],255,224|O.sps.length].concat($).concat([O.pps.length]).concat(tr))),tn=O.width,ta=O.height,ts=O.pixelRatio[0],to=O.pixelRatio[1];return t.box(t.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,tn>>8&255,255&tn,ta>>8&255,255&ta,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]),ti,t.box(t.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),t.box(t.types.pasp,new Uint8Array([ts>>24,ts>>16&255,ts>>8&255,255&ts,to>>24,to>>16&255,to>>8&255,255&to])))},t.esds=function(O){var K=O.config.length;return new Uint8Array([0,0,0,0,3,23+K,0,1,0,4,15+K,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([K]).concat(O.config).concat([6,1,2]))},t.mp4a=function(O){var K=O.samplerate;return t.box(t.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,O.channelCount,0,16,0,0,0,0,K>>8&255,255&K,0,0]),t.box(t.types.esds,t.esds(O)))},t.mp3=function(O){var K=O.samplerate;return t.box(t.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,O.channelCount,0,16,0,0,0,0,K>>8&255,255&K,0,0]))},t.stsd=function(O){return"audio"===O.type?"mp3"===O.segmentCodec&&"mp3"===O.codec?t.box(t.types.stsd,t.STSD,t.mp3(O)):t.box(t.types.stsd,t.STSD,t.mp4a(O)):t.box(t.types.stsd,t.STSD,t.avc1(O))},t.tkhd=function(O){var K=O.id,q=O.duration*O.timescale,Q=O.width,$=O.height,tr=Math.floor(q/0x100000000),ti=Math.floor(q%0x100000000);return t.box(t.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,K>>24&255,K>>16&255,K>>8&255,255&K,0,0,0,0,tr>>24,tr>>16&255,tr>>8&255,255&tr,ti>>24,ti>>16&255,ti>>8&255,255&ti,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,Q>>8&255,255&Q,0,0,$>>8&255,255&$,0,0]))},t.traf=function(O,K){var q=t.sdtp(O),Q=O.id,$=Math.floor(K/0x100000000),tr=Math.floor(K%0x100000000);return t.box(t.types.traf,t.box(t.types.tfhd,new Uint8Array([0,0,0,0,Q>>24,Q>>16&255,Q>>8&255,255&Q])),t.box(t.types.tfdt,new Uint8Array([1,0,0,0,$>>24,$>>16&255,$>>8&255,255&$,tr>>24,tr>>16&255,tr>>8&255,255&tr])),t.trun(O,q.length+16+20+8+16+8+8),q)},t.trak=function(O){return O.duration=O.duration||0xffffffff,t.box(t.types.trak,t.tkhd(O),t.mdia(O))},t.trex=function(O){var K=O.id;return t.box(t.types.trex,new Uint8Array([0,0,0,0,K>>24,K>>16&255,K>>8&255,255&K,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},t.trun=function(O,K){var q,Q,$,tr,ti,tn,ta=O.samples||[],ts=ta.length,to=12+16*ts,tl=new Uint8Array(to);for(K+=8+to,tl.set([+("video"===O.type),0,15,1,ts>>>24&255,ts>>>16&255,ts>>>8&255,255&ts,K>>>24&255,K>>>16&255,K>>>8&255,255&K],0),q=0;q>>24&255,$>>>16&255,$>>>8&255,255&$,tr>>>24&255,tr>>>16&255,tr>>>8&255,255&tr,ti.isLeading<<2|ti.dependsOn,ti.isDependedOn<<6|ti.hasRedundancy<<4|ti.paddingValue<<1|ti.isNonSync,61440&ti.degradPrio,15&ti.degradPrio,tn>>>24&255,tn>>>16&255,tn>>>8&255,255&tn],12+16*q);return t.box(t.types.trun,tl)},t.initSegment=function(O){t.types||t.init();var K=t.moov(O),q=new Uint8Array(t.FTYP.byteLength+K.byteLength);return q.set(t.FTYP),q.set(K,t.FTYP.byteLength),q},t}();tr.types=void 0,tr.HDLR_TYPES=void 0,tr.STTS=void 0,tr.STSC=void 0,tr.STCO=void 0,tr.STSZ=void 0,tr.VMHD=void 0,tr.SMHD=void 0,tr.STSD=void 0,tr.FTYP=void 0,tr.DINF=void 0;var ti=q(851),tn=q(973),ta=q(93),ts=q(308),to=q(673);function f(){return(f=Object.assign?Object.assign.bind():function(O){for(var K=1;K0?O:q.pts},O[0].pts);return K&&ta.logger.debug("PTS rollover detected"),q},O.remux=function(O,K,q,Q,$,tr,ti,tn){var to,tl,tu,th,td,tc,tf=$,tg=$,tv=O.pid>-1,tp=K.pid>-1,tm=K.samples.length,ty=O.samples.length>0,tE=ti&&tm>0||tm>1;if((!tv||ty)&&(!tp||tE)||this.ISGenerated||ti){this.ISGenerated||(tu=this.generateIS(O,K,$));var tT,tS=this.isVideoContiguous,tb=-1;if(tE&&(tb=function(O){for(var K=0;K0){ta.logger.warn("[mp4-remuxer]: Dropped "+tb+" out of "+tm+" video samples due to a missing keyframe");var tL=this.getVideoStartPts(K.samples);K.samples=K.samples.slice(tb),K.dropped+=tb,tT=tg+=(K.samples[0].pts-tL)/K.inputTimeScale}else -1===tb&&(ta.logger.warn("[mp4-remuxer]: No keyframe found out of "+tm+" video samples"),tc=!1);if(this.ISGenerated){if(ty&&tE){var tD=this.getVideoStartPts(K.samples),tA=(m(O.samples[0].pts,tD)-tD)/K.inputTimeScale;tf+=Math.max(0,tA),tg+=Math.max(0,-tA)}if(ty){if(O.samplerate||(ta.logger.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),tu=this.generateIS(O,K,$)),tl=this.remuxAudio(O,tf,this.isAudioContiguous,tr,tp||tE||tn===ts.PlaylistLevelType.AUDIO?tg:void 0),tE){var tk=tl?tl.endPTS-tl.startPTS:0;K.inputTimeScale||(ta.logger.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),tu=this.generateIS(O,K,$)),to=this.remuxVideo(K,tg,tS,tk)}}else tE&&(to=this.remuxVideo(K,tg,tS,0));to&&(to.firstKeyFrame=tb,to.independent=-1!==tb,to.firstKeyFramePTS=tT)}}return this.ISGenerated&&(q.samples.length&&(td=y(q,$,this._initPTS,this._initDTS)),Q.samples.length&&(th=E(Q,$,this._initPTS))),{audio:tl,video:to,initSegment:tu,independent:tc,text:th,id3:td}},O.generateIS=function(O,K,q){var $,ti,tn,ta=O.samples,ts=K.samples,to=this.typeSupported,tl={},tu=!(0,Q.isFiniteNumber)(this._initPTS),th="audio/mp4";if(tu&&($=ti=1/0),O.config&&ta.length&&(O.timescale=O.samplerate,"mp3"===O.segmentCodec&&(to.mpeg?(th="audio/mpeg",O.codec=""):to.mp3&&(O.codec="mp3")),tl.audio={id:"audio",container:th,codec:O.codec,initSegment:"mp3"===O.segmentCodec&&to.mpeg?new Uint8Array(0):tr.initSegment([O]),metadata:{channelCount:O.channelCount}},tu&&(tn=O.inputTimeScale,$=ti=ta[0].pts-Math.round(tn*q))),K.sps&&K.pps&&ts.length&&(K.timescale=K.inputTimeScale,tl.video={id:"main",container:"video/mp4",codec:K.codec,initSegment:tr.initSegment([K]),metadata:{width:K.width,height:K.height}},tu)){tn=K.inputTimeScale;var td=this.getVideoStartPts(ts),tc=Math.round(tn*q);ti=Math.min(ti,m(ts[0].dts,td)-tc),$=Math.min($,td-tc)}if(Object.keys(tl).length)return this.ISGenerated=!0,tu&&(this._initPTS=$,this._initDTS=ti),{tracks:tl,initPTS:$,timescale:tn}},O.remuxVideo=function(O,K,q,Q){var $,ts,th=O.inputTimeScale,td=O.samples,tc=[],tf=td.length,tg=this._initPTS,tv=this.nextAvcDts,tp=8,tm=this.videoSampleDuration,ty=1/0,tE=-1/0,tT=!1;q&&null!==tv||(tv=K*th-(td[0].pts-m(td[0].dts,td[0].pts)));for(var tS=0;tS0?tS-1:tS].dts&&(tT=!0)}tT&&td.sort(function(O,K){var q=O.dts-K.dts,Q=O.pts-K.pts;return q||Q}),$=td[0].dts;var tL=td[td.length-1].dts-$,tD=tL?Math.round(tL/(tf-1)):tm||O.inputTimeScale/30;if(q){var tA=$-tv,tk=tA>tD,tR=tA<-1;if((tk||tR)&&(tk?ta.logger.warn("AVC: "+(0,to.toMsFromMpegTsClock)(tA,!0)+" ms ("+tA+"dts) hole between fragments detected, filling it"):ta.logger.warn("AVC: "+(0,to.toMsFromMpegTsClock)(-tA,!0)+" ms ("+tA+"dts) overlapping between fragments detected"),!tR||tv>td[0].pts)){$=tv;var t_=td[0].pts-tA;td[0].dts=$,td[0].pts=t_,ta.logger.log("Video: First PTS/DTS adjusted: "+(0,to.toMsFromMpegTsClock)(t_,!0)+"/"+(0,to.toMsFromMpegTsClock)($,!0)+", delta: "+(0,to.toMsFromMpegTsClock)(tA,!0)+" ms")}}$=Math.max(0,$);for(var tC=0,tI=0,tw=0;tw0?tY.dts-td[tW-1].dts:tD;if(t0=tW>0?tY.pts-td[tW-1].pts:tD,t1.stretchShortVideoTrack&&null!==this.nextAudioPts){var t3=Math.floor(t1.maxBufferHole*th),t4=(Q?ty+Q*th:this.nextAudioPts)-tY.pts;t4>t3?((tm=t4-t2)<0?tm=t2:tG=!0,ta.logger.log("[mp4-remuxer]: It is approximately "+t4/90+" ms to the next segment; using duration "+tm/90+" ms for the last video frame.")):tm=t2}else tm=t2}var t5=Math.round(tY.pts-tY.dts);tK=Math.min(tK,tm),tj=Math.max(tj,tm),tH=Math.min(tH,t0),tV=Math.max(tV,t0),tc.push(new T(tY.key,tm,tz,t5))}if(tc.length){if(tl){if(tl<70){var t8=tc[0].flags;t8.dependsOn=2,t8.isNonSync=0}}else if(tu&&tV-tH0&&(Q&&9e3>Math.abs(ty-tm)||Math.abs(m(tv[0].pts-td,ty)-tm)<20*th),tv.forEach(function(O){O.pts=m(O.pts-td,ty)}),!q||tm<0){if(!(tv=tv.filter(function(O){return O.pts>=0})).length)return;tm=0===ts?0:Q&&!tg?Math.max(0,ty):tv[0].pts}if("aac"===O.segmentCodec)for(var tE=this.config.maxAudioFramesDrift,tT=0,tS=tm;tT=tE*th&&tA<1e4&&tg){var tk=Math.round(tD/th);(tS=tL-tk*th)<0&&(tk--,tS+=th),0===tT&&(this.nextAudioPts=tm=tS),ta.logger.warn("[mp4-remuxer]: Injecting "+tk+" audio frame @ "+(tS/to).toFixed(3)+"s due to "+Math.round(1e3*tD/to)+" ms gap.");for(var tR=0;tR0))return;tx+=tp;try{tI=new Uint8Array(tx)}catch(O){return void this.observer.emit(ti.Events.ERROR,ti.Events.ERROR,{type:tn.ErrorTypes.MUX_ERROR,details:tn.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:tx,reason:"fail allocating audio mdat "+tx})}tc||(new DataView(tI.buffer).setUint32(0,tx),tI.set(tr.types.mdat,4))}tI.set(tU,tp);var tG=tU.byteLength;tp+=tG,tf.push(new T(!0,tu,tG,0)),tO=tB}var tK=tf.length;if(tK){var tH=tf[tf.length-1];this.nextAudioPts=tm=tO+tl*tH.duration;var tj=tc?new Uint8Array(0):tr.moof(O.sequenceNumber++,tw/tl,f({},O,{samples:tf}));O.samples=[];var tV=tw/to,tW=tm/to,tY={data1:tj,data2:tI,startPTS:tV,endPTS:tW,startDTS:tV,endDTS:tW,type:"audio",hasAudio:!0,hasVideo:!1,nb:tK};return this.isAudioContiguous=!0,tY}},O.remuxEmptyAudio=function(O,K,q,Q){var tr=O.inputTimeScale,ti=tr/(O.samplerate?O.samplerate:tr),tn=this.nextAudioPts,ts=(null!==tn?tn:Q.startDTS*tr)+this._initDTS,to=Q.endDTS*tr+this._initDTS,tl=1024*ti,tu=Math.ceil((to-ts)/tl),th=$.getSilentFrame(O.manifestCodec||O.codec,O.channelCount);if(ta.logger.warn("[mp4-remuxer]: remux empty Audio"),th){for(var td=[],tc=0;tc0x100000000;)O+=q;return O}function y(O,K,q,Q){var $=O.samples.length;if($){for(var tr=O.inputTimeScale,ti=0;ti<$;ti++){var tn=O.samples[ti];tn.pts=m(tn.pts-q,K*tr)/tr,tn.dts=m(tn.dts-Q,K*tr)/tr}var ta=O.samples;return O.samples=[],{samples:ta}}}function E(O,K,q){var Q=O.samples.length;if(Q){for(var $=O.inputTimeScale,tr=0;tr{"use strict";var Q,$;q.r(K),q.d(K,{MetadataSchema:()=>Q}),($=Q||(Q={})).audioId3="org.id3",$.dateRange="com.apple.quicktime.HLS",$.emsg="https://aomedia.org/emsg/ID3"},308:(O,K,q)=>{"use strict";var Q,$,tr,ti;q.r(K),q.d(K,{PlaylistContextType:()=>Q,PlaylistLevelType:()=>$}),(tr=Q||(Q={})).MANIFEST="manifest",tr.LEVEL="level",tr.AUDIO_TRACK="audioTrack",tr.SUBTITLE_TRACK="subtitleTrack",(ti=$||($={})).MAIN="main",ti.AUDIO="audio",ti.SUBTITLE="subtitle"},93:(O,K,q)=>{"use strict";q.r(K),q.d(K,{enableLogs:()=>o,logger:()=>tr});var i=function(){},Q={trace:i,debug:i,log:i,warn:i,info:i,error:i},$=Q;function s(O){var K=self.console[O];return K?K.bind(self.console,"["+O+"] >"):i}function o(O,K){if(self.console&&!0===O||"object"==typeof O){!function(O){for(var K=arguments.length,q=Array(K>1?K-1:0),Q=1;Q{"use strict";q.r(K),q.d(K,{RemuxerTrackIdConfig:()=>tn,appendUint8Array:()=>b,bin2str:()=>u,computeRawDurationFromSamples:()=>E,discardEPB:()=>k,findBox:()=>g,getDuration:()=>y,getStartDTS:()=>m,offsetStartDTS:()=>T,parseEmsg:()=>R,parseInitSegment:()=>p,parseSEIMessageFromNALu:()=>A,parseSamples:()=>L,parseSegmentIndex:()=>v,readSint32:()=>c,readUint16:()=>d,readUint32:()=>h,segmentValidRange:()=>S,writeUint32:()=>f});var Q=q(145),$=q(923),tr=q(181),ti=[].push,tn={video:1,audio:2,id3:3,text:4};function u(O){return String.fromCharCode.apply(null,O)}function d(O,K){var q=O[K]<<8|O[K+1];return q<0?65536+q:q}function h(O,K){var q=c(O,K);return q<0?0x100000000+q:q}function c(O,K){return O[K]<<24|O[K+1]<<16|O[K+2]<<8|O[K+3]}function f(O,K,q){O[K]=q>>24,O[K+1]=q>>16&255,O[K+2]=q>>8&255,O[K+3]=255&q}function g(O,K){var q=[];if(!K.length)return q;for(var Q=O.byteLength,$=0;$1?$+tr:Q;if(u(O.subarray($+4,$+8))===K[0])if(1===K.length)q.push(O.subarray($+8,tn));else{var ta=g(O.subarray($+8,tn),K.slice(1));ta.length&&ti.apply(q,ta)}$=tn}return q}function v(O){var K=[],q=O[0],Q=8,$=h(O,8);Q+=4,Q+=0===q?8:16,Q+=2;var tr=O.length+0,ti=d(O,Q);Q+=2;for(var tn=0;tn>>31)return console.warn("SIDX has hierarchical references (not supported)"),null;var tl=h(O,ta);ta+=4,K.push({referenceSize:to,subsegmentDuration:tl,info:{duration:tl/$,start:tr,end:tr+to-1}}),tr+=to,Q=ta+=4}return{earliestPresentationTime:0,timescale:$,version:q,referencesCount:ti,references:K}}function p(O){for(var K=[],q=g(O,["moov","trak"]),Q=0;Q>1&63;return 39===q||40===q}return 6==(31&K)}function A(O,K,q,Q){var $,ti=k(O);$=0+K;for(var tn=0,ta=0,ts=!1,to=0;$=ti.length)break;tn+=to=ti[$++]}while(255===to)ta=0;do{if($>=ti.length)break;ta+=to=ti[$++]}while(255===to)var tl=ti.length-$;if(!ts&&4===tn&&$16){for(var tm=[],ty=0;ty<16;ty++){var tE=ti[$++].toString(16);tm.push(1==tE.length?"0"+tE:tE),3!==ty&&5!==ty&&7!==ty&&9!==ty||tm.push("-")}for(var tT=ta-16,tS=new Uint8Array(tT),tb=0;tbtl)break}}function k(O){for(var K=O.byteLength,q=[],Q=1;Q{"use strict";function i(O,K,q,Q){void 0===q&&(q=1),void 0===Q&&(Q=!1);var $=O*K*q;return Q?Math.round($):$}function n(O,K,q,Q){return void 0===q&&(q=1),void 0===Q&&(Q=!1),i(O,K,1/q,Q)}function a(O,K){return void 0===K&&(K=!1),i(O,1e3,1/9e4,K)}function s(O,K){return void 0===K&&(K=1),i(O,9e4,1/K)}q.r(K),q.d(K,{toMpegTsClockFromTimescale:()=>s,toMsFromMpegTsClock:()=>a,toTimescaleFromBase:()=>i,toTimescaleFromScale:()=>n})},145:(O,K,q)=>{"use strict";function i(O,K,q){return Uint8Array.prototype.slice?O.slice(K,q):new Uint8Array(Array.prototype.slice.call(O,K,q))}q.r(K),q.d(K,{sliceUint8:()=>i})},729:O=>{"use strict";var K=Object.prototype.hasOwnProperty,q="~";function i(){}function n(O,K,q){this.fn=O,this.context=K,this.once=q||!1}function a(O,K,Q,$,tr){if("function"!=typeof Q)throw TypeError("The listener must be a function");var ti=new n(Q,$||O,tr),tn=q?q+K:K;return O._events[tn]?O._events[tn].fn?O._events[tn]=[O._events[tn],ti]:O._events[tn].push(ti):(O._events[tn]=ti,O._eventsCount++),O}function s(O,K){0==--O._eventsCount?O._events=new i:delete O._events[K]}function o(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(q=!1)),o.prototype.eventNames=function(){var O,Q,$=[];if(0===this._eventsCount)return $;for(Q in O=this._events)K.call(O,Q)&&$.push(q?Q.slice(1):Q);return Object.getOwnPropertySymbols?$.concat(Object.getOwnPropertySymbols(O)):$},o.prototype.listeners=function(O){var K=q?q+O:O,Q=this._events[K];if(!Q)return[];if(Q.fn)return[Q.fn];for(var $=0,tr=Q.length,ti=Array(tr);${var K=O&&O.__esModule?()=>O.default:()=>O;return r.d(K,{a:K}),K},r.d=(O,K)=>{for(var q in K)r.o(K,q)&&!r.o(O,q)&&Object.defineProperty(O,q,{enumerable:!0,get:K[q]})},r.o=(O,K)=>Object.prototype.hasOwnProperty.call(O,K),r.r=O=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(O,"__esModule",{value:!0})},r(817).default})())}}]); //# sourceMappingURL=https://slack.com/source-maps/bv1-13/gantry-v2-async-hls.js.e965251f74066c7f0499.min.js.mapØA —Eoúô