const blob = new Blob(["(function(){" + "\"use strict\";(()=>{var vu=Object.defineProperty,Cu=Object.defineProperties;var Au=Object.getOwnPropertyDescriptors;var ao=Object.getOwnPropertySymbols;var ku=Object.prototype.hasOwnProperty,xu=Object.prototype.propertyIsEnumerable;var oo=(n,e,t)=>e in n?vu(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ee=(n,e)=>{for(var t in e||(e={}))ku.call(e,t)&&oo(n,t,e[t]);if(ao)for(var t of ao(e))xu.call(e,t)&&oo(n,t,e[t]);return n},se=(n,e)=>Cu(n,Au(e));var I={PRODUCTION:0,DEV:1,CURRENT_ENV:0};var so={DEFAULT_REQUEST_TIMEOUT:3e4,DEFAULT_CONNECTION_TIMEOUT:15e3,DEFAULT_TEXT_TRACK_MODE:\"native\",DEFAULT_ENABLE_FAST_SWITCHING:!0,DELTA_POSITION_AFTER_RELOAD:{bitrateSwitch:-.1,trackSwitch:{audio:0,video:0,other:0}},DEFAULT_CODEC_SWITCHING_BEHAVIOR:\"continue\",DEFAULT_AUDIO_TRACKS_NOT_PLAYABLE_BEHAVIOR:\"error\",DEFAULT_VIDEO_TRACKS_NOT_PLAYABLE_BEHAVIOR:\"error\",DEFAULT_AUTO_PLAY:!1,DEFAULT_WANTED_BUFFER_AHEAD:30,DEFAULT_MAX_BUFFER_AHEAD:1/0,DEFAULT_MAX_BUFFER_BEHIND:1/0,DEFAULT_MAX_VIDEO_BUFFER_SIZE:1/0,MAXIMUM_MAX_BUFFER_AHEAD:{text:18e3},MINIMUM_MAX_BUFFER_AHEAD:{text:120},MAXIMUM_MAX_BUFFER_BEHIND:{text:18e3},DEFAULT_BASE_BANDWIDTH:0,INACTIVITY_DELAY:6e4,DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN:!1,DEFAULT_VIDEO_RESOLUTION_LIMIT:\"none\",DEFAULT_LIVE_GAP:{DEFAULT:10,LOW_LATENCY:3.5},BUFFER_DISCONTINUITY_THRESHOLD:.2,BITRATE_REBUFFERING_RATIO:1.5,DEFAULT_MAX_MANIFEST_REQUEST_RETRY:4,DEFAULT_CDN_DOWNGRADE_TIME:60,DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:4,INITIAL_BACKOFF_DELAY_BASE:{REGULAR:200,LOW_LATENCY:50},MAX_BACKOFF_DELAY_BASE:{REGULAR:3e3,LOW_LATENCY:1e3},SAMPLING_INTERVAL_MEDIASOURCE:1e3,SAMPLING_INTERVAL_LOW_LATENCY:500,SAMPLING_INTERVAL_NO_MEDIASOURCE:500,ABR_ENTER_BUFFER_BASED_ALGO:10,ABR_EXIT_BUFFER_BASED_ALGO:5,ABR_MINIMUM_TOTAL_BYTES:15e4,ABR_MINIMUM_CHUNK_SIZE:16e3,ABR_STARVATION_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_REGULAR_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_STARVATION_GAP:{DEFAULT:5,LOW_LATENCY:5},OUT_OF_STARVATION_GAP:{DEFAULT:7,LOW_LATENCY:7},ABR_STARVATION_DURATION_DELTA:.1,ABR_FAST_EMA:2,ABR_SLOW_EMA:10,RESUME_GAP_AFTER_SEEKING:{DEFAULT:1.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_NOT_ENOUGH_DATA:{DEFAULT:.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_BUFFERING:{DEFAULT:5,LOW_LATENCY:.5},REBUFFERING_GAP:{DEFAULT:.5,LOW_LATENCY:.2},MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING:2,UNFREEZING_SEEK_DELAY:6e3,FREEZING_STALLED_DELAY:600,UNFREEZING_DELTA_POSITION:.001,FREEZING_FLUSH_FAILURE_DELAY:{MAXIMUM:2e4,MINIMUM:4e3,POSITION_DELTA:1},SEGMENT_SYNCHRONIZATION_DELAY:1500,MISSING_DATA_TRIGGER_SYNC_DELAY:.1,MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:.15,MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:.4,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:.3,MINIMUM_SEGMENT_SIZE:.001,APPEND_WINDOW_SECURITIES:{START:.2,END:.1},MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:50,TEXT_TRACK_SIZE_CHECKS_INTERVAL:250,BUFFER_PADDING:{audio:1,video:3,other:1},SEGMENT_PRIORITIES_STEPS:[2,4,8,12,18,25],MAX_HIGH_PRIORITY_LEVEL:1,MIN_CANCELABLE_PRIORITY:3,EME_DEFAULT_VIDEO_CODECS:['video/mp4;codecs=\"avc1.4d401e\"','video/mp4;codecs=\"avc1.42e01e\"','video/mp4;codecs=\"hvc1.1.6.L93.B0\"','video/webm;codecs=\"vp8\"'],EME_DEFAULT_AUDIO_CODECS:['audio/mp4;codecs=\"mp4a.40.2\"','audio/webm;codecs=\"opus\"','audio/mp4;codecs=\"ec-3\"'],EME_DEFAULT_WIDEVINE_ROBUSTNESSES:[\"HW_SECURE_ALL\",\"HW_SECURE_DECODE\",\"HW_SECURE_CRYPTO\",\"SW_SECURE_DECODE\",\"SW_SECURE_CRYPTO\"],EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES:[\"3000\",\"2000\"],EME_KEY_SYSTEMS:{clearkey:[\"webkit-org.w3.clearkey\",\"org.w3.clearkey\"],widevine:[\"com.widevine.alpha\"],playready:[\"com.microsoft.playready.recommendation\",\"com.microsoft.playready\",\"com.chromecast.playready\",\"com.youtube.playready\"],fairplay:[\"com.apple.fps.1_0\"]},MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:10,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:200,MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:300,OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:3e3,FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:3e3,DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:3,EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS:15,EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION:1e3,EME_WAITING_DELAY_LOADED_SESSION_EMPTY_KEYSTATUSES:100,FORCED_ENDED_THRESHOLD:8e-4,ADAP_REP_SWITCH_BUFFER_PADDINGS:{video:{before:5,after:5},audio:{before:2,after:2.5},text:{before:0,after:0}},SOURCE_BUFFER_FLUSHING_INTERVAL:500,CONTENT_REPLACEMENT_PADDING:1.2,CACHE_LOAD_DURATION_THRESHOLDS:{video:50,audio:10},STREAM_EVENT_EMITTER_POLL_INTERVAL:250,DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR:.001,BUFFERED_HISTORY_RETENTION_TIME:6e4,BUFFERED_HISTORY_MAXIMUM_ENTRIES:200,MIN_BUFFER_AHEAD:5,UPTO_CURRENT_POSITION_CLEANUP:5,DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_VIDEO_TRACK_SWITCHING_MODE:\"reload\",DEFAULT_AUDIO_TRACK_SWITCHING_MODE:\"seamless\",DEFAULT_MAX_THUMBNAIL_REQUESTS_RETRY_ON_ERROR:1,DEFAULT_THUMBNAIL_REQUEST_TIMEOUT:1e4,DEFAULT_THUMBNAIL_CONNECTION_TIMEOUT:7e3,FORCE_CANNOT_RELY_ON_REQUEST_MEDIA_KEY_SYSTEM_ACCESS:!1,FORCE_CANNOT_REUSE_MEDIA_KEYS:!1,FORCE_HAS_ISSUES_WITH_HIGH_MEDIA_SOURCE_DURATION:!1,FORCE_IS_SEEKING_APPROXIMATE:!1,FORCE_MEDIA_ELEMENT_FAIL_ON_UNDECIPHERABLE_DATA:!1,FORCE_SHOULD_AWAIT_SET_MEDIA_KEYS:!1,FORCE_SHOULD_FAVOUR_CUSTOM_SAFARI_EME:!1,FORCE_SHOULD_RELOAD_MEDIA_SOURCE_ON_DECIPHERABILITY_UPDATE:!1,FORCE_SHOULD_RENEW_MEDIA_KEY_SYSTEM_ACCESS:!1,FORCE_SHOULD_UNSET_MEDIA_KEYS:!1,FORCE_SHOULD_VALIDATE_METADATA:!1,FORCE_DONT_WAIT_FOR_DATA_BEFORE_LOADED:!1,FORCE_WAIT_FOR_HAVE_ENOUGH_DATA:!1},uo=so;function Ou(n,...e){if(n==null)throw new TypeError(\"Cannot convert undefined or null to object\");let t=Object(n);for(let r of e)for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i]);return t}var H=typeof Object.assign==\"function\"?Object.assign:Ou;function ai(n){return n!=null&&!Array.isArray(n)&&typeof n==\"object\"}function en(n,...e){if(e.length===0)return n;let t=e.shift();if(ai(n)&&ai(t))for(let r in t)if(ai(t[r])){let i=n[r];i===void 0&&(i={},n[r]=i),en(i,t[r])}else H(n,{[r]:t[r]});return en(n,...e)}function v(n){return n==null}var fe=class{constructor(){this._listeners={}}addEventListener(e,t,r){let i=this._listeners[e];Array.isArray(i)?i.push(t):this._listeners[e]=[t],r!==void 0&&r.register(()=>{this.removeEventListener(e,t)})}removeEventListener(e,t){if(v(e)){this._listeners={};return}let r=this._listeners[e];if(!Array.isArray(r))return;if(v(t)){delete this._listeners[e];return}let i=r.indexOf(t);i!==-1&&r.splice(i,1),r.length===0&&delete this._listeners[e]}trigger(e,t){let r=this._listeners[e];Array.isArray(r)&&r.slice().forEach(i=>{try{i(t)}catch(a){if(I.CURRENT_ENV===I.DEV)throw a instanceof Error?a:new Error(\"EventEmitter: listener error\");console.error(\"RxPlayer: EventEmitter error\",a instanceof Error?a:null)}})}};var oi=class extends fe{constructor(){super(...arguments);this.updated=!1;this._config=uo}update(t){let r=en(this._config,t);this._config=r,this.updated=!0,this.trigger(\"update\",t)}getCurrent(){return this._config}},wu=new oi,U=wu;var Xe=class n extends Error{constructor(e,t,r){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"CustomLoaderError\",this.canRetry=t,this.xhr=r}};function re(n,e,t){if(typeof Array.prototype.findIndex==\"function\")return n.findIndex(e,t);let r=n.length>>>0;for(let i=0;ithis.finish()))}getValue(){return this._value}setValue(e){if(this._isFinished){I.CURRENT_ENV===I.DEV&&console.error(\"Finished shared references cannot be updated\");return}if(this._value=e,this._listeners.length===0)return;let t=this._listeners.slice();for(let r of t)try{r.hasBeenCleared||r.trigger(e,r.complete)}catch(i){}}setValueIfChanged(e){e!==this._value&&this.setValue(e)}onUpdate(e,t){let r=()=>{if(t.clearSignal!==void 0&&t.clearSignal.deregister(r),i.hasBeenCleared)return;i.hasBeenCleared=!0;let a=this._listeners.indexOf(i);a>=0&&this._listeners.splice(a,1)},i={trigger:e,complete:r,hasBeenCleared:!1};if(this._listeners.push(i),t.emitCurrentValue===!0&&e(this._value,r),this._isFinished||i.hasBeenCleared){r();return}t.clearSignal.register(r)}waitUntilDefined(e,t){this.onUpdate((r,i)=>{r!==void 0&&(i(),e(this._value))},{clearSignal:t.clearSignal,emitCurrentValue:!0})}_onFinished(e,t){if(t.isCancelled())return D;let r=()=>{let o=re(this._onFinishCbs,s=>s.trigger===i);o>=0&&(this._onFinishCbs[o].hasBeenCleared=!0,this._onFinishCbs.splice(o,1))},i=()=>{r(),e()},a=t.register(r);return this._onFinishCbs.push({trigger:i,hasBeenCleared:!1}),a}finish(){this._deregisterCancellation!==void 0&&this._deregisterCancellation(),this._isFinished=!0;let e=this._listeners.slice();for(let t of e)try{t.hasBeenCleared||(t.complete(),t.hasBeenCleared=!0)}catch(r){}if(this._listeners.length=0,this._onFinishCbs.length>0){let t=this._onFinishCbs.slice();for(let r of t)try{r.hasBeenCleared||(r.trigger(),r.hasBeenCleared=!0)}catch(i){}this._onFinishCbs.length=0}}};function tn(n,e,t){let r=new lr(e(n.getValue()),t);return n.onUpdate(function(a){r.setValue(e(a))},{clearSignal:t}),n._onFinished(()=>{r.finish()},t),r}var Q=lr;var si=new Q(0);function lo({date:n,timestamp:e}){let t=n-e,r=typeof performance!=\"undefined\"?Date.now()-performance.now():0;si.setValueIfChanged(r-t)}var Du=typeof performance!=\"undefined\"?()=>performance.now()+si.getValue():()=>Date.now()+si.getValue(),L=Du;var Bu=\"NONE\",nn=class extends fe{constructor(){super(),this.error=D,this.warn=D,this.info=D,this.debug=D,this._levels={NONE:0,ERROR:1,WARNING:2,INFO:3,DEBUG:4},this._currentFormat=\"standard\",this._currentLevel=Bu}setLevel(e,t,r){let i,a=this._levels[e];typeof a==\"number\"?(i=a,this._currentLevel=e):(i=0,this._currentLevel=\"NONE\");let o;if(t===\"standard\"||t===\"full\"?o=t:o=\"standard\",o===\"full\"&&o!==this._currentFormat){let u=L();console.log(String(u.toFixed(2)),\"[Init]\",`Local-Date: ${Date.now()}`)}this._currentFormat=o;let s=this._currentFormat===\"full\"?(u,d)=>(f,...l)=>{let m=L();return d(String(m.toFixed(2)),`[${u}]`,f+\":\",...l.map(g=>typeof g==\"object\"&&g!==null&&!(g instanceof Error)?fo(g):g))}:(u,d)=>(f,...l)=>d(f+\":\",...l.map(m=>typeof m==\"object\"&&m!==null&&!(m instanceof Error)?fo(m):m));if(r===void 0)this.error=i>=this._levels.ERROR?s(\"error\",console.error.bind(console)):D,this.warn=i>=this._levels.WARNING?s(\"warn\",console.warn.bind(console)):D,this.info=i>=this._levels.INFO?s(\"info\",console.info.bind(console)):D,this.debug=i>=this._levels.DEBUG?s(\"log\",console.log.bind(console)):D;else{let u=d=>i>=this._levels[d]?(f,...l)=>r(d,f,l):D;this.error=u(\"ERROR\"),this.warn=u(\"WARNING\"),this.info=u(\"INFO\"),this.debug=u(\"DEBUG\")}this.trigger(\"onLogLevelChange\",{level:this._currentLevel,format:this._currentFormat})}getLevel(){return this._currentLevel}getFormat(){return this._currentFormat}hasLevel(e){return this._levels[e]>=this._levels[this._currentLevel]}};function fo(n){let e=\"\";for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t)){e.length>0&&(e+=\" \");let r=n[t];r instanceof Error?e+=`${t}=\"${JSON.stringify(r==null?void 0:r.toString())}\"`:e+=`${t}=${typeof r==\"string\"?`${JSON.stringify(r)}`:String(r)}`}return e}var Nu=new nn,c=Nu;var fr=typeof WorkerGlobalScope!=\"undefined\"&&self instanceof WorkerGlobalScope;var Uu=typeof window==\"undefined\"&&!fr,mr=Uu;var cr;fr?cr=self:mr?cr=global:cr=window;var te=cr;var de=class n extends Error{constructor(e,t,r){let i;switch(r){case\"TIMEOUT\":i=\"The request timed out\";break;case\"ERROR_EVENT\":i=\"An error prevented the request to be performed successfully\";break;case\"PARSE_ERROR\":i=\"An error happened while formatting the response data\";break;case\"ERROR_HTTP_CODE\":i=\"An HTTP status code indicating failure was received: \"+String(t);break}super(i),Object.setPrototypeOf(this,n.prototype),this.name=\"RequestError\",this.url=e,this.status=t,this.type=r}serialize(){return{url:this.url,status:this.status,type:this.type}}},Pe={TIMEOUT:\"TIMEOUT\",ERROR_EVENT:\"ERROR_EVENT\",ERROR_HTTP_CODE:\"ERROR_HTTP_CODE\",PARSE_ERROR:\"PARSE_ERROR\"};var ui=typeof Headers==\"function\"?Headers:null,pr=typeof AbortController==\"function\"?AbortController:null;function gr(n){var m,g;let e;if(!v(n.headers))if(v(ui))e=n.headers;else{e=new ui;let p=Object.keys(n.headers);for(let b=0;b{r=!0,d!==void 0&&clearTimeout(d),s()},n.timeout));let d;n.connectionTimeout!==void 0&&(d=setTimeout(()=>{i=!0,u!==void 0&&clearTimeout(u),s()},n.connectionTimeout));let f=n.cancelSignal.register(function(b){t=b,s()}),l={method:\"GET\"};if(e!==void 0&&(l.headers=e),l.signal=v(o)?null:o.signal,c.hasLevel(\"DEBUG\")){let p=\"fetch GET \"+n.url;n.timeout!==void 0&&(p+=\" to=\"+String(n.timeout/1e3)),n.connectionTimeout!==void 0&&(p+=\" cto=\"+String(n.connectionTimeout/1e3)),((m=n.headers)==null?void 0:m.Range)!==void 0&&(p+=\" Range=\"+((g=n.headers)==null?void 0:g.Range)),c.debug(\"utils\",p)}return fetch(n.url,l).then(p=>{if(d!==void 0&&clearTimeout(d),p.status>=300)throw c.warn(\"utils\",\"Fetch: Request HTTP Error\",{status:p.status,responseUrl:p.url}),new de(p.url,p.status,Pe.ERROR_HTTP_CODE);if(v(p.body))throw new de(p.url,p.status,Pe.PARSE_ERROR);let b=p.headers.get(\"Content-Length\"),h=!v(b)&&!isNaN(+b)?+b:void 0,S=p.body.getReader(),_=0;return P();async function P(){let T=await S.read();if(!T.done&&!v(T.value)){_+=T.value.byteLength;let R=L(),E={url:p.url,currentTime:R,duration:R-a,sendingTime:a,chunkSize:T.value.byteLength,chunk:T.value.buffer,size:_,totalSize:h};return n.onData(E),P()}else if(T.done){u!==void 0&&clearTimeout(u),f();let R=L();return{requestDuration:R-a,receivedTime:R,sendingTime:a,size:_,status:p.status,url:p.url}}return P()}}).catch(p=>{throw t!==null?t:(f(),r?(c.warn(\"utils\",\"Fetch: Request timed out.\",{url:n.url,timeout:n.timeout}),new de(n.url,0,Pe.TIMEOUT)):i?(c.warn(\"utils\",\"Fetch: Request connection timed out.\",{url:n.url,connectionTimeout:n.connectionTimeout}),new de(n.url,0,Pe.TIMEOUT)):p instanceof de?p:(c.warn(\"utils\",\"Fetch: Request Error\",{error:p instanceof Error?p.toString():\"Unkwown Error\"}),new de(n.url,0,Pe.ERROR_EVENT)))})}function rn(){let n=/\\[\\s*native\\s+code\\s*\\]/;return typeof te.fetch==\"function\"&&!v(pr)&&n.test(pr.toString())&&!v(ui)}function Y(n){return typeof n==\"string\"&&n.length>0}var Lu=\"json\";function an(n){let e={url:n.url,headers:n.headers,responseType:v(n.responseType)?Lu:n.responseType,timeout:n.timeout,connectionTimeout:n.connectionTimeout};return new Promise((t,r)=>{let{onProgress:i,cancelSignal:a}=n,{url:o,headers:s,responseType:u,timeout:d,connectionTimeout:f}=e,l=new XMLHttpRequest;l.open(\"GET\",o,!0);let m;d!==void 0&&(l.timeout=d,m=setTimeout(()=>{h(),r(new de(o,l.status,Pe.TIMEOUT))},d+3e3));let g;if(f!==void 0&&(g=setTimeout(()=>{h(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(new de(o,l.status,Pe.TIMEOUT))},f)),l.responseType=u,l.responseType===\"document\"&&l.overrideMimeType(\"text/xml\"),!v(s)){let S=s;for(let _ in S)Object.prototype.hasOwnProperty.call(S,_)&&l.setRequestHeader(_,S[_])}let p=L(),b=null;if(a!==void 0&&(b=a.register(function(_){h(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(_)}),a.isCancelled()))return;if(l.onerror=function(){h(),r(new de(o,l.status,Pe.ERROR_EVENT))},l.ontimeout=function(){h(),r(new de(o,l.status,Pe.TIMEOUT))},f!==void 0&&(l.onreadystatechange=function(){l.readyState>=XMLHttpRequest.HEADERS_RECEIVED&&clearTimeout(g)}),i!==void 0&&(l.onprogress=function(_){let P=L();i({url:o,duration:P-p,sendingTime:p,currentTime:P,size:_.loaded,totalSize:_.total})}),l.onload=function(_){if(l.readyState===XMLHttpRequest.DONE)if(h(),l.status>=200&&l.status<300){let P=L(),T=l.response instanceof ArrayBuffer?l.response.byteLength:_.total,R=l.status,E=l.responseType,M=Y(l.responseURL)?l.responseURL:o,C;if(E===\"json\"?C=typeof l.response==\"object\"?l.response:Fu(l.responseText):C=l.response,v(C)){r(new de(o,l.status,Pe.PARSE_ERROR));return}t({status:R,url:M,responseType:E,sendingTime:p,receivedTime:P,requestDuration:P-p,size:T,responseData:C})}else r(new de(o,l.status,Pe.ERROR_HTTP_CODE))},c.hasLevel(\"DEBUG\")){let S=\"XHR GET \"+o;n.responseType!==void 0&&(S+=\" type=\"+n.responseType),d!==void 0&&(S+=\" to=\"+String(d/1e3)),f!==void 0&&(S+=\" cto=\"+String(f/1e3)),(s==null?void 0:s.Range)!==void 0&&(S+=\" Range=\"+(s==null?void 0:s.Range)),c.debug(\"utils\",S)}l.send();function h(){m!==void 0&&clearTimeout(m),g!==void 0&&clearTimeout(g),b!==null&&b()}})}function Fu(n){try{return JSON.parse(n)}catch(e){return null}}var be=an;var Rt=Pe,Ge={NETWORK_ERROR:\"NETWORK_ERROR\",MEDIA_ERROR:\"MEDIA_ERROR\",ENCRYPTED_MEDIA_ERROR:\"ENCRYPTED_MEDIA_ERROR\",OTHER_ERROR:\"OTHER_ERROR\"};function tt(n,e){return`${n}: ${e}`}var on=class n extends Error{constructor(e,t,r){super(tt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"EncryptedMediaError\",this.type=Ge.ENCRYPTED_MEDIA_ERROR,this.code=e,this._originalMessage=t,this.fatal=!1,this.keyStatuses=r.keyStatuses,this.keySystemConfiguration=r.keySystemConfiguration,this.keySystem=r.keySystem}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,reason:this._originalMessage,keyStatuses:this.keyStatuses,keySystemConfiguration:this.keySystemConfiguration,keySystem:this.keySystem}}};var J=class n extends Error{constructor(e,t,r){super(tt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"MediaError\",this.type=Ge.MEDIA_ERROR,this._originalMessage=t,this.code=e,this.fatal=!1,(r==null?void 0:r.tracks)!==void 0&&(r==null?void 0:r.tracks.length)>0&&(this.tracksInfo=r.tracks)}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,reason:this._originalMessage,tracks:this.tracksInfo}}};var Ze=class n extends Error{constructor(e,t){super(tt(e,t.message)),Object.setPrototypeOf(this,n.prototype),this.name=\"NetworkError\",this.type=Ge.NETWORK_ERROR,this.url=t.url,this.status=t.status,this.errorType=t.type,this._baseError=t,this.code=e,this.fatal=!1}isHttpError(e){return this.errorType===Rt.ERROR_HTTP_CODE&&this.status===e}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,baseError:this._baseError.serialize()}}};var _e=class n extends Error{constructor(e,t){super(tt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"OtherError\",this.type=Ge.OTHER_ERROR,this.code=e,this.fatal=!1,this._originalMessage=t}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,reason:this._originalMessage}}};function Nt(n){return(n instanceof on||n instanceof J||n instanceof _e||n instanceof Ze)&&Object.keys(Ge).indexOf(n.type)>=0}function ge(n,{defaultCode:e,defaultReason:t}){if(Nt(n))return n;let r=n instanceof Error?n.toString():t;return new _e(e,r)}var xe=class n extends Error{constructor(e,t,r){super(t),Object.setPrototypeOf(this,n.prototype),this.name=\"SourceBufferError\",this.errorName=e,this.isBufferFull=r}serialize(){return{errorName:this.name,message:this.message,isBufferFull:this.isBufferFull}}toString(){return`${this.errorName}: ${this.message}`}};var zu={dashParsers:{wasm:null,js:null},createDebugElement:null,directfile:null,decrypt:null,htmlTextDisplayer:null,htmlTextTracksParsers:{},mainThreadMediaSourceInit:null,multithread:null,nativeTextDisplayer:null,nativeTextTracksParsers:{},transports:{}},mo=zu;var De=mo;function K(n,e,t){if(typeof Array.prototype.find==\"function\")return n.find(e,t);let r=n.length>>>0;for(let i=0;i=0;t--)if(n[t]!==e[t])return!1;return!0}function di(n){return Object.keys(n).map(e=>n[e])}var Ir=typeof Object.values==\"function\"?Object.values:di;var Ut=[\"audio\",\"video\",\"text\"];function bo(n){var a,o;let e=n.timeBounds;if(e.timeshiftDepth===null)return(a=e.minimumSafePosition)!=null?a:0;let{maximumTimeData:t}=e,r;if(!e.maximumTimeData.isLinear)r=t.maximumSafePosition;else{let s=L()-t.time;r=t.maximumSafePosition+s/1e3}let i=r-e.timeshiftDepth;return Math.max((o=e.minimumSafePosition)!=null?o:0,i)}function yo(n){let{maximumTimeData:e}=n.timeBounds;if(!n.isLive||e.livePosition===void 0)return;if(!e.isLinear)return e.livePosition;let t=L()-e.time;return e.livePosition+t/1e3}function So(n){let{maximumTimeData:e}=n.timeBounds;if(!e.isLinear)return e.maximumSafePosition;let t=L()-e.time;return e.maximumSafePosition+t/1e3}function To(n,e){if(e===void 0)return fi(n).filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1);let t=n.adaptations[e];return t===void 0?[]:t.filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1)}function Eo(n,e){let t=null;for(let r=n.periods.length-1;r>=0;r--){let i=n.periods[r];if(li(i,e,t))return i;t=i}}function _o(n,e){let t=e.end;if(t===void 0)return null;let r=K(n.periods,i=>i.end===void 0||t=n.start&&(n.end===void 0||en.end)}function fi(n){let e=n.adaptations;return di(e).reduce((t,r)=>v(r)?t:t.concat(r),[])}function Hu(n,e){var r,i;let t={language:(r=n.language)!=null?r:\"\",normalized:(i=n.normalizedLanguage)!=null?i:\"\",audioDescription:n.isAudioDescription===!0,id:n.id,representations:(e?n.representations.filter(a=>sn(a)===!0):n.representations).map(Yu),label:n.label};return n.isDub===!0&&(t.dub=!0),t}function Ku(n){var e,t;return{language:(e=n.language)!=null?e:\"\",normalized:(t=n.normalizedLanguage)!=null?t:\"\",closedCaption:n.isClosedCaption===!0,id:n.id,label:n.label,forced:n.isForcedSubtitles}}function ju(n,e){let t=n.trickModeTracks!==void 0?n.trickModeTracks.map(i=>{let a=(e?i.representations.filter(s=>sn(s)===!0):i.representations).map(Io),o={id:i.id,representations:a,isTrickModeTrack:!0};return i.isSignInterpreted===!0&&(o.signInterpreted=!0),o}):void 0,r={id:n.id,representations:(e?n.representations.filter(i=>sn(i)===!0):n.representations).map(Io),label:n.label};return n.isSignInterpreted===!0&&(r.signInterpreted=!0),n.isTrickModeTrack===!0&&(r.isTrickModeTrack=!0),t!==void 0&&(r.trickModeTracks=t),r}function Yu(n){let{id:e,bitrate:t,codecs:r,isSpatialAudio:i,isSupported:a,decipherable:o}=n;return{id:e,bitrate:t,codec:r==null?void 0:r[0],isSpatialAudio:i,isCodecSupported:a,decipherable:o}}function Io(n){let{id:e,bitrate:t,frameRate:r,width:i,height:a,codecs:o,hdrInfo:s,isSupported:u,decipherable:d,contentProtections:f}=n;return{id:e,bitrate:t,frameRate:r,width:i,height:a,codec:o==null?void 0:o[0],hdrInfo:s,isCodecSupported:u,decipherable:d,contentProtections:f!==void 0?{keyIds:f.keyIds}:void 0}}function Pt(n){switch(n.type){case\"audio\":return{type:\"audio\",track:Hu(n,!1)};case\"video\":return{type:\"video\",track:ju(n,!1)};case\"text\":return{type:\"text\",track:Ku(n)}}}function sn(n){return n.decipherable===!1?!1:n.isSupported}function Ro(n){return new Function(`return (${n}(arguments[0], arguments[1]))`)}function Me(){let n=\"\",e=-1;return function(){return e++,e>=Number.MAX_SAFE_INTEGER&&(n+=\"0\",e=0),n+String(e)}}var br=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"AssertionError\"}};function ce(n,e){if(I.DEV===I.CURRENT_ENV&&!n)throw new br(e===void 0?\"invalid assertion\":e)}function Ne(n){throw new br(\"Unreachable path taken\")}var Qu=typeof te==\"object\"&&typeof te.TextDecoder==\"function\",$u=typeof te==\"object\"&&typeof te.TextEncoder==\"function\";function un(n){if($u)try{return new TextEncoder().encode(n)}catch(i){let a=i instanceof Error?i:\"Unknown Error\";c.warn(\"utils\",\"Could not use TextEncoder to encode string into UTF-8, fallbacking to another implementation\",a)}let e,t=encodeURIComponent(n);if(typeof unescape==\"function\")e=unescape(t);else{let i=/[0-9a-fA-F]/,a=t.length;e=\"\";for(let o=0;o=e?t:new Array(e-t.length+1).join(\"0\")+t}function Ke(n){if(Qu)try{return new TextDecoder().decode(n)}catch(i){let a=i instanceof Error?i:\"Unknown Error\";c.warn(\"utils\",\"could not use TextDecoder to parse UTF-8, fallbacking to another implementation\",a)}let e=n;e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3));let t=Xu(e),r;if(typeof escape==\"function\")r=escape(t);else{let i=/[A-Za-z0-9*_+-./]/;r=\"\";for(let a=0;a=256?\"%u\"+Po(o,4):\"%\"+Po(o,2)}}return decodeURIComponent(r)}function dn(n){let e=n.length,t=new Uint8Array(e/2);for(let r=0,i=0;r>>4).toString(16),t+=(n[r]&15).toString(16),e.length>0&&r0?this.codecs.push((s=e.codecs)!=null?s:\"\"):(this.codecs=e.codecs===void 0?[]:[e.codecs],this.isSupported=r.isSupported((u=this.mimeType)!=null?u:\"\",(d=e.codecs)!=null?d:\"\",i)))}else e.codecs!==void 0&&this.codecs.push(e.codecs),this.isSupported=!0}refreshCodecSupport(e){var s,u;if(this.isSupported!==void 0)return;let t=this.contentProtections!==void 0,r=!1,i=(s=this.mimeType)!=null?s:\"\",a=(u=this.codecs)!=null?u:[];a.length===0&&(a=[\"\"]);let o=!1;for(let d of a){if(r=e.isSupported(i,d,t),r===!0){this.codecs=[d];break}r===void 0&&(o=!0)}r===!0?this.isSupported=!0:o?this.isSupported=void 0:this.isSupported=!1}getMimeTypeString(){var e,t,r;return`${(e=this.mimeType)!=null?e:\"\"};codecs=\"${(r=(t=this.codecs)==null?void 0:t[0])!=null?r:\"\"}\"`}getEncryptionData(e){var i;let t=this.getAllEncryptionData(),r=[];for(let a=0;a({type:r.type,keyIds:e,values:r.values}))}addProtectionData(e,t,r){let i=!1;if(this.contentProtections===void 0)return this.contentProtections={keyIds:t!==void 0?[t]:[],initData:[{type:e,values:r}]},!0;if(t!==void 0){let o=this.contentProtections.keyIds;if(o===void 0)this.contentProtections.keyIds=[t];else{let s=!1;for(let u of o)hr(u,t)&&(s=!0);s||(c.warn(\"manifest\",\"found unanounced key id.\",{keyId:yr(t)}),o.push(t))}}let a=this.contentProtections.initData;for(let o=0;o0&&(this.trickModeTracks=i.map(d=>new n(d,t)));let s=e.representations,u=[];this.supportStatus={hasSupportedCodec:!1,hasCodecWithUndefinedSupport:!1,isDecipherable:!1};for(let d=0;dd.bitrate-f.bitrate),this.representations=u,this.manuallyAdded=o===!0}refreshCodecSupport(e){let t=!1,r=!1;for(let i of this.representations)i.refreshCodecSupport(e),i.isSupported===void 0?t=!0:i.isSupported&&(r=!0);r?this.supportStatus.hasSupportedCodec=!0:t?this.supportStatus.hasSupportedCodec=void 0:this.supportStatus.hasSupportedCodec=!1,this.supportStatus.hasCodecWithUndefinedSupport=t}getRepresentation(e){return K(this.representations,({id:t})=>e===t)}getMetadataSnapshot(){let e=[],t=this.representations;for(let r of t)e.push(r.getMetadataSnapshot());return{id:this.id,type:this.type,supportStatus:this.supportStatus,language:this.language,isForcedSubtitles:this.isForcedSubtitles,isClosedCaption:this.isClosedCaption,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted,normalizedLanguage:this.normalizedLanguage,representations:e,label:this.label,isDub:this.isDub}}};var ye=te,vo,Co,Ao,ko,xo,ct=(xo=(ko=(Ao=(Co=(vo=ye==null?void 0:ye.MediaSource)!=null?vo:ye==null?void 0:ye.MozMediaSource)!=null?Co:ye==null?void 0:ye.WebKitMediaSource)!=null?Ao:ye==null?void 0:ye.MSMediaSource)!=null?ko:ye==null?void 0:ye.ManagedMediaSource)!=null?xo:void 0,Zg=ct!==void 0&&ct===(ye==null?void 0:ye.ManagedMediaSource);var pt={EdgeChromium:0,Firefox:1,Ie11:2,OtherIeOrEdgePreEdgeChromium:3,SafariDesktop:4,SafariMobile:5,Other:6},Ue={A1KStb40xx:100,Panasonic:101,PhilipsNetTv:102,PlayStation4:103,PlayStation5:104,Tizen:105,WebOs2021:106,WebOs2022:107,WebOsOther:108,Xbox:109,Other:110},Se={DEVICES:Ue,BROWSERS:pt,browser:pt.Other,device:Ue.Other,isSamsungBrowser:!1};Ju();function Ju(){var n,e,t;mr||(typeof te.MSInputMethodContext!=\"undefined\"&&typeof document.documentMode!=\"undefined\"?Se.browser=pt.Ie11:navigator.appName===\"Microsoft Internet Explorer\"||navigator.appName===\"Netscape\"&&/(Trident|Edge)\\//.test(navigator.userAgent)?Se.browser=pt.OtherIeOrEdgePreEdgeChromium:navigator.userAgent.toLowerCase().indexOf(\"edg/\")!==-1?Se.browser=pt.EdgeChromium:navigator.userAgent.toLowerCase().indexOf(\"firefox\")!==-1?Se.browser=pt.Firefox:typeof navigator.platform==\"string\"&&/iPad|iPhone|iPod/.test(navigator.platform)?Se.browser=pt.SafariMobile:(Object.prototype.toString.call(te.HTMLElement).indexOf(\"Constructor\")>=0||((e=(n=te.safari)==null?void 0:n.pushNotification)==null?void 0:e.toString())===\"[object SafariRemoteNotification]\"||/Safari\\/(\\d+)/.test(navigator.userAgent)&&/Version\\/(\\d+)/.test(navigator.userAgent)&&((t=navigator.vendor)==null?void 0:t.indexOf(\"Apple\"))!==-1&&!/Chrome\\/(\\d+)/.test(navigator.userAgent)&&!/Chromium\\/(\\d+)/.test(navigator.userAgent))&&(Se.browser=pt.SafariDesktop),/SamsungBrowser/.test(navigator.userAgent)&&(Se.isSamsungBrowser=!0),navigator.userAgent.indexOf(\"PlayStation 4\")!==-1?Se.device=Ue.PlayStation4:navigator.userAgent.indexOf(\"PlayStation 5\")!==-1?Se.device=Ue.PlayStation5:/Tizen/.test(navigator.userAgent)?Se.device=Ue.Tizen:/[Ww]eb[O0]S/.test(navigator.userAgent)?/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/87/.test(navigator.userAgent)?Se.device=Ue.WebOs2022:/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/79/.test(navigator.userAgent)?Se.device=Ue.WebOs2021:Se.device=Ue.WebOsOther:navigator.userAgent.indexOf(\"NETTV\")!==-1&&navigator.userAgent.indexOf(\"Philips\")!==-1?Se.device=Ue.PhilipsNetTv:/[Pp]anasonic/.test(navigator.userAgent)?Se.device=Ue.Panasonic:navigator.userAgent.indexOf(\"Xbox\")!==-1?Se.device=Ue.Xbox:navigator.userAgent.indexOf(\"Model/a1-kstb40xx\")!==-1&&(Se.device=Ue.A1KStb40xx))}var pi=Se;function gi(n){return new Promise(e=>{setTimeout(e,n)})}function vt(n,e){let t;return new Promise((r,i)=>{if(n.cancellationError!==null)return i(n.cancellationError);let a=!1;t=e(function(u){n.deregister(o),a=!0,r(u)},function(u){n.deregister(o),a=!0,i(u)}),a||n.register(o);function o(s){t!==void 0&&t(),i(s)}})}function fn(n,e){return vt(e,t=>{let r=setTimeout(()=>t(),n);return()=>clearTimeout(r)})}var F=class{constructor(){let[e,t]=ed();this._isUsed=!1,this._trigger=e,this.signal=new hi(t)}isUsed(){return this._isUsed}linkToSignal(e){let t=e.register(()=>{this.cancel()});return this.signal.register(t),t}cancel(e){if(this._isUsed)return;this._isUsed=!0;let t=e!=null?e:new ue;this._trigger(t)}static isCancellationError(e){return e instanceof ue}},hi=class{constructor(e){this._isCancelled=!1,this.cancellationError=null,this._listeners=[],e(t=>{for(this.cancellationError=t,this._isCancelled=!0;this._listeners.length>0;)try{let r=this._listeners.pop();r==null||r(t)}catch(r){c.error(\"utils\",\"Error while calling clean up listener\",r instanceof Error?r:\"Unknown Error\")}})}isCancelled(){return this._isCancelled}register(e){return this._isCancelled?(ce(this.cancellationError!==null),e(this.cancellationError),D):(this._listeners.push(e),()=>this.deregister(e))}deregister(e){for(let t=this._listeners.length-1;t>=0;t--)this._listeners[t]===e&&this._listeners.splice(t,1)}},ue=class n extends Error{constructor(){super(\"This task was cancelled.\"),Object.setPrototypeOf(this,n.prototype),this.name=\"CancellationError\"}};function ed(){let n=D;return[function(t){n(t)},function(t){n=t}]}var td=[\"\",\"webkit\",\"moz\",\"ms\"];function nd(n,e){let t=document.createElement(n.tagName),r=\"on\"+e;return r in t?!0:(t.setAttribute(r,\"return;\"),typeof t[r]==\"function\")}function rd(n,e){return e.filter(t=>nd(n,t))[0]}function id(n,e){return n.reduce((t,r)=>t.concat((e===void 0?td:e).map(i=>i+r)),[])}function ve(n,e){let t,r=id(n,e);return(i,a,o)=>{if(!o.isCancelled()){if(typeof HTMLElement!=\"undefined\"&&i instanceof HTMLElement)if(typeof t==\"undefined\"&&(t=rd(i,r)),Y(t))i.addEventListener(t,a),o.register(()=>{t!==void 0&&i.removeEventListener(t,a)});else{c.warn(\"utils\",`element ${i.tagName} does not support any of these events: `+r.join(\", \"));return}r.forEach(s=>{let u=!1;typeof i.addEventListener==\"function\"?i.addEventListener(s,a):(u=!0,i[\"on\"+s]=a),o.register(()=>{typeof i.removeEventListener==\"function\"&&i.removeEventListener(s,a),u&&delete i[\"on\"+s]})})}}}var Ph=ve([\"loadedmetadata\"]),vh=ve([\"timeupdate\"]),Ch=ve([\"addtrack\"]),Ah=ve([\"removetrack\"]),Lt=ve([\"sourceopen\",\"webkitsourceopen\"]),Sr=ve([\"sourceclose\",\"webkitsourceclose\"]),Tr=ve([\"sourceended\",\"webkitsourceended\"]),Mo=ve([\"update\"]),Oo=ve([\"removesourcebuffer\"]),kh=ve([\"keymessage\",\"message\"]),xh=ve([\"keyadded\",\"ready\"]),Mh=ve([\"keyerror\",\"error\"]),Oh=ve([\"keystatuseschange\"]),wh=ve([\"seeking\"]),Dh=ve([\"seeked\"]),Bh=ve([\"ended\"]);var wo=[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,62,255,255,255,63,52,53,54,55,56,57,58,59,60,61,255,255,255,0,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function Er(n){if(n>=wo.length)throw new Error(\"Unable to parse base64 string.\");let e=wo[n];if(e===255)throw new Error(\"Unable to parse base64 string.\");return e}function _r(n){let e=n.length%4,t=n;e!==0&&(c.warn(\"utils\",\"base64ToBytes: base64 given miss padding\",{padding:e}),t+=e===3?\"=\":e===2?\"==\":\"===\");let r=t.indexOf(\"=\");if(r!==-1&&r>16,o[d+1]=s>>8&255,o[d+2]=s&255;return o.subarray(0,o.length-i)}function Ct(...n){let e=n.length,t=-1,r=0,i;for(;++t0&&(a.set(i,o),o+=i.length);return a}function Do(n,e){return(n[e+0]<<8)+(n[e+1]<<0)}function Ii(n,e){return n[e+0]*65536+n[e+1]*256+n[e+2]}function ie(n,e){return n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3]}function gt(n,e){return(n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3])*4294967296+n[e+4]*16777216+n[e+5]*65536+n[e+6]*256+n[e+7]}function Bo(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer)}function Oe(n,e,t){if(typeof String.prototype.startsWith==\"function\")return n.startsWith(e,t);let r=typeof t==\"number\"?Math.max(t,0):0;return n.substring(r,r+e.length)===e}function Je(n,e){let t=n.length,r=0;for(;r+8<=t;){let i=ie(n,r);if(i===0)i=t-r;else if(i===1){if(r+16>t)return-1;i=gt(n,r+8)}if(isNaN(i)||i<=0)return-1;if(ie(n,r+4)===e)return r+i<=t?r:-1;r+=i}return-1}function Rr(n){let e=0,t=[],r=null;for(;e<=n.length;){if(e===n.length){r=null;break}r=n.subarray(e,1/0);let i=Je(r,1836019558);if(i<0)break;let a=ie(n,i+e),o=e+i+a;if(o>n.length)break;let s=Je(r,1835295092);if(s<0)break;let u=ie(n,s+e),d=e+s+u;if(d>n.length)break;let f=Math.max(o,d),l=n.subarray(e,f);t.push(l),e=f}return t.length===0?[null,r]:[t,r]}function ad(n,e,t){return new Uint8Array(Array.prototype.slice.call(n,e,t))}function od(n,e,t){return n.slice(e,t)}var bi=typeof Uint8Array.prototype.slice==\"function\"?od:ad;function yi(n,e){let t=n;for(let r of e){let i=he(t,r);if(i===null)return null;t=i}return t}function he(n,e){let t=Ft(n,e);return t!==null?n.subarray(t[1],t[2]):null}function No(n,e){let t=[],r=n;for(;;){let i=Ft(r,e);if(i===null)return t;ce(i[2]!==0&&r.length!==0),t.push(r.subarray(i[1],i[2])),r=r.subarray(i[2])}}function Ft(n,e){let t=n.length,r=0,i,a=0,o;for(;r+8<=t;){if(o=r,a=ie(n,o),o+=4,i=ie(n,o),o+=4,a===0)a=t-r;else if(a===1){if(o+8>t)return null;a=gt(n,o),o+=8}if(a<0)throw new Error(\"ISOBMFF: Size out of range\");if(i===e)return e===1970628964&&(o+=16),[r,o,r+a];r+=a}return null}function Pr(n){let e=0,t=he(n,1836019574);if(t===null)return[];let r=[];for(;e1){c.warn(\"isobmff\",\"un-handled PSSH version\");return}let t=e+4;if(t+16>n.length)return;let r=bi(n,t,t+16);return yr(r)}function Si(n){let e=he(n,1836019558);return e===null?null:he(e,1953653094)}function Lo(n){return No(n,1836019558).reduce((t,r)=>{let i=he(r,1953653094);return i!==null&&t.push(i),t},[])}function Ti(n){return he(n,1835295092)}function Ei(n){let e=he(n,1836019574);if(e===null)return null;let t=he(e,1953653099);return t===null?null:he(t,1835297121)}function Fo(n,e=0){return he(n.subarray(e),1701671783)}function mn(n,e){let t=Ft(n,1936286840);if(t===null)return null;let r=e,i=t[2]-t[0],a=t[1],o=n[a];a+=8;let s=ie(n,a);a+=4;let u;if(o===0)u=ie(n,a),a+=4,r+=ie(n,a)+i,a+=4;else if(o===1)u=gt(n,a),a+=8,r+=gt(n,a)+i,a+=8;else return null;let d=[];a+=2;let f=Do(n,a);for(a+=2;--f>=0;){let l=ie(n,a);a+=4;let m=(l&2147483648)>>>31,g=l&2147483647;if(m===1)throw new Error(\"sidx with reference_type `1` not yet implemented\");let p=ie(n,a);a+=4,a+=4,d.push({time:u,duration:p,timescale:s,range:[r,r+g-1]}),u+=p,r+=g}return d}function _i(n){let e=Si(n);if(e===null)return;let t=he(e,1952867444);if(t===null)return;let r=t[0];if(r===1)return gt(t,4);if(r===0)return ie(t,4)}function sd(n){let e=he(n,1952868452);if(e===null)return;let t=1,r=Ii(e,t);t+=3;let i=(r&1)>0,a=(r&2)>0;return(r&8)>0?(t+=4,i&&(t+=8),a&&(t+=4),ie(e,t)):void 0}function Ri(n){let e=Lo(n);if(e.length===0)return;let t=0;for(let r of e){let i=he(r,1953658222);if(i===null)return;let a=0,o=i[a];if(a+=1,o>1)return;let s=Ii(i,a);a+=3;let u=(s&256)>0,d=0;if(!u&&(d=sd(r),d===void 0))return;let f=(s&1)>0,l=(s&4)>0,m=(s&512)>0,g=(s&1024)>0,p=(s&2048)>0,b=ie(i,a);a+=4,f&&(a+=4),l&&(a+=4);let h=b,S=0;for(;h-- >0;)u?(S+=ie(i,a),a+=4):S+=d,m&&(a+=4),g&&(a+=4),p&&(a+=4);t+=S}return t}function cn(n){let e=Ei(n);if(e===null)return;let t=he(e,1835296868);if(t===null)return;let r=0,i=t[r];if(r+=4,i===1)return ie(t,r+16);if(i===0)return ie(t,r+8)}function zo(n){let e=[],t=0;for(;ts===0)?null:o}function Ie(n,e,t){if(typeof Array.prototype.includes==\"function\")return n.includes(e,t);let r=n.length>>>0;if(r===0)return!1;let i=t|0,a=i>=0?Math.min(i,r-1):Math.max(r+i,0),o=(s,u)=>s===u||typeof s==\"number\"&&typeof u==\"number\"&&isNaN(s)&&isNaN(u);for(;aOe(a,\"codecs=\")))!=null?i:\"\";return r=r.substring(dd),r[0]==='\"'&&(r=r.substring(1,r.length-1)),{mimeType:e,codecs:r}}var Vo=ud;function Pi(n,e){return typeof Array.prototype.flatMap==\"function\"?n.flatMap(e):n.reduce((t,r)=>{let i=e(r);return Array.isArray(i)?(t.push(...i),t):(t.push(i),t)},[])}function vi(n){let e=(Math.random()*2-1)*.3;return n*(e+1)}function Go(n){var t,r,i,a,o;let e=[];for(let s of n.periods){let u=[...(t=s.adaptations.video)!=null?t:[],...(r=s.adaptations.audio)!=null?r:[]];for(let d of u)if(d.supportStatus.hasCodecWithUndefinedSupport)for(let f of d.representations)f.isSupported===void 0&&e.push({mimeType:(i=f.mimeType)!=null?i:\"\",codec:(o=(a=f.codecs)==null?void 0:a[0])!=null?o:\"\"})}return e}var Ho=[];function rt(n){Ie(Ho,n)||(console.warn(n),Ho.push(n))}var pn=class{constructor(e){this.supportMap=new Map,this.addCodecs(e)}addCodecs(e){for(let t of e){let r=this.supportMap.get(t.mimeType);r===void 0&&(r=new Map,this.supportMap.set(t.mimeType,r)),r.set(t.codec,{supported:t.supported,supportedIfEncrypted:t.supportedIfEncrypted})}}isSupported(e,t,r){let i=this.supportMap.get(e);if(i===void 0)return;let a=i.get(t);if(a!==void 0)return r?a.supportedIfEncrypted:a.supported}};var ht=class{constructor(e,t,r){if(this.id=e.id,this.adaptations=ld(e.adaptations,t,r),Ko(this.adaptations.video)&&Ko(this.adaptations.audio))throw new J(\"MANIFEST_PARSE_ERROR\",\"The manifest has no video nor audio tracks.\");this.thumbnailTracks=e.thumbnailTracks.map(i=>({id:i.id,mimeType:i.mimeType,index:i.index,cdnMetadata:i.cdnMetadata,height:i.height,width:i.width,horizontalTiles:i.horizontalTiles,verticalTiles:i.verticalTiles,start:i.start,end:i.end,tileDuration:i.tileDuration})),this.duration=e.duration,this.start=e.start,!v(this.duration)&&!v(this.start)&&(this.end=this.start+this.duration),this.streamEvents=e.streamEvents===void 0?[]:e.streamEvents}refreshCodecSupport(e,t){Object.keys(this.adaptations).forEach(r=>{let i=this.adaptations[r];if(i!==void 0)for(let a of i){if(!a.supportStatus.hasCodecWithUndefinedSupport)continue;let o=a.supportStatus.hasSupportedCodec;a.refreshCodecSupport(t),o!==!1&&a.supportStatus.hasSupportedCodec===!1&&e.push(a)}},{})}getAdaptations(){return fi(this)}getAdaptationsForType(e){let t=this.adaptations[e];return t!=null?t:[]}getAdaptation(e){return K(this.getAdaptations(),({id:t})=>e===t)}getSupportedAdaptations(e){return To(this,e)}containsTime(e,t){return li(this,e,t)}getMetadataSnapshot(){let e={},t=this.getAdaptations();for(let r of t){let i=e[r.type];i===void 0&&(i=[],e[r.type]=i),i.push(r.getMetadataSnapshot())}return{start:this.start,end:this.end,id:this.id,streamEvents:this.streamEvents,adaptations:e,thumbnailTracks:this.thumbnailTracks.map(r=>({id:r.id,mimeType:r.mimeType,height:r.height,width:r.width,horizontalTiles:r.horizontalTiles,verticalTiles:r.verticalTiles,start:r.start,end:r.end,tileDuration:r.tileDuration}))}}};function Ko(n){return Array.isArray(n)?n.length===0:!0}function ld(n,e,t){let r={};for(let[i,a]of Object.entries(n))v(a)||(r[i]=a.map(o=>new mt(o,e,{representationFilter:t})).filter(o=>o.representations.length>0));return r}function gn(n,e,t){let r={updatedAdaptations:[],removedAdaptations:[],addedAdaptations:[],updatedThumbnailTracks:[],removedThumbnailTracks:[],addedThumbnailTracks:[]};n.start=e.start,n.end=e.end,n.duration=e.duration,n.streamEvents=e.streamEvents;let i=n.thumbnailTracks,a=e.thumbnailTracks;for(let u=0;ul.id===d.id);if(f===-1){c.warn(\"manifest\",'ThumbnailTrack \"'+i[u].id+'\" not found when merging.');let[l]=i.splice(u,1);u--,r.removedThumbnailTracks.push({id:l.id})}else{let[l]=a.splice(f,1);d.mimeType=l.mimeType,d.height=l.height,d.width=l.width,d.horizontalTiles=l.horizontalTiles,d.verticalTiles=l.verticalTiles,d.start=l.start,d.end=l.end,d.tileDuration=l.tileDuration,d.cdnMetadata=l.cdnMetadata,t===0?d.index._replace(l.index):d.index._update(l.index),r.updatedThumbnailTracks.push({id:d.id,mimeType:d.mimeType,height:d.height,width:d.width,horizontalTiles:d.horizontalTiles,verticalTiles:d.verticalTiles,start:d.start,end:d.end,tileDuration:d.tileDuration})}}a.length>0&&(c.warn(\"manifest\",`${a.length} new Thumbnail tracks found when merging.`),r.addedThumbnailTracks.push(...a.map(u=>({id:u.id,mimeType:u.mimeType,height:u.height,width:u.width,horizontalTiles:u.horizontalTiles,verticalTiles:u.verticalTiles,start:u.start,end:u.end,tileDuration:u.tileDuration}))),n.thumbnailTracks.push(...a));let o=n.getAdaptations(),s=e.getAdaptations();for(let u=0;ul.id===d.id);if(f===-1){c.warn(\"manifest\",'Adaptation \"'+o[u].id+'\" not found when merging.');let[l]=o.splice(u,1);u--,r.removedAdaptations.push({id:l.id,trackType:l.type})}else{let[l]=s.splice(f,1),m=[],g=[],p=[];r.updatedAdaptations.push({adaptation:d.id,trackType:d.type,updatedRepresentations:m,addedRepresentations:g,removedRepresentations:p});let b=d.representations,h=l.representations.slice();for(let S=0;ST.id===_.id);if(P===-1){c.warn(\"manifest\",`Representation \"${b[S].id}\" not found when merging.`);let[T]=b.splice(S,1);S--,p.push(T.id)}else{let[T]=h.splice(P,1);m.push(_.getMetadataSnapshot()),_.cdnMetadata=T.cdnMetadata,t===0?_.index._replace(T.index):_.index._update(T.index)}}h.length>0&&(c.warn(\"manifest\",`${h.length} new Representations found when merging.`),d.representations.push(...h),g.push(...h.map(S=>S.getMetadataSnapshot())))}}if(s.length>0){c.warn(\"manifest\",`${s.length} new Adaptations found when merging.`);for(let u of s){let d=n.adaptations[u.type];d===void 0?n.adaptations[u.type]=[u]:d.push(u),r.addedAdaptations.push(u.getMetadataSnapshot())}}return r}function jo(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]},r=0;for(let a=0;a({id:g.id,start:g.start,end:g.end}))),t.addedPeriods.push(...f.map(g=>g.getMetadataSnapshot())),r=a+1}}if(r>n.length)return c.error(\"manifest\",\"error when updating Periods\"),t;if(r({id:o.id,start:o.start,end:o.end})))}let i=e.slice(r,e.length);return i.length>0&&(n.push(...i),t.addedPeriods.push(...i.map(a=>a.getMetadataSnapshot()))),t}function Yo(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]};if(n.length===0)return n.splice(0,0,...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t;if(e.length===0)return t;let r=n[n.length-1];if(r.starts.getMetadataSnapshot())),t}let i=re(n,({id:s})=>s===e[0].id);if(i<0)throw new J(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: incoherent data\");let a=gn(n[i],e[0],1);t.updatedPeriods.push({period:H(n[i].getMetadataSnapshot(),{adaptations:void 0}),result:a});let o=i+1;for(let s=1;s({id:g.id,start:g.start,end:g.end})))}else{if(d>o){c.warn(\"manifest\",\"old Periods not found in new when updating, removing\");let l=n.splice(o,d-o);t.removedPeriods.push(...l.map(m=>({id:m.id,start:m.start,end:m.end}))),d=o}let f=gn(n[d],u,0);t.updatedPeriods.push({period:H(n[d].getMetadataSnapshot(),{adaptations:void 0}),result:f})}o++}if(o({id:u.id,start:u.start,end:u.end})))}return t}var fd=Me(),hn=class extends fe{constructor(e,t){var a;super();let{representationFilter:r,manifestUpdateUrl:i}=t;this.manifestFormat=0,this.id=fd(),this.expired=(a=e.expired)!=null?a:null,this.transport=e.transportType,this.clockOffset=e.clockOffset,this._cachedCodecSupport=new pn([]),this.periods=e.periods.map(o=>new ht(o,this._cachedCodecSupport,r)).sort((o,s)=>o.start-s.start),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.timeBounds=e.timeBounds,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.uris=e.uris===void 0?[]:e.uris,this.updateUrl=i,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.availabilityStartTime=e.availabilityStartTime,this.publishTime=e.publishTime}updateCodecSupport(e=[]){if(e.length===0)return null;this._cachedCodecSupport.addCodecs(e);let t=[];for(let r of this.periods)r.refreshCodecSupport(t,this._cachedCodecSupport);return this.trigger(\"supportUpdate\",null),t.length>0?new J(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:t.map(Pt)}):null}getPeriod(e){return K(this.periods,t=>e===t.id)}getPeriodForTime(e){return Eo(this,e)}getNextPeriod(e){return K(this.periods,t=>t.start>e)}getPeriodAfter(e){return _o(this,e)}getUrls(){return this.uris}replace(e){this._performUpdate(e,0)}update(e){this._performUpdate(e,1)}getMinimumSafePosition(){return bo(this)}getLivePosition(){return yo(this)}getMaximumSafePosition(){return So(this)}updateCodecSupportList(e){this._cachedCodecSupport=e}updateRepresentationsDeciperability(e){let t=md(this,e);t.length>0&&this.trigger(\"decipherabilityUpdate\",t)}addRepresentationsToAvoid(e){let t=[];for(let r of e){let i=this.getPeriod(r.period.id);if(i===void 0)continue;let a=i.getAdaptation(r.adaptation.id);if(a===void 0)continue;let o=a.getRepresentation(r.representation.id);o!==void 0&&(o.shouldBeAvoided=!0,t.push({manifest:this,period:i,adaptation:a,representation:o}))}t.length>0&&this.trigger(\"representationAvoidanceUpdate\",t)}getAdaptations(){rt(\"manifest.getAdaptations() is deprecated. Please use manifest.period[].getAdaptations() instead\");let e=this.periods[0];if(e===void 0)return[];let t=e.adaptations,r=[];for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i)){let a=t[i];r.push(...a)}return r}getAdaptationsForType(e){rt(\"manifest.getAdaptationsForType(type) is deprecated. Please use manifest.period[].getAdaptationsForType(type) instead\");let t=this.periods[0];if(t===void 0)return[];let r=t.adaptations[e];return r===void 0?[]:r}getAdaptation(e){return rt(\"manifest.getAdaptation(id) is deprecated. Please use manifest.period[].getAdaptation(id) instead\"),K(this.getAdaptations(),({id:t})=>e===t)}getMetadataSnapshot(){let e=[];for(let t of this.periods)e.push(t.getMetadataSnapshot());return{manifestFormat:1,id:this.id,periods:e,isDynamic:this.isDynamic,isLive:this.isLive,isLastPeriodKnown:this.isLastPeriodKnown,suggestedPresentationDelay:this.suggestedPresentationDelay,clockOffset:this.clockOffset,uris:this.uris,availabilityStartTime:this.availabilityStartTime,timeBounds:this.timeBounds}}getCodecsWithUnknownSupport(){return Go(this)}_performUpdate(e,t){this.availabilityStartTime=e.availabilityStartTime,this.expired=e.expired,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.transport=e.transport,this.publishTime=e.publishTime;let r;if(t===0)this.timeBounds=e.timeBounds,this.uris=e.uris,r=jo(this.periods,e.periods);else{this.timeBounds.maximumTimeData=e.timeBounds.maximumTimeData,this.updateUrl=e.uris[0],r=Yo(this.periods,e.periods);let i=this.getMinimumSafePosition();for(;this.periods.length>0;){let a=this.periods[0];if(a.end===void 0||a.end>i)break;this.periods.shift()}}this.updateCodecSupport(),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.trigger(\"manifestUpdate\",r)}};function md(n,e){let t=[];for(let r of n.periods)for(let i of r.getAdaptations()){let a=!0;for(let o of i.representations){let s={manifest:n,period:r,adaptation:i,representation:o},u=e(s);u!==!1&&(a=!1),u!==o.decipherable&&(t.push(s),o.decipherable=u,u===!0?i.supportStatus.isDecipherable=!0:u===void 0&&i.supportStatus.isDecipherable===!1&&(i.supportStatus.isDecipherable=void 0),c.debug(\"manifest\",`Decipherability changed for \"${o.id}\"`,`(${o.bitrate})`,String(o.decipherable)))}a&&(i.supportStatus.isDecipherable=!1)}return t}function nt(n,e){return n.segment.id===e.segment.id&&n.representation.uniqueId===e.representation.uniqueId}function He(n){if(v(n))return null;let{period:e,adaptation:t,representation:r,segment:i}=n;return{t:t.type[0],p:e.id,a:t.id,r:r.id,ss:i.isInit?null:i.time,se:i.isInit||!i.complete?null:i.end}}var zt=hn;var cd=\"<\",pd=60,Qo=\">\",vr=62,Ci=45,$o=47,gd=33,Xo=39,Zo=34,Ai=91,hd=93,Id=`\\r\n\t>/= `;function ki(n,e={}){var m,g;let t=(m=e.pos)!=null?m:0,r=e.keepComments===!0,i=e.keepWhitespace===!0,a;if(e.attrValue!==void 0)for(e.attrName=(g=e.attrName)!=null?g:\"id\",a=[];(t=l())!==-1;)t=n.lastIndexOf(\"<\",t),t!==-1&&a.push(d()),n=n.substring(t),t=0;else a=o(\"\");return e.filter!==void 0&&(a=Jo(a,e.filter)),a;function o(p){let b=[];for(;n[t]!==void 0;)if(n.charCodeAt(t)===pd){if(n.charCodeAt(t+1)===$o){let S=t+2;if(t=n.indexOf(Qo,t),n.substring(S,t).indexOf(p)===-1){let P=n.substring(0,t).split(`\n`);throw new Error(`Unexpected close tag\nLine: `+(P.length-1)+`\nColumn: `+(P[P.length-1].length+1)+`\nChar: `+n[t])}return t!==-1&&(t+=1),b}else if(n.charCodeAt(t+1)===gd){if(n.charCodeAt(t+2)===Ci){let S=t;for(;t!==-1&&!(n.charCodeAt(t)===vr&&n.charCodeAt(t-1)===Ci&&n.charCodeAt(t-2)===Ci);)t=n.indexOf(Qo,t+1);t===-1&&(t=n.length),r&&b.push(n.substring(S,t+1))}else if(n.charCodeAt(t+2)===Ai&&n.charCodeAt(t+8)===Ai&&n.substring(t+3,t+8).toLowerCase()===\"cdata\"){let S=n.indexOf(\"]]>\",t);S===-1?(b.push(n.substring(t+9)),t=n.length):(b.push(n.substring(t+9,S)),t=S+3);continue}else{let S=t+1;t+=2;let _=!1;for(;(n.charCodeAt(t)!==vr||_)&&n[t]!==void 0;)n.charCodeAt(t)===Ai?_=!0:_&&n.charCodeAt(t)===hd&&(_=!1),t++;b.push(n.substring(S,t))}t++;continue}let h=d();b.push(h),h.tagName[0]===\"?\"&&(b.push(...h.children),h.children=[])}else{let h=s();if(i)h.length>0&&b.push(h);else{let S=h.trim();S.length>0&&b.push(S)}t++}return b}function s(){let p=t;return t=n.indexOf(cd,t)-1,t===-2&&(t=n.length),n.slice(p,t+1)}function u(){let p=t;for(;Id.indexOf(n[t])===-1&&n[t]!==void 0;)t++;return n.slice(p,t)}function d(){let p=t;t++;let b=u(),h={},S=[];for(;n.charCodeAt(t)!==vr&&n[t]!==void 0;){let _=n.charCodeAt(t);if(_>64&&_<91||_>96&&_<123){let P=u(),T=n.charCodeAt(t);for(;!isNaN(T)&&T!==Xo&&T!==Zo&&!(T>64&&T<91||T>96&&T<123)&&T!==vr;)t++,T=n.charCodeAt(t);let R;T===Xo||T===Zo?R=f():(R=null,t--),h[P]=R===null?null:es(R)}t++}return n.charCodeAt(t-1)!==$o?(t++,S=o(b)):t++,{tagName:b,attributes:h,children:S,posStart:p,posEnd:t}}function f(){let p=n[t],b=t+1;return t=n.indexOf(p,b),n.slice(b,t)}function l(){let p=new RegExp(\"\\\\s\"+e.attrName+`\\\\s*=['\"]`+e.attrValue+`['\"]`).exec(n);return p!==null?p.index:-1}}function Jo(n,e,t=0,r=\"\"){let i=[];return n.forEach(function(a,o){if(typeof a==\"object\"&&(e(a,o,t,r)&&i.push(a),a.children.length>0)){let s=Jo(a.children,e,t+1,(Y(r)?r+\".\":\"\")+o+\".\"+a.tagName);i=i.concat(s)}}),i}function Cr(n){if(Array.isArray(n)){let e=\"\";return n.forEach(function(t){e+=\" \"+Cr(t),e=e.trim()}),e}else return typeof n==\"object\"?Cr(n.children):\" \"+es(n)}function es(n){return n.indexOf(\"&\")<0?n:n.replace(/</g,\"<\").replace(/>/g,\">\").replace(/"/g,'\"').replace(/'/g,\"'\").replace(/&#x([A-Fa-f0-9]+);/g,(e,t)=>String.fromCharCode(parseInt(t,16))).replace(/&/g,\"&\")}function xi(n,e,t){let{repeatCount:r}=n;if(r>=0)return r;let i;return v(e)?t!==void 0?i=t:i=Number.MAX_VALUE:i=e.start,Math.ceil((i-n.start)/n.duration)-1}function Le(n,e,t){let{start:r,duration:i}=n;if(i<=0)return r;let a=xi(n,e,t);return r+(a+1)*i}function Ce(n,e){var t;return n*e.timescale+((t=e.indexTimeOffset)!=null?t:0)}function et(n,e){var t;return(n-((t=e.indexTimeOffset)!=null?t:0))/e.timescale}function ts(n,e,t){return[n*t,(n+e)*t]}function bd(n,e){let t=0,r=n.length;for(;t>>1;n[i].start<=e?t=i+1:r=i}return t-1}function ns(n,e,t){let{timeline:r}=n,i=Ce(e,n);if(i<0)return null;let a=bd(r,i);if(a<0||a>=r.length-1)return null;let o=r[a];if(o.duration<=0)return null;let s=r[a+1];if(s===void 0)return null;let u=s.start,d=Le(o,s,t);return i>=d&&i=e?t:(new Array(e+1).join(\"0\")+t).slice(-e)}function Mi(n){return(e,t,r)=>{let i=Y(r)?parseInt(r,10):1;return yd(String(n),i)}}function Fe(n,e,t){return Sd(n,e,t)}function Sd(n,e,t){return n.indexOf(\"$\")===-1?n:n.replace(/\\$\\$/g,\"$\").replace(/\\$RepresentationID\\$/g,String(e)).replace(/\\$Bandwidth(%0(\\d+)d)?\\$/g,Mi(t===void 0?0:t))}function Ar(n,e){return function(r){return r.indexOf(\"$\")===-1?r:r.replace(/\\$\\$/g,\"$\").replace(/\\$Number(%0(\\d+)d)?\\$/g,(i,a,o)=>{if(e===void 0)throw new Error(\"Segment number not defined in a $Number$ scheme\");return Mi(e)(i,a,o)}).replace(/\\$Time(%0(\\d+)d)?\\$/g,(i,a,o)=>{if(n===void 0)throw new Error(\"Segment time not defined in a $Time$ scheme\");return Mi(n)(i,a,o)})}}function Td(n,e,t){let r=t-n;return r>0?Math.floor(r/e):0}function In(n,e,t,r,i,a){var _;let o=r.getEstimatedMaximumPosition((_=n.availabilityTimeOffset)!=null?_:0),s=Math.min(e+t,o!=null?o:1/0),u=Ce(e,n),d=Ce(s,n),{timeline:f,timescale:l,segmentUrlTemplate:m,startNumber:g,endNumber:p}=n,b=g!=null?g:1,h=[],S=f.length;for(let P=0;Pp)break;let k=m===null?null:Ar(A,w)(m),O=A-n.indexTimeOffset,z=R;O<0&&(z=R+O,O=0);let q={id:String(A),time:O/l,end:(O+z)/l,duration:z/l,isInit:!1,range:M,timescale:1,url:k,number:w,timestampOffset:-(n.indexTimeOffset/l),complete:N,privateInfos:{isEMSGWhitelisted:a}};h.push(q),B++,A=E+B*R}if(A>=d||(b+=x+1,p!==void 0&&b>p))return h}return h}function Ed(n,e){if(e.timescale!==n.timescale){let{timescale:t}=n;n.timeline.push({start:e.time/e.timescale*t,duration:e.duration/e.timescale*t,repeatCount:e.count===void 0?0:e.count,range:e.range})}else n.timeline.push({start:e.time,duration:e.duration,repeatCount:e.count===void 0?0:e.count,range:e.range});return!0}var At=class{constructor(e,t){var p,b,h,S;let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t,u=(p=e.timescale)!=null?p:1,f=((b=e.presentationTimeOffset)!=null?b:0)-r*u,l=((h=e.initialization)==null?void 0:h.media)===void 0?null:Fe(e.initialization.media,a,o),m=e.media===void 0?null:Fe(e.media,a,o),g;e.initialization!==void 0?g=e.initialization.range:e.indexRange!==void 0&&(g=[0,e.indexRange[0]-1]),this._index={indexRange:e.indexRange,indexTimeOffset:f,initialization:{url:l,range:g},segmentUrlTemplate:m,startNumber:e.startNumber,endNumber:e.endNumber,timeline:(S=e.timeline)!=null?S:[],timescale:u},this._manifestBoundsCalculator=t.manifestBoundsCalculator,this._scaledPeriodStart=Ce(r,this._index),this._scaledPeriodEnd=v(i)?void 0:Ce(i,this._index),this._isInitialized=this._index.timeline.length>0,this._isEMSGWhitelisted=s}getInitSegment(){return it(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return In(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){let e=this._index;return e.timeline.length===0?null:et(Math.max(this._scaledPeriodStart,e.timeline[0].start),e)}getLastAvailablePosition(){var i;let{timeline:e}=this._index;if(e.length===0)return null;let t=e[e.length-1],r=Math.min(Le(t,null,this._scaledPeriodEnd),(i=this._scaledPeriodEnd)!=null?i:1/0);return et(r,this._index)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return this._isInitialized}initialize(e){if(!this._isInitialized){for(let t=0;t({url:h.media===void 0?null:Fe(h.media,a,o),mediaRange:h.mediaRange}));this._index={list:m,timescale:d,duration:e.duration,indexTimeOffset:f,indexRange:e.indexRange,initialization:v(e.initialization)?void 0:{url:l,range:e.initialization.range}}}getInitSegment(){let e=it(this._index);return e.privateInfos===void 0&&(e.privateInfos={}),e.privateInfos.isEMSGWhitelisted=this._isEMSGWhitelisted,e}getSegments(e,t){let r=this._index,{duration:i,list:a,timescale:o}=r,s=i/o,u=e-this._periodStart,[d,f]=ts(u,t,o),l=Math.min(a.length-1,Math.floor(f/i)),m=[],g=Math.floor(d/i);for(;g<=l;){let p=a[g].mediaRange,b=a[g].url,h=g*s+this._periodStart,S={id:String(g),time:h,isInit:!1,range:p,duration:s,timescale:1,end:h+s,url:b,timestampOffset:-(r.indexTimeOffset/o),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};m.push(S),g++}return m}shouldRefresh(e,t){return!1}getFirstAvailablePosition(){return this._periodStart}getLastAvailablePosition(){var i;let e=this._index,{duration:t,list:r}=e;return Math.min(r.length*t/e.timescale+this._periodStart,(i=this._periodEnd)!=null?i:1/0)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return!0}initialize(){c.error(\"dash\",\"A `ListRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){c.warn(\"dash\",\"Cannot add predicted segments to a `ListRepresentationIndex`\")}getTargetSegmentDuration(){let{duration:e,timescale:t}=this._index;return{duration:e/t,isPrecize:!0}}_replace(e){this._index=e._index}_update(){c.error(\"dash\",\"A `ListRepresentationIndex` cannot be updated\")}};function Wt(n){return U.getCurrent().DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR*n}var xt=class{constructor(e,t){var S,_,P;let{availabilityTimeOffset:r,manifestBoundsCalculator:i,isDynamic:a,periodEnd:o,periodStart:s,representationId:u,representationBitrate:d,isEMSGWhitelisted:f}=t,l=(S=e.timescale)!=null?S:1;this._availabilityTimeOffset=r,this._manifestBoundsCalculator=i;let m=(_=e.presentationTimeOffset)!=null?_:0,g=s*l,p=m-g;if(e.duration===void 0)throw new Error(\"Invalid SegmentTemplate: no duration\");let b=((P=e.initialization)==null?void 0:P.media)===void 0?null:Fe(e.initialization.media,u,d),h=e.media===void 0?null:Fe(e.media,u,d);this._index={duration:e.duration,timescale:l,indexRange:e.indexRange,indexTimeOffset:p,initialization:v(e.initialization)?void 0:{url:b,range:e.initialization.range},url:h,presentationTimeOffset:m,startNumber:e.startNumber,endNumber:e.endNumber},this._isDynamic=a,this._periodStart=s,this._scaledRelativePeriodEnd=o===void 0?void 0:(o-s)*l,this._isEMSGWhitelisted=f}getInitSegment(){return it(this._index,this._isEMSGWhitelisted)}getSegments(e,t){let r=this._index,{duration:i,startNumber:a,endNumber:o,timescale:s,url:u}=r,d=this._periodStart*s,f=this._scaledRelativePeriodEnd,l=e*s-d,m=(e+t)*s-d,g=this._getFirstSegmentStart(),p=this._getLastSegmentStart();if(v(g)||v(p))return[];let b=Math.max(g,l),h=Math.min(p,m);if(h+i<=b)return[];let S=[],_=a!=null?a:1,P=Math.floor(b/i);for(let T=P*i;T<=h;T+=i){let R=P+_;if(o!==void 0&&R>o)return S;let E=!v(f)&&T+i>f?f-T:i,M=T+d,C=T+this._index.presentationTimeOffset,x=u===null?null:Ar(C,R)(u),N={id:String(R),number:R,time:M/s,end:(M+E)/s,duration:E/s,timescale:1,isInit:!1,scaledDuration:E/s,url:x,timestampOffset:-(r.indexTimeOffset/s),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};S.push(N),P++}return S}getFirstAvailablePosition(){let e=this._getFirstSegmentStart();return v(e)?e:e/this._index.timescale+this._periodStart}getLastAvailablePosition(){let e=this._getLastSegmentStart();if(v(e))return e;let t=this._estimateRelativeScaledEnd();return Math.min(e+this._index.duration,t!=null?t:1/0)/this._index.timescale+this._periodStart}getEnd(){if(!this._isDynamic)return this.getLastAvailablePosition();let e=this._estimateRelativeScaledEnd();if(e===void 0)return;let{timescale:t}=this._index;return(e+this._periodStart*t)/t}awaitSegmentBetween(e,t){if(ce(e<=t),!this._isDynamic)return!1;let{timescale:r}=this._index,i=Wt(r),a=this._periodStart*r,o=e*r-a,s=t*r-a,u=this._getLastSegmentStart();if(v(u)){let l=this._estimateRelativeScaledEnd();return l===void 0?s+i>=0:s+i>=0&&od-i:s>d-i&&othis._periodStart?(r-this._periodStart)*t:0;return Math.floor(i/e)*e}_getLastSegmentStart(){var a,o;let{duration:e,timescale:t,endNumber:r,startNumber:i=1}=this._index;if(this._isDynamic){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&this._scaledRelativePeriodEnd!==void 0&&this._scaledRelativePeriodEndf||u<2?d:(u-2)*e}}_estimateRelativeScaledEnd(){var e,t;if(this._index.endNumber!==void 0){let r=this._index.endNumber-((e=this._index.startNumber)!=null?e:1)+1;return Math.max(Math.min(r*this._index.duration,(t=this._scaledRelativePeriodEnd)!=null?t:1/0),0)}if(this._scaledRelativePeriodEnd!==void 0)return Math.max(this._scaledRelativePeriodEnd,0)}};function Oi(n,e){let t=0;for(;n.length>0;){let r=n[0];if(r.start>=e||r.repeatCount===-1)return t;if(r.repeatCount===0)n.shift(),t+=1;else{let i=n[1];if(i!==void 0&&i.start<=e)n.shift(),t+=1;else{if(r.duration<=0)return t;let a=r.start+r.duration,o=1;for(;ar.repeatCount)n.shift(),t=r.repeatCount+1;else{let s=r.repeatCount-o;return r.start=a,r.repeatCount=s,t+=o,t}}}}return t}function wi(n,e){if(n.length===0)return n.push(...e),!0;if(e.length===0)return!1;let t=n.length,r=e[0].start,i=n[t-1];if(Le(i,e[0])=0;f--){let l=n[f].start;if(l===r){let m=t-f;return n.splice(f,m,...e),!1}else if(lr)return c.warn(\"utils\",\"Manifest update removed all previous segments\"),n.splice(0,t,...e),!0;if(m.repeatCount===void 0||m.repeatCount<=0)return m.repeatCount<0&&(m.repeatCount=Math.floor((r-m.start)/m.duration)-1),n.splice(f+1,t-(f+1),...e),!1;if(m.start+m.duration*(m.repeatCount+1)<=r)return n.splice(f+1,t-(f+1),...e),!1;let p=(r-m.start)/m.duration-1;if(p%1===0&&m.duration===e[0].duration){let b=e[0].repeatCount<0?-1:e[0].repeatCount+p+1;return n.splice(f,t-f,...e),n[f].start=m.start,n[f].repeatCount=b,!1}return c.warn(\"utils\",\"Manifest update removed previous segments\"),n[f].repeatCount=Math.floor(p),n.splice(f+1,t-(f+1),...e),!1}}let o=n[n.length-1],s=e[e.length-1];if(o.repeatCount!==void 0&&o.repeatCount<0)return o.start>s.start?(c.warn(\"utils\",\"The new index is older than the previous one\"),!1):(c.warn(\"utils\",'The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0);let u=o.start+o.duration*(o.repeatCount+1),d=s.start+s.duration*(s.repeatCount+1);return u>=d?(c.warn(\"utils\",\"The new index is older than the previous one\"),!1):(c.warn(\"utils\",'The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0)}function bn(n,e,t){let r=n.start,i=n.duration,a=n.repeatCount;return r===void 0&&(e===null?r=0:v(e.duration)||(r=e.start+e.duration*(e.repeatCount+1))),(i===void 0||isNaN(i))&&t!==null&&t.start!==void 0&&!isNaN(t.start)&&r!==void 0&&!isNaN(r)&&(i=t.start-r),r!==void 0&&!isNaN(r)&&i!==void 0&&!isNaN(i)&&(a===void 0||!isNaN(a))?{start:r,duration:i,repeatCount:a===void 0?0:a}:(c.warn(\"dash\",'A \"S\" Element could not have been parsed.'),null)}function yn(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!v(r))switch(t){case\"t\":{let i=parseInt(r,10);isNaN(i)?c.warn(\"dash\",\"invalid t value for element\",{val:r}):e.start=i;break}case\"d\":{let i=parseInt(r,10);isNaN(i)?c.warn(\"dash\",\"invalid d value for element\",{val:r}):e.duration=i;break}case\"r\":{let i=parseInt(r,10);isNaN(i)?c.warn(\"dash\",\"invalid r value for element\",{val:r}):e.repeatCount=i;break}}}return e}function It(n){let e=[];for(let r=0;r0){let s=i-a.start;if(s%a.duration===0&&s/a.duration<=a.repeatCount)return{repeatNumberInPrevSegments:s/a.duration,prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInNewElements:0}}if(o++,o>=n.length)return null;if(a=n[o],a.start===i)return{prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(a.start>i)return null}}else{let a=0,o=e[0],s=i;for(;;){let u=o.attributes.d,d=v(u)?null:parseInt(u,10);if(d===null||Number.isNaN(d))return null;let f=o.attributes.r,l=v(f)?null:parseInt(f,10);if(l!==null){if(Number.isNaN(l)||l<0)return null;if(l>0){let p=t-s;if(p%d===0&&p/d<=l)return{repeatNumberInPrevSegments:0,repeatNumberInNewElements:p/d,prevSegmentsIdx:0,newElementsIdx:a}}s+=d*(l+1)}else s+=d;if(a++,a>=e.length)return null;o=e[a];let m=o.attributes.t,g=v(m)?null:parseInt(m,10);if(g!==null){if(Number.isNaN(g))return null;s=g}if(s===t)return{newElementsIdx:a,prevSegmentsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(s>i)return null}}}function Bi(n,e){var b;let t=Di(e,n);if(t===null)return c.warn(\"dash\",'Cannot perform \"based\" update. Common segment not found.'),It(n);let{prevSegmentsIdx:r,newElementsIdx:i,repeatNumberInPrevSegments:a,repeatNumberInNewElements:o}=t,u=e.length-r+i-1;if(u>=n.length)return c.info(\"dash\",'Cannot perform \"based\" update. New timeline too short'),It(n);let d=e.slice(r);if(a>0){let h=d[0];h.start+=h.duration*a,d[0].repeatCount-=a}if(o>0&&i!==0)return c.info(\"dash\",'Cannot perform \"based\" update. The new timeline has a different form.'),It(n);let f=d[d.length-1],l=yn(n[u]),m=((b=l.repeatCount)!=null?b:0)-o;if(l.duration!==f.duration||f.repeatCount>m)return c.info(\"dash\",'Cannot perform \"based\" update. The new timeline has a different form at the beginning.'),It(n);l.repeatCount!==void 0&&l.repeatCount>f.repeatCount&&(f.repeatCount=l.repeatCount);let g=[],p=[];for(let h=u+1;h=Math.min(o,(f=this._scaledPeriodEnd)!=null?f:1/0))return!1;let u=Ce(e,this._index);if(i.length>0&&s!==null&&!s.isLastOfTimeline){let l=i[i.length-1],g=Le(l,null,this._scaledPeriodEnd)+a;if(uthis._scaledPeriodStart?void 0:!1:u-athis._scaledPeriodStart:!1}isSegmentStillAvailable(e){return e.isInit?!0:(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),_d(e,this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd))}checkDiscontinuity(e){this._refreshTimeline();let t=this._index.timeline;return t===null&&(t=this._getTimeline(),this._index.timeline=t),ns({timeline:t,timescale:this._index.timescale,indexTimeOffset:this._index.indexTimeOffset},e,this._scaledPeriodEnd)}canBeOutOfSyncError(e){return this._isDynamic?e instanceof Ze&&e.isHttpError(404):!1}_replace(e){this._parseTimeline=e._parseTimeline,this._index=e._index,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._manifestBoundsCalculator=e._manifestBoundsCalculator,this._isLastPeriod=e._isLastPeriod}_update(e){this._index.timeline===null&&(this._index.timeline=this._getTimeline()),e._index.timeline===null&&(e._index.timeline=e._getTimeline()),wi(this._index.timeline,e._index.timeline)&&(this._index.startNumber=e._index.startNumber),this._index.availabilityTimeOffset=e._index.availabilityTimeOffset,this._index.availabilityTimeComplete=e._index.availabilityTimeComplete,this._index.endNumber=e._index.endNumber,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._isLastPeriod=e._isLastPeriod}isStillAwaitingFutureSegments(){var o;if(!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timeline:e}=this._index;if(e.length===0){if(this._scaledPeriodEnd!==void 0){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&Ce(s,this._index)>this._scaledPeriodEnd)return!1}return this._isLastPeriod}let t=Wt(this._index.timescale),r=kr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(r!==null&&!r.isLastOfTimeline){let s=Math.min(r.end,(o=this._scaledPeriodEnd)!=null?o:1/0);return!(this._scaledPeriodEnd!==void 0&&s+t>=this._scaledPeriodEnd)}if(!this._isLastPeriod)return!1;if(this._scaledPeriodEnd===void 0)return!0;let i=e[e.length-1];return Le(i,null,this._scaledPeriodEnd)+tt){if(r===t+1)return n.slice(0,i+1);{let o=n.slice(0,i),s=ee({},a),u=r-a.repeatCount-1;return s.repeatCount=Math.max(0,t-u),o.push(s),o}}}return n}function _d(n,e,t,r){let i=kr(e,t,r);if(i===null)return!1;for(let a=0;an.time)return!1;if(s===n.time)return o.range===void 0?n.range===void 0:!v(n.range)&&o.range[0]===n.range[0]&&o.range[1]===n.range[1];if(o.repeatCount>=0&&o.duration!==void 0){let d=(s-o.start)/o.duration-1;return d%1===0&&d<=i.newRepeatCount}}return!1}function kr(n,e,t){if(n.timeline.length<=0)return null;if(n.availabilityTimeOffset===1/0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:Le(a,null,t)}}let r=e.getEstimatedMaximumPosition(n.availabilityTimeOffset);if(r===void 0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:Le(a,null,t)}}for(let i=n.timeline.length-1;i>=n.timeline.length;i--){let a=n.timeline[i],o=a.start+a.duration;if(et(o,n)<=r){let s=Le(a,n.timeline[i+1],t);if(et(s,n)<=r)return{isLastOfTimeline:i===n.timeline.length-1,timelineIdx:i,newRepeatCount:a.repeatCount,end:o};{let d=Ce(r,n)-a.start,f=Math.floor(d/a.duration);return ce(f>=1),{isLastOfTimeline:!1,timelineIdx:i,newRepeatCount:f-1,end:a.start+f*a.duration}}}}return null}var xr=Sn;var Rd=/^(?:[a-z]+:)?\\/\\//i,Pd=/^(?:([^:/?#]+):)?(?:\\/\\/([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$/;function Li(n){let e=n.lastIndexOf(\"/\");if(e<0)return n.length;if(Rd.test(n)){let r=n.indexOf(\"/\");if(r>=0&&e===r+1)return n.length}let t=n.indexOf(\"?\");return t>=0&&t0&&d.length>0&&u[0]===d[0];)u.shift(),d.shift();for(;u.length>0;)u.shift(),d.unshift(\"..\");let f=d.join(\"/\");(f.endsWith(\"../\")||f.endsWith(\"./\"))&&(f=f.slice(0,f.length-1)),o=f===\"\"?\".\":f}let s=o;return o===\"\"&&r.query===t.query||Y(r.query)&&(s+=\"?\",s+=r.query),Y(r.fragment)&&(s+=\"#\",s+=r.fragment),s}function vd(n,e){let t=Mr(n),r=Mr(e);if(Y(r.scheme))return Ui(r);let i={scheme:t.scheme,authority:t.authority,path:\"\",query:r.query,fragment:r.fragment};return Y(r.authority)?(i.authority=r.authority,i.path=En(r.path),Ui(i)):(r.path===\"\"?(i.path=t.path,Y(r.query)||(i.query=t.query)):Oe(r.path,\"/\")?i.path=En(r.path):i.path=En(Ad(t,r.path)),Ui(i))}var Tn=new Map,Cd=200;function Mr(n){var r,i,a,o,s;if(Tn.has(n))return Tn.get(n);let e=n.match(Pd),t;return e===null?t={scheme:\"\",authority:\"\",path:\"\",query:\"\",fragment:\"\"}:t={scheme:(r=e[1])!=null?r:\"\",authority:(i=e[2])!=null?i:\"\",path:(a=e[3])!=null?a:\"\",query:(o=e[4])!=null?o:\"\",fragment:(s=e[5])!=null?s:\"\"},Tn.size>=Cd&&Tn.clear(),Tn.set(n,t),t}function Ui(n){let e=\"\";return Y(n.scheme)&&(e+=n.scheme+\":\"),Y(n.authority)&&(e+=\"//\"+n.authority),e+=n.path,Y(n.query)&&(e+=\"?\"+n.query),Y(n.fragment)&&(e+=\"#\"+n.fragment),e}function En(n){let e=n.split(/(?=\\/)/),t=[];for(let r=0;ro!==\"\"),t=e.length;if(t===0)return\"\";if(t===1)return(r=e[0])!=null?r:\"\";{let o=(i=e[0])!=null?i:\"\",s=(a=e[1])!=null?a:\"\",u=vd(o,s),d=e.slice(2);return _n(u,...d)}}var Rn=class{constructor(){this._refs=new Map,this._stored=[]}addReferences(e){for(let t of e)t.attributes.refId!==void 0&&this._refs.set(t.attributes.refId,t)}add(e,t){this._tryParsing(e,t,!1)||this._stored.push([e,t]),t.attributes.refId!==void 0&&(this._refs.set(t.attributes.refId,t),this._resolveStoredRefs(!1))}finalize(){this._resolveStoredRefs(!0)}_resolveStoredRefs(e){for(let t=this._stored.length-1;t>=0;t--){let[r,i]=this._stored[t];(this._tryParsing(r,i,e)||e)&&this._stored.splice(t,1)}return this._stored.length===0}_tryParsing(e,t,r){if(t.attributes.ref===void 0)return Fi(e,t),!0;let i=this._getReferenced(t.attributes.ref);return i===void 0?(r&&(c.warn(\"dash\",\"forcing the parsing of a referencing ContentProtection\"),Fi(e,t)),!1):(t.children.cencPssh.push(...i.children.cencPssh),t.attributes.keyId===void 0&&i.attributes.keyId!==void 0&&(t.attributes.keyId=i.attributes.keyId),t.attributes.schemeIdUri===void 0&&i.attributes.schemeIdUri!==void 0&&(t.attributes.schemeIdUri=i.attributes.schemeIdUri),t.attributes.value===void 0&&i.attributes.value!==void 0&&(t.attributes.value=i.attributes.value),Fi(e,t),!0)}_getReferenced(e){return this._refs.get(e)}};function Fi(n,e){let t;if(e.attributes.schemeIdUri!==void 0&&e.attributes.schemeIdUri.substring(0,9)===\"urn:uuid:\"&&(t=e.attributes.schemeIdUri.substring(9).replace(/-/g,\"\").toLowerCase()),e.attributes.keyId!==void 0&&e.attributes.keyId.length>0){let o=e.attributes.keyId;n.contentProtections===void 0?n.contentProtections={keyIds:[o],initData:[]}:n.contentProtections.keyIds===void 0?n.contentProtections.keyIds=[o]:n.contentProtections.keyIds.push(o)}if(t===void 0)return;let{cencPssh:r}=e.children,i=[];for(let o of r)i.push({systemId:t,data:o});if(i.length===0)return;if(n.contentProtections===void 0){n.contentProtections={keyIds:[],initData:[{type:\"cenc\",values:i}]};return}let a=K(n.contentProtections.initData,o=>o.type===\"cenc\");a===void 0?n.contentProtections.initData.push({type:\"cenc\",values:i}):a.values.push(...i)}function Or(n){let e=Date.parse(n)-L();if(isNaN(e)){c.warn(\"dash\",\"Invalid clock received\",{clock:n});return}return e}function zi(n){let e=n.children.utcTimings.filter(t=>(t.schemeIdUri===\"urn:mpeg:dash:utc:http-iso:2014\"||t.schemeIdUri===\"urn:mpeg:dash:utc:http-xsdate:2014\")&&t.value!==void 0);return e.length>0?e[0].value:void 0}function wr(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getLastAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.min(t,i))}return t===null?null:t}function Wi(n){for(let e=n.length-1;e>=0;e--){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=wr(r);if(s===void 0)return{safe:void 0,unsafe:void 0};a=s}if(i!==void 0){let s=wr(i);if(s===void 0)return{safe:void 0,unsafe:void 0};o=s}if(r!==void 0&&a===null||i!==void 0&&o===null)return c.info(\"utils\",\"found Period with no segment. \",\"Going to previous one to calculate last position\"),{safe:void 0,unsafe:void 0};if(o!==null)return a!==null?{safe:Math.min(a,o),unsafe:Math.max(a,o)}:{safe:o,unsafe:o};if(a!==null)return{safe:a,unsafe:a}}}return{safe:void 0,unsafe:void 0}}function Dr(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getFirstAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.max(t,i))}return t===null?null:t}function qi(n){for(let e=0;e<=n.length-1;e++){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=Dr(r);if(s===void 0)return;a=s}if(i!==void 0){let s=Dr(i);if(s===void 0)return;o=s}if(r!==void 0&&a===null||i!==void 0&&o===null){c.info(\"utils\",\"found Period with no segment. \",\"Going to next one to calculate first position\");return}if(o!==null)return a!==null?Math.max(a,o):o;if(a!==null)return a}}}function Vi(n){if(n.length===0)throw new Error(\"DASH Parser: no period available for a dynamic content\");let e=qi(n),t=Wi(n);return{minimumSafePosition:e,maximumSafePosition:t.safe,maximumUnsafePosition:t.unsafe}}var Pn=class{constructor(e){this._isDynamic=e.isDynamic,this._timeShiftBufferDepth=!e.isDynamic||e.timeShiftBufferDepth===void 0?null:e.timeShiftBufferDepth,this._serverTimestampOffset=e.serverTimestampOffset,this._availabilityStartTime=e.availabilityStartTime}setLastPosition(e,t){this._lastPosition=e,this._positionTime=t}lastPositionIsKnown(){return this._isDynamic?this._positionTime!==void 0&&this._lastPosition!==void 0:this._lastPosition!==void 0}getEstimatedMinimumSegmentTime(e){var i;if(!this._isDynamic||this._timeShiftBufferDepth===null)return 0;let t=(i=this.getEstimatedLiveEdge())!=null?i:this.getEstimatedMaximumPosition(0);return t===void 0?void 0:t-(this._timeShiftBufferDepth+e)}getEstimatedLiveEdge(){if(!(!this._isDynamic||this._serverTimestampOffset===void 0))return(L()+this._serverTimestampOffset)/1e3-this._availabilityStartTime}getEstimatedMaximumPosition(e){if(!this._isDynamic)return this._lastPosition;let t=this.getEstimatedLiveEdge();return t!==void 0&&e!==1/0?t+e:this._positionTime!==void 0&&this._lastPosition!==void 0?Math.max(this._lastPosition-this._positionTime+L()/1e3,0):this._lastPosition}};function Gi(n,e){return n.type!==\"dynamic\"?0:v(n.availabilityStartTime)?e!=null?e:0:n.availabilityStartTime}function Hi(n){if(n.length===0)return[];let e=[n[0]];for(let t=1;tr.start)&&(c.warn(\"dash\",\"Updating overlapping Periods.\",{lastStart:i==null?void 0:i.start,newStart:r.start}),i.duration=r.start-i.start,i.end=r.start,!(i.duration>0));){if(e.pop(),e.length===0)break;i=e[e.length-1]}e.push(r)}return e}function Ki(n,e){let t=[];return n.forEach((r,i)=>{let a;if(!v(r.attributes.start))a=r.attributes.start;else if(i===0)a=!e.isDynamic||v(e.availabilityStartTime)?0:e.availabilityStartTime;else{let d=t[t.length-1];if(!v(d)&&!v(d.periodEnd))a=d.periodEnd;else throw new Error(\"Missing start time when parsing periods.\")}let o,s=n[i+1];v(r.attributes.duration)?i===n.length-1?o=e.duration:v(s.attributes.start)||(o=s.attributes.start-a):o=r.attributes.duration;let u=v(o)?void 0:a+o;t.push({periodStart:a,periodDuration:o,periodEnd:u})}),t}function kd(n,e){for(let t of e){let{adaptation:r,trickModeAttachedAdaptationIds:i}=t;for(let a of i)for(let o of Ut){let s=n[o];if(s!==void 0)for(let u of s)u.id===a&&(u.trickModeTracks===void 0&&(u.trickModeTracks=[]),u.trickModeTracks.push(r))}}}var is=kd;var xd=[\"subtitle\",\"caption\"];function ji(n,e){var s,u,d,f;let t=(f=K((s=n.children.essentialProperties)!=null?s:[],l=>l.schemeIdUri===\"http://dashif.org/guidelines/thumbnail_tile\"||l.schemeIdUri===\"http://dashif.org/thumbnail_tile\"))!=null?f:K((d=(u=e!=null?e:n.children.representations[0])==null?void 0:u.children.essentialProperties)!=null?d:[],l=>l.schemeIdUri===\"http://dashif.org/guidelines/thumbnail_tile\"||l.schemeIdUri===\"http://dashif.org/thumbnail_tile\");if(t===void 0)return null;let r=/(\\d+)x(\\d+)/;if(t===void 0||t.value===void 0||!r.test(t.value))return c.warn(\"dash\",\"Invalid thumbnails Representation, no tile-related information\"),null;let i=t.value.match(r),a=parseInt(i[1],10),o=parseInt(i[2],10);return{horizontalTiles:a,verticalTiles:o}}function Yi(n,e){if(n.attributes.contentType===\"image\")return ji(n)!==null?\"thumbnails\":void 0;let t=Y(n.attributes.mimeType)?n.attributes.mimeType:null,r=Y(n.attributes.codecs)?n.attributes.codecs:null,i=v(n.children.roles)?null:n.children.roles;function a(s,u){let d=s.split(\"/\")[0];if(Ie(Ut,d))return d;if(s===\"application/ttml+xml\")return\"text\";if(s===\"application/mp4\")return u!==null&&K(u,f=>f.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&Ie(xd,f.value))!==void 0?\"text\":void 0}function o(s){switch(s.substring(0,3)){case\"avc\":case\"hev\":case\"hvc\":case\"vp8\":case\"vp9\":case\"av1\":return\"video\";case\"vtt\":return\"text\"}switch(s.substring(0,4)){case\"mp4a\":return\"audio\";case\"wvtt\":case\"stpp\":return\"text\"}}if(t!==null){let s=a(t,i);if(s!==void 0)return s}if(r!==null){let s=o(r);if(s!==void 0)return s}for(let s=0;sd===void 0?!1:d.some(({schemeIdUri:_})=>_===S.schemeIdUri),isLastPeriod:f,manifestBoundsCalculator:r,isDynamic:i,periodEnd:a,periodStart:o,receivedTime:s,representationBitrate:n.attributes.bitrate,representationId:n.attributes.id},g;if(n.children.segmentBase!==void 0){let{segmentBase:S}=n.children;g=new At(S,m)}else if(n.children.segmentList!==void 0){let{segmentList:S}=n.children;g=new kt(S,m)}else if(n.children.segmentTemplate!==void 0||e.parentSegmentTemplates.length>0){let S=e.parentSegmentTemplates.slice(),_=n.children.segmentTemplate;_!==void 0&&S.push(_);let P=H({},...S);(P.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(m.availabilityTimeOffset=((p=P.availabilityTimeOffset)!=null?p:0)+((b=e.availabilityTimeOffset)!=null?b:0)),(P.availabilityTimeComplete!==void 0||e.availabilityTimeComplete!==void 0)&&(m.availabilityTimeComplete=(h=P.availabilityTimeComplete)!=null?h:e.availabilityTimeComplete),g=xr.isTimelineIndexArgument(P)?new xr(P,m):new xt(P,m)}else{let S=e.adaptation.children;if(S.segmentBase!==void 0){let{segmentBase:_}=S;g=new At(_,m)}else if(S.segmentList!==void 0){let{segmentList:_}=S;g=new kt(_,m)}else g=new xt({duration:Number.MAX_VALUE,timescale:1,startNumber:0,media:\"\"},m)}return g}function at(n,e){var i;if(e.length===0)return n;let t=e.map(a=>({url:a.value}));if(n.length===0)return t;let r=[];for(let a=0;as.schemeIdUri===\"urn:mpeg:mpegB:cicp:TransferCharacteristics\");if(o!==void 0)switch(o.value){case\"15\":return;case\"16\":return{eotf:\"pq\"};case\"18\":return{eotf:\"hlg\"}}if(i!==void 0&&/^vp(08|09|10)/.test(i))return os(i)}function $i(n,e,t){var i,a,o,s,u,d,f;let r=[];for(let l of n){let m=l.attributes.id!==void 0?l.attributes.id:String(l.attributes.bitrate)+(l.attributes.height!==void 0?`-${l.attributes.height}`:\"\")+(l.attributes.width!==void 0?`-${l.attributes.width}`:\"\")+(l.attributes.mimeType!==void 0?`-${l.attributes.mimeType}`:\"\")+(l.attributes.codecs!==void 0?`-${l.attributes.codecs}`:\"\");for(;r.some(x=>x.id===m);)m+=\"-dup\";let g=(a=(i=t.unsafelyBaseOnPreviousAdaptation)==null?void 0:i.getRepresentation(m))!=null?a:null,p=Od(l,e),b=(o=l.attributes.availabilityTimeComplete)!=null?o:t.availabilityTimeComplete,h;(l.attributes.availabilityTimeOffset!==void 0||t.availabilityTimeOffset!==void 0)&&(h=((s=l.attributes.availabilityTimeOffset)!=null?s:0)+((u=t.availabilityTimeOffset)!=null?u:0));let S=H({},t,{availabilityTimeOffset:h,availabilityTimeComplete:b,unsafelyBaseOnPreviousRepresentation:g,adaptation:e,inbandEventStreams:p}),_=Qi(l,S),P;l.attributes.bitrate===void 0?(c.warn(\"dash\",\"No usable bitrate found in the Representation.\"),P=0):P=l.attributes.bitrate;let T=at(t.baseURLs,l.children.baseURLs),R=T.length===0?[{baseUrl:\"\",id:void 0}]:T.map(x=>({baseUrl:x.url,id:x.serviceLocation})),E={bitrate:P,cdnMetadata:R,index:_,id:m};l.children.supplementalProperties!==void 0&&K(l.children.supplementalProperties,x=>x.schemeIdUri===\"tag:dolby.com,2018:dash:EC3_ExtensionType:2018\"&&x.value===\"JOC\")!==void 0&&(E.isSpatialAudio=!0);let M;l.attributes.codecs!==void 0?M=l.attributes.codecs:e.attributes.codecs!==void 0&&(M=e.attributes.codecs),M!==void 0&&(M=M===\"mp4a.40.02\"?\"mp4a.40.2\":M,E.codecs=M);let C;l.attributes.supplementalCodecs!==void 0?C=l.attributes.supplementalCodecs:e.attributes.supplementalCodecs!==void 0&&(C=e.attributes.supplementalCodecs),C!==void 0&&(E.supplementalCodecs=as(C)),l.attributes.frameRate!==void 0?E.frameRate=l.attributes.frameRate:e.attributes.frameRate!==void 0&&(E.frameRate=e.attributes.frameRate),l.attributes.height!==void 0?E.height=l.attributes.height:e.attributes.height!==void 0&&(E.height=e.attributes.height),l.attributes.mimeType!==void 0?E.mimeType=l.attributes.mimeType:e.attributes.mimeType!==void 0&&(E.mimeType=e.attributes.mimeType),l.attributes.width!==void 0?E.width=l.attributes.width:e.attributes.width!==void 0&&(E.width=e.attributes.width);{let x=[...(d=e.children.contentProtections)!=null?d:[],...(f=l.children.contentProtections)!=null?f:[]];for(let N of x)t.contentProtectionParser.add(E,N)}E.hdrInfo=wd({adaptationProfiles:e.attributes.profiles,supplementalProperties:e.children.supplementalProperties,essentialProperties:e.children.essentialProperties,manifestProfiles:t.manifestProfiles,codecs:M}),r.push(E)}return r}function Dd(n){if(n===void 0)return!1;let e=n.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&n.value===\"1\",t=n.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.value===\"description\";return e||t}function Bd(n,e){return!!(n!==void 0&&n.some(r=>r.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&r.value===\"2\")||e!==void 0&&e.some(r=>r.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&r.value===\"caption\"))}function Nd(n){return n===void 0?!1:n.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.value===\"sign\"}function Ud(n,e){if(Y(n.attributes.id))return n.attributes.id;let{isClosedCaption:t,isForcedSubtitle:r,isAudioDescription:i,isSignInterpreted:a,isTrickModeTrack:o,type:s}=e,u=s;return Y(n.attributes.language)&&(u+=`-${n.attributes.language}`),t===!0&&(u+=\"-cc\"),r===!0&&(u+=\"-cc\"),i===!0&&(u+=\"-ad\"),a===!0&&(u+=\"-si\"),o&&(u+=\"-trickMode\"),Y(n.attributes.contentType)&&(u+=`-${n.attributes.contentType}`),Y(n.attributes.codecs)&&(u+=`-${n.attributes.codecs}`),Y(n.attributes.mimeType)&&(u+=`-${n.attributes.mimeType}`),n.attributes.frameRate!==void 0&&(u+=`-${String(n.attributes.frameRate)}`),u}function Ld(n){if(!v(n.children.supplementalProperties)){let{supplementalProperties:e}=n.children;for(let t of e)if(t.schemeIdUri===\"urn:mpeg:dash:adaptation-set-switching:2016\"&&!v(t.value))return t.value.split(\",\").map(r=>r.trim()).filter(r=>Y(r))}return[]}function Xi(n,e){var u,d,f,l,m,g,p;let t={video:[],audio:[],text:[]},r=[],i=[],a={},o=[];for(let b=0;boe.value===\"main\")&&P.some(oe=>oe.schemeIdUri===\"urn:mpeg:dash:role:2011\"),E=h.children.representations,M=(u=h.attributes.availabilityTimeComplete)!=null?u:e.availabilityTimeComplete,C;(h.attributes.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(C=((d=h.attributes.availabilityTimeOffset)!=null?d:0)+((f=e.availabilityTimeOffset)!=null?f:0));let x=Yi(h,E);if(x===void 0)continue;let N=(l=h.attributes.selectionPriority)!=null?l:1,B=h.attributes.id,A=Ld(h),w=[];e.segmentTemplate!==void 0&&w.push(e.segmentTemplate),h.children.segmentTemplate!==void 0&&w.push(h.children.segmentTemplate);let k={availabilityTimeComplete:M,availabilityTimeOffset:C,baseURLs:at(e.baseURLs,S.baseURLs),contentProtectionParser:e.contentProtectionParser,manifestBoundsCalculator:e.manifestBoundsCalculator,end:e.end,isDynamic:e.isDynamic,isLastPeriod:e.isLastPeriod,manifestProfiles:e.manifestProfiles,parentSegmentTemplates:w,receivedTime:e.receivedTime,start:e.start,unsafelyBaseOnPreviousAdaptation:null},O=Array.isArray(_)?K(_,oe=>oe.schemeIdUri===\"http://dashif.org/guidelines/trickmode\"):void 0,z=(m=O==null?void 0:O.value)==null?void 0:m.split(\" \"),q=z!==void 0,{accessibilities:X}=S,Z;P!==void 0&&P.some(oe=>oe.value===\"dub\")&&(Z=!0);let V;x!==\"text\"?V=!1:V=Bd(X,P);let G;x===\"text\"&&P!==void 0&&P.some(oe=>oe.value===\"forced-subtitle\"||oe.value===\"forced_subtitle\")&&(G=!0);let j;x!==\"audio\"?j=!1:X!==void 0&&(j=X.some(Dd));let me;x!==\"video\"?me=!1:X!==void 0&&(me=X.some(Nd));let le=Ud(h,{isAudioDescription:j,isForcedSubtitle:G,isClosedCaption:V,isSignInterpreted:me,isTrickModeTrack:q,type:x});for(;Ie(o,le);)le+=\"-dup\";let pe=le;o.push(le),k.unsafelyBaseOnPreviousAdaptation=(p=(g=e.unsafelyBaseOnPreviousPeriod)==null?void 0:g.getAdaptation(le))!=null?p:null;let $e=$i(E,h,k);if(x===\"thumbnails\"){let oe=Fd(h,$e);oe!==null&&r.push(...oe);continue}let ne={id:le,representations:$e,type:x,isTrickModeTrack:q};if(v(h.attributes.language)||(ne.language=h.attributes.language),v(V)||(ne.closedCaption=V),v(j)||(ne.audioDescription=j),Z===!0&&(ne.isDub=!0),G!==void 0&&(ne.forcedSubtitles=G),me===!0&&(ne.isSignInterpreted=!0),T!==void 0&&(ne.label=T),z!==void 0)i.push({adaptation:ne,trickModeAttachedAdaptationIds:z});else{let oe=-1;for(let Xt of A){let Zt=a[Xt];if(Zt!==void 0&&Zt.newID!==pe&&Ie(Zt.adaptationSetSwitchingIDs,B)){oe=re(t[x],Jt=>Jt[0].id===Xt);let Re=t[x][oe];if(Re!==void 0&&Re[0].audioDescription===ne.audioDescription&&Re[0].closedCaption===ne.closedCaption&&Re[0].language===ne.language){c.info(\"dash\",'merging \"switchable\" AdaptationSets',{originalID:B,id:Xt}),Re[0].representations.push(...ne.representations),Re[1]={priority:Math.max(N,Re[1].priority),isMainAdaptation:R||Re[1].isMainAdaptation,indexInMpd:Math.min(b,Re[1].indexInMpd)};break}}}oe<0&&t[x].push([ne,{priority:N,isMainAdaptation:R,indexInMpd:b}])}!v(B)&&v(a[B])&&(a[B]={newID:pe,adaptationSetSwitchingIDs:A})}let s=Ut.reduce((b,h)=>{let S=t[h];return S.length>0&&(S.sort(ss),b[h]=S.map(([_])=>_)),b},{});return t.video.sort(ss),is(s,i),{adaptations:s,thumbnailTracks:r}}function Fd(n,e){var r,i;let t=[];for(let a=0;a=0;l--){let m=l===n.length-1,g=n[l],p=e.xlinkInfos.get(g),b=at(e.baseURLs,g.children.baseURLs),{periodStart:h,periodDuration:S,periodEnd:_}=r[l],P;for(v(g.attributes.id)?(P=\"gen-dash-period-\"+zd(),c.warn(\"dash\",\"No usable id found in the Period. Generating one.\",{periodId:P})):P=g.attributes.id;t.some(q=>q.id===P);)P+=\"-dup\";let T=p!==void 0?p.receivedTime:e.receivedTime,R=(s=(o=e.unsafelyBaseOnPreviousManifest)==null?void 0:o.getPeriod(P))!=null?s:null,E=g.attributes.availabilityTimeComplete,M=g.attributes.availabilityTimeOffset,{manifestProfiles:C,contentProtectionParser:x}=e,{segmentTemplate:N}=g.children;x.addReferences((u=g.children.contentProtections)!=null?u:[]);let B={availabilityTimeComplete:E,availabilityTimeOffset:M,baseURLs:b,contentProtectionParser:x,manifestBoundsCalculator:a,end:_,isDynamic:i,isLastPeriod:m,manifestProfiles:C,receivedTime:T,segmentTemplate:N,start:h,unsafelyBaseOnPreviousPeriod:R},{adaptations:A,thumbnailTracks:w}=Xi(g.children.adaptations,B),k=((d=e.xmlNamespaces)!=null?d:[]).concat((f=g.attributes.namespaces)!=null?f:[]),O=qd(g.children.eventStreams,h,k),z={id:P,start:h,end:_,duration:S,thumbnailTracks:w,adaptations:A,streamEvents:O};if(t.unshift(z),!a.lastPositionIsKnown()){let q=Wd(A);if(!i)typeof q==\"number\"&&a.setLastPosition(q);else if(typeof q==\"number\"){let X=L()/1e3;a.setLastPosition(q,X)}else{let X=us(e,h);if(X!==void 0){let[Z,V]=X;a.setLastPosition(Z,V)}}}}if(e.isDynamic&&!a.lastPositionIsKnown()){let l=us(e,0);if(l!==void 0){let[m,g]=l;a.setLastPosition(m,g)}}return Hi(t)}function us(n,e){if(v(n.clockOffset)){let t=Date.now()/1e3;if(t>=e){c.warn(\"dash\",\"no clock synchronization mechanism found. Using the system clock instead.\");let r=t-n.availabilityStartTime,i=L()/1e3;return[r,i]}}else{let t=n.clockOffset/1e3-n.availabilityStartTime,r=L()/1e3,i=r+t;if(i>=e)return[i,r]}}function Wd(n){let e=null,t=!0,r=Ir(n).filter(a=>!v(a)),i=Pi(r,a=>a);for(let a of i){let o=a.representations;for(let s of o){let u=s.index.getLastAvailablePosition();u!==null&&(t=!1,typeof u==\"number\"&&(e=v(e)?u:Math.max(e,u)))}}if(v(e)){if(t)return null}else return e}function qd(n,e,t){var i,a;let r=[];for(let o of n){let{schemeIdUri:s=\"\",timescale:u=1}=o.attributes,d=t.concat((i=o.attributes.namespaces)!=null?i:[]);for(let f of o.children.events)if(f.eventStreamData!==void 0){let l=((a=f.presentationTime)!=null?a:0)/u+e,m=f.duration===void 0?void 0:l+f.duration/u,g,p;try{p={namespaces:d,data:typeof f.eventStreamData==\"string\"?f.eventStreamData:Ke(new Uint8Array(f.eventStreamData))}}catch(b){c.error(\"dash\",\"Error while parsing event-stream:\",b instanceof Error?b.message:\"Unknown error\")}r.push({start:l,end:m,id:f.id,data:{type:\"dash-event-stream\",value:{schemeIdUri:s,timescale:u,element:g,xmlData:p}}})}}return r}function qt(n,e,t,r,i=new WeakMap){let{children:a,attributes:o}=n;if(v(e.externalClockOffset)){let u=o.type===\"dynamic\",d=K(a.utcTimings,m=>m.schemeIdUri===\"urn:mpeg:dash:utc:direct:2014\"&&!v(m.value)),f=!v(d)&&!v(d.value)?Or(d.value):void 0,l=!v(f)&&!isNaN(f)?f:void 0;if(!v(l)&&r!==!0)e.externalClockOffset=l;else if(u&&r!==!0){let m=zi(n);if(!v(m)&&m.length>0)return{type:\"needs-clock\",value:{url:m,continue:function(p){return p.success?(e.externalClockOffset=Or(p.data),qt(n,e,t,!0)):(t.push(p.error),c.warn(\"dash\",\"Error on fetching the clock ressource\",p.error),qt(n,e,t,!0))}}}}}let s=[];for(let u=0;uu),continue:function(d){if(d.length!==s.length)throw new Error(\"DASH parser: wrong number of loaded ressources.\");for(let f=d.length-1;f>=0;f--){let l=s[f].index,{parsed:m,warnings:g,receivedTime:p,sendingTime:b,url:h}=d[f];g.length>0&&t.push(...g);for(let S of m)i.set(S,{receivedTime:p,sendingTime:b,url:h});a.periods.splice(l,1,...m)}return qt(n,e,t,r,i)}}}}function Vd(n,e,t,r){var k,O,z,q,X;let{children:i,attributes:a}=n,o=a.type===\"dynamic\",s=e.url!==void 0?[{url:e.url.substring(0,Li(e.url))}]:[],u=at(s,i.baseURLs),d=Gi(a,e.referenceDateTime),f=a.timeShiftBufferDepth,l=a.maxSegmentDuration,{externalClockOffset:m,unsafelyBaseOnPreviousManifest:g}=e,{externalClockOffset:p}=e,b=new Pn({availabilityStartTime:d,isDynamic:o,timeShiftBufferDepth:f,serverTimestampOffset:p}),h=new Rn;h.addReferences((k=i.contentProtections)!=null?k:[]);let S={availabilityStartTime:d,baseURLs:u,clockOffset:m,contentProtectionParser:h,duration:a.duration,isDynamic:o,manifestBoundsCalculator:b,manifestProfiles:n.attributes.profiles,receivedTime:e.manifestReceivedTime,unsafelyBaseOnPreviousManifest:g,xlinkInfos:r,xmlNamespaces:n.attributes.namespaces},_=Zi(i.periods,S);h.finalize();let P=a.duration,T,R,E=null,M;a.minimumUpdatePeriod!==void 0&&a.minimumUpdatePeriod>=0&&(T=a.minimumUpdatePeriod===0?U.getCurrent().DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:a.minimumUpdatePeriod);let{minimumSafePosition:C,maximumSafePosition:x,maximumUnsafePosition:N}=Vi(_),B=L();if(o){let Z;x!==void 0?Z=x:p===void 0?(c.warn(\"dash\",\"use system clock to define maximum position\"),Z=Date.now()/1e3-d):Z=(L()+p)/1e3-d;let V=b.getEstimatedLiveEdge();V===void 0&&(N!==void 0?V=N:V=Z),M={isLinear:!0,maximumSafePosition:Z,livePosition:V,time:B},R=C,E=f!=null?f:null,E!==null&&(E+=l!=null?l:0),E!==null&&R!==void 0&&V-R>E&&(E=V-R)}else{R=C,R===void 0&&(R=(z=(O=_[0])==null?void 0:O.start)!=null?z:0);let Z=P!=null?P:1/0;if(_[_.length-1]!==void 0){let V=_[_.length-1],G=(q=V.end)!=null?q:V.duration!==void 0?V.start+V.duration:void 0;G!==void 0&&G0){let[o,s]=ds(a,\"cenc:pssh\");s!==null&&(c.warn(\"dash\",\"Content protection parsing failure\",s.message),e.push(s)),o!==null&&t.push(o)}}}return[{cencPssh:t},e]}function jd(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!v(r))switch(t){case\"schemeIdUri\":e.schemeIdUri=r;break;case\"value\":e.value=r;break;case\"cenc:default_KID\":e.keyId=dn(r.replace(/-/g,\"\"));break;case\"ref\":e.ref=r;break;case\"refId\":e.refId=r;break}}return e}function st(n){let[e,t]=Kd(n.children),r=jd(n);return[{children:e,attributes:r},t]}function ea(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!v(r))switch(t){case\"id\":e.id=r;break;case\"lang\":e.language=r;break;case\"contentType\":e.contentType=r;break;case\"par\":e.par=r;break}}return e}function ta(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"range\":r(a,{asKey:\"range\",parser:Mt,dashName:\"range\"});break;case\"sourceURL\":e.media=a;break}}return[e,t]}function ut(n){let e={},t=[],r=Ee(e,t),i=n.children;for(let a=0;a=0;t--){let r=e[t];(typeof r==\"string\"||r.tagName!==\"S\")&&e.splice(t,1)}return e}}function Ot(n){let[e,t]=ut(n),r=t,i;for(let s=0;s0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=vn(a);r=r.concat(s),e.segmentList=o;break}case\"SegmentTemplate\":{let[o,s]=Ot(a);r=r.concat(s),e.segmentTemplate=o;break}case\"ContentProtection\":{let[o,s]=st(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}case\"EssentialProperty\":v(e.essentialProperties)?e.essentialProperties=[Te(a)]:e.essentialProperties.push(Te(a));break;case\"SupplementalProperty\":v(e.supplementalProperties)?e.supplementalProperties=[Te(a)]:e.supplementalProperties.push(Te(a));break}}return t.length>0&&(e.contentProtections=t),[e,r]}function Qd(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"bandwidth\":r(a,{asKey:\"bitrate\",parser:ae,dashName:\"bandwidth\"});break;case\"codecs\":e.codecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:Ae,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Vt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ae,dashName:\"height\"});break;case\"id\":e.id=a;break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:we,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:we,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"qualityRanking\":r(a,{asKey:\"qualityRanking\",parser:ae,dashName:\"qualityRanking\"});break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:ae,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:we,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:Ae,dashName:\"availabilityTimeComplete\"});break}}return e.bitrate===void 0&&t.push(new Be(\"No bitrate found on a Representation\")),[e,t]}function ls(n){let[e,t]=Yd(n.children),[r,i]=Qd(n),a=t.concat(i);return[{children:e,attributes:r},a]}function $d(n){let e={baseURLs:[],representations:[]},t=[],r=[];for(let i=0;i0&&(r=r.concat(s));break}case\"ContentComponent\":e.contentComponent=ea(a);break;case\"EssentialProperty\":v(e.essentialProperties)?e.essentialProperties=[Te(a)]:e.essentialProperties.push(Te(a));break;case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(Te(a));break;case\"Label\":{let o=bt(a.children);o!=null&&(e.label=o);break}case\"Representation\":{let[o,s]=ls(a);e.representations.push(o),s.length>0&&(r=r.concat(s));break}case\"Role\":v(e.roles)?e.roles=[Te(a)]:e.roles.push(Te(a));break;case\"SupplementalProperty\":v(e.supplementalProperties)?e.supplementalProperties=[Te(a)]:e.supplementalProperties.push(Te(a));break;case\"SegmentBase\":{let[o,s]=ut(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=vn(a);e.segmentList=o,s.length>0&&(r=r.concat(s));break}case\"SegmentTemplate\":{let[o,s]=Ot(a);e.segmentTemplate=o,s.length>0&&(r=r.concat(s));break}case\"ContentProtection\":{let[o,s]=st(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}}}return t.length>0&&(e.contentProtections=t),[e,r]}function Xd(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"id\":e.id=a;break;case\"group\":r(a,{asKey:\"group\",parser:ae,dashName:\"group\"});break;case\"lang\":e.language=a;break;case\"contentType\":e.contentType=a;break;case\"par\":e.par=a;break;case\"minBandwidth\":r(a,{asKey:\"minBitrate\",parser:ae,dashName:\"minBandwidth\"});break;case\"maxBandwidth\":r(a,{asKey:\"maxBitrate\",parser:ae,dashName:\"maxBandwidth\"});break;case\"minWidth\":r(a,{asKey:\"minWidth\",parser:ae,dashName:\"minWidth\"});break;case\"maxWidth\":r(a,{asKey:\"maxWidth\",parser:ae,dashName:\"maxWidth\"});break;case\"minHeight\":r(a,{asKey:\"minHeight\",parser:ae,dashName:\"minHeight\"});break;case\"maxHeight\":r(a,{asKey:\"maxHeight\",parser:ae,dashName:\"maxHeight\"});break;case\"minFrameRate\":r(a,{asKey:\"minFrameRate\",parser:Vt,dashName:\"minFrameRate\"});break;case\"maxFrameRate\":r(a,{asKey:\"maxFrameRate\",parser:Vt,dashName:\"maxFrameRate\"});break;case\"selectionPriority\":r(a,{asKey:\"selectionPriority\",parser:ae,dashName:\"selectionPriority\"});break;case\"segmentAlignment\":r(a,{asKey:\"segmentAlignment\",parser:Ji,dashName:\"segmentAlignment\"});break;case\"subsegmentAlignment\":r(a,{asKey:\"subsegmentAlignment\",parser:Ji,dashName:\"subsegmentAlignment\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:Ae,dashName:\"bitstreamSwitching\"});break;case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"codecs\":e.codecs=a;break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:Ae,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Vt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ae,dashName:\"height\"});break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:we,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:we,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:ae,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:we,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:Ae,dashName:\"availabilityTimeComplete\"});break}}return[e,t]}function fs(n){let e=n.children,[t,r]=$d(e),[i,a]=Xd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Zd(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"schemeIdUri\":e.schemeIdUri=a;break;case\"value\":e.value=a;break;case\"timescale\":r(a,{asKey:\"timescale\",parser:ae,dashName:\"timescale\"});break;default:Oe(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function ms(n,e){let[t,r]=Zd(n),i=[];for(let a of n.children)if(typeof a!=\"string\"&&a.tagName===\"Event\"){let o={};if(v(a.attributes.id)||(o.id=a.attributes.id),!v(a.attributes.presentationTime)){let[s,u]=ae(a.attributes.presentationTime,\"presentationTime\");u!==null&&r.push(u),s!==null&&(o.presentationTime=s)}if(!v(a.attributes.duration)){let[s,u]=ae(a.attributes.duration,\"duration\");u!==null&&r.push(u),s!==null&&(o.duration=s)}if(a.posStart0&&(o=o.concat(l));break}case\"ContentProtection\":{let[f,l]=st(d);l.length>0&&(o=o.concat(l)),f!==void 0&&a.push(f);break}}}return[{baseURLs:t,adaptations:r,eventStreams:s,segmentTemplate:i,contentProtections:a},o]}function el(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"id\":e.id=a;break;case\"start\":r(a,{asKey:\"start\",parser:je,dashName:\"start\"});break;case\"duration\":r(a,{asKey:\"duration\",parser:je,dashName:\"duration\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:Ae,dashName:\"bitstreamSwitching\"});break;case\"xlink:href\":e.xlinkHref=a;break;case\"xlink:actuate\":e.xlinkActuate=a;break;default:Oe(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function Ur(n,e){let[t,r]=Jd(n.children,e),[i,a]=el(n),o=r.concat(a);return[{children:t,attributes:i},o]}function tl(n,e){let t=[],r=[],i=[],a=[],o=[],s=[];for(let u=0;u0&&(s=s.concat(l)),f!==void 0&&o.push(f);break}}}return[{baseURLs:t,locations:r,periods:i,utcTimings:a,contentProtections:o},s]}function nl(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"id\":e.id=a;break;case\"profiles\":e.profiles=a;break;case\"type\":e.type=a;break;case\"availabilityStartTime\":r(a,{asKey:\"availabilityStartTime\",parser:Nr,dashName:\"availabilityStartTime\"});break;case\"availabilityEndTime\":r(a,{asKey:\"availabilityEndTime\",parser:Nr,dashName:\"availabilityEndTime\"});break;case\"publishTime\":r(a,{asKey:\"publishTime\",parser:Nr,dashName:\"publishTime\"});break;case\"mediaPresentationDuration\":r(a,{asKey:\"duration\",parser:je,dashName:\"mediaPresentationDuration\"});break;case\"minimumUpdatePeriod\":r(a,{asKey:\"minimumUpdatePeriod\",parser:je,dashName:\"minimumUpdatePeriod\"});break;case\"minBufferTime\":r(a,{asKey:\"minBufferTime\",parser:je,dashName:\"minBufferTime\"});break;case\"timeShiftBufferDepth\":r(a,{asKey:\"timeShiftBufferDepth\",parser:je,dashName:\"timeShiftBufferDepth\"});break;case\"suggestedPresentationDelay\":r(a,{asKey:\"suggestedPresentationDelay\",parser:je,dashName:\"suggestedPresentationDelay\"});break;case\"maxSegmentDuration\":r(a,{asKey:\"maxSegmentDuration\",parser:je,dashName:\"maxSegmentDuration\"});break;case\"maxSubsegmentDuration\":r(a,{asKey:\"maxSubsegmentDuration\",parser:je,dashName:\"maxSubsegmentDuration\"});break;default:Oe(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function cs(n,e){let[t,r]=tl(n.children,e),[i,a]=nl(n),o=r.concat(a);return[{children:t,attributes:i},o]}function ia(n,e){let t=ki(n),r=t[t.length-1];if(r===void 0||typeof r==\"string\"||r.tagName!==\"MPD\")throw new Error(\"DASH Parser: document root should be MPD\");let[i,a]=cs(r,n),o=Br(i,e,a);return s(o);function s(u){if(u.type===\"done\")return u;if(u.type===\"needs-clock\")return{type:\"needs-resources\",value:{urls:[u.value.url],format:\"string\",continue(d){if(d.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let f=u.value.continue(d[0].responseData);return s(f)}}};if(u.type===\"needs-xlinks\")return{type:\"needs-resources\",value:{urls:u.value.xlinksUrls,format:\"string\",continue(d){let f=[];for(let m=0;m\"+g.data+\"\",_=ki(S),P=_[_.length-1];if(P===void 0||typeof P==\"string\")throw new Error(\"DASH parser: Invalid external ressources\");let T=P.children,R=[],E=[];for(let M=0;M{o!==null&&(URL.revokeObjectURL(o),o=null),c.warn(\"dash\",\"Unable to call `instantiateStreaming` on WASM\",p instanceof Error?p:\"\");let b=await s;if(b.status<200||b.status>=300)throw new Error(\"WebAssembly request failed. status: \"+String(b.status));let h=await b.arrayBuffer();return WebAssembly.instantiate(h,a)}).then(p=>{o!==null&&(URL.revokeObjectURL(o),o=null),this._instance=p,this._linearMemory=this._instance.instance.exports.memory,this.status=\"initialized\"}).catch(p=>{let b=p instanceof Error?p.toString():\"Unknown error\";throw c.warn(\"dash\",\"Could not create DASH-WASM parser:\",b),this.status=\"failure\",p}),this._initProm;function d(p){return t.childrenParser(p)}function f(p){return t.popIfCurrent(p)}function l(p,b,h){return t.attributeParser(p,b,h)}function m(p,b,h){let S=i._linearMemory,_=new Uint8Array(S.buffer,b,h);if(p===1){let P=r.decode(_);c.warn(\"dash\",\"WASM Error Event:\",P),i._warnings.push(new Error(P))}else if(p===0){let P=r.decode(_);c.warn(\"dash\",\"WASM Log Event:\",P)}}function g(p,b){if(i._mpdData===null)throw new Error(\"DashWasmParser Error: No MPD to read.\");let h=i._linearMemory,{mpd:S,cursor:_}=i._mpdData,P=Math.min(b,al,S.byteLength-_);return new Uint8Array(h.buffer,p,P).set(new Uint8Array(S,_,P)),i._mpdData.cursor+=P,P}}runWasmParser(e,t){let[r,i]=this._parseMpd(e);if(r===null)throw new Error(\"DASH Parser: Unknown error while parsing the MPD\");let a=Br(r,t,i);return this._processParserReturnValue(a)}isCompatible(){return gs&&typeof te.TextDecoder==\"function\"}_parseMpd(e){var s;if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={},r=this._linearMemory,i=oa(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,D),this._warnings=[];try{this._instance.instance.exports.parse()}catch(u){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,u}let a=(s=t.mpd)!=null?s:null,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_parseXlink(e){if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={periods:[]},r=this._linearMemory,i=Cs(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,D),this._warnings=[];try{this._instance.instance.exports.parse()}catch(s){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,s}let{periods:a}=t,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_processParserReturnValue(e){if(e.type===\"done\")return e;if(e.type===\"needs-clock\"){let t=r=>{if(r.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let i=e.value.continue(r[0].responseData);return this._processParserReturnValue(i)};return{type:\"needs-resources\",value:{urls:[e.value.url],format:\"string\",continue:t}}}else if(e.type===\"needs-xlinks\"){let t=r=>{let i=[];for(let o=0;o=0&&(r=n.substring(i),a=n.substring(0,i));let o=a.indexOf(\"?\");o===-1?t=\"?\":o+1===a.length?t=\"\":t=\"&\";let s=a+t;for(let u=0;u0&&(s+=r),s}function sa(n,e){return(t,r,i)=>new Promise((a,o)=>{let s=Date.now()-L(),u=!1,m={reject:b=>{var P,T;if(u||i.isCancelled())return;u=!0,i.deregister(p);let h=b,S=(P=h==null?void 0:h.message)!=null?P:\"Unknown error when fetching the Manifest through a custom manifestLoader.\",_=new Xe(S,(T=h==null?void 0:h.canRetry)!=null?T:!1,h==null?void 0:h.xhr);o(_)},resolve:b=>{if(u||i.isCancelled())return;u=!0,i.deregister(p);let h=b.receivingTime!==void 0?b.receivingTime-s:void 0,S=b.sendingTime!==void 0?b.sendingTime-s:void 0;a({responseData:b.data,size:b.size,requestDuration:b.duration,url:b.url,receivedTime:h,sendingTime:S})},fallback:()=>{u||i.isCancelled()||(u=!0,i.deregister(p),e(t,r,i).then(a,o))}},g=n({url:t,timeout:r.timeout,cmcdPayload:r.cmcdPayload},m);i.register(p);function p(b){u||(u=!0,typeof g==\"function\"&&g(),o(b))}})}function ol(n){return function(t,r,i){var s,u;if(t===void 0)throw new Error(\"Cannot perform HTTP(s) request. URL not known\");let a=((s=r.cmcdPayload)==null?void 0:s.type)===\"query\"?Ye(t,r.cmcdPayload.value):t,o=((u=r.cmcdPayload)==null?void 0:u.type)===\"headers\"?r.cmcdPayload.value:void 0;switch(n){case\"arraybuffer\":return be({url:a,headers:o,responseType:\"arraybuffer\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"text\":return be({url:a,headers:o,responseType:\"text\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"document\":return be({url:a,headers:o,responseType:\"document\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});default:Ne(n)}}}function ua({customManifestLoader:n},e,t){let r=ol(e),i=typeof n!=\"function\"?r:sa(n,r);return t!==null?t(i):i}function da(n,e){if(e){if(Je(n,1718909296)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `ftyp` box\");if(Je(n,1836019574)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `moov` box\")}else{if(Je(n,1836019558)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `moof` box\");if(Je(n,1835295092)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `mdat` box\")}}function Qe(n,e){if(n===\"audio\"||n===\"video\")return e===\"video/mp4\"||e===\"audio/mp4\"?\"mp4\":e===\"video/webm\"||e===\"audio/webm\"?\"webm\":void 0;if(n===\"text\")return e===\"application/mp4\"?\"mp4\":void 0}function qr(n){return(e,t,r,i,a)=>{return new Promise((s,u)=>{let d=new F,f=d.linkToSignal(i);d.signal.register(u),n(e,t,r,d.signal,se(ee({},a),{onNewChunk(m){try{o(m),a.onNewChunk(m)}catch(g){l(),d.cancel(),u(g)}}})).then(m=>{if(l(),!d.isUsed()){if(m.resultType===\"segment-loaded\")try{o(m.resultData.responseData)}catch(g){u(g);return}s(m)}},m=>{l(),u(m)});function l(){d.signal.deregister(u),f()}});function o(s){!(s instanceof ArrayBuffer)&&!(s instanceof Uint8Array)||Qe(t.type,t.mimeType)!==\"mp4\"||da(new Uint8Array(s),t.segment.isInit)}}}function ks(n){return async(e,t,r)=>{let i=await n(e,t,r);return a(i.responseData),i;function a(o){if(typeof o==\"string\"){let s=o.length-1,u=[\"\"];for(let d=u.length-1;d>=0;d--){let f=u[d];for(;sl(o[s]);)s--;for(let l=f.length-1;l>=0;l--){if(o[s]!==f[l])throw new Error(\"INTEGRITY_ERROR MPD does not end with \");s--}}}else if(o instanceof ArrayBuffer){let s=o.byteLength-1,u=new DataView(o),d=[[60,47],[77,80,68],[62]];for(let f=d.length-1;f>=0;f--){let l=d[f];for(;ul(u.getUint8(s));)s--;for(let m=l.length-1;m>=0;m--){if(u.getUint8(s)!==l[m])throw new Error(\"INTEGRITY_ERROR MPD does not end with \");s--}}}else if(!v(te.Document)&&o instanceof te.Document&&o.documentElement.nodeName!==\"MPD\")throw new _e(\"INTEGRITY_ERROR\",\"MPD does not end with \")}}}function sl(n){return n===\" \"||n===\"\t\"||n===\"\\r\"||n===`\n`}function ul(n){return n===32||n===9||n===13||n===10}function la(n){let{referenceDateTime:e}=n,t=n.serverSyncInfos!==void 0?n.serverSyncInfos.serverTimestamp-n.serverSyncInfos.clientTime:void 0;return function(i,a,o,s,u){var _;let{responseData:d}=i,f=a.externalClockOffset,l=(_=i.url)!=null?_:a.originalUrl,m=t!=null?t:f,p={unsafelyBaseOnPreviousManifest:a.unsafeMode?a.previousManifest:null,url:l,referenceDateTime:e,externalClockOffset:m},b=De.dashParsers;if(b.wasm===null||b.wasm.status===\"uninitialized\"||b.wasm.status===\"failure\")return c.debug(\"dash\",\"WASM MPD Parser not initialized. Running JS one.\"),h();{let P=ml(d);if(!cl(P))return c.info(\"dash\",\"MPD doesn't seem to be UTF-8-encoded. Running JS parser instead of the WASM one.\"),h();if(b.wasm.status===\"initialized\"){c.debug(\"dash\",\"Running WASM MPD Parser.\");let T=b.wasm.runWasmParser(P,p);return S(T)}else return c.debug(\"dash\",\"Awaiting WASM initialization before parsing the MPD.\"),b.wasm.waitForInitialization().catch(()=>{}).then(()=>{if(b.wasm===null||b.wasm.status!==\"initialized\")return c.warn(\"dash\",\"WASM MPD parser initialization failed. Running JS parser instead\"),h();c.debug(\"dash\",\"Running WASM MPD Parser.\");let R=b.wasm.runWasmParser(P,p);return S(R)})}function h(){if(b.js!==null){let P=fl(d),T=b.js(P,p);return S(T)}else throw new Error(\"No MPD parser is imported\")}function S(P){if(P.type===\"done\")return P.value.warnings.length>0&&o(P.value.warnings),s.isCancelled()?Promise.reject(s.cancellationError):{manifest:new zt(P.value.parsed,n),url:l};let{value:T}=P,R=T.urls.map(E=>u(()=>{let M=U.getCurrent().DEFAULT_REQUEST_TIMEOUT,C=U.getCurrent().DEFAULT_CONNECTION_TIMEOUT;return T.format===\"string\"?be({url:E,responseType:\"text\",timeout:M,connectionTimeout:C,cancelSignal:s}):be({url:E,responseType:\"arraybuffer\",timeout:M,connectionTimeout:C,cancelSignal:s})}).then(M=>{if(T.format===\"string\"){if(typeof M.responseData!=\"string\")throw new Error(\"External DASH resources should have been a string\");return H(M,{responseData:{success:!0,data:M.responseData}})}else{if(!(M.responseData instanceof ArrayBuffer))throw new Error(\"External DASH resources should have been ArrayBuffers\");return H(M,{responseData:{success:!0,data:M.responseData}})}},M=>{let C=ge(M,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"An unknown error occured when parsing ressources.\"});return H({},{size:void 0,requestDuration:void 0,responseData:{success:!1,error:C}})}));return Promise.all(R).then(E=>T.format===\"string\"?(dl(E),S(T.continue(E))):(ll(E),S(T.continue(E))))}}}function dl(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&typeof t.data==\"string\")&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function ll(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&t.data instanceof ArrayBuffer)&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function fl(n){if(n instanceof ArrayBuffer)return Ke(new Uint8Array(n));if(typeof n==\"string\")return n;if(!v(te.Document)&&n instanceof te.Document)return n.documentElement.outerHTML;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function ml(n){if(n instanceof ArrayBuffer)return n;if(typeof n==\"string\")return un(n).buffer;if(!v(te.Document)&&n instanceof te.Document)return un(n.documentElement.innerHTML).buffer;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function cl(n){let e=new DataView(n);return e.getUint16(0)===61371&&e.getUint8(2)===191?!0:!(e.getUint16(0)===65279||e.getUint16(0)===65534)}function We([n,e]){return e===1/0?`bytes=${n}-`:`bytes=${n}-${e}`}function Dt(n,e){return n===null?null:e.url===null?n.baseUrl:_n(n.baseUrl,e.url)}function xn(n,e,t,r,i){var d,f;let a=n;((d=t.cmcdPayload)==null?void 0:d.type)===\"query\"&&(a=Ye(a,t.cmcdPayload.value));let o=((f=t.cmcdPayload)==null?void 0:f.type)===\"headers\"?t.cmcdPayload.value:void 0;if(e.range===void 0)return be({url:a,responseType:\"arraybuffer\",headers:o,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.indexRange===void 0)return be({url:a,headers:se(ee({},o),{Range:We(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.range[1]+1===e.indexRange[0])return be({url:a,headers:se(ee({},o),{Range:We([e.range[0],e.indexRange[1]])}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));let s=be({url:a,headers:se(ee({},o),{Range:We(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}),u=be({url:a,headers:se(ee({},o),{Range:We(e.indexRange)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress});return Promise.all([s,u]).then(([l,m])=>{let g=Ct(new Uint8Array(l.responseData),new Uint8Array(m.responseData)),p=Math.min(l.sendingTime,m.sendingTime),b=Math.max(l.receivedTime,m.receivedTime);return{resultType:\"segment-loaded\",resultData:{url:a,responseData:g,size:l.size+m.size,requestDuration:b-p,sendingTime:p,receivedTime:b}}})}async function Mn(n,e,t,r){let i=null;function a(s){let u=new Uint8Array(s.chunk),d=i!==null?Ct(i,u):u,f=Rr(d),l=f[0];i=f[1],!(l!==null&&(l.forEach(m=>{t.onNewChunk(m)}),r.isCancelled()))&&(t.onProgress({duration:s.duration,size:s.size,totalSize:s.totalSize}),r.isCancelled())}return{resultType:\"chunk-complete\",resultData:await gr({url:n,headers:e.headers,onData:a,timeout:e.timeout,connectionTimeout:e.connectionTimeout,cancelSignal:r})}}async function xs(n,e,t,r,i,a){var m,g;if(e.segment.isInit)return xn(n,e.segment,r,a,i);let o=((m=r.cmcdPayload)==null?void 0:m.type)===\"query\"?Ye(n,r.cmcdPayload.value):n,s=((g=r.cmcdPayload)==null?void 0:g.type)===\"headers\"?r.cmcdPayload.value:void 0,{segment:u}=e,d;u.range!==void 0?d=se(ee({},s),{Range:We(u.range)}):s!==void 0&&(d=s);let f=Qe(e.type,e.mimeType);if(t&&(f===\"mp4\"||f===void 0)){if(rn())return Mn(o,{headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout},i,a);rt(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}return{resultType:\"segment-loaded\",resultData:await be({url:o,responseType:\"arraybuffer\",headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:a,onProgress:i.onProgress})}}function fa({lowLatencyMode:n,segmentLoader:e,checkMediaSegmentIntegrity:t}){return t!==!0?r:qr(r);function r(i,a,o,s,u){let d=Dt(i,a.segment);return d===null?Promise.resolve({resultType:\"segment-created\",resultData:null}):n||e===void 0?xs(d,a,n,o,u,s):new Promise((f,l)=>{let m=!1,S={reject:E=>{var N,B;if(m||s.isCancelled())return;m=!0,s.deregister(R);let M=E,C=(N=M==null?void 0:M.message)!=null?N:\"Unknown error when fetching a DASH segment through a custom segmentLoader.\",x=new Xe(C,(B=M==null?void 0:M.canRetry)!=null?B:!1,M==null?void 0:M.xhr);l(x)},resolve:E=>{if(m||s.isCancelled())return;m=!0,s.deregister(R);let M;E.data instanceof Uint8Array?E.data.buffer instanceof ArrayBuffer?M=E.data:M=E.data.slice():M=E.data,f({resultType:\"segment-loaded\",resultData:{responseData:M,size:E.size,requestDuration:E.duration}})},progress:E=>{m||s.isCancelled()||u.onProgress({duration:E.duration,size:E.size,totalSize:E.totalSize})},fallback:()=>{m||s.isCancelled()||(m=!0,s.deregister(R),xs(d,a,n,o,u,s).then(f,l))}},_;a.segment.range!==void 0&&(_=[a.segment.range],a.segment.indexRange!==void 0&&_.push(a.segment.indexRange));let P={isInit:a.segment.isInit,timeout:o.timeout,byteRanges:_,trackType:a.type,url:d,cmcdPayload:o.cmcdPayload},T=e(P,S);s.register(R);function R(E){m||(m=!0,typeof T==\"function\"&&T(),l(E))}})}}var ca=408125543,Ms=357149030,pl=2807729,gl=17545,hl=475249515,Il=187,bl=179,yl=183,Sl=241;function Tt(n,e,t,[r,i]){let a=r;for(;a0){for(let b=0;b=Math.pow(2,8-t))return t}function El(n,e){let t=Os(n,e);if(t===void 0)return c.warn(\"webm\",\"unrepresentable length\"),null;if(e+t>n.length)return c.warn(\"webm\",\"impossible length\",{offset:e,length:t,bufferLength:n.length}),null;let r=0;for(let i=0;in.length)return c.warn(\"webm\",\"impossible length\",{offset:e,length:t,bufferLength:n.length}),null;let r=(n[e]&(1<<8-t)-1)*Math.pow(2,(t-1)*8);for(let i=1;i=a)return!0}return!1}function ga(n,e){if(n.length===0)return;let{manifestRefreshEventsFromEMSGs:t,EMSGs:r}=n.reduce((o,s)=>(s.schemeIdUri===\"urn:mpeg:dash:event:2012\"&&s.value===\"1\"?(o.manifestRefreshEventsFromEMSGs===void 0&&(o.manifestRefreshEventsFromEMSGs=[]),o.manifestRefreshEventsFromEMSGs.push(s)):(o.EMSGs===void 0&&(o.EMSGs=[]),o.EMSGs.push(s)),o),{manifestRefreshEventsFromEMSGs:void 0,EMSGs:void 0}),i=r==null?void 0:r.map(o=>({type:\"emsg\",value:o})),a=e===void 0||t===void 0?!1:vl(t,e);return{inbandEvents:i,needsManifestRefresh:a}}function ha({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var P,T;let{segment:a,periodStart:o,periodEnd:s}=r,{data:u,isChunked:d}=t,f=[o,s];if(u===null)return a.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:0,protectionData:[],appendWindow:f};let l=Bo(u),m=Qe(r.type,r.mimeType),g=m===\"mp4\"||m===void 0,p=[];if(g){let R=Pr(l),E;a.isInit&&(E=(P=Wo(l))!=null?P:void 0),(R.length>0||E!==void 0)&&p.push({initDataType:\"cenc\",keyId:E,initData:R})}if(!a.isInit){let R=g?On(l,d,a,i):null,E=(T=a.timestampOffset)!=null?T:0;if(g){let M=zo(l);if(M!==void 0){let C=M.filter(N=>a.privateInfos===void 0||a.privateInfos.isEMSGWhitelisted===void 0?!1:a.privateInfos.isEMSGWhitelisted(N)),x=ga(C,r.manifestPublishTime);if(x!==void 0){let{needsManifestRefresh:N,inbandEvents:B}=x;return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:R,chunkOffset:E,appendWindow:f,inbandEvents:B,protectionData:p,needsManifestRefresh:N}}}}return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:R,chunkOffset:E,protectionData:p,appendWindow:f}}let{indexRange:b}=a,h;if(m===\"webm\")h=pa(l,0);else if(g&&(h=mn(l,Array.isArray(b)?b[0]:0),n===!0&&h!==null&&h.length>0)){let R=h[h.length-1];Array.isArray(R.range)&&(R.range[1]=1/0)}let S;g?S=cn(l):m===\"webm\"&&(S=Vr(l,0));let _=v(S)?void 0:S;return{segmentType:\"init\",initializationData:l,initializationDataSize:l.length,protectionData:p,initTimescale:_,segmentList:h!=null?h:void 0}}}function Ia({lowLatencyMode:n,checkMediaSegmentIntegrity:e}){return e!==!0?t:qr(t);async function t(r,i,a,o,s){var h,S;let{segment:u}=i,d=Dt(r,u);if(d===null)return Promise.resolve({resultType:\"segment-created\",resultData:null});if(u.isInit)return xn(d,u,a,o,s);let f=((h=a.cmcdPayload)==null?void 0:h.type)===\"query\"?Ye(d,a.cmcdPayload.value):d,l=((S=a.cmcdPayload)==null?void 0:S.type)===\"headers\"?a.cmcdPayload.value:void 0,m;u.range!==void 0?m=se(ee({},l),{Range:We(u.range)}):l!==void 0&&(m=l);let g=Qe(i.type,i.mimeType),p=g===\"mp4\"||g===void 0;if(n&&p){if(rn())return Mn(f,{headers:m,timeout:a.timeout,connectionTimeout:a.connectionTimeout},s,o);rt(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}let b;return p?b=await be({url:f,responseType:\"arraybuffer\",headers:m,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}):b=await be({url:f,responseType:\"text\",headers:m,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}),{resultType:\"segment-loaded\",resultData:b}}}function Cl(n){if(n===void 0)throw new Error(\"Cannot parse subtitles: unknown format\");switch(n.toLowerCase()){case\"stpp\":case\"stpp.ttml\":case\"stpp.ttml.im1t\":return\"ttml\";case\"wvtt\":return\"vtt\"}throw new Error(`The codec used for the subtitles \"${n}\" is not managed yet.`)}function Al(n,e){switch(e){case\"application/ttml+xml\":return\"ttml\";case\"application/x-sami\":case\"application/smil\":return\"sami\";case\"text/vtt\":return\"vtt\"}if(n!==void 0&&n.toLowerCase()===\"srt\")return\"srt\";throw new Error(`could not find a text-track parser for the type ${e!=null?e:\"\"}`)}function ws({segment:n,language:e,codecs:t},r,i,a,o){if(n.isInit)return null;let s,u;a===null?o?(s=n.time,u=n.end):c.warn(\"utils\",\"Unavailable time data for current text track.\"):(s=a.time,a.duration!==void 0?u=s+a.duration:!o&&n.complete&&(u=s+n.duration));let d=Cl(t),f=Ti(r),l=f!==null?Ke(f):\"\";return t===\"wvtt\"&&!Oe(l,\"WEBVTT\")&&!Oe(l,\"\\xFE\\xFFWEBVTT\")?{data:r,type:\"mp4vtt\",language:e,start:s,end:u,initTimescale:i!=null?i:null}:{data:l,type:d,language:e,start:s,end:u,initTimescale:i!=null?i:null}}function Ds(n,e,t,r){let{segment:i}=n;if(i.isInit)return null;let a,o;r?c.warn(\"utils\",\"Unavailable time data for current text track.\"):(a=i.time,i.complete&&(o=i.time+i.duration));let s=Al(n.codecs,n.mimeType);return{data:e,type:s,language:n.language,start:a,end:o,initTimescale:t!=null?t:null}}function kl(n,e,t,r,i){var m;let{segment:a}=t,{isInit:o,indexRange:s}=a,u;if(typeof n==\"string\"?u=un(n):n instanceof Uint8Array?u=n:u=new Uint8Array(n),o){let g=mn(u,Array.isArray(s)?s[0]:0);if(i===!0&&g!==null&&g.length>0){let b=g[g.length-1];Array.isArray(b.range)&&(b.range[1]=1/0)}let p=cn(u);return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:p,segmentList:g!=null?g:void 0}}let d=On(u,e,a,r),f=ws(t,u,r,d,e),l=(m=a.timestampOffset)!=null?m:0;return{segmentType:\"media\",chunkData:f,chunkSize:u.length,chunkInfos:d,chunkOffset:l,protectionData:[],appendWindow:[t.periodStart,t.periodEnd]}}function xl(n,e,t,r){let{periodStart:i,periodEnd:a,segment:o}=r,{timestampOffset:s=0}=o;if(o.isInit)return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};let u,d;if(typeof n!=\"string\"){let l=n instanceof Uint8Array?n:new Uint8Array(n);u=Ke(l),d=l.length}else u=n;return{segmentType:\"media\",chunkData:Ds(r,u,e,t),chunkSize:d,chunkInfos:null,chunkOffset:s,protectionData:[],appendWindow:[i,a]}}function ba({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var l;let{periodStart:a,periodEnd:o,segment:s}=r,{data:u,isChunked:d}=t;if(u===null)return s.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:(l=s.timestampOffset)!=null?l:0,protectionData:[],appendWindow:[a,o]};let f=Qe(r.type,r.mimeType);if(f===\"webm\")throw new Error(\"Text tracks with a WEBM container are not yet handled.\");return f===\"mp4\"?kl(u,d,r,i,n):xl(u,i,d,r)}}async function Bs(n,e,t,r){var u,d;let i=Dt(n,e);if(i===null)return Promise.reject(new Error(\"Cannot load thumbnail: no URL\"));let a=((u=t.cmcdPayload)==null?void 0:u.type)===\"query\"?Ye(i,t.cmcdPayload.value):i,o=((d=t.cmcdPayload)==null?void 0:d.type)===\"headers\"?t.cmcdPayload.value:void 0,s;return e.range!==void 0?s=se(ee({},o),{Range:We(e.range)}):o!==void 0&&(s=o),an({url:a,responseType:\"arraybuffer\",headers:s,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r})}function Ns(n,e){var d;let{thumbnailTrack:t,thumbnail:r}=e,i=t.height/t.verticalTiles,a=t.width/t.horizontalTiles,o=[],s=(d=t.tileDuration)!=null?d:(r.end-r.time)/(t.horizontalTiles*t.verticalTiles),u=r.time;for(let f=0;fe())};var Bt=class{constructor(e){this._array=[],this._sortingFn=e}add(...e){e.sort(this._sortingFn);let t=0;for(let r=0;r=this._array.length)throw new Error(\"Invalid index.\");return this._array[e]}toArray(){return this._array.slice()}findFirst(e){return K(this._array,e)}has(e){return Ie(this._array,e)}removeElement(e){let t=this._array.indexOf(e);if(t>=0)return this._array.splice(t,1),t}head(){return this._array[0]}last(){return this._array[this._array.length-1]}shift(){return this._array.shift()}pop(){return this._array.pop()}};var wn=class{constructor(e){this._weakMap=new WeakMap,this._fn=e}get(e){let t=this._weakMap.get(e);if(t===void 0){let r=this._fn(e);return this._weakMap.set(e,r),r}else return t}destroy(e){this._weakMap.delete(e)}};var Ol=.016666666666666666;function Fs(n,e){return Math.abs(n-e)=0;t--){let r=n[t].start;if(e>=r){let i=n[t].end;if(e=o?r.push({start:a,end:o}):t={start:a,end:o}}return{outerRanges:r,innerRange:t}}function Gr(n,e){let t=Bl(n,e);return t!==null?t.end-e:1/0}function Et(n,e){if(e.start===e.end)return n;let t=e,r=0;for(;r0)for(let s=0;ss&&t.push({start:s,end:a[u].start}),s=a[u].end;s{a=u.position.getWanted(),o=u.buffered[n.bufferType],s()},{includeLastObservation:!0,clearSignal:i});function s(){o!==null&&Ul(n,a,o,t.getValue(),r.getValue(),i).catch(u=>{if(i.isCancelled()&&F.isCancellationError(u))return;let d=u instanceof Error?u.message:\"Unknown error\";c.error(\"Stream\",\"Could not run BufferGarbageCollector:\",d)})}t.onUpdate(s,{clearSignal:i}),r.onUpdate(s,{clearSignal:i}),s()}async function Ul(n,e,t,r,i,a){if(!isFinite(r)&&!isFinite(i))return Promise.resolve();let o=[],{innerRange:s,outerRanges:u}=Gs(t,e),d=()=>{if(isFinite(r)){for(let l of u)e-r>=l.end?o.push(l):e>=l.end&&e-r>l.start&&e-rs.start&&o.push({start:s.start,end:e-r})}},f=()=>{if(isFinite(i)){for(let l of u)e+i<=l.start?o.push(l):e<=l.start&&e+il.start&&o.push({start:e+i,end:l.end});v(s)||e+int(t.context,e))}_cleanHistory(e){let t=e-this._lifetime,r=0;for(let i of this._history)if(i.date0&&(this._history=this._history.splice(r)),this._history.length>this._maxHistoryLength){let i=this._history.length-this._maxHistoryLength;this._history=this._history.splice(i)}}};var Bn=class{constructor(){let{BUFFERED_HISTORY_RETENTION_TIME:e,BUFFERED_HISTORY_MAXIMUM_ENTRIES:t}=U.getCurrent();this._inventory=[],this._bufferedHistory=new Dn(e,t)}reset(){this._inventory.length=0}synchronizeBuffered(e){var u,d,f,l,m,g,p;let t=this._inventory,r=0,i=t[0],{MINIMUM_SEGMENT_SIZE:a}=U.getCurrent(),o=i==null?void 0:i.infos.adaptation.type;if(c.hasLevel(\"DEBUG\")){let b=e.map(h=>`${h.start}-${h.end}`).join(\",\");c.debug(\"SI\",`synchronizing ${o!=null?o:\"unknown\"} buffered ranges:`,b)}let s=e.length;for(let b=0;b0){let E=t[_+T-1];P={end:(d=E.bufferedEnd)!=null?d:E.end,precizeEnd:E.precizeEnd},c.debug(\"SI\",`${T} segments GCed.`,{t:o});let M=t.splice(_,T);for(let C of M)C.bufferedStart===void 0&&C.bufferedEnd===void 0&&C.status!==2&&this._bufferedHistory.addBufferedSegment(C.infos,null);r=_}if(i===void 0)return;if(S-((f=i.bufferedStart)!=null?f:i.start)>=a){if(Ll(i,h,P,o),r===t.length-1){Ks(i,S,o);return}i=t[++r];let E=(l=i.bufferedStart)!=null?l:i.start,M=(m=i.bufferedEnd)!=null?m:i.end,C=b=a||C!==void 0&&S-E=b&&(c.debug(\"SI\",\"A segment at the end has been completely GCed\",He(_.infos)),_.bufferedStart===void 0&&_.bufferedEnd===void 0&&_.status!==2&&this._bufferedHistory.addBufferedSegment(_.infos,null),t.splice(S,1),S--)}}o!==void 0&&c.hasLevel(\"DEBUG\")&&c.debug(\"SI\",`current ${o} inventory timeline:\n`+Fl(this._inventory))}insertChunk({period:e,adaptation:t,representation:r,segment:i,chunkSize:a,start:o,end:s},u,d){if(i.isInit)return;let f=t.type;if(o>=s){c.warn(\"SI\",\"Invalid chunked inserted: starts before it ends\",{t:f,start:o,end:s});return}let l=this._inventory,m={status:u?0:2,insertionTs:d,chunkSize:a,splitted:!1,start:o,end:s,precizeStart:!1,precizeEnd:!1,bufferedStart:void 0,bufferedEnd:void 0,infos:{segment:i,period:e,adaptation:t,representation:r}};for(let p=l.length-1;p>=0;p--){let b=l[p];if(b.start<=o)if(b.end<=o){for(c.debug(\"SI\",\"Pushing segment strictly after previous one.\",{t:f,pse:b.end,ss:o}),this._inventory.splice(p+1,0,m),p+=2;pm.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,pss:l[p].start,ss:o,se:s}),l[p].start=m.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[p].start,pse:l[p].end}),l.splice(p,1)}return}else if(b.start===o)if(b.end<=s){for(c.debug(\"SI\",\"Segment pushed replace another one\",{t:f,ss:o,se:s,pss:b.start,pse:b.end}),this._inventory.splice(p,1,m),p+=1;pm.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,ss:o,se:s,pss:l[p].start,pse:l[p].end}),l[p].start=m.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[p].start,pse:l[p].end}),l.splice(p,1)}return}else{c.debug(\"SI\",\"Segment pushed ends before another with the same start\",{t:f,ss:o,se:s,pse:b.end}),l.splice(p,0,m),b.start=m.end,b.bufferedStart=void 0,b.precizeStart=b.precizeStart&&m.precizeEnd;return}else if(b.end<=m.end){for(c.debug(\"SI\",\"Segment pushed updates end of previous one\",{t:f,ss:o,se:s,pss:b.start,pse:b.end}),this._inventory.splice(p+1,0,m),b.end=m.start,b.bufferedEnd=void 0,b.precizeEnd=b.precizeEnd&&m.precizeStart,p+=2;pm.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,ss:o,se:s,pss:l[p].start}),l[p].start=m.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[p].start,pse:l[p].end}),l.splice(p,1)}return}else{c.warn(\"SI\",\"Segment pushed is contained in a previous one\",{t:f,ss:o,se:s,pss:b.start,pse:b.end});let h={status:b.status,insertionTs:b.insertionTs,chunkSize:b.chunkSize,splitted:!0,start:m.end,end:b.end,precizeStart:b.precizeStart&&b.precizeEnd&&m.precizeEnd,precizeEnd:b.precizeEnd,bufferedStart:void 0,bufferedEnd:b.end,infos:b.infos};b.end=m.start,b.splitted=!0,b.bufferedEnd=void 0,b.precizeEnd=b.precizeEnd&&m.precizeStart,l.splice(p+1,0,m),l.splice(p+2,0,h);return}}let g=this._inventory[0];if(g===void 0){c.debug(\"SI\",\"first segment pushed\",{t:f,ss:o,se:s}),this._inventory.push(m);return}if(g.start>=s)c.debug(\"SI\",\"Segment pushed comes before all previous ones\",{t:f,ss:o,se:s,pss:g.start}),this._inventory.splice(0,0,m);else if(g.end<=s){for(c.debug(\"SI\",\"Segment pushed starts before and completely recovers the previous first one\",{t:f,ss:o,se:s,pss:g.start,pse:g.end}),this._inventory.splice(0,1,m);l.length>1&&l[1].startm.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,ss:o,se:s,pss:l[1].start,pse:l[1].end}),l[1].start=m.end,l[1].bufferedStart=void 0,l[1].precizeStart=m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[1].start,pse:l[1].end}),l.splice(1,1)}return}else{c.debug(\"SI\",\"Segment pushed start of the next one\",f,{ss:o,se:s,pss:g.start,pse:g.end}),g.start=s,g.bufferedStart=void 0,g.precizeStart=m.precizeEnd,this._inventory.splice(0,0,m);return}}completeSegment(e){if(e.segment.isInit)return;let t=this._inventory,r=[];for(let i=0;i0&&(a=!0,r.length===1&&(c.warn(\"SI\",\"Completed Segment is splitted.\",He(e)),r[0].splitted=!0));let o=i,s=t[i].chunkSize;for(i+=1;i0&&(this._inventory.splice(o+1,d),i-=d),this._inventory[o].status===0&&(this._inventory[o].status=1),this._inventory[o].chunkSize=s,this._inventory[o].end=f,this._inventory[o].bufferedEnd=l,this._inventory[o].splitted=a,r.push(this._inventory[o])}if(r.length===0)c.warn(\"SI\",\"Completed Segment not found\",He(e));else for(let i of r)i.bufferedStart!==void 0&&i.bufferedEnd!==void 0?i.status!==2&&this._bufferedHistory.addBufferedSegment(i.infos,{start:i.bufferedStart,end:i.bufferedEnd}):c.debug(\"SI\",\"buffered range not known after sync. Skipping history.\",{ss:i.start,se:i.end})}getInventory(){return this._inventory}getHistoryFor(e){return this._bufferedHistory.getHistoryFor(e)}};function Ta(n){if(n.bufferedStart===void 0||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=U.getCurrent();return Math.abs(e-n.bufferedStart)<=i&&(n.bufferedEnd===void 0||n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3))}function Hs(n){if(n.bufferedEnd===void 0||!n.infos.segment.complete||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=U.getCurrent();return Math.abs(t-n.bufferedEnd)<=i&&n.bufferedStart!==void 0&&n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3)}function Ll(n,e,t,r){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MISSING_DATA_TRIGGER_SYNC_DELAY:a,SEGMENT_SYNCHRONIZATION_DELAY:o}=U.getCurrent();if(n.bufferedStart!==void 0)n.bufferedStarte&&(t.precizeEnd||n.start-t.end<=i))c.debug(\"SI\",\"buffered start is end of previous segment\",{t:r,rs:e,firstss:n.start,lastdelse:t.end}),n.bufferedStart=t.end,Ta(n)&&(n.start=t.end,n.precizeStart=!0);else if(n.start-e<=i){let s=L();if(n.start-e>=a&&s-n.insertionTs=a&&s-n.insertionTse&&(c.debug(\"SI\",\"Segment partially GCed at the end\",{t,lastsbe:n.bufferedEnd,re:e}),n.bufferedEnd=e),!n.precizeEnd&&e-n.end<=r&&Hs(n)&&(n.precizeEnd=!0,n.end=e);else if(n.precizeEnd)c.debug(\"SI\",\"buffered end is precize end\",{t,lastse:n.end}),n.bufferedEnd=n.end;else if(e-n.end<=r||!n.infos.segment.complete){let o=L();if(e-n.end>=i&&o-n.insertionTsn.end)c.debug(\"SI\",\"range end too far from expected end\",{t,re:e,lastse:n.end}),n.bufferedEnd=n.end;else{let o=L();if(e-n.end>=i&&o-n.insertionTs{var d;s+=`\n[${u.letter}] P: ${u.periodId} || R: ${u.representationId}(${(d=u.bitrate)!=null?d:\"unknown bitrate\"})`}),s}function Kt(n,e){for(let t=0;t=e.start)return t>0?n[t-1]:null;return n.length>0?n[n.length-1]:null}function jt(n,e){for(let t of n)if(t.infos.period.start>e.start)return t;return null}var js=Bn;var Yt=class{constructor(){this._segmentInventory=new js}synchronizeInventory(e){this._segmentInventory.synchronizeBuffered(e)}getLastKnownInventory(){return this._segmentInventory.getInventory()}getSegmentHistory(e){return this._segmentInventory.getHistoryFor(e)}};var Nn=class extends Yt{constructor(e,t,r){super(),c.info(\"Stream\",\"calling `mediaSource.addSourceBuffer`\",{codec:t});let i=r.addSourceBuffer(e,t);this.bufferType=e,this._sourceBuffer=i,this._lastInitSegmentUniqueId=null,this.codec=t,this._initSegmentsMap=new Map,this._pendingOperations=[]}declareInitSegment(e,t){Ys(t),this._initSegmentsMap.set(e,t)}freeInitSegment(e){this._initSegmentsMap.delete(e)}async pushChunk(e){Ys(e.data.chunk),c.debug(\"Stream\",\"queuing push order\",He(e.inventoryInfos));let t=this._getActualDataToPush(e.data);t.length===0&&t.push(new Uint8Array);let r=Promise.all(t.map(o=>{let{codec:s,timestampOffset:u,appendWindow:d}=e.data;return c.debug(\"Stream\",\"now pushing\",He(e.inventoryInfos)),this._sourceBuffer.appendBuffer(o,{codec:s,timestampOffset:u,appendWindow:d})}));this._addToOperationQueue(r,{type:0,value:e});let i;try{i=await r}catch(o){throw this._segmentInventory.insertChunk(e.inventoryInfos,!1,L()),o}e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,L());let a=i[i.length-1];return this._segmentInventory.synchronizeBuffered(a),a}async removeBuffer(e,t){c.debug(\"Stream\",\"queuing remove order\",{bufferType:this.bufferType,start:e,end:t});let r=this._sourceBuffer.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){try{c.debug(\"Stream\",\"Calling `dispose` on the SourceBufferInterface\"),this._sourceBuffer.dispose()}catch(e){c.debug(\"Stream\",`Failed to dispose a ${this.bufferType} SourceBufferInterface:`,e instanceof Error?e:\"Unknown Error\")}}_getActualDataToPush(e){let t=[];if(e.initSegmentUniqueId!==null&&!this._isLastInitSegment(e.initSegmentUniqueId)){let r=this._initSegmentsMap.get(e.initSegmentUniqueId);if(r===void 0)throw new Error(\"Invalid initialization segment uniqueId\");let i=new ArrayBuffer(r.byteLength),a=new Uint8Array(i);a.set(r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer)),r=a,t.push(r),this._lastInitSegmentUniqueId=e.initSegmentUniqueId}return e.chunk!==null&&t.push(e.chunk),t}_isLastInitSegment(e){return this._lastInitSegmentUniqueId===null?!1:this._lastInitSegmentUniqueId===e}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function Ys(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!=\"object\"||n!==null&&!(n instanceof ArrayBuffer)&&!(n.buffer instanceof ArrayBuffer)))throw new Error(\"Invalid data given to the AudioVideoSegmentSink\")}var Yr=Nn;var Un=class extends Yt{constructor(e){c.debug(\"Stream\",\"Creating TextSegmentSink\"),super(),this.bufferType=\"text\",this._sender=e,this._pendingOperations=[],this._sender.reset()}declareInitSegment(e){c.warn(\"Stream\",\"Declaring initialization segment for Text SegmentSink\",{uniqueId:e})}freeInitSegment(e){c.warn(\"Stream\",\"Freeing initialization segment for Text SegmentSink\",{uniqueId:e})}async pushChunk(e){let{data:t}=e;Wl(t.chunk);let r=this._sender.pushTextData(se(ee({},t),{chunk:t.chunk}));this._addToOperationQueue(r,{type:0,value:e});let i=await r;return e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,L()),this._segmentInventory.synchronizeBuffered(i),i}async removeBuffer(e,t){let r=this._sender.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(){c.debug(\"Stream\",\"Disposing TextSegmentSink\"),this._sender.reset()}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function Wl(n){if(I.CURRENT_ENV!==I.PRODUCTION){if(typeof n!=\"object\"||n===null||v(n.data))throw new Error(\"Invalid format given to a TextSegmentSink\");if(!ql(n))throw new Error(\"Invalid format given to a TextSegmentSink\");if(typeof n.data!=\"string\"&&typeof n.data.byteLength!=\"number\")throw new Error(\"Invalid format given to a TextSegmentSink\")}}function ql(n){return!(typeof n!=\"object\"||n===null||typeof n.type!=\"string\"||n.language!==void 0&&typeof n.language!=\"string\"||n.initTimescale!==null&&typeof n.initTimescale!=\"number\"||n.start!==void 0&&typeof n.start!=\"number\"||n.end!==void 0&&typeof n.end!=\"number\")}I.CURRENT_ENV===I.DEV&&(Vl=function(e){function t(r){}});var Vl;var Qs=Un;var Gl=[\"audio\",\"video\",\"text\"],Ln=class n{static isNative(e){return $s(e)}constructor(e,t,r){this._mediaSource=e,this._textInterface=r,this._hasVideo=t,this._initializedSegmentSinks={},this._onNativeBufferAddedOrDisabled=[]}getBufferTypes(){let e=this.getNativeBufferTypes();return this._textInterface!==null&&e.push(\"text\"),e}getNativeBufferTypes(){return this._hasVideo?[\"video\",\"audio\"]:[\"audio\"]}getStatus(e){let t=this._initializedSegmentSinks[e];return t===void 0?{type:\"uninitialized\"}:t===null?{type:\"disabled\"}:{type:\"initialized\",value:t}}waitForUsableBuffers(e){return this._areNativeBuffersUsable()?Promise.resolve():vt(e,t=>{let r=D,i=()=>{let a=this._onNativeBufferAddedOrDisabled.indexOf(r);a>=0&&this._onNativeBufferAddedOrDisabled.splice(a,1)};return r=()=>{this._areNativeBuffersUsable()&&(i(),t())},this._onNativeBufferAddedOrDisabled.push(r),i})}disableSegmentSink(e){let t=this._initializedSegmentSinks[e];if(t===null){c.warn(\"Stream\",`The ${e} SegmentSink was already disabled.`);return}if(t!==void 0)throw new Error(\"Cannot disable an active SegmentSink.\");this._initializedSegmentSinks[e]=null,n.isNative(e)&&(this._onNativeBufferAddedOrDisabled.slice().forEach(r=>r()),ce(this._onNativeBufferAddedOrDisabled.length===0))}createSegmentSink(e,t){let r=this._initializedSegmentSinks[e];if($s(e)){if(!v(r))return r instanceof Yr&&r.codec!==t?c.warn(\"Stream\",\"Reusing native SegmentSink with codec\",r.codec,\"for codec\",t):c.info(\"Stream\",\"Reusing native SegmentSink with codec\",t),r;c.info(\"Stream\",\"Adding native SegmentSink with codec\",t);let a=e===\"audio\"?\"audio\":\"video\",o=new Yr(a,t,this._mediaSource);return this._initializedSegmentSinks[e]=o,this._onNativeBufferAddedOrDisabled.slice().forEach(s=>s()),ce(this._onNativeBufferAddedOrDisabled.length===0),o}if(!v(r))return c.info(\"Stream\",\"Reusing a previous custom SegmentSink\",{bufferType:e}),r;let i;if(e===\"text\"){if(c.info(\"Stream\",\"Creating a new text SegmentSink\"),this._textInterface===null)throw new Error(\"HTML Text track feature not activated\");return i=new Qs(this._textInterface),this._initializedSegmentSinks.text=i,i}throw c.error(\"Stream\",\"Unknown buffer type:\",{bufferType:e}),new J(\"BUFFER_TYPE_UNKNOWN\",\"The player wants to create a SegmentSink of an unknown type.\")}disposeSegmentSink(e){let t=this._initializedSegmentSinks[e];if(v(t)){c.warn(\"Stream\",\"Trying to dispose a SegmentSink that does not exist\",{bufferType:e});return}c.info(\"Stream\",\"Aborting SegmentSink\",{bufferType:e}),t.dispose(),delete this._initializedSegmentSinks[e]}disposeAll(){Gl.forEach(e=>{this.getStatus(e).type===\"initialized\"&&this.disposeSegmentSink(e)})}_areNativeBuffersUsable(){let e=this.getNativeBufferTypes();return!(e.some(i=>this._initializedSegmentSinks[i]===void 0)||e.every(i=>this._initializedSegmentSinks[i]===null))}createSegmentSinkMetricsForType(e){var i,a;let t=(i=this._initializedSegmentSinks[e])==null?void 0:i.getLastKnownInventory(),r;if(t!==void 0){r=0;for(let o of t){if(o.chunkSize===void 0||r===void 0){r=void 0;break}r+=o.chunkSize}}return{bufferType:e,sizeEstimate:r,codec:(a=this._initializedSegmentSinks[e])==null?void 0:a.codec,segmentInventory:t==null?void 0:t.map(o=>se(ee({},o),{infos:Hl(o.infos)}))}}getSegmentSinksMetrics(){return{segmentSinks:{audio:this.createSegmentSinkMetricsForType(\"audio\"),video:this.createSegmentSinkMetricsForType(\"video\"),text:this.createSegmentSinkMetricsForType(\"text\")}}}};function $s(n){return n===\"audio\"||n===\"video\"}function Hl(n){return{adaptation:n.adaptation.getMetadataSnapshot(),period:n.period.getMetadataSnapshot(),representation:n.representation.getMetadataSnapshot()}}var _t=Ln;function Ea(n,e,t,r,i){let{period:a,adaptation:o,representation:s}=n,u=Kl(i,e);if(u===null){if(t===null){if(r&&a.end!==void 0&&e.end>=a.end)return{start:void 0,end:null};let l=s.index.checkDiscontinuity(e.start);if(l!==null)return{start:void 0,end:l}}return null}let d=i[u];if(d.bufferedStart!==void 0&&d.bufferedStart>e.start&&(t===null||d.infos.segment.end<=t)){let l=d.bufferedStart;return!r&&s.index.awaitSegmentBetween(e.start,l)!==!1?null:(c.debug(\"Stream\",\"current discontinuity encountered\",{bufferType:o.type,nextSegmentTime:d.bufferedStart,checkStartTime:e.start}),{start:void 0,end:l})}let f=jl(i,e,u+1);if(f!==null){let l=i[f-1],m=i[f];if(t===null||m.infos.segment.end<=t){if(!r&&s.index.awaitSegmentBetween(l.infos.segment.end,m.infos.segment.time)!==!1)return null;let g=l.bufferedEnd,p=m.bufferedStart;return c.debug(\"Stream\",\"future discontinuity encountered\",{bufferType:o.type,discontinuityStart:g,discontinuityEnd:p}),{start:g,end:p}}}if(t===null){if(r&&a.end!==void 0){if(e.end=a.end)return null;for(let l=i.length-1;l>=0;l--){let m=i[l];if(m.bufferedStart===void 0)break;if(m.bufferedStart=e.end)return null;if(r.bufferedEnd>e.start)return t}return null}function jl(n,e,t){if(t<=0)return c.error(\"Stream\",\"Asked to check a discontinuity before the first chunk.\"),null;for(let r=t;r=e.end)return null;if(i.bufferedStart-a.bufferedEnd>0)return r}return null}function Yl(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t];if(r.bufferedStart===void 0)return null;if(r.bufferedStart!Xs(R.infos,e,t,r)),g=nf(m,a,i),{MINIMUM_SEGMENT_SIZE:p,MIN_BUFFER_AHEAD:b}=U.getCurrent(),h=!1,S=Math.min(1/60,p),_=!1,P=[];return{segmentsToLoad:l.filter(R=>{let E=H({segment:R},e);if(o.length>0&&o.some(w=>nt(E,w)))return!1;let{duration:M,time:C,end:x}=R;if(R.isInit)return!0;if(h)return P.push(R),!1;if(R.complete&&M0&&o.some(w=>{if(w.period.id!==e.period.id||w.adaptation.id!==e.adaptation.id)return!1;let{segment:k}=w;if(k.time-S>C)return!1;if(k.complete){if(k.end+SC)return!1;return!Xs(w,E,t,r)}))return!1;for(let A of g){let w=A.infos.period.id===e.period.id;if(A.status===1&&w){let k=A.infos.segment;if(C-k.time>-S){if(k.complete){if(k.end-x>-S)return!1}else if(Math.abs(C-k.time)a.start+b))return h=!0,P.push(R),!1;let B=i(E);if(B.length>1){let A=B[B.length-1],w=B[B.length-2];if(A.buffered===null&&w.buffered===null)return c.warn(\"Stream\",\"Segment GCed multiple times in a row, ignoring it.\",\"If this happens a lot and lead to unpleasant experience, please check your device's available memory. If it's low when this message is emitted, you might want to update the RxPlayer's settings (`maxBufferAhead`, `maxVideoBufferSize` etc.) so less memory is used by regular media data buffering.\",{bufferType:u.type,representationId:d.id,segmentTime:R.time}),!1}for(let A=0;AC){let k=w.start>C+S||$l(g,A).end{let{bitrate:o}=a.representation,{duration:s}=a.segment;return i+o*s},0),n.reduce((i,a)=>a.chunkSize!==void 0?i-a.chunkSize*8:i,r)}function $l(n,e){let t=e+1,{MINIMUM_SEGMENT_SIZE:r}=U.getCurrent(),i=Math.min(1/60,r);for(;tn[t].start;)t++;return t--,n[t]}function Xs(n,e,t,r){let{CONTENT_REPLACEMENT_PADDING:i}=U.getCurrent();if(n.period.id!==e.period.id)return!1;let{segment:a}=n;return a.timea}return rr}function Zl(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=U.getCurrent();return n.bufferedStart===void 0||e!==null&&e.bufferedEnd!==void 0&&n.bufferedStart-e.bufferedEnd<.1?!1:tr?(c.info(\"Stream\",\"The start of the wanted segment has been garbage collected\",{segmentStart:n.start,currentStartInBuffer:n.bufferedStart}),!0):!1}function Jl(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=U.getCurrent();return n.bufferedEnd===void 0||e!==null&&e.bufferedStart!==void 0&&e.bufferedStart-n.bufferedEnd<.1?!1:t>n.bufferedEnd&&n.end-n.bufferedEnd>r?(c.info(\"Stream\",\"The end of the wanted segment has been garbage collected\",{segmentEnd:n.end,currentEndInBuffer:n.bufferedEnd}),!0):!1}function ef(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.start;if(e!==void 0&&r!==void 0&&e-r>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.start;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function tf(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.end;if(e!==void 0&&r!==void 0&&r-e>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.end;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function nf(n,e,t){return n.filter((r,i,a)=>{let o=i===0?null:a[i-1],s=i>=a.length-1?null:a[i+1],u=null;if(Zl(r,o,e.start)){if(u=t(r.infos),ef(u,r.bufferedStart))return!1;c.debug(\"Stream\",\"skipping segment gc-ed at the start\",{segmentStart:r.start,currentStartInBuffer:r.bufferedStart})}if(Jl(r,s,e.end)){if(u=u!=null?u:t(r.infos),tf(u,r.bufferedEnd))return!1;c.debug(\"Stream\",\"skipping segment gc-ed at the end\",{segmentEnd:r.end,currentEndInBuffer:r.bufferedEnd})}return!0})}function Fn(n,e){let t=n-e,{SEGMENT_PRIORITIES_STEPS:r}=U.getCurrent();for(let i=0;iB.type===2).map(B=>B.value),p=o.getLastKnownInventory(),b=t.getCurrentTime();b===void 0&&(b=t.getReference().getValue().position.getWanted());let h=o.getSegmentHistory.bind(o),{segmentsToLoad:S,segmentsOnHold:_,isBufferFull:P}=_a({content:n,bufferedSegments:p,currentPlaybackTime:b,fastSwitchThreshold:r,getBufferedHistory:h,neededRange:l,segmentsBeingPushed:g,maxBufferSize:a}),T=S.map(B=>({priority:Fn(B.time,f),segment:B})),R=s.index.isInitialized()&&!s.index.isStillAwaitingFutureSegments()&&l.hasReachedPeriodEnd&&T.length===0&&_.length===0,E=null;return g.length>0&&(E=Math.min(...g.map(B=>B.segment.time))),_.length>0&&(E=E!==null?Math.min(E,_[0].time):_[0].time),T.length>0&&(E=E!==null?Math.min(E,T[0].segment.time):T[0].segment.time),{imminentDiscontinuity:Ea(n,l,E,R,p),hasFinishedLoading:R,neededSegments:T,isBufferFull:P,shouldRefreshManifest:m}}function rf(n,e,t){var l;let r,{manifest:i,period:a,representation:o}=n,s=o.index.getLastAvailablePosition(),u=o.index;!v(s)&&_t.isNative(n.adaptation.type)&&e>=s&&u.isInitialized()&&!u.isStillAwaitingFutureSegments()&&af(i,a,e)?r=s-1:r=e-.1;let d=r+t,f;return!o.index.isInitialized()||o.index.isStillAwaitingFutureSegments()||a.end===void 0?f=!1:s===void 0?f=d>=a.end:s===null?f=!0:f=d>=s,{start:Math.max(r,a.start),end:Math.min(d,(l=a.end)!=null?l:1/0),hasReachedPeriodEnd:f}}function af(n,e,t){var i;let r=n.getPeriodAfter(e);return e.containsTime(t,r)&&n.isLastPeriodKnown&&e.id===((i=n.periods[n.periods.length-1])==null?void 0:i.id)}async function zn(n,e,t,r,i){try{return await e.pushChunk(t)}catch(a){if(i.isCancelled()&&a instanceof ue)throw a;if(!(a instanceof xe)||!a.isBufferFull){let u=a instanceof Error?a.toString():\"An unknown error happened when pushing content\";throw new J(\"BUFFER_APPEND_ERROR\",u,{tracks:[Pt(t.inventoryInfos.adaptation)]})}let{position:o}=n.getReference().getValue(),s=o.getWanted();try{c.warn(\"Stream\",\"Running garbage collector\");let u=Math.max(s-5,0),d=s+r.getValue()+12;if(u>0&&await e.removeBuffer(0,u),d{S.uniqueId!==null&&r.freeInitSegment(S.uniqueId)});let _=S.segment!==null;_||(S.isLoaded=!0);let P=!1;if(g!==void 0){let C=f.getEncryptionData(g);if(C.length>0&&C.every(x=>x.keyIds!==void 0)&&(P=!0,o.encryptionDataEncountered(C.map(x=>H({content:n},x))),h.isUsed()))return}i.addEventListener(\"error\",C=>{h.signal.isCancelled()||(h.cancel(),o.error(C))}),i.addEventListener(\"parsedInitSegment\",E,h.signal),i.addEventListener(\"parsedMediaSegment\",E,h.signal),i.addEventListener(\"emptyQueue\",R,h.signal),i.addEventListener(\"requestRetry\",C=>{if(o.warning(C.error),h.signal.isCancelled())return;let x=C.segment,{index:N}=f;N.isSegmentStillAvailable(x)===!1?R():N.canBeOutOfSyncError(C.error,x)&&o.manifestMightBeOufOfSync()},h.signal),i.addEventListener(\"fullyLoadedSegment\",C=>{r.signalSegmentComplete(H({segment:C},n)).catch(M)},h.signal);let T=i.resetForContent(n,_);h.signal.register(()=>{i.stop()}),t.listen(R,{includeLastObservation:!1,clearSignal:h.signal}),n.manifest.addEventListener(\"manifestUpdate\",R,h.signal),l.onUpdate(R,{emitCurrentValue:!1,clearSignal:h.signal}),m.onUpdate(R,{emitCurrentValue:!1,clearSignal:h.signal}),a.onUpdate(R,{emitCurrentValue:!1,clearSignal:h.signal}),R();return;function R(){if(h.isUsed())return;let C=t.getReference().getValue(),x=C.position.getWanted(),N=Ra(n,x,t,p.getValue(),l.getValue(),m.getValue(),r),{neededSegments:B}=N,A=null;if(f.index.isInitialized()){if(B.length>0&&!S.isLoaded&&S.segment!==null){let O=B[0].priority;A={segment:S.segment,priority:O}}}else if(S.segment===null)c.warn(\"Stream\",\"Uninitialized index without an initialization segment\",{bufferType:b,representationBitrate:n.representation.bitrate});else if(S.isLoaded)c.warn(\"Stream\",\"Uninitialized index with an already loaded initialization segment\",{bufferType:b,representationBitrate:n.representation.bitrate});else{let O=C.position.getWanted();A={segment:S.segment,priority:Fn(u.start,O)}}let w=a.getValue();if(w===null)T.setValue({initSegment:A,segmentQueue:B});else if(w.urgent){c.debug(\"Stream\",\"Urgent switch, terminate now.\",{bufferType:b,representationBitrate:n.representation.bitrate}),T.setValue({initSegment:null,segmentQueue:[]}),T.finish(),h.cancel(),o.terminating();return}else{let O=B[0],z=i.getRequestedInitSegment(),q=i.getRequestedMediaSegment(),X=q===null||O===void 0||q.id!==O.segment.id?[]:[O],Z=z===null?null:A;if(T.setValue({initSegment:Z,segmentQueue:X}),X.length===0&&Z===null){c.debug(\"Stream\",\"No request left, terminate\",{bufferType:b,representationBitrate:n.representation.bitrate}),T.finish(),h.cancel(),o.terminating();return}}if(o.streamStatusUpdate({period:u,position:C.position.getWanted(),bufferType:b,imminentDiscontinuity:N.imminentDiscontinuity,isEmptyStream:!1,hasFinishedLoading:N.hasFinishedLoading,neededSegments:N.neededSegments}),h.signal.isCancelled())return;let{UPTO_CURRENT_POSITION_CLEANUP:k}=U.getCurrent();if(N.isBufferFull){let O=Math.max(0,x-k);O>0&&r.removeBuffer(0,O).catch(M)}N.shouldRefreshManifest&&o.needsManifestRefresh()}function E(C){for(let x of C.protectionData)f.addProtectionData(x.initDataType,x.keyId,x.initData);if(!P){let x=f.getAllEncryptionData();x.length>0&&(o.encryptionDataEncountered(x.map(N=>H({content:n},N))),P=!0)}if(C.segmentType===\"init\"){if(!f.index.isInitialized()&&C.segmentList!==void 0&&f.index.initialize(C.segmentList),S.isLoaded=!0,C.initializationData!==null){let x=f.uniqueId;S.uniqueId=x,r.declareInitSegment(x,C.initializationData),Pa({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:x,segment:C.segment,segmentData:C.initializationData,segmentSink:r},h.signal).then(N=>{N!==null&&o.addedSegment(N)}).catch(M)}R();return}else{let{inbandEvents:x,predictedSegments:N,needsManifestRefresh:B}=C;if(N!==void 0&&f.index.addPredictedSegments(N,C.segment),B===!0&&(o.needsManifestRefresh(),h.isUsed())||x!==void 0&&x.length>0&&(o.inbandEvent(x),h.isUsed()))return;let A=S.uniqueId;va({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:A,parsedSegment:C,segment:C.segment,segmentSink:r},h.signal).then(w=>{w!==null&&o.addedSegment(w)}).catch(M)}}function M(C){h.isUsed()&&C instanceof ue||(c.warn(\"Stream\",\"Received fatal buffer error\",{bufferType:b,representationBitrate:n.representation.bitrate},C instanceof Error?C:null),h.cancel(),o.error(C))}}var Zs=Ca;function Aa(n,e,t,r,i){var m,g,p,b;if(t.switchingMode===\"lazy\")return{type:\"continue\",value:void 0};let a=r.getLastKnownInventory(),o=[];for(let h of a)h.infos.period.id===n.id&&(h.infos.adaptation.id!==e.id||!Ie(t.representationIds,h.infos.representation.id))&&Et(o,{start:(m=h.bufferedStart)!=null?m:h.start,end:(g=h.bufferedEnd)!=null?g:h.end});let s=r.getPendingOperations();for(let h of s)if(h.type===0){let S=h.value.inventoryInfos;if(S.period.id===n.id&&(S.adaptation.id!==e.id||!Ie(t.representationIds,S.representation.id))){let _=S.segment.time,P=_+S.segment.duration;Et(o,{start:_,end:P})}}if(o.length===0)return{type:\"continue\",value:void 0};if(t.switchingMode===\"reload\"){let h=i.getReadyState();if(h===void 0||h>1)return{type:\"needs-reload\",value:void 0}}let u=t.switchingMode===\"direct\",d=[],f=Kt(a,n);if(f!==null&&(f.bufferedEnd===void 0||n.start-f.bufferedEnd<1)&&d.push({start:0,end:n.start+1}),!u){let{ADAP_REP_SWITCH_BUFFER_PADDINGS:h}=U.getCurrent(),S=e.type,_=(p=h[S].before)!=null?p:0,P=(b=h[S].after)!=null?b:0,T=i.getCurrentTime();T===void 0&&(T=i.getReference().getValue().position.getPolled()),d.push({start:T-_,end:T+P})}if(n.end!==void 0){let h=jt(a,n);h!==null&&(h.bufferedStart===void 0||h.bufferedStart-n.end<1)&&d.push({start:n.end-1,end:Number.MAX_VALUE})}let l=Hr(o,d);return l.length===0?{type:\"continue\",value:void 0}:u?{type:\"flush-buffer\",value:l}:{type:\"clean-buffer\",value:l}}function ka({playbackObserver:n,content:e,options:t,representationEstimator:r,segmentSink:i,segmentQueueCreator:a,wantedBufferAhead:o,maxVideoBufferSize:s},u,d){let{manifest:f,period:l,adaptation:m}=e,g=new F;g.linkToSignal(d);let p=new Map,b=new Q(null,g.signal),h,S=e.representations.getValue().representationIds,_=Js(e.adaptation.representations,S),P=new Q(_,g.signal),{estimates:T,callbacks:R}=r({manifest:f,period:l,adaptation:m},b,P,n,g.signal),E=new Q(!1);n.listen(k=>{var z;let O=(z=k.canStream)!=null?z:!0;E.getValue()===O&&(c.debug(\"Stream\",\"isMediaSegmentQueueInterrupted updated to\",!O),E.setValue(!O))},{clearSignal:g.signal});let M=a.createSegmentQueue(m.type,{onRequestBegin:R.requestBegin,onRequestEnd:R.requestEnd,onProgress:R.requestProgress,onMetrics:R.metrics},E),C=new Q(0);T.onUpdate(({bitrate:k,knownStableBitrate:O})=>{t.enableFastSwitching&&C.setValueIfChanged(O),!(k===void 0||k===h)&&(h=k,c.debug(\"Stream\",`new ${m.type} bitrate estimate received from ABR`,{bitrate:k}),u.bitrateEstimateChange({type:m.type,bitrate:k}))},{emitCurrentValue:!0,clearSignal:g.signal});let x;e.representations.onUpdate(k=>{x!==void 0&&x.cancel();let O=e.representations.getValue().representationIds,z=Js(e.adaptation.representations,O);P.setValueIfChanged(z),x=new F,x.linkToSignal(g.signal),N(k,x.signal).catch(q=>{(x==null?void 0:x.isUsed())===!0&&F.isCancellationError(q)||(g.cancel(),u.error(q))})},{clearSignal:g.signal,emitCurrentValue:!0});return;async function N(k,O){let z=Aa(l,m,k,i,n);switch(z.type){case\"continue\":break;case\"needs-reload\":return dt(()=>{n.listen(()=>{if(O.isCancelled())return;let{DELTA_POSITION_AFTER_RELOAD:q}=U.getCurrent(),X=q.bitrateSwitch;return u.waitingMediaSourceReload({bufferType:m.type,period:l,timeOffset:X,stayInPeriod:!0})},{includeLastObservation:!0,clearSignal:O})});case\"flush-buffer\":case\"clean-buffer\":for(let q of z.value)if(await i.removeBuffer(q.start,q.end),O.isCancelled())return;if(z.type===\"flush-buffer\"&&(u.needsBufferFlush(),O.isCancelled()))return;break;default:Ne(z)}B(O)}function B(k){let O=new F;O.linkToSignal(k);let{representation:z}=T.getValue();if(z===null)return;let q=new Q(null,O.signal);T.onUpdate(V=>{if(!(V.representation===null||V.representation.id===z.id))return V.urgent?(c.info(\"Stream\",\"urgent Representation switch\",{bufferType:m.type,estimateBitrate:V.bitrate,prevRepresentationBitrate:z.bitrate,newRepresentationBitrate:V.representation.bitrate}),q.setValue({urgent:!0})):(c.info(\"Stream\",\"slow Representation switch\",{bufferType:m.type,estimateBitrate:V.bitrate,prevRepresentationBitrate:z.bitrate,newRepresentationBitrate:V.representation.bitrate}),q.setValue({urgent:!1}))},{clearSignal:O.signal,emitCurrentValue:!0});let X={type:m.type,adaptation:m,period:l,representation:z};if(b.setValue(z),k.isCancelled()||(u.representationChange(X),k.isCancelled()))return;let Z={streamStatusUpdate:u.streamStatusUpdate,encryptionDataEncountered:u.encryptionDataEncountered,manifestMightBeOufOfSync:u.manifestMightBeOufOfSync,needsManifestRefresh:u.needsManifestRefresh,inbandEvent:u.inbandEvent,warning:u.warning,error(V){g.cancel(),u.error(V)},addedSegment(V){R.addedSegment(V)},terminating(){if(!O.isUsed())return O.cancel(),B(k)}};A(z,q,Z,k)}function A(k,O,z,q){let X=!1,Z=new F;Z.linkToSignal(q);let V=tn(o,me=>w(k,me),Z.signal),G=m.type===\"video\"?s:new Q(1/0);c.info(\"Stream\",\"changing representation\",{bufferType:m.type,representationId:k.id,representationBitrate:k.bitrate});let j=H({},z,{error(me){var pe;if(X){c.warn(\"Stream\",\"Ignoring RepresentationStream error\",me);return}X=!0;let le=ge(me,{defaultCode:\"NONE\",defaultReason:\"Unknown `RepresentationStream` error\"});if(le.code!==\"BUFFER_FULL_ERROR\")z.error(me);else{c.warn(\"Stream\",\"received BUFFER_FULL_ERROR\",{bufferType:m.type,representationBitrate:k.bitrate});let $e=o.getValue(),oe=((pe=p.get(k.id))!=null?pe:1)*.7;if(p.set(k.id,oe),oe<=.05||w(k,$e)<=2){z.error(le);return}fn(4e3,q).then(()=>A(k,O,z,q)).catch(D)}},terminating(){Z.cancel(),z.terminating()}});Zs({playbackObserver:n,content:{representation:k,adaptation:m,period:l,manifest:f},segmentSink:i,segmentQueue:M,terminate:O,options:{bufferGoal:V,maxBufferSize:G,drmSystemId:t.drmSystemId,fastSwitchThreshold:C}},j,q),f.addEventListener(\"manifestUpdate\",me=>{for(let le of me.updatedPeriods)if(le.period.id===l.id){for(let pe of le.result.updatedAdaptations)if(pe.adaptation===m.id){for(let $e of pe.removedRepresentations)if($e===k.id)return q.isCancelled()?void 0:u.waitingMediaSourceReload({bufferType:m.type,period:l,timeOffset:0,stayInPeriod:!0})}}else if(le.period.start>l.start)break},q)}function w(k,O){let z=p.get(k.id),q=z!==void 0?z:1;return z===void 0&&p.set(k.id,q),q<1&&O===1/0?300*1e3*q:O*q}}function Js(n,e){let t=n.filter(r=>Ie(e,r.id)&&!r.shouldBeAvoided&&r.isPlayable()!==!1);return t.length>0?t:n.filter(r=>Ie(e,r.id)&&r.isPlayable()!==!1)}var eu=ka;function xa(n,e,t,r,i,a){var g,p,b,h;if(n.codec!==void 0&&a.onCodecSwitch===\"reload\"&&!of(t,n.codec))return{type:\"needs-reload\",value:void 0};let o=n.getLastKnownInventory(),s=[];for(let S of o)S.infos.period.id===e.id&&S.infos.adaptation.id!==t.id&&Et(s,{start:(g=S.bufferedStart)!=null?g:S.start,end:(p=S.bufferedEnd)!=null?p:S.end});let u=n.getPendingOperations();for(let S of u)if(S.type===0){let _=S.value.inventoryInfos;if(_.period.id===e.id&&_.adaptation.id!==t.id){let P=_.segment.time,T=P+_.segment.duration;Et(s,{start:P,end:T})}}if(s.length===0)return{type:\"continue\",value:void 0};if(r===\"reload\"){let S=i.getReadyState();if(S===void 0||S>1)return{type:\"needs-reload\",value:void 0}}let d=r===\"direct\",f=[],l=Kt(o,e);if(l!==null&&(l.bufferedEnd===void 0||e.start-l.bufferedEnd<1)&&f.push({start:0,end:e.start+1}),!d){let S=t.type,{ADAP_REP_SWITCH_BUFFER_PADDINGS:_}=U.getCurrent(),P=(b=_[S].before)!=null?b:0,T=(h=_[S].after)!=null?h:0,R=i.getCurrentTime();R===void 0&&(R=i.getReference().getValue().position.getPolled()),f.push({start:R-P,end:R+T})}if(e.end!==void 0){let S=jt(o,e);S!==null&&(S.bufferedStart===void 0||S.bufferedStart-e.end<1)&&f.push({start:e.end-1,end:Number.MAX_VALUE})}let m=Hr(s,f);return m.length===0?{type:\"continue\",value:void 0}:d&&t.type!==\"text\"?{type:\"flush-buffer\",value:m}:{type:\"clean-buffer\",value:m}}function of(n,e){return n.representations.some(t=>t.isPlayable()===!0&&Vo(t.getMimeTypeString(),e))}function Ma({bufferType:n,content:e,garbageCollectors:t,playbackObserver:r,representationEstimator:i,segmentQueueCreator:a,segmentSinksStore:o,options:s,wantedBufferAhead:u,maxVideoBufferSize:d},f,l){let{manifest:m,period:g}=e,p=new Q(void 0,l);if(f.periodStreamReady({type:n,manifest:m,period:g,adaptationRef:p}),l.isCancelled())return;let b,h=!0;p.onUpdate(P=>{(async()=>{var w;if(P===void 0)return;let T=new F;if(T.linkToSignal(l),b==null||b.cancel(),b=T,P===null){c.info(\"Stream\",\"Set no Adaptation\",{periodStart:g.start,bufferType:n});let k=o.getStatus(n);if(k.type===\"initialized\"){if(c.info(\"Stream\",\"Clearing previous SegmentSink\",{periodStart:g.start,bufferType:n}),_t.isNative(n))return _(0,!0,T.signal);{let O=(w=g.end)!=null?w:1/0;if(g.start>O)c.warn(\"Stream\",\"Can't free buffer: period's start is after its end\",{periodStart:g.start,periodEnd:O,bufferType:n});else if(await k.value.removeBuffer(g.start,O),T.isUsed())return}}else if(k.type===\"uninitialized\"&&(o.disableSegmentSink(n),T.isUsed()))return;return f.adaptationChange({type:n,adaptation:null,period:g}),T.isUsed()?void 0:tu(r,u,n,{period:g},f,T.signal)}let R=g.adaptations[n],E=K(R!=null?R:[],k=>k.id===P.adaptationId);if(E===void 0){b.cancel(),c.warn(\"Stream\",\"Unfound chosen Adaptation choice\",{adaptationId:P.adaptationId});return}let{DELTA_POSITION_AFTER_RELOAD:M}=U.getCurrent(),C=!1,x;if(h)x=0;else if(P.relativeResumingPosition!==void 0)x=P.relativeResumingPosition;else switch(C=!0,n){case\"audio\":x=M.trackSwitch.audio;break;case\"video\":x=M.trackSwitch.video;break;default:x=M.trackSwitch.other;break}if(h=!1,_t.isNative(n)&&o.getStatus(n).type===\"disabled\")return _(x,!0,T.signal);m.addEventListener(\"manifestUpdate\",k=>{for(let O of k.updatedPeriods)if(O.period.id===g.id){for(let z of O.result.removedAdaptations)if(z.id===E.id)return _(x,!0,T.signal)}else if(O.period.start>g.start)break},b.signal);let{representations:N}=P;if(c.info(\"Stream\",\"Updating adaptation\",{bufferType:E.type,periodStart:g.start,adaptationId:E.id}),f.adaptationChange({type:n,adaptation:E,period:g}),T.isUsed())return;let B=sf(o,n,E),A=xa(B,g,E,P.switchingMode,r,s);if(A.type===\"needs-reload\")return _(x,!0,T.signal);if(await o.waitForUsableBuffers(T.signal),!T.isUsed()){if(A.type===\"flush-buffer\"||A.type===\"clean-buffer\"){for(let{start:k,end:O}of A.value)if(await B.removeBuffer(k,O),T.isUsed())return;if(A.type===\"flush-buffer\"&&(f.needsBufferFlush({relativeResumingPosition:x,relativePosHasBeenDefaulted:C}),T.isUsed()))return}t.get(B)(T.signal),S(E,N,B,T.signal)}})().catch(T=>{T instanceof ue||(b==null||b.cancel(),f.error(T))})},{clearSignal:l,emitCurrentValue:!0});function S(P,T,R,E){let M=df(r,P.type);eu({content:{manifest:m,period:g,adaptation:P,representations:T},options:s,playbackObserver:M,representationEstimator:i,segmentSink:R,segmentQueueCreator:a,wantedBufferAhead:u,maxVideoBufferSize:d},se(ee({},f),{error:C}),E);function C(x){if(!_t.isNative(n)){c.error(\"Stream\",`${n} Stream crashed. Aborting it.`,x instanceof Error?x:\"\"),o.disposeSegmentSink(n);let N=ge(x,{defaultCode:\"NONE\",defaultReason:\"Unknown `AdaptationStream` error\"});return f.warning(N),E.isCancelled()?void 0:tu(r,u,n,{period:g},f,E)}c.error(\"Stream\",`${n} Stream crashed. Stopping playback.`,x instanceof Error?x:\"\"),f.error(x)}}function _(P,T,R){dt(()=>{r.listen(()=>{R.isCancelled()||f.waitingMediaSourceReload({bufferType:n,period:g,timeOffset:P,stayInPeriod:T})},{includeLastObservation:!0,clearSignal:R})})}}function sf(n,e,t){let r=n.getStatus(e);if(r.type===\"initialized\")return c.info(\"Stream\",\"Reusing a previous SegmentSink for the type\",{bufferType:e}),r.value;let i=uf(t);return n.createSegmentSink(e,i)}function uf(n){let e=n.representations.filter(t=>t.isPlayable()!==!1);if(e.length>0)return e[0].getMimeTypeString();if(n.representations.length>0)return n.representations[0].getMimeTypeString();throw new J(\"NO_PLAYABLE_REPRESENTATION\",\"No Representation in the chosen \"+n.type+\" Adaptation can be played\",{tracks:[Pt(n)]})}function df(n,e){return n.deriveReadOnlyObserver(function(r,i){let a=new Q(o(),i);return r.onUpdate(s,{clearSignal:i,emitCurrentValue:!1}),a;function o(){let u=r.getValue(),d=u.buffered[e],f=d!==null?Gr(d,u.position.getWanted()):0;return H({},u,{bufferGap:f,buffered:d})}function s(){a.setValue(o())}})}function tu(n,e,t,r,i,a){let{period:o}=r,s=!1;e.onUpdate(u,{emitCurrentValue:!1,clearSignal:a}),n.listen(u,{includeLastObservation:!1,clearSignal:a}),u();function u(){let d=n.getReference().getValue(),f=e.getValue(),l=d.position.getWanted();o.end!==void 0&&l+f>=o.end&&(c.debug(\"Stream\",'full \"empty\" AdaptationStream',{bufferType:t,periodEnd:o.end,position:l,wantedBufferAhead:f}),s=!0),i.streamStatusUpdate({period:o,bufferType:t,imminentDiscontinuity:null,position:l,isEmptyStream:!0,hasFinishedLoading:s,neededSegments:[]})}}var nu=Ma;function Qr(n,e){if(e.length===0)return[];let t=[],r=n.getLastKnownInventory(),i=n.getPendingOperations();for(let a of r)if(e.some(s=>a.infos.period.id===s.period.id&&a.infos.adaptation.id===s.adaptation.id&&a.infos.representation.id===s.representation.id)){let{bufferedStart:s,bufferedEnd:u}=a;if(s===void 0||u===void 0)return c.warn(\"Stream\",\"No buffered start or end found from a segment.\",{bufferType:a.infos.adaptation.type,segmentStart:a.infos.segment.time}),[{start:0,end:Number.MAX_VALUE}];let d=t[t.length-1];d!==void 0&&d.end===s?d.end=u:t.push({start:s,end:u})}for(let a of i){if(a.type!==0)continue;let o=a.value;e.some(u=>o.inventoryInfos.period.id===u.period.id&&o.inventoryInfos.adaptation.id===u.adaptation.id&&o.inventoryInfos.representation.id===u.representation.id)&&Et(t,{start:o.inventoryInfos.start,end:o.inventoryInfos.end})}return t}function Oa(n,e,t,r,i,a,o,s){let{manifest:u,initialPeriod:d}=n,{maxBufferAhead:f,maxBufferBehind:l,wantedBufferAhead:m,maxVideoBufferSize:g}=a,{MINIMUM_MAX_BUFFER_AHEAD:p,MAXIMUM_MAX_BUFFER_AHEAD:b,MAXIMUM_MAX_BUFFER_BEHIND:h}=U.getCurrent(),S=new wn(T=>{var C,x;let{bufferType:R}=T,E=(C=h[R])!=null?C:1/0,M=(x=b[R])!=null?x:1/0;return N=>{Kr({segmentSink:T,playbackObserver:e,maxBufferBehind:tn(l,B=>Math.min(B,E),N),maxBufferAhead:tn(f,B=>{var w;let A=Math.max(B,(w=p[R])!=null?w:0);return Math.min(A,M)},N)},N)}});for(let T of r.getBufferTypes())_(T,d);function _(T,R){let E=new Bt((A,w)=>A.start-w.start),M=!1,C=new F;return C.linkToSignal(s),e.listen(({position:A})=>{let w=A.getWanted();if(!M||!N(w))return;let k=()=>{var z;return(z=u.getPeriodForTime(w))!=null?z:u.getNextPeriod(w)},O=k();if(!(!v(O)&&E.has(O))){for(c.info(\"Stream\",\"Destroying all PeriodStreams due to out of bounds situation\",{bufferType:T,time:w}),M=!1;E.length()>0;){let z=E.get(E.length()-1);E.removeElement(z),o.periodStreamCleared({type:T,manifest:u,period:z})}if(C.cancel(),C=new F,C.linkToSignal(s),O=k(),O===void 0){c.warn(\"Stream\",\"The wanted position is not found in the Manifest.\"),M=!0;return}x(O)}},{clearSignal:s,includeLastObservation:!0}),u.addEventListener(\"decipherabilityUpdate\",A=>{s.isCancelled()||B(A).catch(w=>{s.isCancelled()||(C.cancel(),o.error(w))})},s),x(R);function x(A){let w=se(ee({},o),{waitingMediaSourceReload(k){let O=E.head();O===void 0||O.id!==k.period.id?o.lockedStream({bufferType:k.bufferType,period:k.period}):o.needsMediaSourceReload({timeOffset:k.timeOffset,minimumPosition:k.stayInPeriod?k.period.start:void 0,maximumPosition:k.stayInPeriod?k.period.end:void 0})},periodStreamReady(k){M=!0,E.add(k.period),o.periodStreamReady(k)},periodStreamCleared(k){E.removeElement(k.period),o.periodStreamCleared(k)},error(k){C.cancel(),o.error(k)}});P(T,A,w,C.signal)}function N(A){let w=E.head(),k=E.last();return w===void 0||k===void 0?!0:w.start>A||(v(k.end)?1/0:k.end)V.adaptation.type===T);if(k.length===0||w.type!==\"initialized\"||k.every(V=>V.representation.decipherable===!0))return;let O=w.value,z=k.filter(V=>V.representation.decipherable===void 0),q=k.filter(V=>V.representation.decipherable===!1),X=Qr(O,q),Z=Qr(O,z);for(M=!1,c.info(\"Stream\",\"Destroying all PeriodStreams for decipherability matters\",{bufferType:T});E.length()>0;){let V=E.get(E.length()-1);E.removeElement(V),o.periodStreamCleared({type:T,manifest:u,period:V})}C.cancel(),C=new F,C.linkToSignal(s);for(let{start:V,end:G}of[...X,...Z]){if(s.isCancelled())return;if(V{if(s.isCancelled())return;let V=e.getReference().getValue();if(ru(V,X)){if(o.needsDecipherabilityFlush(),s.isCancelled())return}else if(ru(V,Z)&&(o.needsBufferFlush(),s.isCancelled()))return;let G=V.position.getWanted(),j=u.getPeriodForTime(G);if(j===void 0&&(j=u.getNextPeriod(G),c.warn(\"Stream\",\"No Period found for the reloading position, selecting next one instead\",{reloadPosition:G,nextPeriodStart:j==null?void 0:j.start})),j===void 0&&(j=u.periods[u.periods.length-1],c.warn(\"Stream\",\"No Period found for of after the reloading position, selecting the last one\",{reloadPosition:G,nextPeriodStart:j==null?void 0:j.start,nextPeriodEnd:j==null?void 0:j.end})),j===void 0){o.error(new J(\"MEDIA_TIME_NOT_FOUND\",\"The wanted position is not found in the Manifest.\"));return}x(j)})}}function P(T,R,E,M){c.info(\"Stream\",\"Creating new PeriodStream\",{bufferType:T,periodStart:R.start});let C=null,x=new F;x.linkToSignal(M),e.listen(({position:k},O)=>{if(R.end!==void 0&&k.getWanted()>=R.end){let z=u.getPeriodAfter(R);if(R.containsTime(k.getWanted(),z))return;c.info(\"Stream\",\"Destroying PeriodStream as the current playhead moved above it\",{bufferType:T,periodStart:R.start,periodEnd:R.end,position:k.getWanted()}),O(),E.periodStreamCleared({type:T,manifest:u,period:R}),x.cancel()}},{clearSignal:M,includeLastObservation:!0});let N={bufferType:T,content:{manifest:u,period:R},garbageCollectors:S,maxVideoBufferSize:g,segmentQueueCreator:i,segmentSinksStore:r,options:a,playbackObserver:e,representationEstimator:t,wantedBufferAhead:m},B=se(ee({},E),{streamStatusUpdate(k){if(k.hasFinishedLoading){let O=u.getPeriodAfter(R);O!==null&&A(O)}else C!==null&&(c.info(\"Stream\",\"Destroying next PeriodStream due to current one being active\",{bufferType:T,periodStart:R.start,nextPeriodStart:C.period.start}),E.periodStreamCleared({type:T,manifest:u,period:C.period}),C.canceller.cancel(),C=null);E.streamStatusUpdate(k)},error(k){C!==null&&(C.canceller.cancel(),C=null),x.cancel(),E.error(k)}});nu(N,B,x.signal),w(x.signal);function A(k){if(C!==null){if(C.period.id===k.id)return;c.warn(\"Stream\",\"Creating next `PeriodStream` while one was already created.\",{bufferType:T,nextPeriodStart:k.start}),E.periodStreamCleared({type:T,manifest:u,period:C.period}),C.canceller.cancel()}let O=new F;O.linkToSignal(M),C={canceller:O,period:k},P(T,k,E,C.canceller.signal)}function w(k){u.addEventListener(\"manifestUpdate\",O=>{for(let z of O.removedPeriods)if(z.id===R.id){if(u.periods.length>0&&u.periods[0].start<=z.start)return dt(()=>{if(!k.isCancelled())return o.needsMediaSourceReload({timeOffset:0,minimumPosition:void 0,maximumPosition:void 0})})}else if(z.start>R.start)break;if(O.addedPeriods.length>0&&C!==null){let z=u.getPeriodAfter(R);(z===null||C.period.id!==z.id)&&(c.warn(\"Stream\",\"Destroying next PeriodStream due to new one being added\",{bufferType:T,nextPeriodStart:C.period.start}),E.periodStreamCleared({type:T,manifest:u,period:C.period}),C.canceller.cancel(),C=null)}},k)}}}function ru(n,e){if(e.length===0)return!1;let t=n.position.getPolled();return n.speed>=0?e[e.length-1].end>=t-5:e[0].start<=t+5}var iu=Oa;var au=iu;var Wn=class extends fe{constructor(e,t,r){super(),this._canceller=new F,this._manifest=e,this._activeStreams=new Map,this._allBufferTypes=r,this._lastCurrentPeriodId=null;let i=new wa(e);this._maximumPositionCalculator=i;let a=this._canceller.signal;dt(()=>{t.listen(({position:o})=>{let s=o.getWanted();if(si.getMaximumAvailablePosition()){let u=new J(\"MEDIA_TIME_AFTER_MANIFEST\",\"The current position is after the latest time announced in the Manifest.\");this.trigger(\"warning\",u)}},{includeLastObservation:!1,clearSignal:a})}),e.addEventListener(\"manifestUpdate\",()=>{this.trigger(\"endingPositionChange\",this._getManifestEndTime()),!a.isCancelled()&&this._checkEndOfStream()},a)}getCurrentEndingTime(){return this._getManifestEndTime()}onAdaptationChange(e,t,r){if(this._manifest.isLastPeriodKnown){let i=this._manifest.periods[this._manifest.periods.length-1];if(t.id===(i==null?void 0:i.id)&&(e===\"audio\"||e===\"video\")){e===\"audio\"?this._maximumPositionCalculator.updateLastAudioAdaptation(r):this._maximumPositionCalculator.updateLastVideoAdaptation(r);let a=this._maximumPositionCalculator.getEndingPosition(),o=a!==void 0?{isEnd:!0,endingPosition:a}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()};this.trigger(\"endingPositionChange\",o)}}this._canceller.isUsed()||r===null&&this._addActivelyLoadedPeriod(t,e)}onRepresentationChange(e,t){this._addActivelyLoadedPeriod(t,e)}onPeriodCleared(e,t){this._removeActivelyLoadedPeriod(t,e)}onLastSegmentFinishedLoading(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod||(t.hasFinishedLoadingLastPeriod=!0,this._checkEndOfStream())}onLastSegmentLoadingResume(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod&&(t.hasFinishedLoadingLastPeriod=!1,this._checkEndOfStream())}dispose(){this.removeEventListener(),this._canceller.cancel()}_addActivelyLoadedPeriod(e,t){let r=this._lazilyCreateActiveStreamInfo(t);r.activePeriods.has(e)||(r.activePeriods.add(e),this._checkCurrentPeriod())}_removeActivelyLoadedPeriod(e,t){let r=this._activeStreams.get(t);r!==void 0&&r.activePeriods.has(e)&&(r.activePeriods.removeElement(e),this._checkCurrentPeriod())}_checkCurrentPeriod(){if(this._allBufferTypes.length===0)return;let e=this._activeStreams.get(this._allBufferTypes[0]);if(e!==void 0)for(let t of e.activePeriods.toArray()){let r=!0;for(let i of this._allBufferTypes){let a=this._activeStreams.get(i);if(a===void 0)return;if(!a.activePeriods.toArray().some(u=>u.id===t.id)){r=!1;break}}if(r){this._lastCurrentPeriodId!==t.id&&(this._lastCurrentPeriodId=t.id,this.trigger(\"periodChange\",t));return}}}_getManifestEndTime(){let e=this._maximumPositionCalculator.getEndingPosition();return e!==void 0?{isEnd:!0,endingPosition:e}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()}}_lazilyCreateActiveStreamInfo(e){let t=this._activeStreams.get(e);return t===void 0&&(t={activePeriods:new Bt((r,i)=>r.start-i.start),hasFinishedLoadingLastPeriod:!1},this._activeStreams.set(e,t)),t}_checkEndOfStream(){if(!this._manifest.isLastPeriodKnown)return;this._allBufferTypes.every(t=>{let r=this._activeStreams.get(t);return r!==void 0&&r.hasFinishedLoadingLastPeriod})?this.trigger(\"endOfStream\",null):this.trigger(\"resumeStream\",null)}},wa=class{constructor(e){this._manifest=e,this._lastAudioAdaptation=void 0,this._lastVideoAdaptation=void 0}updateLastAudioAdaptation(e){this._lastAudioAdaptation=e}updateLastVideoAdaptation(e){this._lastVideoAdaptation=e}getMaximumAvailablePosition(){if(this._manifest.isDynamic)return this._manifest.getMaximumSafePosition();if(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)return this._manifest.getMaximumSafePosition();if(this._lastAudioAdaptation===null){if(this._lastVideoAdaptation===null)return this._manifest.getMaximumSafePosition();{let e=$r(this._lastVideoAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}}else if(this._lastVideoAdaptation===null){let e=$r(this._lastAudioAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}else{let e=$r(this._lastAudioAdaptation),t=$r(this._lastVideoAdaptation);return typeof e!=\"number\"||typeof t!=\"number\"?this._manifest.getMaximumSafePosition():Math.min(e,t)}}getEndingPosition(){var e,t;if(!this._manifest.isDynamic)return this.getMaximumAvailablePosition();if(!(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)){if(this._lastAudioAdaptation===null)return this._lastVideoAdaptation===null?void 0:(e=Xr(this._lastVideoAdaptation))!=null?e:void 0;if(this._lastVideoAdaptation===null)return(t=Xr(this._lastAudioAdaptation))!=null?t:void 0;{let r=Xr(this._lastAudioAdaptation),i=Xr(this._lastVideoAdaptation);return typeof r!=\"number\"||typeof i!=\"number\"?void 0:Math.min(r,i)}}}};function $r(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getLastAvailablePosition();if(a===void 0)return;a!==null&&(t=v(t)?a:Math.min(t,a))}return t}function Xr(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getEnd();if(a===void 0)return;a!==null&&(t=v(t)?a:Math.min(t,a))}return t}function Da(n,e,t,r,i,a){a.register(()=>{e.interruptDurationSetting()});let o=new Wn(n,t,r.getBufferTypes());a.register(()=>{o.dispose()}),o.addEventListener(\"warning\",u=>i.onWarning(u)),o.addEventListener(\"periodChange\",u=>i.onPeriodChanged(u)),o.addEventListener(\"endingPositionChange\",u=>{e.setDuration(u.endingPosition,u.isEnd)}),o.addEventListener(\"endOfStream\",()=>{c.debug(\"mse\",\"Start applying end-of-stream order.\"),e.maintainEndOfStream()}),o.addEventListener(\"resumeStream\",()=>{e.stopEndOfStream()});let s=o.getCurrentEndingTime();return e.setDuration(s.endingPosition,s.isEnd),o}function Ba(n,e){let t={audio:null,video:null,text:null};if(e!==null&&(t.text=e.getBufferedRanges()),n===null)return t;let r=K(n.sourceBuffers,s=>s.type===\"audio\"),i=K(n.sourceBuffers,s=>s.type===\"video\"),a=r==null?void 0:r.getBuffered();a!==void 0&&(t.audio=a);let o=i==null?void 0:i.getBuffered();return o!==void 0&&(t.video=o),t}async function Na(n,e,t,r,i){let a=e.getPeriod(t);if(a===void 0)throw new Error(\"Wanted Period not found.\");let o=K(a.thumbnailTracks,u=>u.id===r);if(o===void 0)throw new Error(\"Wanted Period has no thumbnail track.\");let s=o.index.getSegments(i,1)[0];if(s===void 0)throw new Error(\"No thumbnail for the given timestamp\");return n({segment:s,track:o,period:a},new F().signal)}function Ua(n,e){[\"video\",\"audio\",\"text\"].forEach(t=>{var i;let r=e.getStatus(t);r.type===\"initialized\"&&r.value.synchronizeInventory((i=n.buffered[t])!=null?i:[])})}function La(n,e){if(typeof n.changeType==\"function\"){try{n.changeType(e)}catch(t){return c.warn(\"mse\",\"Could not call 'changeType' on the given SourceBuffer:\",t instanceof Error?t:\"\"),!1}return!0}return!1}function lf(n){let e=[];for(let t=0;t{i.cancel(),qn(n,e)},i.signal);Oo(t,()=>{i.cancel(),qn(n,e)},i.signal)}function ou(n,e){let t=new F;t.linkToSignal(e),Lt(n,()=>{c.debug(\"mse\",\"MediaSource re-opened while end-of-stream is active\"),t.cancel(),t=new F,t.linkToSignal(e),qn(n,t.signal)},e),qn(n,t.signal)}function Fa(){let{FORCE_HAS_ISSUES_WITH_HIGH_MEDIA_SOURCE_DURATION:n}=U.getCurrent();return n||pi.device===pi.DEVICES.PlayStation5}var ff=365*24*3600,Vn=class{constructor(e){this._mediaSource=e,this._currentMediaSourceDurationUpdateCanceller=null}updateDuration(e,t){this._currentMediaSourceDurationUpdateCanceller!==null&&this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=new F;let r=this._mediaSource,i=this._currentMediaSourceDurationUpdateCanceller.signal,a=pf(r,i),o=new F;o.linkToSignal(i),a.onUpdate(s,{emitCurrentValue:!0,clearSignal:i});function s(){if(o.cancel(),!a.getValue())return;o=new F,o.linkToSignal(i);let u=cf(r.sourceBuffers,o.signal),d=new F;return d.linkToSignal(o.signal),u.onUpdate(f=>{d.cancel(),d=new F,d.linkToSignal(o.signal),!f&&uu(r,e,t,d.signal)},{clearSignal:o.signal,emitCurrentValue:!0})}}stopUpdating(){this._currentMediaSourceDurationUpdateCanceller!==null&&(this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=null)}};function mf(n,e,t){let r=e;t||(r=Fa()?1/0:su(e));let i=0;for(let a=0;a0&&(i=Math.max(i,o.buffered.end(s-1)))}if(r===n.duration)return\"success\";if(i>r){if(i=.1){let s=Math.abs(n.duration-a);return o{a.removeEventListener(\"updatestart\",r),a.removeEventListener(\"update\",r)})}return t;function r(){for(let i=0;i{c.debug(\"mse\",\"Reacting to MediaSource open in duration updater\"),t.setValueIfChanged(!0)},e),Tr(n,()=>{c.debug(\"mse\",\"Reacting to MediaSource ended in duration updater\"),t.setValueIfChanged(!1)},e),Sr(n,()=>{c.debug(\"mse\",\"Reacting to MediaSource close in duration updater\"),t.setValueIfChanged(!1)},e),t}function uu(n,e,t,r){if(mf(n,e,t)===\"success\")return;let a=setTimeout(()=>{o(),uu(n,e,t,r)},2e3),o=r.register(()=>{clearTimeout(a)})}function su(n){return Math.max(Math.pow(2,32),n+ff)}var Gn=class extends fe{constructor(e,t){if(super(),this.id=e,this.sourceBuffers=[],this._canceller=new F,v(ct))throw new J(\"MEDIA_SOURCE_NOT_SUPPORTED\",\"No MediaSource Object was found in the current browser.\");c.info(\"mse\",\"Creating MediaSource\");let r=t!==void 0?new t:new ct,i=r.handle;this.handle=v(i)?{type:\"media-source\",value:r}:{type:\"handle\",value:i},this._mediaSource=r,this.readyState=r.readyState,this._durationUpdater=new Vn(r),this._endOfStreamCanceller=null,Lt(r,()=>{this.readyState=r.readyState,this.trigger(\"mediaSourceOpen\",null)},this._canceller.signal),Tr(r,()=>{this.readyState=r.readyState,this.trigger(\"mediaSourceEnded\",null)},this._canceller.signal),Sr(r,()=>{this.readyState=r.readyState,this.trigger(\"mediaSourceClose\",null)},this._canceller.signal),this._mediaSource.streaming!==void 0&&(this.streaming=this._mediaSource.streaming),this._mediaSource.addEventListener(\"startstreaming\",()=>{this.streaming=!0,this.trigger(\"streamingChanged\",null)}),this._mediaSource.addEventListener(\"endstreaming\",()=>{this.streaming=!1,this.trigger(\"streamingChanged\",null)})}addSourceBuffer(e,t){let r=this._mediaSource.addSourceBuffer(t),i=new za(e,t,r);return this.sourceBuffers.push(i),i}setDuration(e,t){this._durationUpdater.updateDuration(e,t)}interruptDurationSetting(){this._durationUpdater.stopUpdating()}maintainEndOfStream(){this._endOfStreamCanceller===null&&(this._endOfStreamCanceller=new F,this._endOfStreamCanceller.linkToSignal(this._canceller.signal),c.debug(\"mse\",\"end-of-stream order received.\"),ou(this._mediaSource,this._endOfStreamCanceller.signal))}stopEndOfStream(){this._endOfStreamCanceller!==null&&(c.debug(\"mse\",\"resume-stream order received.\"),this._endOfStreamCanceller.cancel(),this._endOfStreamCanceller=null)}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),gf(this._mediaSource)}},za=class{constructor(e,t,r){this.type=e,this.codec=t,this._canceller=new F,this._sourceBuffer=r,this._operationQueue=[],this._currentOperations=[];let i=this._onError.bind(this),a=this._onUpdateEnd.bind(this);r.addEventListener(\"updateend\",a),r.addEventListener(\"error\",i),this._canceller.signal.register(()=>{r.removeEventListener(\"updateend\",a),r.removeEventListener(\"error\",i)})}appendBuffer(...e){return c.debug(\"mse\",\"receiving order to push data to the SourceBuffer\",{type:this.type}),this._addToQueue({operationName:0,params:e})}remove(e,t){return c.debug(\"mse\",\"receiving order to remove data from the SourceBuffer\",{type:this.type,start:e,end:t}),this._addToQueue({operationName:1,params:[e,t]})}getBuffered(){try{return Sa(this._sourceBuffer.buffered)}catch(e){return c.error(\"mse\",\"Failed to get buffered time range of SourceBuffer\",{type:this.type},e instanceof Error?e:\"Unknown Error\"),[]}}abort(){try{this._sourceBuffer.abort()}catch(e){c.debug(\"mse\",\"Failed to abort SourceBuffer:\",e instanceof Error?e:\"Unknown Error\")}this._emptyCurrentQueue()}dispose(){try{this._sourceBuffer.abort()}catch(e){}this._emptyCurrentQueue()}_onError(e){let t;e instanceof Error?t=e:e.error instanceof Error?t=e.error:t=new Error(\"Unknown SourceBuffer Error\");let r=this._currentOperations;if(this._currentOperations=[],r.length===0)c.error(\"mse\",\"error for an unknown operation\",t);else{let i=new xe(t.name,t.message,t.name===\"QuotaExceededError\");for(let a of r)a.reject(i)}}_onUpdateEnd(){let e=this._currentOperations;this._currentOperations=[];try{for(let t of e)t.resolve(Sa(this._sourceBuffer.buffered))}catch(t){for(let r of e)t instanceof Error&&t.name===\"InvalidStateError\"?r.resolve([]):r.reject(t)}this._performNextOperation()}_emptyCurrentQueue(){let e=new ue;this._currentOperations.length>0&&(this._currentOperations.forEach(t=>{t.reject(e)}),this._currentOperations=[]),this._operationQueue.length>0&&(this._operationQueue.forEach(t=>{t.reject(e)}),this._operationQueue=[])}_addToQueue(e){return new Promise((t,r)=>{let i=this._operationQueue.length===0&&this._currentOperations.length===0,a=H({resolve:t,reject:r},e);this._operationQueue.push(a),i&&this._performNextOperation()})}_performNextOperation(){var t,r,i,a,o;if(this._currentOperations.length!==0||this._sourceBuffer.updating)return;let e=this._operationQueue.shift();if(e!==void 0)if(e.operationName===0){this._currentOperations=[{operationName:0,resolve:e.resolve,reject:e.reject}];let s=e.params[0],u=e.params[1],d=s;if(this._operationQueue.length>0&&this._operationQueue[0].operationName===0){let f;s instanceof ArrayBuffer?f=new Uint8Array(s):s instanceof Uint8Array?f=s:f=new Uint8Array(s.buffer);let l=[f];for(;((t=this._operationQueue[0])==null?void 0:t.operationName)===0;){let m=this._operationQueue[0],g=(r=u.appendWindow)!=null?r:[void 0,void 0],p=(i=m.params[1].appendWindow)!=null?i:[void 0,void 0],b=(a=u.timestampOffset)!=null?a:0,h=(o=m.params[1].timestampOffset)!=null?o:0;if(g[0]===p[0]&&g[1]===p[1]&&u.codec===m.params[1].codec&&b===h){let S=m.params[0],_;S instanceof ArrayBuffer?_=new Uint8Array(S):S instanceof Uint8Array?_=S:_=new Uint8Array(S.buffer),l.push(_),this._operationQueue.splice(0,1),this._currentOperations.push({operationName:0,resolve:m.resolve,reject:m.reject})}else break}l.length>1&&(c.info(\"mse\",`: Merging ${l.length} segments together for perf`,{type:this.type}),d=Ct(...l).buffer)}try{this._appendBufferNow(d,u)}catch(f){let l=f instanceof Error?new xe(f.name,f.message,f.name===\"QuotaExceededError\"):new xe(\"Error\",\"Unknown SourceBuffer Error during appendBuffer\",!1);this._currentOperations.forEach(m=>{m.reject(l)}),this._currentOperations=[],this._performNextOperation()}}else{this._currentOperations=[e];let[s,u]=e.params;c.debug(\"mse\",\"removing data from SourceBuffer\",{type:this.type,start:s,end:u});try{this._sourceBuffer.remove(s,u)}catch(d){let f=d instanceof Error?new xe(d.name,d.message,!1):new xe(\"Error\",\"Unknown SourceBuffer Error during remove\",!1);e.reject(f),this._currentOperations.forEach(l=>{l.reject(f)}),this._currentOperations=[],this._performNextOperation()}}}_appendBufferNow(e,t){let r=this._sourceBuffer,{codec:i,timestampOffset:a,appendWindow:o=[]}=t;if(i!==void 0&&i!==this.codec&&(c.debug(\"mse\",\"updating codec\",{prevCodec:this.codec,newCodec:i}),La(r,i)?this.codec=i:c.debug(\"mse\",\"could not update codec\",{prevCodec:this.codec,newCodec:i})),a!==void 0&&r.timestampOffset!==a){let s=a;c.debug(\"mse\",\"updating timestampOffset\",{codec:i,prevTimestampOffset:r.timestampOffset,newTimestampOffset:s}),r.timestampOffset=s}if(o[0]===void 0)r.appendWindowStart>0&&(c.debug(\"mse\",\"re-setting `appendWindowStart`\",{prevWindowStart:r.appendWindowStart}),r.appendWindowStart=0);else if(o[0]!==r.appendWindowStart){if(o[0]>=r.appendWindowEnd){let s=o[0]+1;c.debug(\"mse\",\"pre-updating `appendWindowEnd`\",{prevWindowEnd:r.appendWindowEnd,newWindowEnd:s}),r.appendWindowEnd=s}c.debug(\"mse\",\"setting `appendWindowStart`\",{appendWindowStart:o[0]}),r.appendWindowStart=o[0]}o[1]===void 0?r.appendWindowEnd!==1/0&&(c.debug(\"mse\",\"re-setting `appendWindowEnd`\",{prevWindowStart:r.appendWindowStart}),r.appendWindowEnd=1/0):o[1]!==r.appendWindowEnd&&(c.debug(\"mse\",\"setting `appendWindowEnd`\",{prevWindowEnd:r.appendWindowEnd,newWindowEnd:o[1]}),r.appendWindowEnd=o[1]),c.debug(\"mse\",\"pushing segment\",{type:this.type}),r.appendBuffer(e)}};function gf(n){if(n.readyState!==\"closed\"){let{readyState:e,sourceBuffers:t}=n;for(let r=t.length-1;r>=0;r--){let i=t[r];try{if(e===\"open\"){c.info(\"mse\",\"Aborting SourceBuffer before removing\");try{i.abort()}catch(a){}}c.info(\"mse\",\"Removing SourceBuffer from mediaSource\"),n.removeSourceBuffer(i)}catch(a){}}t.length>0&&c.info(\"mse\",\"Not all SourceBuffers could have been removed.\")}}var hf=Me(),Zr=Me(),du=1/0,Hn=class extends fe{constructor(e,t,r){super(),this.id=e,this.sourceBuffers=[],this._canceller=new F,this.readyState=\"closed\",this._messageSender=r;let i=hf();this._messageSender({type:\"create-media-source\",contentId:t,mediaSourceId:i})}onMediaSourceReadyStateChanged(e){switch(e){case\"closed\":this.readyState=\"closed\",this.trigger(\"mediaSourceClose\",null);break;case\"open\":this.readyState=\"open\",this.trigger(\"mediaSourceOpen\",null);break;case\"ended\":this.readyState=\"ended\",this.trigger(\"mediaSourceEnded\",null);break}}addSourceBuffer(e,t){this._messageSender({type:\"add-source-buffer\",mediaSourceId:this.id,value:{sourceBufferType:e,codec:t}});let r=new Wa(e,t,this.id,this._messageSender);return this.sourceBuffers.push(r),r}setDuration(e,t){this._messageSender({type:\"update-media-source-duration\",mediaSourceId:this.id,value:{duration:e,isRealEndKnown:t}})}interruptDurationSetting(){this._messageSender({type:\"stop-media-source-duration\",mediaSourceId:this.id,value:null})}maintainEndOfStream(){this._messageSender({type:\"end-of-stream\",mediaSourceId:this.id,value:null})}stopEndOfStream(){this._messageSender({type:\"stop-end-of-stream\",mediaSourceId:this.id,value:null})}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),this._messageSender({type:\"dispose-media-source\",mediaSourceId:this.id,value:null})}},Wa=class{constructor(e,t,r,i){this.type=e,this.codec=t,this._canceller=new F,this._mediaSourceId=r,this._queuedOperations=[],this._pendingOperations=new Map,this._messageSender=i}onOperationSuccess(e,t){let r=this._pendingOperations.get(e);r===void 0?c.warn(\"mse\",\"unknown SourceBuffer operation succeeded\"):(this._pendingOperations.delete(e),r.resolve(t)),this._performNextQueuedOperationIfItExists()}onOperationFailure(e,t){let r=t.errorName===\"CancellationError\"?new ue:new xe(t.errorName,t.message,t.isBufferFull),i=this._pendingOperations.get(e);i===void 0?c.info(\"mse\",\"unknown SourceBuffer operation failed\",r):(this._pendingOperations.delete(e),i.reject(r));let a=new ue;for(let o of this._queuedOperations)o.reject(a);this._queuedOperations=[]}appendBuffer(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=du){this._queuedOperations.push({operationName:0,params:[e,t],resolve:r,reject:i});return}try{let a;e instanceof ArrayBuffer?a=e:e.byteLength===e.buffer.byteLength?a=e.buffer:a=e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset);let o=Zr();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:o,value:{data:a,params:t}},[a]),this._addOperationToQueue(o,r,i)}catch(a){i(a)}})}remove(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=du){this._queuedOperations.push({operationName:1,params:[e,t],resolve:r,reject:i});return}try{let a=Zr();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{start:e,end:t}}),this._addOperationToQueue(a,r,i)}catch(a){i(a)}})}abort(){this._messageSender({type:\"abort-source-buffer\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,value:null})}dispose(){this.abort(),this._canceller.cancel()}getBuffered(){}_addOperationToQueue(e,t,r){this._pendingOperations.set(e,{resolve:a,reject:o});let i=this._canceller.signal.register(s=>{this._pendingOperations.delete(e),r(s)});function a(s){i(),t(s)}function o(s){i(),r(s)}}_performNextQueuedOperationIfItExists(){let e=this._queuedOperations.shift();if(e!==void 0)try{if(e.operationName===0){let[t,r]=e.params,i;t instanceof ArrayBuffer?i=t:t.byteLength===t.buffer.byteLength?i=t.buffer:i=t.buffer.slice(t.byteOffset,t.byteLength+t.byteOffset);let a=Zr();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{data:i,params:r}},[i]),this._addOperationToQueue(a,e.resolve,e.reject)}else{let[t,r]=e.params,i=Zr();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:i,value:{start:t,end:r}}),this._addOperationToQueue(i,e.resolve,e.reject)}}catch(t){e.reject(t)}}};function qa(n){let e=n.map(o=>Math.log(o/n[0])),t=e.map(o=>o-e[0]+1),r=(t[t.length-1]-1)/(n.length*2+10),i=1/r;return n.map((o,s)=>a(s));function a(o){if(o===0)return 0;let s=Math.min(Math.max(1,o),n.length-1);return n[s]===n[s-1]?a(o-1):i*(r+(n[s]*t[s-1]-n[s-1]*t[s])/(n[s]-n[s-1]))+4}}var qe=class{constructor(e){this._alpha=Math.exp(Math.log(.5)/e),this._lastEstimate=0,this._totalWeight=0}addSample(e,t){let r=Math.pow(this._alpha,e),i=t*(1-r)+r*this._lastEstimate;isNaN(i)||(this._lastEstimate=i,this._totalWeight+=e)}getEstimate(){let e=1-Math.pow(this._alpha,this._totalWeight);return this._lastEstimate/e}};var Kn=class{constructor(){this._currentRepresentationData=null,this._lastRepresentationWithGoodScore=null}addSample(e,t,r){let i=r/t,a=this._currentRepresentationData,o;a!==null&&a.representation.id===e.id?(o=a.ewma,a.ewma.addSample(t,i),a.loadedDuration+=r,a.loadedSegments++):(o=new qe(5),o.addSample(t,i),this._currentRepresentationData={representation:e,ewma:o,loadedDuration:r,loadedSegments:0}),o.getEstimate()>1&&this._lastRepresentationWithGoodScore!==e&&(c.debug(\"ABR\",\"New last stable representation\",{bitrate:e.bitrate}),this._lastRepresentationWithGoodScore=e)}getEstimate(e){if(this._currentRepresentationData===null||this._currentRepresentationData.representation.id!==e.id)return;let{ewma:t,loadedSegments:r,loadedDuration:i}=this._currentRepresentationData,a=t.getEstimate(),o=r>=5&&i>=10?1:0;return{score:a,confidenceLevel:o}}getLastStableRepresentation(){return this._lastRepresentationWithGoodScore}};var lu=6e3,If=15e3,bf=3e3,yf=1e3,Sf=9e3,jn=class{constructor(e){this._levelsMap=qa(e).map(t=>t+4),this._bitrates=e,this._lastUnsuitableQualityTimestamp=void 0,this._blockRaiseDelay=lu,c.debug(\"ABR\",\"Steps for buffer based chooser.\",this._levelsMap.map((t,r)=>`bufferLevel: ${t}, bitrate: ${e[r]}`).join(\" ,\"))}onAddedSegment(e){let t=this._levelsMap,r=this._bitrates,{bufferGap:i,currentBitrate:a,currentScore:o,speed:s}=e;if(v(a)){this._currentEstimate=r[0];return}let u=-1;for(let p=0;pa)break}if(u<0||r.length!==t.length){c.info(\"ABR\",\"Current Bitrate not found in the calculated levels\"),this._currentEstimate=r[0];return}let d;o!==void 0&&(d=s===0?o.score:o.score/s);let f=isFinite(i)?i:0,l=L();if(fh===a);for(let h=b-1;h>=0;h--)if(f>=t[h]){this._currentEstimate=r[h];return}this._currentEstimate=r[0];return}if(this._lastUnsuitableQualityTimestamp!==void 0&&l-this._lastUnsuitableQualityTimestamp{for(let p=u+1;pm)return p})();if(g!==void 0){let p=t[g];if(i>=p){c.debug(\"ABR\",\"Raising quality in BufferBasedChooser\",{bitrate:r[g]}),this._currentEstimate=r[g];return}}this._currentEstimate=a}getLastEstimate(){return this._currentEstimate}};function Tf(n,e){let t=-1;for(let o=0;o-1.2){t=o;break}if(u>e&&e-s.time>-1.2){t=o;break}}if(t<0)return[];let r=n[t],i=r.content.segment.time,a=[r];for(let o=t+1;o0?l.progress[l.progress.length-1]:void 0,b=Jr(l);if(p!==void 0&&b!==void 0){let R=fu(p,b);if((m-p.timestamp)/1e3<=R&&R-u/o>2500)return b}if(!l.content.segment.complete)return;let h=l.content.segment.duration,S=(m-l.requestTimestamp)/1e3,_=S<=(h*1.5+2)/o;if(v(t)||_)return;let P=h/S,T=t.bitrate*Math.min(.7,P);if(i===void 0||Tl.segment.duration>0&&l.segment.time+l.segment.duration>i);if(a===void 0)return!0;let o=L(),s=a.progress.length>0?a.progress[a.progress.length-1]:void 0,u=Jr(a);if(s===void 0||u===void 0)return!0;let d=fu(s,u);return(o-s.timestamp)/1e3>d*1.2?!0:d-r/n.speed>-1.5}var Yn=class{constructor(e,t){let{ABR_STARVATION_GAP:r,OUT_OF_STARVATION_GAP:i,ABR_STARVATION_FACTOR:a,ABR_REGULAR_FACTOR:o}=U.getCurrent();this._initialBitrate=e,this._inStarvationMode=!1,this._lowLatencyMode=t,t?this._config={starvationGap:r.LOW_LATENCY,outOfStarvationGap:i.LOW_LATENCY,starvationBitrateFactor:a.LOW_LATENCY,regularBitrateFactor:o.LOW_LATENCY}:this._config={starvationGap:r.DEFAULT,outOfStarvationGap:i.DEFAULT,starvationBitrateFactor:a.DEFAULT,regularBitrateFactor:o.DEFAULT}}getBandwidthEstimate(e,t,r,i,a){let o,s,u=this._config,{bufferGap:d,position:f,duration:l}=e,m=isFinite(d)?d:0,{ABR_STARVATION_DURATION_DELTA:g}=U.getCurrent();return isNaN(l)||m+f.getWanted()=u.outOfStarvationGap&&(c.info(\"ABR\",\"exit starvation mode.\",{bufferGap:m,outOfStarvation:u.starvationGap}),this._inStarvationMode=!1):this._inStarvationMode&&(c.info(\"ABR\",\"exit starvation mode.\",{bufferGap:m}),this._inStarvationMode=!1),this._inStarvationMode&&(s=Ef(i,e,r,this._lowLatencyMode,a),s!==void 0&&(c.info(\"ABR\",\"starvation mode emergency estimate:\",{bandwidth:s}),t.reset(),o=v(r)?s:Math.min(s,r.bitrate))),v(o)&&(s=t.getEstimate(),s!==void 0?o=s*(this._inStarvationMode?u.starvationBitrateFactor:u.regularBitrateFactor):a!==void 0?o=a*(this._inStarvationMode?u.starvationBitrateFactor:u.regularBitrateFactor):o=this._initialBitrate),e.speed>1&&(o/=e.speed),{bandwidthEstimate:s,bitrateChosen:o}}isUrgent(e,t,r,i){return t===null?!0:e>=t.bitrate?!1:_f(i,r,this._lowLatencyMode)}};var Qn=class{constructor(){this.bandwidth=void 0,this.representation=null,this.algorithmType=3}update(e,t,r){this.representation=e,this.bandwidth=t,this.algorithmType=r}};var $n=class{constructor(e,t){this._scoreCalculator=e,this._lastAbrEstimate=t,this._consecutiveWrongGuesses=0,this._blockGuessesUntil=0,this._lastMaintanableBitrate=null}getGuess(e,t,r,i,a){let{bufferGap:o,speed:s}=t,u=this._lastAbrEstimate.representation;if(u===null)return null;if(i>u.bitrate)return this._lastAbrEstimate.algorithmType===2&&(this._lastAbrEstimate.representation!==null&&(this._lastMaintanableBitrate=this._lastAbrEstimate.representation.bitrate),this._consecutiveWrongGuesses=0),null;let d=this._scoreCalculator.getEstimate(r);if(this._lastAbrEstimate.algorithmType!==2){if(d===void 0)return null;if(this._canGuessHigher(o,s,d)){let l=mu(e,r);if(l!==null)return l}return null}if(this._isLastGuessValidated(u,i,d)&&(c.debug(\"ABR\",\"Guessed Representation validated\",{chosenBitrate:u.bitrate,otherAbrAlgosBitrate:i,scoreData:d==null?void 0:d.score,scoreConfidence:d==null?void 0:d.confidenceLevel}),this._lastMaintanableBitrate=u.bitrate,this._consecutiveWrongGuesses=0),r.id!==u.id)return u;if(this._shouldStopGuess(r,d,o,a))return this._consecutiveWrongGuesses++,this._blockGuessesUntil=L()+Math.min(this._consecutiveWrongGuesses*15e3,12e4),Rf(e,r);if(d===void 0)return r;if(this._canGuessHigher(o,s,d)){let l=mu(e,r);if(l!==null)return l}return r}_canGuessHigher(e,t,{score:r,confidenceLevel:i}){return isFinite(e)&&e>=2.5&&L()>this._blockGuessesUntil&&i===1&&r/t>1.01}_shouldStopGuess(e,t,r,i){if(t!==void 0&&t.score<1.01)return!0;if((t===void 0||t.score<1.2)&&r<.6)return!0;let a=i.filter(s=>s.content.representation.id===e.id),o=L();for(let s of a){let u=o-s.requestTimestamp;if(s.content.segment.isInit){if(u>1e3)return!0}else{if(u>s.content.segment.duration*1e3+200)return!0;{let d=Jr(s);if(d!==void 0&&d1.5?!0:t>=e.bitrate&&(this._lastMaintanableBitrate===null||this._lastMaintanableBitratei===e.id);if(r<0)return c.error(\"ABR\",\"Current Representation not found.\"),null;for(;++re.bitrate)return n[r];return null}function Rf(n,e){let t=re(n,({id:r})=>r===e.id);if(t<0)return c.error(\"ABR\",\"Current Representation not found.\"),null;for(;--t>=0;)if(n[t].bitratea.bitrate-o.bitrate);let t=n[0].bitrate,r=Math.max(e,t),i=re(n,a=>a.bitrate>r);return i===-1?n:n.slice(0,i)}function Ga(n,e){if(e.width===void 0||e.height===void 0)return n;let t=e.width*e.pixelRatio,r=e.height*e.pixelRatio,i=n.slice().sort((s,u)=>{var d,f;return((d=s.width)!=null?d:0)-((f=u.width)!=null?f:0)}),a=K(i,s=>typeof s.width==\"number\"&&s.width>=t&&typeof s.height==\"number\"&&s.height>=r);if(a===void 0)return n;let o=typeof a.width==\"number\"?a.width:0;return n.filter(s=>typeof s.width==\"number\"?s.width<=o:!0)}var Zn=class{constructor(){this._currentRequests={}}add(e){let{id:t,requestTimestamp:r,content:i}=e;this._currentRequests[t]={requestTimestamp:r,progress:[],content:i}}addProgress(e){let t=this._currentRequests[e.id];if(v(t)){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: progress for a request not added\");c.warn(\"ABR\",\"progress for a request not added\",{requestId:e.id});return}t.progress.push(e)}remove(e){if(v(this._currentRequests[e])){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: can't remove unknown request\");c.warn(\"ABR\",\"can't remove unknown request\",{requestId:e})}delete this._currentRequests[e]}getRequests(){return Ir(this._currentRequests).filter(e=>!v(e)).sort((e,t)=>e.content.segment.time-t.content.segment.time)}};function ei(n,e){let t=re(n,r=>r.bitrate>e);return t===-1?n[n.length-1]:t===0?n[0]:n[t-1]}var cu=new Q(void 0);cu.finish();var pu=new Q(1/0);pu.finish();function Ha(n){let e={},{initialBitrates:t,throttlers:r,lowLatencyMode:i}=n;return function(s,u,d,f,l){var h,S,_;let{type:m}=s.adaptation,g=a(m),p=(h=t[m])!=null?h:0,b={limitResolution:(S=r.limitResolution[m])!=null?S:cu,throttleBitrate:(_=r.throttleBitrate[m])!=null?_:pu};return Pf({bandwidthEstimator:g,context:s,currentRepresentation:u,filters:b,initialBitrate:p,playbackObserver:f,representations:d,lowLatencyMode:i},l)};function a(o){let s=e[o];if(v(s)){c.debug(\"ABR\",\"Creating new BandwidthEstimator\",{bufferType:o});let u=new Xn;return e[o]=u,u}return s}}function Pf({bandwidthEstimator:n,context:e,currentRepresentation:t,filters:r,initialBitrate:i,lowLatencyMode:a,playbackObserver:o,representations:s},u){let d=new Kn,f=new Yn(i!=null?i:0,a),l=new Zn,m=D,g={metrics:_,requestBegin:P,requestProgress:T,requestEnd:R,addedSegment(E){m(E)}},p=new F;p.linkToSignal(u);let b=h(s.getValue(),p.signal);return s.onUpdate(S,{clearSignal:u}),{estimates:b,callbacks:g};function h(E,M){if(E.length<=1)return new Q({bitrate:void 0,representation:E[0],urgent:!0,knownStableBitrate:void 0});let C=!1,x=E.sort((q,X)=>q.bitrate-X.bitrate),N=new jn(x.map(q=>q.bitrate)),B=new Qn,A=new $n(d,B),w=o.getReference().getValue(),k=new Q(z());return o.listen(q=>{w=q,O()},{includeLastObservation:!1,clearSignal:M}),m=function(q){if(w===null)return;let{position:X,speed:Z}=w,V=q.buffered,G=Gr(V,X.getWanted()),{representation:j}=q.content,me=d.getEstimate(j),le=j.bitrate,pe={bufferGap:G,currentBitrate:le,currentScore:me,speed:Z};N.onAddedSegment(pe),O()},M.register(()=>{m=D}),r.throttleBitrate.onUpdate(O,{clearSignal:M}),r.limitResolution.onUpdate(O,{clearSignal:M}),k;function O(){k.setValue(z())}function z(){let{bufferGap:q,position:X,maximumPosition:Z}=w,V=r.limitResolution.getValue(),G=r.throttleBitrate.getValue(),j=t.getValue(),me=vf(x,V,G),le=l.getRequests(),{bandwidthEstimate:pe,bitrateChosen:$e}=f.getBandwidthEstimate(w,n,j,le,B.bandwidth),ne=d.getLastStableRepresentation(),oe=ne===null?void 0:ne.bitrate/(w.speed>0?w.speed:1),{ABR_ENTER_BUFFER_BASED_ALGO:Xt,ABR_EXIT_BUFFER_BASED_ALGO:Zt}=U.getCurrent();C&&q<=Zt?C=!1:!C&&isFinite(q)&&q>=Xt&&(C=!0);let Re=ei(me,$e),Jt=N.getLastEstimate(),dr=Re.bitrate,lt=null;C&&Jt!==void 0&&Jt>dr&&(lt=ei(me,Jt),dr=lt.bitrate);let ft=null;return a&&j!==null&&e.manifest.isDynamic&&Z-X.getWanted()<40&&(ft=A.getGuess(x,w,j,dr,le)),ft!==null&&ft.bitrate>dr?(c.debug(\"ABR\",\"new guess-based estimate\",{bitrate:ft.bitrate,representation:ft.id}),B.update(ft,pe,2),{bitrate:pe,representation:ft,urgent:j===null||ft.bitrate0?(i=(n+i)%16|0,n=Math.floor(n/16)):(i=(e+i)%16|0,e=Math.floor(e/16)),(r===\"x\"?i:i&3|8).toString(16)})}var Cf=4,Jn=class{constructor(e){var t,r;this._sessionId=(t=e.sessionId)!=null?t:ti(),this._contentId=(r=e.contentId)!=null?r:ti(),this._typePreference=e.communicationType===\"headers\"?0:1,this._bufferStarvationToggle=!1,this._playbackObserver=null,this._lastThroughput={},this._canceller=null}startMonitoringPlayback(e){var t;(t=this._canceller)==null||t.cancel(),this._canceller=new F,this._playbackObserver=e,e.listen(r=>{r.rebuffering!==null&&(this._bufferStarvationToggle=!0)},{includeLastObservation:!0,clearSignal:this._canceller.signal})}stopMonitoringPlayback(){var e;(e=this._canceller)==null||e.cancel(),this._canceller=null,this._playbackObserver=null}updateThroughput(e,t){this._lastThroughput[e]=t}_getCommonCmcdData(e){var i;let t={};t.bs=this._bufferStarvationToggle,this._bufferStarvationToggle=!1,t.cid=this._contentId,t.mtp=e!==void 0?Math.floor(Math.round(e/1e3/100)*100):void 0,t.sid=this._sessionId;let r=(i=this._playbackObserver)==null?void 0:i.getReference().getValue();return t.pr=r===void 0||r.speed===1?void 0:r.speed,r!==void 0&&(t.su=r.rebuffering!==null),t}getCmcdDataForManifest(e){var r;let t=this._getCommonCmcdData((r=this._lastThroughput.video)!=null?r:this._lastThroughput.audio);switch(t.ot=\"m\",e){case\"dash\":t.sf=\"d\";break;case\"smooth\":t.sf=\"s\";break;default:t.sf=\"o\";break}return this._producePayload(t)}getCmcdDataForSegmentRequest(e){var o,s,u,d;let t=(o=this._playbackObserver)==null?void 0:o.getReference().getValue(),r=this._getCommonCmcdData(this._lastThroughput[e.adaptation.type]);switch(r.br=Math.round(e.representation.bitrate/1e3),r.d=Math.round(e.segment.duration*1e3),e.adaptation.type){case\"video\":r.ot=\"v\";break;case\"audio\":r.ot=\"a\";break;case\"text\":r.ot=\"c\";break}if(e.segment.isInit&&(r.ot=\"i\"),!v(e.nextSegment)&&e.segment.url!==null&&e.nextSegment.url!==null&&(!e.nextSegment.isInit||e.nextSegment.indexRange===void 0)){let f=e.segment.url,l=e.nextSegment.url,m=rs(f,l);m!==null&&(m!==\".\"&&(r.nor=encodeURIComponent(m)),e.nextSegment.range!==void 0&&(r.nrr=String(e.nextSegment.range[0])+\"-\",isFinite(e.nextSegment.range[1])&&(r.nrr+=String(e.nextSegment.range[1]))))}let i;if(t!==void 0&&(r.ot===\"v\"||r.ot===\"a\"||r.ot===\"av\")){let f=t.buffered[e.adaptation.type];if(!v(f)){let l=(d=(u=(s=this._playbackObserver)==null?void 0:s.getCurrentTime())!=null?u:t.position.getWanted())!=null?d:t.position.getPolled();for(let m of f)if(l>=m.start&&ll.isPlayable()!==!0?f:f===void 0?Math.round(l.bitrate/1e3):Math.max(f,Math.round(l.bitrate/1e3)),void 0),this._producePayload(r)}_producePayload(e){let t={object:\"\",request:\"\",session:\"\",status:\"\"},r=\"\",i=(d,f)=>{this._typePreference===0?t[f]+=d:r+=d},a=(d,f)=>{let l=e[d];if(l!==void 0){let m=`${d}=${String(l)},`;i(m,f)}},o=(d,f)=>{if(e[d]===!0){let l=`${d},`;i(l,f)}},s=(d,f)=>{let l=e[d];if(l!==void 0){let g=`prop=${`\"${l.replace(\"\\\\\",\"\\\\\\\\\").replace('\"','\\\\\"')}\"`},`;i(g,f)}},u=(d,f)=>{let l=e[d];if(l!==void 0){let m=`prop=${l},`;i(m,f)}};return a(\"bl\",\"request\"),a(\"br\",\"object\"),o(\"bs\",\"status\"),s(\"cid\",\"session\"),a(\"d\",\"object\"),a(\"dl\",\"request\"),a(\"mtp\",\"request\"),s(\"nor\",\"request\"),s(\"nrr\",\"request\"),u(\"ot\",\"object\"),a(\"pr\",\"session\"),a(\"rtp\",\"status\"),u(\"sf\",\"session\"),s(\"sid\",\"session\"),u(\"st\",\"session\"),o(\"su\",\"request\"),a(\"tb\",\"object\"),this._typePreference===0?(t.object[t.object.length-1]===\",\"&&(t.object=t.object.substring(0,t.object.length-1)),t.request[t.request.length-1]===\",\"&&(t.request=t.request.substring(0,t.request.length-1)),t.session[t.session.length-1]===\",\"&&(t.session=t.session.substring(0,t.session.length-1)),t.status[t.status.length-1]===\",\"&&(t.status=t.status.substring(0,t.status.length-1)),c.debug(\"CMCD\",\"proposing headers payload\"),{type:\"headers\",value:{\"CMCD-Object\":t.object,\"CMCD-Request\":t.request,\"CMCD-Session\":t.session,\"CMCD-Status\":t.status}}):(r[r.length-1]===\",\"&&(r=r.substring(0,r.length-1)),r=encodeURIComponent(r),c.debug(\"CMCD\",\"proposing query string payload\",{queryString:r}),{type:\"query\",value:[[\"CMCD\",r]]})}};var hu=Jn;var er=class extends fe{constructor(e){super(),this._downgradedCdnList={metadata:[],timeouts:[]},e.register(()=>{for(let t of this._downgradedCdnList.timeouts)clearTimeout(t);this._downgradedCdnList={metadata:[],timeouts:[]}})}getCdnPreferenceForResource(e){return e.length<=1?e:this._innerGetCdnPreferenceForResource(e)}downgradeCdn(e){let t=Iu(this._downgradedCdnList.metadata,e);t>=0&&this._removeIndexFromDowngradeList(t);let{DEFAULT_CDN_DOWNGRADE_TIME:r}=U.getCurrent(),i=r;this._downgradedCdnList.metadata.push(e);let a=setTimeout(()=>{let o=Iu(this._downgradedCdnList.metadata,e);o>=0&&this._removeIndexFromDowngradeList(o),this.trigger(\"priorityChange\",null)},i);this._downgradedCdnList.timeouts.push(a),this.trigger(\"priorityChange\",null)}_innerGetCdnPreferenceForResource(e){let[t,r]=e.reduce((i,a)=>(this._downgradedCdnList.metadata.some(o=>o.id===a.id&&o.baseUrl===a.baseUrl)?i[1].push(a):i[0].push(a),i),[[],[]]);return t.concat(r)}_removeIndexFromDowngradeList(e){this._downgradedCdnList.metadata.splice(e,1);let t=this._downgradedCdnList.timeouts.splice(e,1);clearTimeout(t[0])}};function Iu(n,e){return n.length===0?-1:e.id!==void 0?re(n,t=>t.id===e.id):re(n,t=>t.baseUrl===e.baseUrl)}function Ve(n){return n instanceof de?new Ze(\"PIPELINE_LOAD_ERROR\",n):ge(n,{defaultCode:\"PIPELINE_LOAD_ERROR\",defaultReason:\"Unknown error when fetching the Manifest\"})}function Af(n){return n instanceof de?n.type===Rt.ERROR_HTTP_CODE?n.status>=500||n.status===404||n.status===415||n.status===412:n.type===Rt.TIMEOUT||n.type===Rt.ERROR_EVENT:n instanceof Xe?typeof n.canRetry==\"boolean\"?n.canRetry:n.xhr!==void 0?n.xhr.status>=500||n.xhr.status===404||n.xhr.status===415||n.xhr.status===412:!1:Nt(n)&&n.code===\"INTEGRITY_ERROR\"}async function tr(n,e,t,r,i){if(i.cancellationError!==null)return Promise.reject(i.cancellationError);let{baseDelay:a,maxDelay:o,maxRetry:s,onRetry:u}=r;n!==null&&n.length===0&&c.warn(\"utils\",\"No CDN given to `scheduleRequestWithCdns`.\");let d=new Map,f=l();if(f===void 0)throw new Error(\"No CDN to request\");return m(f);function l(){if(n===null){let h=d.get(null);return h!==void 0&&h.isBlacklisted?void 0:null}else{if(e===null)return b(n);{let h=e.getCdnPreferenceForResource(n);return b(h)}}}async function m(h){try{return await t(h,i)}catch(S){if(F.isCancellationError(S))throw S;h!==null&&e!==null&&e.downgradeCdn(h);let _=d.get(h);if(_===void 0?(_={errorCounter:1,blockedUntil:void 0,isBlacklisted:!1},d.set(h,_)):_.errorCounter++,!Af(S))return _.blockedUntil=void 0,_.isBlacklisted=!0,g(S);if(_.errorCounter>s)_.blockedUntil=void 0,_.isBlacklisted=!0;else{let P=_.errorCounter,T=Math.min(a*Math.pow(2,P-1),o),R=vi(T);_.blockedUntil=L()+R}return g(S)}}async function g(h){let S=l();if(i.isCancelled())throw i.cancellationError;if(S===void 0)throw h;if(u(h),i.isCancelled())throw i.cancellationError;return p(S,h)}function p(h,S){let _=d.get(h);if(_===void 0||_.blockedUntil===void 0)return m(h);let P=L(),T=_.blockedUntil-P;if(T<=0)return m(h);let R=new F,E=R.linkToSignal(i);return new Promise((M,C)=>{e==null||e.addEventListener(\"priorityChange\",()=>{let B=l();if(i.isCancelled())throw i.cancellationError;if(B===void 0)return N(S);B!==h&&(R.cancel(),p(B,S).then(x,N))},R.signal),fn(T,R.signal).then(()=>m(h).then(x,N),D);function x(B){E(),M(B)}function N(B){E(),C(B)}})}function b(h){var _;if(d.size===0)return h[0];let S=L();return(_=h.filter(P=>{var T;return((T=d.get(P))==null?void 0:T.isBlacklisted)!==!0}).reduce((P,T)=>{var E;let R=(E=d.get(T))==null?void 0:E.blockedUntil;return R!==void 0&&R<=S&&(R=void 0),P===void 0?[T,R]:P[1]===void 0?P:R===void 0?[T,void 0]:Rr.parse({previousManifest:null,unsafeMode:!1})),e.then(r=>{this.trigger(\"manifestReady\",r.manifest),this._canceller.isUsed()||this._recursivelyRefreshManifest(r.manifest,r)}).catch(r=>this._onFatalError(r))}updateContentUrls(e,t){var r;this._prioritizedContentUrl=(r=e==null?void 0:e[0])!=null?r:void 0,t&&this.scheduleManualRefresh({enablePartialRefresh:!1,delay:0,canUseUnsafeMode:!1})}async _fetchManifest(e){var d;let t=this._canceller.signal,r=this._settings,i=this._transportName,a=this._pipelines,o=e!=null?e:(d=this._manifestUrls)==null?void 0:d[0],s=this._getBackoffSetting(f=>{this.trigger(\"warning\",Ve(f))});try{let f=await u(o);return{parse:l=>this._parseLoadedManifest(f,l,o)}}catch(f){throw Ve(f)}function u(f){var h;let{loadManifest:l}=a,m=r.requestTimeout===void 0?U.getCurrent().DEFAULT_REQUEST_TIMEOUT:r.requestTimeout,g=r.connectionTimeout===void 0?U.getCurrent().DEFAULT_CONNECTION_TIMEOUT:r.connectionTimeout;m<0&&(m=void 0),g<0&&(g=void 0);let p={timeout:m,connectionTimeout:g,cmcdPayload:(h=r.cmcdDataBuilder)==null?void 0:h.getCmcdDataForManifest(i)};return Ka(()=>l(f,p,t),s,t)}}parse(e,t,r){return this._parseLoadedManifest({responseData:e,size:void 0,requestDuration:void 0},t,r)}async _parseLoadedManifest(e,t,r){var b;let i=L(),a=this._canceller.signal,o=this.trigger.bind(this),{sendingTime:s,receivedTime:u}=e,d=this._getBackoffSetting(h=>{this.trigger(\"warning\",Ve(h))}),f=r!=null?r:(b=this._manifestUrls)==null?void 0:b[0],l={externalClockOffset:t.externalClockOffset,unsafeMode:t.unsafeMode,previousManifest:t.previousManifest,originalUrl:f};try{let h=this._pipelines.parseManifest(e,l,g,a,m);if(kf(h)){let{manifest:S}=await h;return p(S)}else return p(h.manifest)}catch(h){throw ge(h,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"})}async function m(h){try{return await Ka(h,d,a)}catch(S){throw Ve(S)}}function g(h){for(let S of h){if(a.isCancelled())return;let _=ge(S,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"});o(\"warning\",_)}}function p(h){let S=L()-i;return c.info(\"MF\",`Manifest parsed in ${S}ms`),{manifest:h,sendingTime:s,receivedTime:u,parsingTime:S}}}_getBackoffSetting(e){let{DEFAULT_MAX_MANIFEST_REQUEST_RETRY:t,INITIAL_BACKOFF_DELAY_BASE:r,MAX_BACKOFF_DELAY_BASE:i}=U.getCurrent(),{lowLatencyMode:a,maxRetry:o}=this._settings,s=a?r.LOW_LATENCY:r.REGULAR,u=a?i.LOW_LATENCY:i.REGULAR,d=o!=null?o:t;return{onRetry:e,baseDelay:s,maxDelay:u,maxRetry:d}}_recursivelyRefreshManifest(e,{sendingTime:t,parsingTime:r,updatingTime:i}){let{MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:a,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:o}=U.getCurrent(),s=r!==void 0?r+(i!=null?i:0):void 0,u=!1;this._consecutiveUnsafeMode>0?u=this._consecutiveUnsafeMode=o);let d=t===void 0?0:L()-t,f=Math.max(this._settings.minimumManifestUpdateInterval-d,0),l=new F;if(l.linkToSignal(this._canceller.signal),this.scheduleManualRefresh=m=>{let{enablePartialRefresh:g,delay:p,canUseUnsafeMode:b}=m,h=b&&u,S=t===void 0?0:L()-t,_=Math.max(this._settings.minimumManifestUpdateInterval-S,0),P=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:g,unsafeMode:h})},Math.max((p!=null?p:0)-S,_));l.signal.register(()=>{clearTimeout(P)})},e.expired!==null){let m=setTimeout(()=>{var g;(g=e.expired)==null||g.then(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:u})},D)},f);l.signal.register(()=>{clearTimeout(m)})}if(e.lifetime!==void 0&&e.lifetime>=0){let m=e.lifetime*1e3-d,g;s===void 0?g=m:e.lifetime<3&&s>=100?(g=Math.min(Math.max(3e3-d,Math.max(m,0)+s),m*6),c.info(\"MF\",\"Manifest update rythm is too frequent. Postponing next request.\",{regularRefreshDelay:m,newRefreshDelay:g})):s>=e.lifetime*1e3/10?(g=Math.min(Math.max(m,0)+s,m*6),c.info(\"MF\",\"Manifest took too long to parse. Postponing next request\",{regularRefreshDelay:m,newRefreshDelay:g})):g=m;let p=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:u})},Math.max(g,f));l.signal.register(()=>{clearTimeout(p)})}}_triggerNextManifestRefresh(e,{enablePartialRefresh:t,unsafeMode:r}){let i=e.updateUrl,a,o;this._prioritizedContentUrl!==null?(a=!0,o=this._prioritizedContentUrl,this._prioritizedContentUrl=null):(a=!t||i===void 0,o=a?e.getUrls()[0]:i);let s=e.clockOffset;r?(this._consecutiveUnsafeMode+=1,c.info(\"MF\",'Refreshing the Manifest in \"unsafeMode\" for the '+String(this._consecutiveUnsafeMode)+\" consecutive time.\")):this._consecutiveUnsafeMode>0&&(c.info(\"MF\",'Not parsing the Manifest in \"unsafeMode\" anymore after '+String(this._consecutiveUnsafeMode)+\" consecutive times.\"),this._consecutiveUnsafeMode=0),!this._isRefreshPending&&(this._isRefreshPending=!0,this._fetchManifest(o).then(u=>u.parse({externalClockOffset:s,previousManifest:e,unsafeMode:r})).then(u=>{this._isRefreshPending=!1;let{manifest:d,sendingTime:f,parsingTime:l}=u,m=L();if(a)e.replace(d);else try{e.update(d)}catch(p){let b=p instanceof Error?p.message:\"unknown error\";c.warn(\"MF\",`Attempt to update Manifest failed: ${b}`,\"Re-downloading the Manifest fully\");let{FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:h}=U.getCurrent(),S=f===void 0?0:L()-f,_=Math.max(this._settings.minimumManifestUpdateInterval-S,0),P=D,T=setTimeout(()=>{P(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:!1})},Math.max(h-S,_));P=this._canceller.signal.register(()=>{clearTimeout(T)});return}let g=L()-m;this._recursivelyRefreshManifest(e,{sendingTime:f,parsingTime:l,updatingTime:g})}).catch(u=>{this._isRefreshPending=!1,this._onFatalError(u)}))}_onFatalError(e){this._canceller.isUsed()||(this.trigger(\"error\",e),this.dispose())}};function kf(n){return n instanceof Promise}var ja=nr;function Ya(n,e){let t=new WeakMap;return{createRequest(r,i,a,o){let s=d=>e(r,a,d),u=n.create(s,i,a,o);return t.set(u,s),u},updatePriority(r,i){let a=t.get(r);if(a===void 0){c.warn(\"SF\",\"Cannot update the priority of a request: task not found.\");return}n.updatePriority(a,i)}}}var Qa=class{constructor(){this._cache=new WeakMap}add({representation:e,segment:t},r){t.isInit&&this._cache.set(e,r)}get({representation:e,segment:t}){if(t.isInit){let r=this._cache.get(e);if(r!==void 0)return r}return null}},bu=Qa;var xf=Me();function $a({bufferType:n,pipeline:e,cdnPrioritizer:t,cmcdDataBuilder:r,eventListeners:i,requestOptions:a}){let o;a.connectionTimeout===void 0||a.connectionTimeout<0?o=void 0:o=a.connectionTimeout;let s={timeout:a.requestTimeout<0?void 0:a.requestTimeout,connectionTimeout:o,cmcdPayload:void 0},u=Ie([\"audio\",\"video\"],n)?new bu:void 0,{loadSegment:d,parseSegment:f}=e;return async function(m,g,p){var X,Z,V;let{segment:b,adaptation:h,representation:S,manifest:_,period:P}=m,T=He(m),R=xf(),E,M=[],C=0,x=!1,N={segment:b,type:h.type,language:h.language,isLive:_.isLive,periodStart:P.start,periodEnd:P.end,mimeType:S.mimeType,codecs:S.codecs[0],manifestPublishTime:_.publishTime},B={onProgress(G){var j;E===void 0&&G.totalSize!==void 0&&G.size0&&M.every(j=>j)&&(x=!0,(G=i.onMetrics)==null||G.call(i,{size:E.size,requestDuration:E.requestDuration,content:m,segmentDuration:C}))}}}function yu({maxRetry:n,lowLatencyMode:e,requestTimeout:t,connectionTimeout:r}){let{DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:i,DEFAULT_REQUEST_TIMEOUT:a,DEFAULT_CONNECTION_TIMEOUT:o,INITIAL_BACKOFF_DELAY_BASE:s,MAX_BACKOFF_DELAY_BASE:u}=U.getCurrent();return{maxRetry:n!=null?n:i,baseDelay:e?s.LOW_LATENCY:s.REGULAR,maxDelay:e?u.LOW_LATENCY:u.REGULAR,requestTimeout:t===void 0?a:t,connectionTimeout:r===void 0?o:r}}var rr=class extends fe{constructor(e,t){super(),this._segmentFetcher=e,this._currentContentInfo=null,this.isMediaSegmentQueueInterrupted=t}getRequestedInitSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.initSegmentRequest)==null?void 0:t.segment)!=null?r:null}getRequestedMediaSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.mediaSegmentRequest)==null?void 0:t.segment)!=null?r:null}resetForContent(e,t){var o;(o=this._currentContentInfo)==null||o.currentCanceller.cancel();let r=new Q({initSegment:null,segmentQueue:[]}),i=new F;i.signal.register(()=>{r.finish()});let a={content:e,downloadQueue:r,initSegmentInfoRef:t?new Q(void 0):new Q(null),currentCanceller:i,initSegmentRequest:null,mediaSegmentRequest:null,mediaSegmentAwaitingInitMetadata:null};return this._currentContentInfo=a,this.isMediaSegmentQueueInterrupted.onUpdate(s=>{s||(c.debug(\"SF\",\"Media segment can be loaded again, restarting queue.\",{type:e.adaptation.type}),this._restartMediaSegmentDownloadingQueue(a))},{clearSignal:i.signal}),r.onUpdate(s=>{let{segmentQueue:u}=s;if(u.length>0&&u[0].segment.id===a.mediaSegmentAwaitingInitMetadata)return;let d=a.mediaSegmentRequest;if(u.length===0){if(d===null)return;c.debug(\"SF\",\"no more media segment to request. Cancelling queue.\",{type:e.adaptation.type}),this._restartMediaSegmentDownloadingQueue(a);return}else if(d===null){c.debug(\"SF\",\"Media segments now need to be requested. Starting queue.\",{type:e.adaptation.type,queueLength:u.length}),this._restartMediaSegmentDownloadingQueue(a);return}else{let f=u[0];if(d.segment.id!==f.segment.id){c.debug(\"SF\",\"Next media segment changed, cancelling previous\",{type:e.adaptation.type}),this._restartMediaSegmentDownloadingQueue(a);return}d.priority!==f.priority&&(c.debug(\"SF\",\"Priority of next media segment changed, updating\",{type:e.adaptation.type,prevPriority:d.priority,newPriority:f.priority}),this._segmentFetcher.updatePriority(d.request,f.priority));return}},{emitCurrentValue:!0,clearSignal:i.signal}),r.onUpdate(s=>{var d;let u=a.initSegmentRequest;if(s.initSegment!==null&&u!==null){s.initSegment.priority!==u.priority&&this._segmentFetcher.updatePriority(u.request,s.initSegment.priority);return}else if(((d=s.initSegment)==null?void 0:d.segment.id)===(u==null?void 0:u.segment.id))return;s.initSegment===null&&c.debug(\"SF\",\"no more init segment to request. Cancelling queue.\",{type:e.adaptation.type}),this._restartInitSegmentDownloadingQueue(a,s.initSegment)},{emitCurrentValue:!0,clearSignal:i.signal}),r}stop(){var e;(e=this._currentContentInfo)==null||e.currentCanceller.cancel(),this._currentContentInfo=null}_restartMediaSegmentDownloadingQueue(e){e.mediaSegmentRequest!==null&&e.mediaSegmentRequest.canceller.cancel();let{downloadQueue:t,content:r,initSegmentInfoRef:i,currentCanceller:a}=e,o=()=>{var P;if(this.isMediaSegmentQueueInterrupted.getValue()){c.debug(\"SF\",\"Segment fetching postponed because it cannot stream now.\");return}let{segmentQueue:s}=t.getValue(),u=s[0];if(a!==null&&a.isUsed()){e.mediaSegmentRequest=null;return}if(u===void 0){e.mediaSegmentRequest=null,this.trigger(\"emptyQueue\",null);return}let d=new F,f=a===null?D:d.linkToSignal(a.signal),{segment:l,priority:m}=u,g=H({segment:l,nextSegment:(P=s[1])==null?void 0:P.segment},r),p=!1,b=!1;d.signal.register(()=>{e.mediaSegmentRequest=null,!p&&(e.mediaSegmentAwaitingInitMetadata===l.id&&(e.mediaSegmentAwaitingInitMetadata=null),p=!0,b=!1)});let h=T=>{ce(T.segmentType===\"media\",\"Should have loaded a media segment.\"),this.trigger(\"parsedMediaSegment\",H({},T,{segment:l}))},S=()=>{let T=t.getValue().segmentQueue;if(T.length===0){p=!0,this.trigger(\"emptyQueue\",null);return}else T[0].segment.id===l.id&&T.shift();p=!0,o()},_=this._segmentFetcher.createRequest(g,m,{onRetry:T=>{this.trigger(\"requestRetry\",{segment:l,error:T})},beforeInterrupted(){c.info(\"SF\",\"segment request interrupted temporarly.\",{segmentId:l.id,segmentTime:l.time})},onChunk:T=>{let R=i.getValue();R!==void 0?h(T(R!=null?R:void 0)):(b=!0,i.waitUntilDefined(E=>{h(T(E!=null?E:void 0))},{clearSignal:d.signal}))},onAllChunksReceived:()=>{b?(e.mediaSegmentAwaitingInitMetadata=l.id,i.waitUntilDefined(()=>{e.mediaSegmentAwaitingInitMetadata=null,b=!1,this.trigger(\"fullyLoadedSegment\",l)},{clearSignal:d.signal})):this.trigger(\"fullyLoadedSegment\",l)},beforeEnded:()=>{f(),e.mediaSegmentRequest=null,b?i.waitUntilDefined(S,{clearSignal:d.signal}):S()}},d.signal);_.catch(T=>{f(),p||(p=!0,this.stop(),this.trigger(\"error\",T))}),e.mediaSegmentRequest={segment:l,priority:m,request:_,canceller:d}};o()}_restartInitSegmentDownloadingQueue(e,t){let{content:r,initSegmentInfoRef:i}=e;if(e.initSegmentRequest!==null&&e.initSegmentRequest.canceller.cancel(),t===null)return;let a=new F,o=e.currentCanceller===null?D:a.linkToSignal(e.currentCanceller.signal),{segment:s,priority:u}=t,d=H({segment:s,nextSegment:void 0},r),f=!1,l=this._segmentFetcher.createRequest(d,u,{onRetry:m=>{this.trigger(\"requestRetry\",{segment:s,error:m})},beforeInterrupted:()=>{c.info(\"SF\",\"init segment request interrupted temporarly.\",{segmentId:s.id})},beforeEnded:()=>{o(),e.initSegmentRequest=null,f=!0},onChunk:m=>{var p;let g=m(void 0);ce(g.segmentType===\"init\",\"Should have loaded an init segment.\"),this.trigger(\"parsedInitSegment\",H({},g,{segment:s})),g.segmentType===\"init\"&&i.setValue((p=g.initTimescale)!=null?p:null)},onAllChunksReceived:()=>{this.trigger(\"fullyLoadedSegment\",s)}},a.signal);l.catch(m=>{o(),f||(f=!0,this.stop(),this.trigger(\"error\",m))}),a.signal.register(()=>{e.initSegmentRequest=null,!f&&(f=!0)}),e.initSegmentRequest={segment:s,priority:u,request:l,canceller:a}}};var ar=class{constructor({prioritySteps:e}){if(this._minPendingPriority=null,this._waitingQueue=[],this._pendingTasks=[],this._prioritySteps=e,this._prioritySteps.high>=this._prioritySteps.low)throw new Error(\"The max high level priority should be given a lowerpriority number than the min low priority.\")}create(e,t,r,i){let a;return vt(i,(o,s)=>(a={hasEnded:!1,priority:t,trigger:()=>{if(a.hasEnded)return;let d=()=>{g(),this._endTask(a)},f=p=>{r.beforeEnded(),d(),o(p)},l=p=>{d(),s(p)},m=new F,g=m.linkToSignal(i);a.interrupter=m,m.signal.register(()=>{a.interrupter=null,i.isCancelled()||r.beforeInterrupted()}),this._minPendingPriority=this._minPendingPriority===null?a.priority:Math.min(this._minPendingPriority,a.priority),this._pendingTasks.push(a),a.taskFn(m.signal).then(f).catch(p=>{!i.isCancelled()&&m.isUsed()&&p instanceof ue||l(p)})},taskFn:e,interrupter:null},this._canBeStartedNow(a)?(a.trigger(),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()):this._waitingQueue.push(a),()=>this._endTask(a)))}_endTask(e){e.hasEnded=!0;let t=ir(e.taskFn,this._waitingQueue);if(t>=0)this._waitingQueue.splice(t,1);else{let r=ir(e.taskFn,this._pendingTasks);if(r<0)return;this._pendingTasks.splice(r,1),this._pendingTasks.length>0?this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))):this._minPendingPriority=null,this._loopThroughWaitingQueue()}}updatePriority(e,t){let r=ir(e,this._waitingQueue);if(r>=0){let s=this._waitingQueue[r];if(s.priority===t||(s.priority=t,!this._canBeStartedNow(s)))return;this._findAndRunWaitingQueueTask(r),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks();return}let i=ir(e,this._pendingTasks);if(i<0){c.warn(\"SF\",\"request to update the priority of a non-existent task\");return}let a=this._pendingTasks[i];if(a.priority===t)return;let o=a.priority;a.priority=t,this._minPendingPriority===null||ts.priority)),this._loopThroughWaitingQueue()),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()}_loopThroughWaitingQueue(){let e=this._waitingQueue.reduce((t,r)=>t===null||t>r.priority?r.priority:t,null);if(!(e===null||this._minPendingPriority!==null&&this._minPendingPriority=this._prioritySteps.low)return this._interruptPendingTask(e),this._interruptCancellableTasks()}_findAndRunWaitingQueueTask(e){return e>=this._waitingQueue.length||e<0?(c.warn(\"SF\",\"Tried to start a non existing task\"),!1):(this._waitingQueue.splice(e,1)[0].trigger(),!0)}_interruptPendingTask(e){var r;let t=ir(e.taskFn,this._pendingTasks);if(t<0){c.warn(\"SF\",\"Interrupting a non-existent pending task. Aborting...\");return}this._pendingTasks.splice(t,1),this._waitingQueue.push(e),this._pendingTasks.length===0?this._minPendingPriority=null:this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))),(r=e.interrupter)==null||r.cancel()}_canBeStartedNow(e){return this._minPendingPriority===null||e.priority<=this._minPendingPriority}_isRunningHighPriorityTasks(){return this._minPendingPriority!==null&&this._minPendingPriority<=this._prioritySteps.high}};function ir(n,e){return re(e,t=>t.taskFn===n)}var or=class{constructor(e,t,r,i){let{MIN_CANCELABLE_PRIORITY:a,MAX_HIGH_PRIORITY_LEVEL:o}=U.getCurrent();this._transport=e,this._prioritizer=new ar({prioritySteps:{high:o,low:a}}),this._cdnPrioritizer=t,this._backoffOptions=i,this._cmcdDataBuilder=r}createSegmentQueue(e,t,r){let i=yu(this._backoffOptions),a=this._transport[e],o=$a({bufferType:e,pipeline:a,cdnPrioritizer:this._cdnPrioritizer,cmcdDataBuilder:this._cmcdDataBuilder,eventListeners:t,requestOptions:i}),s=Ya(this._prioritizer,o);return new rr(s,r)}};var Xa=or;function Za(n,e){let{loadThumbnail:t}=n,r=[];return async function(a,o){o.register(_);let s,u=K(r,({thumbnailContext:R})=>R.period.id===a.period.id&&R.track.id===a.track.id&&R.segment.id===a.segment.id);if(u!==void 0){c.debug(\"Thumbnails\",\"Requesting same thumbnail than the pending one\",{time:a.segment.time}),s=u,s.referenceCount++;let R;try{R=await s.promise}catch(E){throw o.deregister(_),E}return o.deregister(_),R}let{segment:d,track:f}=a,l=Mf({}),m;l.connectionTimeout===void 0||l.connectionTimeout<0?m=void 0:m=l.connectionTimeout;let g={timeout:l.requestTimeout<0?void 0:l.requestTimeout,connectionTimeout:m,cmcdPayload:void 0},p=new F,b=S();s={thumbnailContext:a,promise:b,referenceCount:1},r.push(s);let h=()=>{let R=r.indexOf(s);R>=0&&r.splice(R,1)};try{let R=await b;return h(),R}catch(R){throw h(),R}async function S(){c.debug(\"Thumbnails\",\"Beginning thumbnail request\",{time:d.time});let R;try{if(R=await tr(f.cdnMetadata,e,P,H({onRetry:T},l),p.signal),o.isCancelled())return Promise.reject(o.cancellationError);c.debug(\"Thumbnails\",\"Thumbnail request ended with success\",{time:d.time}),o.deregister(_)}catch(E){throw o.deregister(_),E instanceof ue?(c.debug(\"Thumbnails\",\"Thumbnail request aborted\",{time:d.time}),E):(c.debug(\"Thumbnails\",\"Thumbnail request failed\",{time:d.time}),Ve(E))}try{return n.parseThumbnail(R.responseData,{thumbnail:d,thumbnailTrack:f})}catch(E){throw ge(E,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown parsing error\"})}}function _(){c.debug(\"Thumbnails\",\"Thumbnail request cancelled\",{time:d.time});let R=r.indexOf(s);R<0||(r[R].referenceCount--,r[R].referenceCount<=0&&(p.cancel(),r.splice(R,1)))}function P(R){return t(R,d,g,o)}function T(R){let E=Ve(R);c.warn(\"Thumbnails\",\"Thumbnail request retry \",{time:d.time},E)}}}function Mf({maxRetry:n,requestTimeout:e,connectionTimeout:t}){let{DEFAULT_MAX_THUMBNAIL_REQUESTS_RETRY_ON_ERROR:r,DEFAULT_THUMBNAIL_REQUEST_TIMEOUT:i,DEFAULT_THUMBNAIL_CONNECTION_TIMEOUT:a,INITIAL_BACKOFF_DELAY_BASE:o,MAX_BACKOFF_DELAY_BASE:s}=U.getCurrent();return{maxRetry:n!=null?n:r,baseDelay:o.REGULAR,maxDelay:s.REGULAR,requestTimeout:e===void 0?i:e,connectionTimeout:t===void 0?a:t}}var Su=6,Ja=4e3,ni=6e3,Of=6e4,Qt=class{constructor(e){this._segmentSinksStore=e,this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=null,this._lastFlushAttempt=null,this._lastSegmentInfo={audio:[],video:[]}}onNewObservation(e){var h,S;let t=L();if(this._addPositionToHistory(e,t),this._ignoreFreezeUntil!==null&&t=Su||d)))return this._decipherabilityFreezeStartingTimestamp=null,null;let g=(S=(h=u==null?void 0:u.timestamp)!=null?h:s==null?void 0:s.timestamp)!=null?S:null;if(c.info(\"Freeze\",\"Freeze detected\",{freezeStart:g,timeFrozen:t-(g!=null?g:t)}),this._lastFlushAttempt!==null&&t-this._lastFlushAttempt.timestamp=a.MINIMUM&&Math.abs(f-this._lastFlushAttempt.position)r?(this._lastFlushAttempt={timestamp:t,position:f+i},c.debug(\"Freeze\",\"Trying to flush to un-freeze\"),this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+ni,{type:\"flush\",value:{relativeSeek:i}}):null}_checkForDecipherabilityRelatedFreeze(e,t){let{readyState:r,rebuffering:i,freezing:a,fullyLoaded:o}=e,s=Tu(e.bufferGap),u=i!==null&&t-i.timestamp>Ja,{hasUndecipherableData:d,hasEncryptedData:f}=wf(this._segmentSinksStore);if(d===!0)return c.warn(\"Freeze\",\"we have undecipherable segments left in the buffer, reloading\"),this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+ni,{type:\"reload\",value:null};let l=a!==null&&t-a.timestamp>Ja;return(u||l)&&(s>=Su||o)&&r<=1?this._decipherabilityFreezeStartingTimestamp===null&&(c.debug(\"Freeze\",\"Start of a potential decipherability freeze detected\"),this._decipherabilityFreezeStartingTimestamp=t):this._decipherabilityFreezeStartingTimestamp=null,this._decipherabilityFreezeStartingTimestamp!==null&&L()-this._decipherabilityFreezeStartingTimestamp>Ja&&f&&d===!1?(c.warn(\"Freeze\",\"we are frozen despite only having decipherable segments left in the buffer, reloading\"),this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+ni,{type:\"reload\",value:null}):null}_getStrategyIfFlushingFails(e){c.warn(\"Freeze\",\"A recent flush seemed to have no effect on freeze, checking for transitions\");let t=[];for(let r of[\"audio\",\"video\"]){let i=this._lastSegmentInfo[r];if(i.length===0)continue;let a=i[i.length-1];if(a.segment===null)continue;let o=a.segment,s;for(let u=i.length-2;u>=0;u--){let d=i[u];if(d.segment===null){s=d;break}else if(d.segment.infos.representation.uniqueId!==o.infos.representation.uniqueId&&a.timestamp-d.timestamp<5e3){s=d;break}else d.segment.start===o.start&&e-d.position<3e3&&(a=d)}if(s===void 0||s.segment===null)c.debug(\"Freeze\",\"Freeze when beginning to play a content, try avoiding this quality\"),t.push({adaptation:o.infos.adaptation,period:o.infos.period,representation:o.infos.representation});else{if(o.infos.period.id!==s.segment.infos.period.id)return c.debug(\"Freeze\",\"Freeze when switching Period, reloading\"),{type:\"reload\",value:null};o.infos.representation.uniqueId!==s.segment.infos.representation.uniqueId&&(c.warn(\"Freeze\",\"Freeze when switching Representation, avoiding\",{bitrate:o.infos.representation.bitrate}),t.push({adaptation:o.infos.adaptation,period:o.infos.period,representation:o.infos.representation}))}}return t.length>0?{type:\"avoid-representations\",value:t}:(c.debug(\"Freeze\",\"Reloading because flush doesn't work\"),{type:\"reload\",value:null})}_addPositionToHistory(e,t){var i,a;let r=e.position.getPolled();for(let o of[\"audio\",\"video\"]){let s=this._segmentSinksStore.getStatus(o);if(s.type===\"initialized\")for(let f of s.value.getLastKnownInventory())((i=f.bufferedStart)!=null?i:f.start)<=r&&((a=f.bufferedEnd)!=null?a:f.end)>r&&this._lastSegmentInfo[o].push({segment:f,position:r,timestamp:t});else this._lastSegmentInfo[o].push({segment:null,position:r,timestamp:t});if(this._lastSegmentInfo[o].length>100){let f=this._lastSegmentInfo[o].length-100;this._lastSegmentInfo[o].splice(0,f)}let u=t-Of,d;for(d=0;du);d++);d>0&&this._lastSegmentInfo[o].splice(0,d)}}};function wf(n){let e=!0,t=!0;for(let r of[\"audio\",\"video\"]){let i=n.getStatus(r);if(i.type===\"initialized\")for(let a of i.value.getLastKnownInventory()){let{representation:o}=a.infos;if(o.decipherable===!1)return{hasUndecipherableData:!0,hasEncryptedData:!0};o.contentProtections!==void 0&&(t=!1,o.decipherable!==!0&&(e=!1))}}return{hasEncryptedData:!t,hasUndecipherableData:e?!1:void 0}}function Tu(n){return n!==void 0&&isFinite(n)?n:0}var{DEFAULT_WANTED_BUFFER_AHEAD:Df,DEFAULT_MAX_VIDEO_BUFFER_SIZE:Bf,DEFAULT_MAX_BUFFER_AHEAD:Nf,DEFAULT_MAX_BUFFER_BEHIND:Uf}=U.getCurrent(),eo=new Q(Df),to=new Q(Bf),no=new Q(Nf),ro=new Q(Uf),ri=new Q({height:void 0,width:void 0,pixelRatio:1}),ii=new Q(1/0);function $(n,e){c.debug(\"M<--C\",\"Sending message\",{name:n.type}),e===void 0?postMessage(n):postMessage(n,e)}function ke(n){return ge(n,{defaultCode:\"NONE\",defaultReason:\"An unknown error stopped content playback.\"}).serialize()}var sr=class{constructor(){this._refs=new Map}reset(){var e,t,r,i,a,o,s,u,d,f,l,m;for(let g of this._refs.keys())(t=(e=this._refs.get(g))==null?void 0:e.audio)==null||t.trackReference.finish(),(i=(r=this._refs.get(g))==null?void 0:r.audio)==null||i.representations.finish(),(o=(a=this._refs.get(g))==null?void 0:a.video)==null||o.trackReference.finish(),(u=(s=this._refs.get(g))==null?void 0:s.video)==null||u.representations.finish(),(f=(d=this._refs.get(g))==null?void 0:d.text)==null||f.trackReference.finish(),(m=(l=this._refs.get(g))==null?void 0:l.text)==null||m.representations.finish();this._refs=new Map}addTrackSetter(e,t,r){var s,u;let i=this._refs.get(e);i===void 0&&(i={},this._refs.set(e,i)),i[t]!==void 0&&(c.warn(\"Track\",\"Track for periodId already declared\",{periodId:e,bufferType:t}),(s=i[t])==null||s.trackReference.finish(),(u=i[t])==null||u.representations.finish());let a=r.getValue(),o;v(a)?o=new Q({representationIds:[],switchingMode:\"lazy\"}):(o=new Q(a.representations.getValue()),r.setValue(H({},a,{representations:o}))),i[t]={trackReference:r,representations:o}}setTrack(e,t,r){var a;let i=(a=this._refs.get(e))==null?void 0:a[t];return i===void 0?(c.debug(\"Track\",\"Setting track for inexistent periodId\",{periodId:e,bufferType:t}),!1):(v(r)?(i.representations=new Q({representationIds:[],switchingMode:\"lazy\"}),i.trackReference.setValue(r)):(i.representations=new Q(r.initialRepresentations),i.trackReference.setValue({adaptationId:r.adaptationId,switchingMode:r.switchingMode,representations:i.representations,relativeResumingPosition:r.relativeResumingPosition})),!0)}updateRepresentations(e,t,r,i){var s;let a=(s=this._refs.get(e))==null?void 0:s[r];if(a===void 0)return c.debug(\"Track\",\"Setting track for inexistent periodId\",{periodId:e,bufferType:r}),!1;let o=a.trackReference.getValue();return v(o)||o.adaptationId!==t?(c.debug(\"Track\",\"Desynchronized Adaptation id\",{oldId:o==null?void 0:o.adaptationId,newId:t}),!1):(a.representations.setValue(i),!0)}removeTrackSetter(e,t){let r=this._refs.get(e),i=r==null?void 0:r[t];return r===void 0||i===void 0?(c.debug(\"Track\",\"Removing track setter for inexistent periodId\",{periodId:e,bufferType:t}),!1):(i.trackReference.finish(),i.representations.finish(),delete r[t],Object.keys(r).length===0&&this._refs.delete(e),!0)}};var ur=class{constructor(e,t){this._contentId=e,this._messageSender=t,this._queues={pushTextData:[],remove:[]}}pushTextData(e){return new Promise((t,r)=>{this._messageSender({type:\"push-text-data\",contentId:this._contentId,value:e}),this._queues.pushTextData.push({resolve:t,reject:r})})}remove(e,t){return new Promise((r,i)=>{this._messageSender({type:\"remove-text-data\",contentId:this._contentId,value:{start:e,end:t}}),this._queues.remove.push({resolve:r,reject:i})})}reset(){this._messageSender({type:\"reset-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue()}stop(){this._messageSender({type:\"stop-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue()}_resetCurrentQueue(){let e=new ue;this._queues.pushTextData.forEach(t=>{t.reject(e)}),this._queues.remove.forEach(t=>{t.reject(e)})}onPushedTrackSuccess(e){let t=this._queues.pushTextData.shift();if(t===void 0){c.error(\"text\",\"pushTextData success for inexistant operation\");return}t.resolve(e)}onPushedTrackError(e){let t=this._queues.pushTextData.shift();if(t===void 0){c.error(\"text\",\"pushTextData error for inexistant operation\");return}t.reject(e)}onRemoveSuccess(e){let t=this._queues.remove.shift();if(t===void 0){c.error(\"text\",\"remove success for inexistant operation\");return}t.resolve(e)}onRemoveError(e){let t=this._queues.pushTextData.shift();if(t===void 0){c.error(\"text\",\"pushTextData error for inexistant operation\");return}t.reject(e)}};var Eu=Me(),$t=class{constructor({hasVideo:e}){this._currentContent=null,this._currentMediaSourceCanceller=new F,this._hasVideo=e;let t=new F;this._contentCanceller=t}initializeNewContent(e){return new Promise((t,r)=>{var A,w;this.disposeCurrentContent();let i=this._contentCanceller,a=new F;this._currentMediaSourceCanceller=a,a.linkToSignal(i.signal);let{contentId:o,url:s,hasText:u,transportOptions:d,useMseInWorker:f,enableRepresentationAvoidance:l}=e,m=null;ce(De.transports.dash!==void 0,\"Multithread RxPlayer should have access to the DASH feature\");let g=typeof d.representationFilter==\"string\"?Ro(d.representationFilter):void 0,p=De.transports.dash(se(ee({},d),{representationFilter:g})),b=e.cmcd===void 0?null:new hu(e.cmcd),h=new ja(s===void 0?void 0:[s],p,ee({cmcdDataBuilder:b},e.manifestRetryOptions)),S=gu({initialBitrates:{audio:(A=e.initialAudioBitrate)!=null?A:0,video:(w=e.initialVideoBitrate)!=null?w:0},lowLatencyMode:d.lowLatencyMode,throttlers:{limitResolution:{video:ri},throttleBitrate:{video:ii}}}),_=a.signal.register(k=>{r(k)}),P=new er(i.signal),T=new Xa(p,P,b,e.segmentRetryOptions),R=Za(p.thumbnails,P),E=new sr,[M,C,x]=_u(o,{useMseInWorker:f,hasVideo:this._hasVideo,hasText:u},a.signal),N=new Qt(C);this._currentContent={cmcdDataBuilder:b,contentId:o,enableRepresentationAvoidance:l,freezeResolver:N,mediaSource:M,manifest:null,manifestFetcher:h,representationEstimator:S,segmentSinksStore:C,segmentQueueCreator:T,fetchThumbnailData:R,workerTextSender:x,trackChoiceSetter:E,useMseInWorker:f},M.addEventListener(\"mediaSourceOpen\",function(){B()},a.signal),i.signal.register(()=>{h.dispose()}),h.addEventListener(\"warning\",k=>{$({type:\"warning\",contentId:o,value:ke(k)})},i.signal),h.addEventListener(\"manifestReady\",k=>{if(m!==null){c.warn(\"Core\",\"Multiple `manifestReady` events, ignoring\");return}m=k,this._currentContent!==null&&(this._currentContent.manifest=m),B()},a.signal),h.addEventListener(\"error\",k=>{$({type:\"error\",contentId:o,value:ke(k)}),r(k)},i.signal),h.start();function B(){if(m===null||M.readyState===\"closed\"||a.isUsed())return;Lf(m);let k=m.getMetadataSnapshot();m.addEventListener(\"manifestUpdate\",O=>{if(m===null)return;let z=H(m.getMetadataSnapshot(),{periods:[]});$({type:\"manifest-update\",contentId:o,value:{manifest:z,updates:O}})},i.signal),_(),t(k)}})}getCurrentContent(){return this._currentContent}scheduleManifestRefresh(e){var t;(t=this._currentContent)==null||t.manifestFetcher.scheduleManualRefresh(e)}reloadMediaSource(){if(this._currentMediaSourceCanceller.cancel(),this._currentContent===null)return Promise.reject(new Error(\"CP: No content anymore\"));this._currentContent.trackChoiceSetter.reset(),this._currentMediaSourceCanceller=new F;let[e,t,r]=_u(this._currentContent.contentId,{useMseInWorker:this._currentContent.useMseInWorker,hasVideo:this._hasVideo,hasText:this._currentContent.workerTextSender!==null},this._currentMediaSourceCanceller.signal);return this._currentContent.mediaSource=e,this._currentContent.segmentSinksStore=t,this._currentContent.freezeResolver=new Qt(t),this._currentContent.workerTextSender=r,new Promise((i,a)=>{e.addEventListener(\"mediaSourceOpen\",function(){i()},this._currentMediaSourceCanceller.signal),e.addEventListener(\"mediaSourceClose\",function(){a(new Error(\"MediaSource ReadyState changed to close during init.\"))},this._currentMediaSourceCanceller.signal),this._currentMediaSourceCanceller.signal.register(o=>{a(o)})})}disposeCurrentContent(){this._contentCanceller.cancel(),this._contentCanceller=new F}};function _u(n,e,t){let r;if(e.useMseInWorker){let s=new Gn(Eu());r=s;let u,d=s.handle;if(d.type===\"handle\")u={type:\"handle\",value:d.value};else{let f=URL.createObjectURL(d.value);u={type:\"url\",value:f},t.register(()=>{URL.revokeObjectURL(f)})}$({type:\"attach-media-source\",contentId:n,value:u,mediaSourceId:r.id},[d.value])}else r=new Hn(Eu(),n,$);let i=e.hasText?new ur(n,$):null,{hasVideo:a}=e,o=new _t(r,a,i);return t.register(()=>{o.disposeAll(),i==null||i.stop(),r.dispose()}),[r,o,i]}function Lf(n){var t,r;if(v(ct))return;let e=new Map;for(let i of n.periods){let a=[...(t=i.adaptations.video)!=null?t:[],...(r=i.adaptations.audio)!=null?r:[]];for(let o of a)for(let s of o.representations){let u=`${s.mimeType};codecs=\"${s.codecs[0]}\"`;if(e.has(u))s.isCodecSupportedInWebWorker=e.get(u);else{let d=ct.isTypeSupported(u);s.isCodecSupportedInWebWorker=d,e.set(u,d)}}}}function io(){let n=!1,e=new $t({hasVideo:!0}),t=null,r=new As;De.dashParsers.wasm=r,De.dashParsers.js=ps,De.transports.dash=Ls;let i=null;te.onmessageerror=a=>{c.error(\"Core\",\"Error when receiving message from main thread.\")},onmessage=function(a){var s,u;c.debug(\"Core\",\"received message\",{name:a.data.type});let o=a.data;switch(o.type){case\"init\":ce(!n),n=!0,lo(o.value),Ru(o.value.logLevel,o.value.logFormat,o.value.sendBackLogs),o.value.dashWasmUrl!==void 0&&r.isCompatible()&&r.initialize({wasmUrl:o.value.dashWasmUrl}).catch(d=>{let f=d instanceof Error?d.toString():\"Unknown Error\";c.error(\"Core\",\"Could not initialize DASH_WASM parser\",f)}),o.value.hasVideo||(e.disposeCurrentContent(),e=new $t({hasVideo:o.value.hasVideo})),$({type:\"init-success\",value:null});break;case\"log-level-update\":Ru(o.value.logLevel,o.value.logFormat,o.value.sendBackLogs);break;case\"prepare\":Ff(e,o.value);break;case\"start\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;t==null||t.stop(),i==null||i.finish();let f=new Q(H(o.value.initialObservation,{position:new wt(...o.value.initialObservation.position)}));i=f,t=Wf(o.value,e,f);break}case\"observation\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;let f=o.value,{buffered:l}=f,m=Ba(d.mediaSource,null);m.audio!==null&&(l.audio=m.audio),m.video!==null&&(l.video=m.video),i==null||i.setValue(H(f,{position:new wt(...o.value.position)}));break}case\"ref-update\":zf(o);break;case\"stop\":if(o.contentId!==((s=e.getCurrentContent())==null?void 0:s.contentId))return;e.disposeCurrentContent(),t==null||t.stop(),t=null,i==null||i.finish(),i=null;break;case\"ms-reload\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;t==null||t.signalMediaSourceReload()}break;case\"sb-success\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;let{sourceBuffers:f}=d.mediaSource,l=K(f,m=>m.type===o.sourceBufferType);if(l===void 0){c.info(\"Core\",\"Success for an unknown SourceBuffer\",{sourceBufferType:o.sourceBufferType});return}if(l.onOperationSuccess===void 0){c.warn(\"Core\",\"A SourceBufferInterface with MSE performed a cross-thread operation\",{sourceBufferType:o.sourceBufferType});return}l.onOperationSuccess(o.operationId,o.value.buffered);break}case\"sb-error\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;let{sourceBuffers:f}=d.mediaSource,l=K(f,m=>m.type===o.sourceBufferType);if(l===void 0){c.info(\"Core\",\"Error for an unknown SourceBuffer\",{sourceBufferType:o.sourceBufferType});return}if(l.onOperationFailure===void 0){c.warn(\"Core\",\"A SourceBufferInterface with MSE performed a cross-thread operation\",{sourceBufferType:o.sourceBufferType});return}l.onOperationFailure(o.operationId,o.value);break}case\"media-source-ready-state-change\":{let d=e.getCurrentContent();if(o.mediaSourceId!==(d==null?void 0:d.mediaSource.id))return;if(d.mediaSource.onMediaSourceReadyStateChanged===void 0){c.warn(\"Core\",\"A MediaSourceInterface with MSE performed a cross-thread operation\");return}d.mediaSource.onMediaSourceReadyStateChanged(o.value);break}case\"decipherability-update\":{if(o.contentId!==((u=e.getCurrentContent())==null?void 0:u.contentId))return;let d=e.getCurrentContent();if(d===null||d.manifest===null)return;let f=o.value;d.manifest.updateRepresentationsDeciperability(l=>{for(let m of f)if(l.representation.uniqueId===m.representationUniqueId)return m.decipherable;return l.representation.decipherable});break}case\"codec-support-update\":{let d=e.getCurrentContent();if(d===null||d.manifest===null)return;let f=o.value;try{let l=d.manifest.updateCodecSupport(f);l!==null&&$({type:\"warning\",contentId:d.contentId,value:ke(l)})}catch(l){$({type:\"error\",contentId:d.contentId,value:ke(l)})}break}case\"urls-update\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;d.manifestFetcher.updateContentUrls(o.value.urls,o.value.refreshNow);break}case\"track-update\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;d.trackChoiceSetter.setTrack(o.value.periodId,o.value.bufferType,o.value.choice);break}case\"rep-update\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;d.trackChoiceSetter.updateRepresentations(o.value.periodId,o.value.adaptationId,o.value.bufferType,o.value.choice);break}case\"add-text-success\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){c.error(\"Core\",\"Added text track but text track aren't enabled\");return}d.workerTextSender.onPushedTrackSuccess(o.value.ranges);break}case\"push-text-error\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){c.error(\"Core\",\"Added text track but text track aren't enabled\");return}d.workerTextSender.onPushedTrackError(new Error(o.value.message));break}case\"remove-text-success\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){c.error(\"Core\",\"Removed text track but text track aren't enabled\");return}d.workerTextSender.onRemoveSuccess(o.value.ranges);break}case\"remove-text-error\":{let d=e.getCurrentContent();if(d===null||d.contentId!==o.contentId)return;if(d.workerTextSender===null){c.error(\"Core\",\"Removed text track but text track aren't enabled\");return}d.workerTextSender.onRemoveError(new Error(o.value.message));break}case\"pull-segment-sink-store-infos\":{qf(e,o.value.requestId);break}case\"thumbnail-request\":{Gf(e,o);break}case\"config-update\":{U.update(o.value);break}default:Ne(o)}}}function Ff(n,e){n.initializeNewContent(e).then(t=>{$({type:\"manifest-ready\",contentId:e.contentId,value:{manifest:t}})},t=>{$({type:\"error\",contentId:e.contentId,value:ke(t)})})}function zf(n){switch(n.value.name){case\"wantedBufferAhead\":eo.setValueIfChanged(n.value.newVal);break;case\"maxVideoBufferSize\":to.setValueIfChanged(n.value.newVal);break;case\"maxBufferBehind\":ro.setValueIfChanged(n.value.newVal);break;case\"maxBufferAhead\":no.setValueIfChanged(n.value.newVal);break;case\"limitVideoResolution\":ri.setValueIfChanged(n.value.newVal);break;case\"throttleVideoBitrate\":ii.setValueIfChanged(n.value.newVal);break;default:Ne(n.value)}}function Wf(n,e,t){c.debug(\"Core\",\"Loading pepared content.\");let r=new F,i=null;return a(n.initialTime),{signalMediaSourceReload:()=>s(),stop:()=>{r.cancel()}};function a(u){var B;i==null||i.cancel(),i=new F,i.linkToSignal(r.signal);let d=new Map,f=e.getCurrentContent();if(f===null||f.manifest===null){let A=new _e(\"NONE\",\"Loading content when none is prepared\");throw $({type:\"error\",contentId:void 0,value:ke(A)}),A}let{contentId:l,cmcdDataBuilder:m,enableRepresentationAvoidance:g,manifest:p,mediaSource:b,representationEstimator:h,segmentSinksStore:S,segmentQueueCreator:_}=f,{drmSystemId:P,enableFastSwitching:T,onCodecSwitch:R}=n;t.onUpdate(A=>{Ua(A,S);let w=f.freezeResolver.onNewObservation(A);w!==null&&Vf(w,{contentId:l,manifest:p,handleMediaSourceReload:o,enableRepresentationAvoidance:g})},{clearSignal:i.signal});let E=(B=p.getPeriodForTime(u))!=null?B:p.getNextPeriod(u);if(E===void 0){let A=new J(\"MEDIA_STARTING_TIME_NOT_FOUND\",\"Wanted starting time not found in the Manifest.\");throw $({type:\"error\",contentId:l,value:ke(A)}),A}let M=new kn(t,l,$,i.signal);m==null||m.startMonitoringPlayback(M),i.signal.register(()=>{m==null||m.stopMonitoringPlayback()});let C=Da(p,b,M,S,{onWarning:A=>$({type:\"warning\",contentId:l,value:ke(A)}),onPeriodChanged:A=>{$({type:\"active-period-changed\",contentId:l,value:{periodId:A.id}})}},i.signal);au({initialPeriod:E,manifest:p},M,h,S,_,{wantedBufferAhead:eo,maxVideoBufferSize:to,maxBufferAhead:no,maxBufferBehind:ro,drmSystemId:P,enableFastSwitching:T,onCodecSwitch:R},x(),i.signal);function x(){return{needsBufferFlush(A){$({type:\"needs-buffer-flush\",contentId:l,value:A})},streamStatusUpdate(A){N(A),p.isLastPeriodKnown&&A.period.id===p.periods[p.periods.length-1].id&&(A.hasFinishedLoading||A.isEmptyStream?C.onLastSegmentFinishedLoading(A.bufferType):C.onLastSegmentLoadingResume(A.bufferType))},needsManifestRefresh(){e.scheduleManifestRefresh({enablePartialRefresh:!0,canUseUnsafeMode:!0})},manifestMightBeOufOfSync(){let{OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:A}=U.getCurrent();e.scheduleManifestRefresh({enablePartialRefresh:!1,canUseUnsafeMode:!1,delay:A})},lockedStream(A){$({type:\"locked-stream\",contentId:l,value:{periodId:A.period.id,bufferType:A.bufferType}})},adaptationChange(A){var w,k;C.onAdaptationChange(A.type,A.period,A.adaptation),!(i===null||i.signal.isCancelled())&&$({type:\"adaptation-changed\",contentId:l,value:{adaptationId:(k=(w=A.adaptation)==null?void 0:w.id)!=null?k:null,periodId:A.period.id,type:A.type}})},representationChange(A){var w,k;C.onRepresentationChange(A.type,A.period),!(i===null||i.signal.isCancelled())&&$({type:\"representation-changed\",contentId:l,value:{adaptationId:A.adaptation.id,representationId:(k=(w=A.representation)==null?void 0:w.id)!=null?k:null,periodId:A.period.id,type:A.type}})},inbandEvent(A){$({type:\"inband-event\",contentId:l,value:A})},warning(A){$({type:\"warning\",contentId:l,value:ke(A)})},periodStreamReady(A){f!==null&&(f.trackChoiceSetter.addTrackSetter(A.period.id,A.type,A.adaptationRef),$({type:\"period-stream-ready\",contentId:l,value:{periodId:A.period.id,bufferType:A.type}}))},periodStreamCleared(A){if(f===null)return;let w=d.get(A.period);w!==void 0&&(w.delete(A.type),w.size===0&&d.delete(A.period)),C.onPeriodCleared(A.type,A.period),f.trackChoiceSetter.removeTrackSetter(A.period.id,A.type),$({type:\"period-stream-cleared\",contentId:l,value:{periodId:A.period.id,bufferType:A.type}})},bitrateEstimateChange(A){var w;f!==null&&((w=f.cmcdDataBuilder)==null||w.updateThroughput(A.type,A.bitrate)),$({type:\"bitrate-estimate-change\",contentId:l,value:{bitrate:A.bitrate,bufferType:A.type}})},needsMediaSourceReload(A){o(A)},needsDecipherabilityFlush(){$({type:\"needs-decipherability-flush\",contentId:l,value:null})},encryptionDataEncountered(A){for(let w of A){let k=w.content,O=ee({},k);O.manifest instanceof zt&&(O.manifest=O.manifest.getMetadataSnapshot()),O.period instanceof ht&&(O.period=O.period.getMetadataSnapshot()),O.adaptation instanceof mt&&(O.adaptation=O.adaptation.getMetadataSnapshot()),O.representation instanceof ln&&(O.representation=O.representation.getMetadataSnapshot()),$({type:\"encryption-data-encountered\",contentId:l,value:{keyIds:w.keyIds,values:w.values,content:O,type:w.type}})}},error(A){$({type:\"error\",contentId:l,value:ke(A)})}}}function N(A){let{imminentDiscontinuity:w}=A,k=d.get(A.period),O=k==null?void 0:k.get(A.bufferType);if(O!==void 0){if(O.discontinuity===null){if(w===null)return}else if(w!==null&&O.discontinuity.start===w.start&&O.discontinuity.end===w.end)return}k===void 0&&(k=new Map,d.set(A.period,k));let z={periodId:A.period.id,bufferType:A.bufferType,discontinuity:A.imminentDiscontinuity,position:A.position};k.set(A.bufferType,z),$({type:\"discontinuity-update\",contentId:l,value:z})}}function o(u){var f;i!==null&&(i.cancel(),i=null);let d=(f=e.getCurrentContent())==null?void 0:f.mediaSource.id;if(d===void 0){c.warn(\"Core\",\"Cannot reload MediaSource: no MediaSource currently.\");return}c.debug(\"Core\",\"Reloading MediaSource\",{timeOffset:u.timeOffset,minimumPosition:u.minimumPosition,maximumPosition:u.maximumPosition}),$({type:\"reloading-media-source\",mediaSourceId:d,value:u},[]),s()}function s(){var l;let d=t.getValue().position.getWanted();i!==null&&(i.cancel(),i=null);let f=(l=e.getCurrentContent())==null?void 0:l.contentId;e.reloadMediaSource().then(()=>{c.info(\"Core\",\"MediaSource Reloaded, loading content again\",{newInitialTime:d}),a(d)},m=>{if(F.isCancellationError(m)){c.info(\"Core\",\"A reloading operation was cancelled\");return}$({type:\"error\",contentId:f,value:ke(m)})})}}function Ru(n,e,t){t?c.setLevel(n,\"standard\",(r,i,a)=>{let o=a.map(s=>s instanceof Error?ke(s):s);postMessage({type:\"log\",value:{namespace:i,logLevel:r,logs:o}})}):c.setLevel(n,e)}function qf(n,e){let t=n.getCurrentContent();if(t===null)return;let r=t.segmentSinksStore.getSegmentSinksMetrics();$({type:\"segment-sink-store-update\",contentId:t.contentId,value:{segmentSinkMetrics:r,requestId:e}})}function Vf(n,{contentId:e,manifest:t,handleMediaSourceReload:r,enableRepresentationAvoidance:i}){switch(n.type){case\"reload\":{c.info(\"Core\",\"Planning reload due to freeze\"),r({timeOffset:0,minimumPosition:0,maximumPosition:1/0});break}case\"flush\":{c.info(\"Core\",\"Flushing buffer due to freeze\"),$({type:\"needs-buffer-flush\",contentId:e,value:{relativeResumingPosition:n.value.relativeSeek,relativePosHasBeenDefaulted:!1}});break}case\"avoid-representations\":{c.info(\"Core\",\"Planning Representation avoidance due to freeze\");let a=n.value;i&&t.addRepresentationsToAvoid(a),r({timeOffset:0,minimumPosition:0,maximumPosition:1/0});break}default:Ne(n)}}function Gf(n,e){let t=n.getCurrentContent(),r=i=>{$({type:\"thumbnail-response\",contentId:e.contentId,value:{status:\"error\",requestId:e.value.requestId,error:ke(i)}})};if(t===null||t.manifest===null||t.contentId!==e.contentId)return r(new Error(\"Content changed\"));Na(t.fetchThumbnailData,t.manifest,e.value.periodId,e.value.thumbnailTrackId,e.value.time).then(i=>{$({type:\"thumbnail-response\",contentId:e.contentId,value:{status:\"success\",requestId:e.value.requestId,data:i}},[i.data])},i=>r(i))}var Pu=io;Pu();})();\n" + "})()"], { type: "application/javascript" }); export { blob as EMBEDDED_WORKER }; export default blob;