rx-player 4.3.0-dev.2024112900 → 4.3.0-dev.2025012900
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -8
- package/VERSION +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/commonjs/compat/browser_compatibility_types.d.ts +7 -2
- package/dist/commonjs/compat/browser_compatibility_types.d.ts.map +1 -1
- package/dist/commonjs/compat/browser_compatibility_types.js +0 -1
- package/dist/commonjs/compat/browser_detection.js +1 -1
- package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
- package/dist/commonjs/compat/event_listeners.js +2 -4
- package/dist/commonjs/compat/has_mse_in_worker.d.ts.map +1 -1
- package/dist/commonjs/core/cmcd/cmcd_data_builder.d.ts.map +1 -1
- package/dist/commonjs/core/cmcd/cmcd_data_builder.js +1 -2
- package/dist/commonjs/core/main/worker/send_message.d.ts.map +1 -1
- package/dist/commonjs/core/main/worker/send_message.js +0 -1
- package/dist/commonjs/core/main/worker/worker_main.js +1 -1
- package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
- package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +4 -8
- package/dist/commonjs/core/stream/period/period_stream.js +1 -3
- package/dist/commonjs/core/stream/period/utils/get_adaptation_switch_strategy.js +1 -2
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api/index.d.ts.map +1 -1
- package/dist/commonjs/main_thread/api/public_api.js +4 -4
- package/dist/commonjs/main_thread/decrypt/clear_on_stop.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/clear_on_stop.js +60 -14
- package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/content_decryptor.js +21 -9
- package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.js +2 -18
- package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/find_key_system.js +134 -68
- package/dist/commonjs/main_thread/decrypt/get_key_system_configuration.js +2 -2
- package/dist/commonjs/main_thread/decrypt/get_media_keys.js +5 -3
- package/dist/commonjs/main_thread/decrypt/init_media_keys.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/init_media_keys.js +2 -2
- package/dist/{es2017/main_thread/decrypt/utils/media_keys_infos_store.d.ts → commonjs/main_thread/decrypt/utils/media_keys_attacher.d.ts} +31 -9
- package/dist/commonjs/main_thread/decrypt/utils/media_keys_attacher.d.ts.map +1 -0
- package/dist/commonjs/main_thread/decrypt/utils/media_keys_attacher.js +282 -0
- package/dist/commonjs/main_thread/init/utils/rebuffering_controller.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/utils/rebuffering_controller.js +20 -9
- package/dist/commonjs/main_thread/text_displayer/html/text_track_cues_store.js +1 -1
- package/dist/commonjs/main_thread/tracks_store/track_dispatcher.d.ts.map +1 -1
- package/dist/commonjs/main_thread/tracks_store/track_dispatcher.js +3 -4
- package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
- package/dist/commonjs/main_thread/tracks_store/tracks_store.js +1 -1
- package/dist/commonjs/manifest/classes/representation.d.ts +15 -1
- package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
- package/dist/commonjs/manifest/classes/representation.js +17 -0
- package/dist/commonjs/manifest/utils.d.ts +15 -0
- package/dist/commonjs/manifest/utils.d.ts.map +1 -1
- package/dist/commonjs/manifest/utils.js +28 -5
- package/dist/commonjs/parsers/manifest/dash/common/parse_representations.js +2 -2
- package/dist/commonjs/playback_observer/media_element_playback_observer.js +1 -1
- package/dist/commonjs/public_types.d.ts +44 -0
- package/dist/commonjs/public_types.d.ts.map +1 -1
- package/dist/commonjs/utils/flat_map.d.ts +2 -2
- package/dist/commonjs/utils/flat_map.js +2 -2
- package/dist/commonjs/utils/url-utils.d.ts.map +1 -1
- package/dist/commonjs/utils/url-utils.js +11 -10
- package/dist/commonjs/utils/xml-parser.d.ts.map +1 -1
- package/dist/commonjs/utils/xml-parser.js +10 -8
- package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/es2017/compat/browser_compatibility_types.d.ts +7 -2
- package/dist/es2017/compat/browser_compatibility_types.d.ts.map +1 -1
- package/dist/es2017/compat/browser_compatibility_types.js +0 -1
- package/dist/es2017/compat/browser_detection.js +1 -1
- package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
- package/dist/es2017/compat/event_listeners.js +2 -4
- package/dist/es2017/compat/has_mse_in_worker.d.ts.map +1 -1
- package/dist/es2017/core/cmcd/cmcd_data_builder.d.ts.map +1 -1
- package/dist/es2017/core/cmcd/cmcd_data_builder.js +1 -2
- package/dist/es2017/core/main/worker/send_message.d.ts.map +1 -1
- package/dist/es2017/core/main/worker/send_message.js +0 -1
- package/dist/es2017/core/main/worker/worker_main.js +1 -1
- package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
- package/dist/es2017/core/stream/adaptation/adaptation_stream.js +4 -6
- package/dist/es2017/core/stream/period/period_stream.js +1 -3
- package/dist/es2017/core/stream/period/utils/get_adaptation_switch_strategy.js +1 -2
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api/index.d.ts.map +1 -1
- package/dist/es2017/main_thread/api/public_api.js +4 -4
- package/dist/es2017/main_thread/decrypt/clear_on_stop.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/clear_on_stop.js +3 -3
- package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/content_decryptor.js +21 -9
- package/dist/es2017/main_thread/decrypt/dispose_decryption_resources.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/dispose_decryption_resources.js +2 -12
- package/dist/es2017/main_thread/decrypt/find_key_system.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/find_key_system.js +102 -56
- package/dist/es2017/main_thread/decrypt/get_key_system_configuration.js +2 -2
- package/dist/es2017/main_thread/decrypt/get_media_keys.js +2 -2
- package/dist/es2017/main_thread/decrypt/init_media_keys.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/init_media_keys.js +2 -2
- package/dist/{commonjs/main_thread/decrypt/utils/media_keys_infos_store.d.ts → es2017/main_thread/decrypt/utils/media_keys_attacher.d.ts} +31 -9
- package/dist/es2017/main_thread/decrypt/utils/media_keys_attacher.d.ts.map +1 -0
- package/dist/es2017/main_thread/decrypt/utils/media_keys_attacher.js +180 -0
- package/dist/es2017/main_thread/init/utils/rebuffering_controller.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/utils/rebuffering_controller.js +20 -9
- package/dist/es2017/main_thread/text_displayer/html/text_track_cues_store.js +1 -1
- package/dist/es2017/main_thread/tracks_store/track_dispatcher.d.ts.map +1 -1
- package/dist/es2017/main_thread/tracks_store/track_dispatcher.js +3 -4
- package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
- package/dist/es2017/main_thread/tracks_store/tracks_store.js +2 -2
- package/dist/es2017/manifest/classes/representation.d.ts +15 -1
- package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
- package/dist/es2017/manifest/classes/representation.js +17 -0
- package/dist/es2017/manifest/utils.d.ts +15 -0
- package/dist/es2017/manifest/utils.d.ts.map +1 -1
- package/dist/es2017/manifest/utils.js +27 -5
- package/dist/es2017/parsers/manifest/dash/common/parse_representations.js +2 -2
- package/dist/es2017/playback_observer/media_element_playback_observer.js +1 -1
- package/dist/es2017/public_types.d.ts +44 -0
- package/dist/es2017/public_types.d.ts.map +1 -1
- package/dist/es2017/utils/flat_map.d.ts +2 -2
- package/dist/es2017/utils/flat_map.js +2 -2
- package/dist/es2017/utils/url-utils.d.ts.map +1 -1
- package/dist/es2017/utils/url-utils.js +11 -10
- package/dist/es2017/utils/xml-parser.d.ts.map +1 -1
- package/dist/es2017/utils/xml-parser.js +10 -8
- package/dist/rx-player.js +505 -372
- package/dist/rx-player.min.js +18 -18
- package/dist/worker.js +6 -6
- package/package.json +21 -19
- package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
- package/src/compat/browser_compatibility_types.ts +22 -4
- package/src/compat/browser_detection.ts +1 -1
- package/src/compat/event_listeners.ts +2 -4
- package/src/compat/has_mse_in_worker.ts +1 -1
- package/src/core/cmcd/cmcd_data_builder.ts +1 -4
- package/src/core/main/worker/send_message.ts +4 -2
- package/src/core/main/worker/worker_main.ts +1 -1
- package/src/core/stream/adaptation/adaptation_stream.ts +4 -7
- package/src/core/stream/period/period_stream.ts +3 -3
- package/src/core/stream/period/utils/get_adaptation_switch_strategy.ts +1 -2
- package/src/main_thread/api/public_api.ts +4 -4
- package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +239 -6
- package/src/main_thread/decrypt/__tests__/find_key_system.test.ts +325 -0
- package/src/main_thread/decrypt/clear_on_stop.ts +3 -3
- package/src/main_thread/decrypt/content_decryptor.ts +26 -8
- package/src/main_thread/decrypt/dispose_decryption_resources.ts +2 -13
- package/src/main_thread/decrypt/find_key_system.ts +120 -81
- package/src/main_thread/decrypt/get_key_system_configuration.ts +2 -2
- package/src/main_thread/decrypt/get_media_keys.ts +2 -2
- package/src/main_thread/decrypt/init_media_keys.ts +2 -2
- package/src/main_thread/decrypt/utils/media_keys_attacher.ts +284 -0
- package/src/main_thread/init/utils/rebuffering_controller.ts +20 -10
- package/src/main_thread/text_displayer/html/text_track_cues_store.ts +1 -1
- package/src/main_thread/tracks_store/track_dispatcher.ts +3 -6
- package/src/main_thread/tracks_store/tracks_store.ts +2 -1
- package/src/manifest/classes/representation.ts +18 -1
- package/src/manifest/utils.ts +30 -9
- package/src/parsers/manifest/dash/common/parse_representations.ts +2 -2
- package/src/playback_observer/media_element_playback_observer.ts +1 -1
- package/src/public_types.ts +45 -0
- package/src/utils/__tests__/flat_map.test.ts +7 -20
- package/src/utils/flat_map.ts +2 -2
- package/src/utils/url-utils.ts +11 -10
- package/src/utils/xml-parser.ts +13 -8
- package/vitest.config.mjs +9 -23
- package/dist/commonjs/main_thread/decrypt/attach_media_keys.d.ts +0 -60
- package/dist/commonjs/main_thread/decrypt/attach_media_keys.d.ts.map +0 -1
- package/dist/commonjs/main_thread/decrypt/attach_media_keys.js +0 -124
- package/dist/commonjs/main_thread/decrypt/utils/media_keys_infos_store.d.ts.map +0 -1
- package/dist/commonjs/main_thread/decrypt/utils/media_keys_infos_store.js +0 -45
- package/dist/es2017/main_thread/decrypt/attach_media_keys.d.ts +0 -60
- package/dist/es2017/main_thread/decrypt/attach_media_keys.d.ts.map +0 -1
- package/dist/es2017/main_thread/decrypt/attach_media_keys.js +0 -73
- package/dist/es2017/main_thread/decrypt/utils/media_keys_infos_store.d.ts.map +0 -1
- package/dist/es2017/main_thread/decrypt/utils/media_keys_infos_store.js +0 -43
- package/src/main_thread/decrypt/attach_media_keys.ts +0 -125
- package/src/main_thread/decrypt/utils/media_keys_infos_store.ts +0 -88
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EMBEDDED_WORKER = void 0;
|
|
4
|
-
var blob = new Blob(["(function(){" + "\"use strict\";(()=>{var au=Object.defineProperty,ou=Object.defineProperties;var su=Object.getOwnPropertyDescriptors;var Ka=Object.getOwnPropertySymbols;var uu=Object.prototype.hasOwnProperty,du=Object.prototype.propertyIsEnumerable;var ja=(n,e,t)=>e in n?au(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,J=(n,e)=>{for(var t in e||(e={}))uu.call(e,t)&&ja(n,t,e[t]);if(Ka)for(var t of Ka(e))du.call(e,t)&&ja(n,t,e[t]);return n},oe=(n,e)=>ou(n,su(e));var I={PRODUCTION:0,DEV:1,CURRENT_ENV:0};var Qa={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_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,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\"],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\"},Ya=Qa;function fu(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 G=typeof Object.assign==\"function\"?Object.assign:fu;function $r(n){return n!=null&&!Array.isArray(n)&&typeof n==\"object\"}function $t(n,...e){if(e.length===0)return n;let t=e.shift();if($r(n)&&$r(t))for(let r in t)if($r(t[r])){let i=n[r];i===void 0&&(i={},n[r]=i),$t(i,t[r])}else G(n,{[r]:t[r]});return $t(n,...e)}function v(n){return n==null}var le=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 Xr=class extends le{constructor(){super(...arguments);this.updated=!1;this._config=Ya}update(t){let r=$t(this._config,t);this._config=r,this.updated=!0,this.trigger(\"update\",t)}getCurrent(){return this._config}},cu=new Xr,F=cu;var je=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;i<r;i++)if(e.call(t,n[i],i,n))return i;return-1}function D(){}var or=class{constructor(e,t){this._value=e,this._listeners=[],this._isFinished=!1,this._onFinishCbs=[],t!==void 0&&(this._deregisterCancellation=t.register(()=>this.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 Xt(n,e,t){let r=new or(e(n.getValue()),t);return n.onUpdate(function(a){r.setValue(e(a))},{clearSignal:t}),n._onFinished(()=>{r.finish()},t),r}var K=or;var Zr=new K(0);function $a({date:n,timestamp:e}){let t=n-e,r=typeof performance!=\"undefined\"?Date.now()-performance.now():0;Zr.setValueIfChanged(r-t)}var mu=typeof performance!=\"undefined\"?()=>performance.now()+Zr.getValue():()=>Date.now()+Zr.getValue(),L=mu;var pu=\"NONE\",Zt=class extends le{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=pu}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)=>{let l=L();return d(String(l.toFixed(2)),`[${u}]`,...f)}:(u,d)=>d;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)=>r(d,f):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]}};var gu=new Zt,m=gu;var wt=typeof WorkerGlobalScope!=\"undefined\"&&self instanceof WorkerGlobalScope;var hu=typeof window==\"undefined\"&&!wt,sr=hu;var ur;wt?ur=self:sr?ur=global:ur=window;var ae=ur;var se=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}}},Ee={TIMEOUT:\"TIMEOUT\",ERROR_EVENT:\"ERROR_EVENT\",ERROR_HTTP_CODE:\"ERROR_HTTP_CODE\",PARSE_ERROR:\"PARSE_ERROR\"};var Jr=typeof Headers==\"function\"?Headers:null,ei=typeof AbortController==\"function\"?AbortController:null;function dr(n){var c,g;let e;if(!v(n.headers))if(v(Jr))e=n.headers;else{e=new Jr;let p=Object.keys(n.headers);for(let h=0;h<p.length;h++){let b=p[h];e.append(b,n.headers[b])}}m.debug(\"Fetch: Called with URL\",n.url);let t=null,r=!1,i=!1,a=L(),o=v(ei)?null:new ei;function s(){if(v(o)){m.warn(\"Fetch: AbortController API not available.\");return}o.abort()}let u;n.timeout!==void 0&&(u=setTimeout(()=>{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(h){t=h,s()}),l={method:\"GET\"};if(e!==void 0&&(l.headers=e),l.signal=v(o)?null:o.signal,m.hasLevel(\"DEBUG\")){let p=\"FETCH: Sending GET \"+n.url;n.timeout!==void 0&&(p+=\" to=\"+String(n.timeout/1e3)),n.connectionTimeout!==void 0&&(p+=\" cto=\"+String(n.connectionTimeout/1e3)),((c=n.headers)==null?void 0:c.Range)!==void 0&&(p+=\" Range=\"+((g=n.headers)==null?void 0:g.Range)),m.debug(p)}return fetch(n.url,l).then(p=>{if(d!==void 0&&clearTimeout(d),p.status>=300)throw m.warn(\"Fetch: Request HTTP Error\",p.status,p.url),new se(p.url,p.status,Ee.ERROR_HTTP_CODE);if(v(p.body))throw new se(p.url,p.status,Ee.PARSE_ERROR);let h=p.headers.get(\"Content-Length\"),b=!v(h)&&!isNaN(+h)?+h:void 0,y=p.body.getReader(),E=0;return P();async function P(){let _=await y.read();if(!_.done&&!v(_.value)){E+=_.value.byteLength;let C=L(),R={url:p.url,currentTime:C,duration:C-a,sendingTime:a,chunkSize:_.value.byteLength,chunk:_.value.buffer,size:E,totalSize:b};return n.onData(R),P()}else if(_.done){u!==void 0&&clearTimeout(u),f();let C=L();return{requestDuration:C-a,receivedTime:C,sendingTime:a,size:E,status:p.status,url:p.url}}return P()}}).catch(p=>{throw t!==null?t:(f(),r?(m.warn(\"Fetch: Request timed out.\"),new se(n.url,0,Ee.TIMEOUT)):i?(m.warn(\"Fetch: Request connection timed out.\"),new se(n.url,0,Ee.TIMEOUT)):p instanceof se?p:(m.warn(\"Fetch: Request Error\",p instanceof Error?p.toString():\"\"),new se(n.url,0,Ee.ERROR_EVENT)))})}function Jt(){return typeof ae.fetch==\"function\"&&!v(ei)&&!v(Jr)}function ee(n){return typeof n==\"string\"&&n.length>0}var Iu=\"json\";function ti(n){let e={url:n.url,headers:n.headers,responseType:v(n.responseType)?Iu: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 c;d!==void 0&&(l.timeout=d,c=setTimeout(()=>{b(),r(new se(o,l.status,Ee.TIMEOUT))},d+3e3));let g;if(f!==void 0&&(g=setTimeout(()=>{b(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(new se(o,l.status,Ee.TIMEOUT))},f)),l.responseType=u,l.responseType===\"document\"&&l.overrideMimeType(\"text/xml\"),!v(s)){let y=s;for(let E in y)y.hasOwnProperty(E)&&l.setRequestHeader(E,y[E])}let p=L(),h=null;if(a!==void 0&&(h=a.register(function(E){b(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(E)}),a.isCancelled()))return;if(l.onerror=function(){b(),r(new se(o,l.status,Ee.ERROR_EVENT))},l.ontimeout=function(){b(),r(new se(o,l.status,Ee.TIMEOUT))},f!==void 0&&(l.onreadystatechange=function(){l.readyState>=XMLHttpRequest.HEADERS_RECEIVED&&clearTimeout(g)}),i!==void 0&&(l.onprogress=function(E){let P=L();i({url:o,duration:P-p,sendingTime:p,currentTime:P,size:E.loaded,totalSize:E.total})}),l.onload=function(E){if(l.readyState===XMLHttpRequest.DONE)if(b(),l.status>=200&&l.status<300){let P=L(),_=l.response instanceof ArrayBuffer?l.response.byteLength:E.total,C=l.status,R=l.responseType,M=ee(l.responseURL)?l.responseURL:o,A;if(R===\"json\"?A=typeof l.response==\"object\"?l.response:bu(l.responseText):A=l.response,v(A)){r(new se(o,l.status,Ee.PARSE_ERROR));return}t({status:C,url:M,responseType:R,sendingTime:p,receivedTime:P,requestDuration:P-p,size:_,responseData:A})}else r(new se(o,l.status,Ee.ERROR_HTTP_CODE))},m.hasLevel(\"DEBUG\")){let y=\"XHR: Sending GET \"+o;n.responseType!==void 0&&(y+=\" type=\"+n.responseType),d!==void 0&&(y+=\" to=\"+String(d/1e3)),f!==void 0&&(y+=\" cto=\"+String(f/1e3)),(s==null?void 0:s.Range)!==void 0&&(y+=\" Range=\"+(s==null?void 0:s.Range)),m.debug(y)}l.send();function b(){c!==void 0&&clearTimeout(c),g!==void 0&&clearTimeout(g),h!==null&&h()}})}function bu(n){try{return JSON.parse(n)}catch(e){return null}}var he=ti;var yt=Ee,Fe={NETWORK_ERROR:\"NETWORK_ERROR\",MEDIA_ERROR:\"MEDIA_ERROR\",ENCRYPTED_MEDIA_ERROR:\"ENCRYPTED_MEDIA_ERROR\",OTHER_ERROR:\"OTHER_ERROR\"};function Ze(n,e){return`${n}: ${e}`}var en=class n extends Error{constructor(e,t,r){super(Ze(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"EncryptedMediaError\",this.type=Fe.ENCRYPTED_MEDIA_ERROR,this.code=e,this._originalMessage=t,this.fatal=!1,typeof(r==null?void 0:r.keyStatuses)==\"string\"&&(this.keyStatuses=r.keyStatuses)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,keyStatuses:this.keyStatuses}}};var Y=class n extends Error{constructor(e,t,r){super(Ze(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"MediaError\",this.type=Fe.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{name:this.name,code:this.code,reason:this._originalMessage,tracks:this.tracksInfo}}};var Qe=class n extends Error{constructor(e,t){super(Ze(e,t.message)),Object.setPrototypeOf(this,n.prototype),this.name=\"NetworkError\",this.type=Fe.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===yt.ERROR_HTTP_CODE&&this.status===e}serialize(){return{name:this.name,code:this.code,baseError:this._baseError.serialize()}}};var Se=class n extends Error{constructor(e,t){super(Ze(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"OtherError\",this.type=Fe.OTHER_ERROR,this.code=e,this.fatal=!1,this._originalMessage=t}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage}}};function Dt(n){return(n instanceof en||n instanceof Y||n instanceof Se||n instanceof Qe)&&Object.keys(Fe).indexOf(n.type)>=0}function ye(n,{defaultCode:e,defaultReason:t}){if(Dt(n))return n;let r=n instanceof Error?n.toString():t;return new Se(e,r)}var Ce=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 Su={dashParsers:{wasm:null,native:null,fastJs:null},createDebugElement:null,directfile:null,decrypt:null,htmlTextDisplayer:null,htmlTextTracksParsers:{},mainThreadMediaSourceInit:null,multithread:null,nativeTextDisplayer:null,nativeTextTracksParsers:{},transports:{}},Xa=Su;var Oe=Xa;function Q(n,e,t){if(typeof Array.prototype.find==\"function\")return n.find(e,t);let r=n.length>>>0;for(let i=0;i<r;i++){let a=n[i];if(e.call(t,a,i,n))return a}}var yu={aa:\"aar\",ab:\"abk\",ae:\"ave\",af:\"afr\",ak:\"aka\",am:\"amh\",an:\"arg\",ar:\"ara\",as:\"asm\",av:\"ava\",ay:\"aym\",az:\"aze\",ba:\"bak\",be:\"bel\",bg:\"bul\",bi:\"bis\",bm:\"bam\",bn:\"ben\",bo:\"bod\",br:\"bre\",bs:\"bos\",ca:\"cat\",ce:\"che\",ch:\"cha\",co:\"cos\",cr:\"cre\",cs:\"ces\",cu:\"chu\",cv:\"chv\",cy:\"cym\",da:\"dan\",de:\"deu\",dv:\"div\",dz:\"dzo\",ee:\"ewe\",el:\"ell\",en:\"eng\",eo:\"epo\",es:\"spa\",et:\"est\",eu:\"eus\",fa:\"fas\",ff:\"ful\",fi:\"fin\",fj:\"fij\",fo:\"fao\",fr:\"fra\",fy:\"fry\",ga:\"gle\",gd:\"gla\",gl:\"glg\",gn:\"grn\",gu:\"guj\",gv:\"glv\",ha:\"hau\",he:\"heb\",hi:\"hin\",ho:\"hmo\",hr:\"hrv\",ht:\"hat\",hu:\"hun\",hy:\"hye\",hz:\"her\",ia:\"ina\",id:\"ind\",ie:\"ile\",ig:\"ibo\",ii:\"iii\",ik:\"ipk\",io:\"ido\",is:\"isl\",it:\"ita\",iu:\"iku\",ja:\"jpn\",jv:\"jav\",ka:\"kat\",kg:\"kon\",ki:\"kik\",kj:\"kua\",kk:\"kaz\",kl:\"kal\",km:\"khm\",kn:\"kan\",ko:\"kor\",kr:\"kau\",ks:\"kas\",ku:\"kur\",kv:\"kom\",kw:\"cor\",ky:\"kir\",la:\"lat\",lb:\"ltz\",lg:\"lug\",li:\"lim\",ln:\"lin\",lo:\"lao\",lt:\"lit\",lu:\"lub\",lv:\"lav\",mg:\"mlg\",mh:\"mah\",mi:\"mri\",mk:\"mkd\",ml:\"mal\",mn:\"mon\",mr:\"mar\",ms:\"msa\",mt:\"mlt\",my:\"mya\",na:\"nau\",nb:\"nob\",nd:\"nde\",ne:\"nep\",ng:\"ndo\",nl:\"nld\",nn:\"nno\",no:\"nor\",nr:\"nbl\",nv:\"nav\",ny:\"nya\",oc:\"oci\",oj:\"oji\",om:\"orm\",or:\"ori\",os:\"oss\",pa:\"pan\",pi:\"pli\",pl:\"pol\",ps:\"pus\",pt:\"por\",qu:\"que\",rm:\"roh\",rn:\"run\",ro:\"ron\",ru:\"rus\",rw:\"kin\",sa:\"san\",sc:\"srd\",sd:\"snd\",se:\"sme\",sg:\"sag\",si:\"sin\",sk:\"slk\",sl:\"slv\",sm:\"smo\",sn:\"sna\",so:\"som\",sq:\"sqi\",sr:\"srp\",ss:\"ssw\",st:\"sot\",su:\"sun\",sv:\"swe\",sw:\"swa\",ta:\"tam\",te:\"tel\",tg:\"tgk\",th:\"tha\",ti:\"tir\",tk:\"tuk\",tl:\"tgl\",tn:\"tsn\",to:\"ton\",tr:\"tur\",ts:\"tso\",tt:\"tat\",tw:\"twi\",ty:\"tah\",ug:\"uig\",uk:\"ukr\",ur:\"urd\",uz:\"uzb\",ve:\"ven\",vi:\"vie\",vo:\"vol\",wa:\"wln\",wo:\"wol\",xh:\"xho\",yi:\"yid\",yo:\"yor\",za:\"zha\",zh:\"zho\",zu:\"zul\"},Za=yu;var Tu={alb:\"sqi\",arm:\"hye\",baq:\"eus\",bur:\"mya\",chi:\"zho\",cze:\"ces\",dut:\"nld\",fre:\"fra\",geo:\"kat\",ger:\"deu\",gre:\"ell\",ice:\"isl\",mac:\"mkd\",mao:\"mri\",may:\"msa\",per:\"fas\",slo:\"slk\",rum:\"ron\",tib:\"bod\",wel:\"cym\"},Ja=Tu;function Eu(n){if(v(n)||n===\"\")return\"und\";let t=(\"\"+n).toLowerCase().split(\"-\")[0],r=_u(t);return ee(r)?r:n}function _u(n){let e;switch(n.length){case 2:e=Za[n];break;case 3:e=Ja[n];break}return e}var eo=Eu;var to=eo;function lr(n,e){if(n.length!==e.length)return!1;if(n===e)return!0;for(let t=n.length-1;t>=0;t--)if(n[t]!==e[t])return!1;return!0}function Ae(){let n=\"\",e=-1;return function(){return e++,e>=Number.MAX_SAFE_INTEGER&&(n+=\"0\",e=0),n+String(e)}}var Ru=Ae(),ni=class{constructor(e,t,r){var a,o,s,u,d;this.id=e.id,this.uniqueId=Ru(),this.bitrate=e.bitrate,this.codecs=[],this.trackType=t,e.isSpatialAudio!==void 0&&(this.isSpatialAudio=e.isSpatialAudio),e.height!==void 0&&(this.height=e.height),e.width!==void 0&&(this.width=e.width),e.mimeType!==void 0&&(this.mimeType=e.mimeType),e.contentProtections!==void 0&&(this.contentProtections=e.contentProtections),e.frameRate!==void 0&&(this.frameRate=e.frameRate),e.hdrInfo!==void 0&&(this.hdrInfo=e.hdrInfo),this.cdnMetadata=e.cdnMetadata,this.index=e.index;let i=this.contentProtections!==void 0;if(t===\"audio\"||t===\"video\"){if(e.supplementalCodecs!==void 0){let f=r.isSupported((a=this.mimeType)!=null?a:\"\",(o=e.supplementalCodecs)!=null?o:\"\",i);f!==!1&&(this.codecs=[e.supplementalCodecs],this.isSupported=f)}this.isSupported!==!0&&(this.codecs.length>0?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<t.length;a++){let o=!1,s=t[a];for(let u=0;u<s.values.length;u++)if(s.values[u].systemId.toLowerCase()===e.toLowerCase())if(o)r[r.length-1].values.push(s.values[u]);else{let d=(i=this.contentProtections)==null?void 0:i.keyIds;r.push({type:s.type,keyIds:d,values:[s.values[u]]}),o=!0}}return r}getAllEncryptionData(){var t;if(this.contentProtections===void 0||this.contentProtections.initData.length===0)return[];let e=(t=this.contentProtections)==null?void 0:t.keyIds;return this.contentProtections.initData.map(r=>({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)lr(u,t)&&(s=!0);s||(m.warn(\"Manifest: found unanounced key id.\"),o.push(t))}}let a=this.contentProtections.initData;for(let o=0;o<a.length;o++)if(a[o].type===e){let s=a[o].values;for(let u=0;u<r.length;u++){let d=r[u],f;for(f=0;f<s.length;f++)if(d.systemId===s[f].systemId){if(lr(d.data,s[f].data))break;m.warn(\"Manifest: different init data for the same system ID\")}f===s.length&&(s.push(d),i=!0)}return i}return this.contentProtections.initData.push({type:e,values:r}),!0}getMetadataSnapshot(){return{id:this.id,uniqueId:this.uniqueId,bitrate:this.bitrate,codecs:this.codecs,mimeType:this.mimeType,width:this.width,height:this.height,frameRate:this.frameRate,isSupported:this.isSupported,hdrInfo:this.hdrInfo,contentProtections:this.contentProtections,decipherable:this.decipherable}}},tn=ni;var lt=class n{constructor(e,t,r={}){let{trickModeTracks:i}=e,{representationFilter:a,isManuallyAdded:o}=r;this.id=e.id,this.type=e.type,e.isTrickModeTrack!==void 0&&(this.isTrickModeTrack=e.isTrickModeTrack),e.language!==void 0&&(this.language=e.language,this.normalizedLanguage=to(e.language)),e.closedCaption!==void 0&&(this.isClosedCaption=e.closedCaption),e.audioDescription!==void 0&&(this.isAudioDescription=e.audioDescription),e.isDub!==void 0&&(this.isDub=e.isDub),e.forcedSubtitles!==void 0&&(this.isForcedSubtitles=e.forcedSubtitles),e.isSignInterpreted!==void 0&&(this.isSignInterpreted=e.isSignInterpreted),e.label!==void 0&&(this.label=e.label),i!==void 0&&i.length>0&&(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;d<s.length;d++){let f=new tn(s[d],this.type,t),l=!0;if(!v(a)){let c={id:f.id,bitrate:f.bitrate,codecs:f.codecs,height:f.height,width:f.width,frameRate:f.frameRate,hdrInfo:f.hdrInfo};if(f.contentProtections!==void 0&&(c.contentProtections={},f.contentProtections.keyIds!==void 0)){let g=f.contentProtections.keyIds;c.contentProtections.keyIds=g}l=a(c,{trackType:this.type,language:this.language,normalizedLanguage:this.normalizedLanguage,isClosedCaption:this.isClosedCaption,isDub:this.isDub,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted})}l?(u.push(f),f.isSupported===void 0?(this.supportStatus.hasCodecWithUndefinedSupport=!0,this.supportStatus.hasSupportedCodec===!1&&(this.supportStatus.hasSupportedCodec=void 0)):f.isSupported&&(this.supportStatus.hasSupportedCodec=!0),f.decipherable===void 0?this.supportStatus.isDecipherable===!1&&(this.supportStatus.isDecipherable=void 0):f.decipherable&&(this.supportStatus.isDecipherable=!0)):m.debug(\"Filtering Representation due to representationFilter\",this.type,`Adaptation: ${this.id}`,`Representation: ${f.id}`,`(${f.bitrate})`)}u.sort((d,f)=>d.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 Q(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 Ie=ae,no,ro,io,ao,oo,nn=(oo=(ao=(io=(ro=(no=Ie==null?void 0:Ie.MediaSource)!=null?no:Ie==null?void 0:Ie.MozMediaSource)!=null?ro:Ie==null?void 0:Ie.WebKitMediaSource)!=null?io:Ie==null?void 0:Ie.MSMediaSource)!=null?ao:Ie==null?void 0:Ie.ManagedMediaSource)!=null?oo:void 0,dg=nn!==void 0&&nn===(Ie==null?void 0:Ie.ManagedMediaSource);var Pu=!1,vu=!1,so=!1,Cu=!1,Au=!1,xu=!1,ku=!1,Mu=!1,Ou=!1,wu=!1,Du=!1,Nu=!1,Bu=!1,Uu=!1,ri=!1,Lu=!1,Fu=!1;(function(){var e,t,r;sr||(typeof ae.MSInputMethodContext!=\"undefined\"&&typeof document.documentMode!=\"undefined\"?(vu=!0,so=!0):navigator.appName===\"Microsoft Internet Explorer\"||navigator.appName===\"Netscape\"&&/(Trident|Edge)\\//.test(navigator.userAgent)?so=!0:navigator.userAgent.toLowerCase().indexOf(\"edg/\")!==-1?Pu=!0:navigator.userAgent.toLowerCase().indexOf(\"firefox\")!==-1?Cu=!0:typeof navigator.platform==\"string\"&&/iPad|iPhone|iPod/.test(navigator.platform)?xu=!0:(Object.prototype.toString.call(ae.HTMLElement).indexOf(\"Constructor\")>=0||((t=(e=ae.safari)==null?void 0:e.pushNotification)==null?void 0:t.toString())===\"[object SafariRemoteNotification]\"||/Safari\\/(\\d+)/.test(navigator.userAgent)&&/Version\\/(\\d+)/.test(navigator.userAgent)&&((r=navigator.vendor)==null?void 0:r.indexOf(\"Apple\"))!==-1&&!/Chrome\\/(\\d+)/.test(navigator.userAgent)&&!/Chromium\\/(\\d+)/.test(navigator.userAgent))&&(Au=!0),/SamsungBrowser/.test(navigator.userAgent)&&(ku=!0),navigator.userAgent.indexOf(\"PlayStation 4\")!==-1?Uu=!0:navigator.userAgent.indexOf(\"PlayStation 5\")!==-1?ri=!0:/Tizen/.test(navigator.userAgent)?Mu=!0:/[Ww]eb[O0]S/.test(navigator.userAgent)?(Ou=!0,/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/87/.test(navigator.userAgent)?Du=!0:(/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/79/.test(navigator.userAgent))&&(wu=!0)):navigator.userAgent.indexOf(\"NETTV\")!==-1&&navigator.userAgent.indexOf(\"Philips\")!==-1?Bu=!0:/[Pp]anasonic/.test(navigator.userAgent)?Nu=!0:navigator.userAgent.indexOf(\"Xbox\")!==-1?Lu=!0:navigator.userAgent.indexOf(\"Model/a1-kstb40xx\")&&(Fu=!0))})();function ii(n){return new Promise(e=>{setTimeout(e,n)})}function Tt(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 rn(n,e){return Tt(e,t=>{let r=setTimeout(()=>t(),n);return()=>clearTimeout(r)})}var fr=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 fr(e===void 0?\"invalid assertion\":e)}function ze(n){throw new fr(\"Unreachable path taken\")}var W=class{constructor(){let[e,t]=zu();this._isUsed=!1,this._trigger=e,this.signal=new ai(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}},ai=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){m.error(\"Error while calling clean up listener\",r instanceof Error?r.toString():\"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 zu(){let n=D;return[function(t){n(t)},function(t){n=t}]}var Wu=[\"\",\"webkit\",\"moz\",\"ms\"];function Vu(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 qu(n,e){return e.filter(t=>Vu(n,t))[0]}function Hu(n,e){return n.reduce((t,r)=>t.concat((e===void 0?Wu:e).map(i=>i+r)),[])}function _e(n,e){let t,r=Hu(n,e);return(i,a,o)=>{if(!o.isCancelled()){if(typeof HTMLElement!=\"undefined\"&&i instanceof HTMLElement)if(typeof t==\"undefined\"&&(t=qu(i,r)),ee(t))i.addEventListener(t,a),o.register(()=>{t!==void 0&&i.removeEventListener(t,a)});else{I.CURRENT_ENV===I.DEV&&m.warn(`compat: 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 Fg=_e([\"loadedmetadata\"]),zg=_e([\"timeupdate\"]),Wg=_e([\"addtrack\"]),Vg=_e([\"removetrack\"]),Nt=_e([\"sourceopen\",\"webkitsourceopen\"]),cr=_e([\"sourceclose\",\"webkitsourceclose\"]),mr=_e([\"sourceended\",\"webkitsourceended\"]),uo=_e([\"update\"]),lo=_e([\"removesourcebuffer\"]),qg=_e([\"keymessage\",\"message\"]),Hg=_e([\"keyadded\",\"ready\"]),Gg=_e([\"keyerror\",\"error\"]),Kg=_e([\"keystatuseschange\"]),jg=_e([\"seeking\"]),Qg=_e([\"seeked\"]),Yg=_e([\"ended\"]);var fo=[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 pr(n){if(n>=fo.length)throw new Error(\"Unable to parse base64 string.\");let e=fo[n];if(e===255)throw new Error(\"Unable to parse base64 string.\");return e}function gr(n){let e=n.length%4,t=n;e!==0&&(m.warn(\"base64ToBytes: base64 given miss padding\"),t+=e===3?\"=\":e===2?\"==\":\"===\");let r=t.indexOf(\"=\");if(r!==-1&&r<t.length-2)throw new Error(\"Unable to parse base64 string.\");let i=t.endsWith(\"==\")?2:t.endsWith(\"=\")?1:0,a=t.length,o=new Uint8Array(a/4*3),s;for(let u=0,d=0;u<a;u+=4,d+=3)s=pr(t.charCodeAt(u))<<18|pr(t.charCodeAt(u+1))<<12|pr(t.charCodeAt(u+2))<<6|pr(t.charCodeAt(u+3)),o[d]=s>>16,o[d+1]=s>>8&255,o[d+2]=s&255;return o.subarray(0,o.length-i)}var Gu=typeof ae==\"object\"&&typeof ae.TextDecoder==\"function\",Ku=typeof ae==\"object\"&&typeof ae.TextEncoder==\"function\";function an(n){if(Ku)try{return new TextEncoder().encode(n)}catch(i){let a=i instanceof Error?i:\"\";m.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<t.length;o++){let s=!1;if(t[o]===\"%\"){if(o<=a-6&&t[o+1]===\"u\"&&i.test(t[o+2])&&i.test(t[o+3])&&i.test(t[o+4])&&i.test(t[o+5])){let u=parseInt(t.substring(o+1,o+6),16);e+=String.fromCharCode(u),s=!0,o+=5}else if(o<=a-3&&i.test(t[o+1])&&i.test(t[o+2])){let u=parseInt(t.substring(o+1,o+3),16);e+=String.fromCharCode(u),s=!0,o+=2}}s||(e+=t[o])}}let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i)&255;return r}function ju(n){let t=\"\";for(let r=0;r<n.length;r+=16e3){let i=n.subarray(r,r+16e3);t+=String.fromCharCode.apply(null,i)}return t}function co(n,e){let t=n.toString(16);return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t}function Ne(n){if(Gu)try{return new TextDecoder().decode(n)}catch(i){let a=i instanceof Error?i:\"\";m.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=ju(e),r;if(typeof escape==\"function\")r=escape(t);else{let i=/[A-Za-z0-9*_\\+-\\.\\/]/;r=\"\";for(let a=0;a<t.length;a++)if(i.test(t[a]))r+=t[a];else{let o=t.charCodeAt(a);r+=o>=256?\"%u\"+co(o,4):\"%\"+co(o,2)}}return decodeURIComponent(r)}function on(n){let e=n.length,t=new Uint8Array(e/2);for(let r=0,i=0;r<e;r+=2,i++)t[i]=parseInt(n.substring(r,r+2),16)&255;return t}function mo(n,e=\"\"){let t=\"\";for(let r=0;r<n.byteLength;r++)t+=(n[r]>>>4).toString(16),t+=(n[r]&15).toString(16),e.length>0&&r<n.byteLength-1&&(t+=e);return t}function oi(n,e){let t=e;for(;t<n.length&&n[t]!==0;)t+=1;let r=n.subarray(e,t);return{end:t+1,string:Ne(r)}}function We(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 Et(...n){let e=n.length,t=-1,r=0,i;for(;++t<e;)i=n[t],r+=typeof i==\"number\"?i:i.length;let a=new Uint8Array(r),o=0;for(t=-1;++t<e;)i=n[t],typeof i==\"number\"?o+=i:i.length>0&&(a.set(i,o),o+=i.length);return a}function po(n,e){return(n[e+0]<<8)+(n[e+1]<<0)}function si(n,e){return n[e+0]*65536+n[e+1]*256+n[e+2]}function te(n,e){return n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3]}function ft(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 Ye(n,e){let t=n.length,r=0;for(;r+8<=t;){let i=te(n,r);if(i===0)i=t-r;else if(i===1){if(r+16>t)return-1;i=ft(n,r+8)}if(isNaN(i)||i<=0)return-1;if(te(n,r+4)===e)return r+i<=t?r:-1;r+=i}return-1}function hr(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=Ye(r,1836019558);if(i<0)break;let a=te(n,i+e),o=e+i+a;if(o>n.length)break;let s=Ye(r,1835295092);if(s<0)break;let u=te(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 Qu(n,e,t){return new Uint8Array(Array.prototype.slice.call(n,e,t))}function Yu(n,e,t){return n.slice(e,t)}var ui=typeof Uint8Array.prototype.slice==\"function\"?Yu:Qu;function di(n,e){let t=n;for(let r of e){let i=pe(t,r);if(i===null)return null;t=i}return t}function pe(n,e){let t=Bt(n,e);return t!==null?n.subarray(t[1],t[2]):null}function go(n,e){let t=[],r=n;for(;;){let i=Bt(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 Bt(n,e){let t=n.length,r=0,i,a=0,o;for(;r+8<=t;){if(o=r,a=te(n,o),o+=4,i=te(n,o),o+=4,a===0)a=t-r;else if(a===1){if(o+8>t)return null;a=ft(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 Ir(n){let e=0,t=pe(n,1836019574);if(t===null)return[];let r=[];for(;e<t.length;){let i;try{i=Bt(t,1886614376)}catch(s){let u=s instanceof Error?s:\"\";return m.warn(\"Error while removing PSSH from ISOBMFF\",u),r}if(i===null)return r;let a=ui(t,i[0],i[2]),o=ho(a,i[1]-i[0]);o!==void 0&&r.push({systemId:o,data:a}),t[i[0]+4]=102,t[i[0]+5]=114,t[i[0]+6]=101,t[i[0]+7]=101,e=i[2]}return r}function ho(n,e){if(n[e]>1){m.warn(\"ISOBMFF: un-handled PSSH version\");return}let t=e+4;if(t+16>n.length)return;let r=ui(n,t,t+16);return mo(r)}function li(n){let e=pe(n,1836019558);return e===null?null:pe(e,1953653094)}function Io(n){return go(n,1836019558).reduce((t,r)=>{let i=pe(r,1953653094);return i!==null&&t.push(i),t},[])}function fi(n){return pe(n,1835295092)}function ci(n){let e=pe(n,1836019574);if(e===null)return null;let t=pe(e,1953653099);return t===null?null:pe(t,1835297121)}function bo(n,e=0){return pe(n.subarray(e),1701671783)}function sn(n,e){let t=Bt(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=te(n,a);a+=4;let u;if(o===0)u=te(n,a),a+=4,r+=te(n,a)+i,a+=4;else if(o===1)u=ft(n,a),a+=8,r+=ft(n,a)+i,a+=8;else return null;let d=[];a+=2;let f=po(n,a);for(a+=2;--f>=0;){let l=te(n,a);a+=4;let c=(l&2147483648)>>>31,g=l&2147483647;if(c===1)throw new Error(\"sidx with reference_type `1` not yet implemented\");let p=te(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 mi(n){let e=li(n);if(e===null)return;let t=pe(e,1952867444);if(t===null)return;let r=t[0];if(r===1)return ft(t,4);if(r===0)return te(t,4)}function $u(n){let e=pe(n,1952868452);if(e===null)return;let t=1,r=si(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),te(e,t)):void 0}function pi(n){let e=Io(n);if(e.length===0)return;let t=0;for(let r of e){let i=pe(r,1953658222);if(i===null)return;let a=0,o=i[a];if(a+=1,o>1)return;let s=si(i,a);a+=3;let u=(s&256)>0,d=0;if(!u&&(d=$u(r),d===void 0))return;let f=(s&1)>0,l=(s&4)>0,c=(s&512)>0,g=(s&1024)>0,p=(s&2048)>0,h=te(i,a);a+=4,f&&(a+=4),l&&(a+=4);let b=h,y=0;for(;b-- >0;)u?(y+=te(i,a),a+=4):y+=d,c&&(a+=4),g&&(a+=4),p&&(a+=4);t+=y}return t}function un(n){let e=ci(n);if(e===null)return;let t=pe(e,1835296868);if(t===null)return;let r=0,i=t[r];if(r+=4,i===1)return te(t,r+16);if(i===0)return te(t,r+8)}function So(n){let e=[],t=0;for(;t<n.length;){let r=bo(n,t);if(r===null)break;let i=r.length;t+=i;let a=r[0];if(a!==0)m.warn(\"ISOBMFF: EMSG version \"+a.toString()+\" not supported.\");else{let o=4,{end:s,string:u}=oi(r,o);o=s;let{end:d,string:f}=oi(r,o);o=d;let l=te(r,o);o+=4;let c=te(r,o);o+=4;let g=te(r,o);o+=4;let p=te(r,o);o+=4;let h=r.subarray(o,i),b={schemeIdUri:u,value:f,timescale:l,presentationTimeDelta:c,eventDuration:g,id:p,messageData:h};e.push(b)}}if(e.length!==0)return e}function yo(n){let e=di(n,[1836019574,1953653099,1835297121,1835626086,1937007212,1937011556]);if(e===null)return null;let t=e.subarray(8),r=pe(t,1701733238),i=0;if(r===null?(i=28,r=pe(t,1701733217)):i=78,r===null)return null;let a=di(r.subarray(i),[1936289382,1935894633,1952804451]);if(a===null||a.byteLength<24)return null;let o=a.subarray(8,24);return o.every(s=>s===0)?null:o}function ge(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(;a<r;){if(o(n[a],e))return!0;a++}return!1}function gi(n){return Object.keys(n).map(e=>n[e])}var br=typeof Object.values==\"function\"?Object.values:gi;function Xu(n,e){let{mimeType:t,codecs:r}=To(n),{mimeType:i,codecs:a}=To(e);if(t!==i||r===\"\"||a===\"\")return!1;let o=r.split(\".\")[0];o=o===\"hev1\"?\"hvc1\":o;let s=a.split(\".\")[0];return s=s===\"hev1\"?\"hvc1\":s,o===s}var Zu=7;function To(n){var i;let[e,...t]=n.split(\";\"),r=(i=Q(t,a=>We(a,\"codecs=\")))!=null?i:\"\";return r=r.substring(Zu),r[0]==='\"'&&(r=r.substring(1,r.length-2)),{mimeType:e,codecs:r}}var Eo=Xu;function hi(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 Ii(n){let e=(Math.random()*2-1)*.3;return n*(e+1)}function _o(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 Ro=[];function Je(n){ge(Ro,n)||(console.warn(n),Ro.push(n))}var Ut=[\"audio\",\"video\",\"text\"];function vo(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 Co(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 Ao(n){let{maximumTimeData:e}=n.timeBounds;if(!e.isLinear)return e.maximumSafePosition;let t=L()-e.time;return e.maximumSafePosition+t/1e3}function xo(n,e){if(e===void 0)return Si(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 ko(n,e){let t=null;for(let r of n.periods){if(bi(r,e,t))return r;t=r}}function Mo(n,e){let t=e.end;if(t===void 0)return null;let r=Q(n.periods,i=>i.end===void 0||t<i.end);return r===void 0?null:r}function bi(n,e,t){return e>=n.start&&(n.end===void 0||e<n.end)?!0:e===n.end&&(t===null||t.start>n.end)}function Si(n){let e=n.adaptations;return gi(e).reduce((t,r)=>v(r)?t:t.concat(r),[])}function Ju(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=>a.isSupported===!0&&a.decipherable!==!1):n.representations).map(nd),label:n.label};return n.isDub===!0&&(t.dub=!0),t}function ed(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 td(n,e){let t=n.trickModeTracks!==void 0?n.trickModeTracks.map(i=>{let a=(e?i.representations.filter(s=>s.isSupported===!0&&s.decipherable!==!1):i.representations).map(Po),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=>i.isSupported===!0&&i.decipherable!==!1):n.representations).map(Po),label:n.label};return n.isSignInterpreted===!0&&(r.signInterpreted=!0),n.isTrickModeTrack===!0&&(r.isTrickModeTrack=!0),t!==void 0&&(r.trickModeTracks=t),r}function nd(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 Po(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 ct(n){switch(n.type){case\"audio\":return{type:\"audio\",track:Ju(n,!1)};case\"video\":return{type:\"video\",track:td(n,!1)};case\"text\":return{type:\"text\",track:ed(n)}}}function Oo(n){return new Function(`return (${n}(arguments[0], arguments[1]))`)}var dn=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 mt=class{constructor(e,t,r,i){if(this.id=e.id,this.adaptations=Object.keys(e.adaptations).reduce((a,o)=>{let s=e.adaptations[o];if(v(s))return a;let u=s.map(d=>{let f=new lt(d,r,{representationFilter:i});return f.representations.length>0&&f.supportStatus.hasSupportedCodec===!1&&t.push(f),f}).filter(d=>d.representations.length>0);if(u.every(d=>d.supportStatus.hasSupportedCodec===!1)&&s.length>0&&(o===\"video\"||o===\"audio\"))throw new Y(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"No supported \"+o+\" adaptations\",{tracks:void 0});return u.length>0&&(a[o]=u),a},{}),!Array.isArray(this.adaptations.video)&&!Array.isArray(this.adaptations.audio))throw new Y(\"MANIFEST_PARSE_ERROR\",\"No supported audio and video tracks.\");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)return;let a=!1;for(let o of i){if(!o.supportStatus.hasCodecWithUndefinedSupport){o.supportStatus.hasSupportedCodec===!0&&(a=!0);continue}let s=o.supportStatus.hasSupportedCodec;o.refreshCodecSupport(t),s!==!1&&o.supportStatus.hasSupportedCodec===!1&&e.push(o),a===!1?a=o.supportStatus.hasSupportedCodec:a===void 0&&o.supportStatus.hasSupportedCodec===!0&&(a=!0)}if((r===\"video\"||r===\"audio\")&&a===!1)throw new Y(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"No supported \"+r+\" adaptations\",{tracks:void 0})},{})}getAdaptations(){return Si(this)}getAdaptationsForType(e){let t=this.adaptations[e];return t!=null?t:[]}getAdaptation(e){return Q(this.getAdaptations(),({id:t})=>e===t)}getSupportedAdaptations(e){return xo(this,e)}containsTime(e,t){return bi(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}}};function ln(n,e,t){let r={updatedAdaptations:[],removedAdaptations:[],addedAdaptations:[]};n.start=e.start,n.end=e.end,n.duration=e.duration,n.streamEvents=e.streamEvents;let i=n.getAdaptations(),a=e.getAdaptations();for(let o=0;o<i.length;o++){let s=i[o],u=re(a,d=>d.id===s.id);if(u===-1){m.warn('Manifest: Adaptation \"'+i[o].id+'\" not found when merging.');let[d]=i.splice(o,1);o--,r.removedAdaptations.push({id:d.id,trackType:d.type})}else{let[d]=a.splice(u,1),f=[],l=[],c=[];r.updatedAdaptations.push({adaptation:s.id,trackType:s.type,updatedRepresentations:f,addedRepresentations:l,removedRepresentations:c});let g=s.representations,p=d.representations.slice();for(let h=0;h<g.length;h++){let b=g[h],y=re(p,E=>E.id===b.id);if(y===-1){m.warn(`Manifest: Representation \"${g[h].id}\" not found when merging.`);let[E]=g.splice(h,1);h--,c.push(E.id)}else{let[E]=p.splice(y,1);f.push(b.getMetadataSnapshot()),b.cdnMetadata=E.cdnMetadata,t===0?b.index._replace(E.index):b.index._update(E.index)}}p.length>0&&(m.warn(`Manifest: ${p.length} new Representations found when merging.`),s.representations.push(...p),l.push(...p.map(h=>h.getMetadataSnapshot())))}}if(a.length>0){m.warn(`Manifest: ${a.length} new Adaptations found when merging.`);for(let o of a){let s=n.adaptations[o.type];s===void 0?n.adaptations[o.type]=[o]:s.push(o),r.addedAdaptations.push(o.getMetadataSnapshot())}}return r}function wo(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]},r=0;for(let a=0;a<e.length;a++){let o=e[a],s=r,u=n[s];for(;u!==void 0&&u.id!==o.id;)s++,u=n[s];if(u!==void 0){let d=ln(u,o,0);t.updatedPeriods.push({period:{id:u.id,start:u.start,end:u.end,duration:u.duration,streamEvents:u.streamEvents},result:d});let f=e.slice(r,a),l=s-r,c=n.splice(r,l,...f);t.removedPeriods.push(...c.map(g=>({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 m.error(\"Manifest: error when updating Periods\"),t;if(r<n.length){let a=n.splice(r,n.length-r);t.removedPeriods.push(...a.map(o=>({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 Do(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.start<e[0].start){if(r.end!==e[0].start)throw new Y(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");return n.push(...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t}let i=re(n,({id:s})=>s===e[0].id);if(i<0)throw new Y(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: incoherent data\");let a=ln(n[i],e[0],1);t.updatedPeriods.push({period:G(n[i].getMetadataSnapshot(),{adaptations:void 0}),result:a});let o=i+1;for(let s=1;s<e.length;s++){let u=e[s],d=-1;for(let f=o;f<n.length;f++)if(u.id===n[f].id){d=f;break}if(d<0){let f=-1;for(let g=o;g<n.length;g++)if(u.start<n[g].start){f=g;break}let l=f-o,c=n.splice(o,l,u);t.addedPeriods.push(u.getMetadataSnapshot()),t.removedPeriods.push(...c.map(g=>({id:g.id,start:g.start,end:g.end})))}else{if(d>o){m.warn(\"Manifest: old Periods not found in new when updating, removing\");let l=n.splice(o,d-o);t.removedPeriods.push(...l.map(c=>({id:c.id,start:c.start,end:c.end}))),d=o}let f=ln(n[d],u,0);t.updatedPeriods.push({period:G(n[d].getMetadataSnapshot(),{adaptations:void 0}),result:f})}o++}if(o<n.length){m.warn(\"Manifest: Ending Periods not found in new when updating, removing\");let s=n.splice(o,n.length-o);t.removedPeriods.push(...s.map(u=>({id:u.id,start:u.start,end:u.end})))}return t}var rd=Ae(),fn=class extends le{constructor(e,t,r){var s;super();let{representationFilter:i,manifestUpdateUrl:a}=t;this.manifestFormat=0,this.id=rd(),this.expired=(s=e.expired)!=null?s:null,this.transport=e.transportType,this.clockOffset=e.clockOffset,this._cachedCodecSupport=new dn([]);let o=[];if(this.periods=e.periods.map(u=>new mt(u,o,this._cachedCodecSupport,i)).sort((u,d)=>u.start-d.start),o.length>0){let u=new Y(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:o.map(ct)});r.push(u)}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=a,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 Y(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:t.map(ct)}):null}getPeriod(e){return Q(this.periods,t=>e===t.id)}getPeriodForTime(e){return ko(this,e)}getNextPeriod(e){return Q(this.periods,t=>t.start>e)}getPeriodAfter(e){return Mo(this,e)}getUrls(){return this.uris}replace(e){this._performUpdate(e,0)}update(e){this._performUpdate(e,1)}getMinimumSafePosition(){return vo(this)}getLivePosition(){return Co(this)}getMaximumSafePosition(){return Ao(this)}updateCodecSupportList(e){this._cachedCodecSupport=e}updateRepresentationsDeciperability(e){let t=id(this,e);t.length>0&&this.trigger(\"decipherabilityUpdate\",t)}getAdaptations(){Je(\"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(t.hasOwnProperty(i)){let a=t[i];r.push(...a)}return r}getAdaptationsForType(e){Je(\"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 Je(\"manifest.getAdaptation(id) is deprecated. Please use manifest.period[].getAdaptation(id) instead\"),Q(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 _o(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=wo(this.periods,e.periods);else{this.timeBounds.maximumTimeData=e.timeBounds.maximumTimeData,this.updateUrl=e.uris[0],r=Do(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 id(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),m.debug(`Decipherability changed for \"${o.id}\"`,`(${o.bitrate})`,String(o.decipherable)))}a&&(i.supportStatus.isDecipherable=!1)}return t}function et(n,e){return n.segment.id===e.segment.id&&n.representation.uniqueId===e.representation.uniqueId}function _t(n){if(v(n))return\"\";let{period:e,adaptation:t,representation:r,segment:i}=n,a;return i.isInit?a=\"init\":i.complete?a=`${i.time}-${i.duration}`:a=`${i.time}`,`${t.type} P: ${e.id} A: ${t.id} R: ${r.id} S: ${a}`}var Lt=fn;var ad=\"<\";var No=\">\";var od=`\\r\n\t>/= `;function yi(n,e={}){var c,g;let t=(c=e.pos)!=null?c: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&&(a=Bo(a,e.filter)),a;function o(p){let h=[];for(;n[t];)if(n.charCodeAt(t)===60){if(n.charCodeAt(t+1)===47){let y=t+2;if(t=n.indexOf(No,t),n.substring(y,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),h}else if(n.charCodeAt(t+1)===33){if(n.charCodeAt(t+2)===45){let y=t;for(;t!==-1&&!(n.charCodeAt(t)===62&&n.charCodeAt(t-1)===45&&n.charCodeAt(t-2)===45);)t=n.indexOf(No,t+1);t===-1&&(t=n.length),r&&h.push(n.substring(y,t+1))}else if(n.charCodeAt(t+2)===91&&n.charCodeAt(t+8)===91&&n.substring(t+3,t+8).toLowerCase()===\"cdata\"){let y=n.indexOf(\"]]>\",t);y===-1?(h.push(n.substring(t+9)),t=n.length):(h.push(n.substring(t+9,y)),t=y+3);continue}else{let y=t+1;t+=2;let E=!1;for(;(n.charCodeAt(t)!==62||E)&&n[t];)n.charCodeAt(t)===91?E=!0:E&&n.charCodeAt(t)===93&&(E=!1),t++;h.push(n.substring(y,t))}t++;continue}let b=d();h.push(b),b.tagName[0]===\"?\"&&(h.push(...b.children),b.children=[])}else{let b=s();if(i)b.length>0&&h.push(b);else{let y=b.trim();y.length>0&&h.push(y)}t++}return h}function s(){let p=t;return t=n.indexOf(ad,t)-1,t===-2&&(t=n.length),n.slice(p,t+1)}function u(){let p=t;for(;od.indexOf(n[t])===-1&&n[t];)t++;return n.slice(p,t)}function d(){let p=t;t++;let h=u(),b={},y=[];for(;n.charCodeAt(t)!==62&&n[t];){let E=n.charCodeAt(t);if(E>64&&E<91||E>96&&E<123){let P=u(),_=n.charCodeAt(t);for(;_&&_!==39&&_!==34&&!(_>64&&_<91||_>96&&_<123)&&_!==62;)t++,_=n.charCodeAt(t);let C;_===39||_===34?C=f():(C=null,t--),b[P]=C===null?null:Uo(C)}t++}return n.charCodeAt(t-1)!==47?(t++,y=o(h)):t++,{tagName:h,attributes:b,children:y,posStart:p,posEnd:t}}function f(){let p=n[t],h=t+1;return t=n.indexOf(p,h),n.slice(h,t)}function l(){let p=new RegExp(\"\\\\s\"+e.attrName+`\\\\s*=['\"]`+e.attrValue+`['\"]`).exec(n);return p?p.index:-1}}function Bo(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=Bo(a.children,e,t+1,(r?r+\".\":\"\")+o+\".\"+a.tagName);i=i.concat(s)}}),i}function Sr(n){if(Array.isArray(n)){let e=\"\";return n.forEach(function(t){e+=\" \"+Sr(t),e=e.trim()}),e}else return typeof n==\"object\"?Sr(n.children):\" \"+Uo(n)}function Uo(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 Ti(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 Be(n,e,t){let{start:r,duration:i}=n;if(i<=0)return r;let a=Ti(n,e,t);return r+(a+1)*i}function Pe(n,e){var t;return n*e.timescale+((t=e.indexTimeOffset)!=null?t:0)}function $e(n,e){var t;return(n-((t=e.indexTimeOffset)!=null?t:0))/e.timescale}function Lo(n,e,t){return[n*t,(n+e)*t]}function sd(n,e){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i].start<=e?t=i+1:r=i}return t-1}function Fo(n,e,t){let{timeline:r}=n,i=Pe(e,n);if(i<0)return null;let a=sd(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=Be(o,s,t);return i>=d&&i<u?$e(u,n):null}function tt(n,e){var i;let{initialization:t}=n,r={};return e!==void 0&&(r.isEMSGWhitelisted=e),{id:\"init\",isInit:!0,time:0,end:0,duration:0,timescale:1,range:v(t)?void 0:t.range,indexRange:n.indexRange,url:(i=t==null?void 0:t.url)!=null?i:null,complete:!0,privateInfos:r,timestampOffset:-(n.indexTimeOffset/n.timescale)}}function ud(n,e){let t=n.toString();return t.length>=e?t:(new Array(e+1).join(\"0\")+t).slice(-e)}function Ei(n){return(e,t,r)=>{let i=ee(r)?parseInt(r,10):1;return ud(String(n),i)}}function Ue(n,e,t){return dd(n,e,t)}function dd(n,e,t){return n.indexOf(\"$\")===-1?n:n.replace(/\\$\\$/g,\"$\").replace(/\\$RepresentationID\\$/g,String(e)).replace(/\\$Bandwidth(\\%0(\\d+)d)?\\$/g,Ei(t===void 0?0:t))}function yr(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 Ei(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 Ei(n)(i,a,o)})}}function ld(n,e,t){let r=t-n;return r>0?Math.floor(r/e):0}function cn(n,e,t,r,i,a){var E;let o=r.getEstimatedMaximumPosition((E=n.availabilityTimeOffset)!=null?E:0),s=Math.min(e+t,o!=null?o:1/0),u=Pe(e,n),d=Pe(s,n),{timeline:f,timescale:l,segmentUrlTemplate:c,startNumber:g,endNumber:p}=n,h=g!=null?g:1,b=[],y=f.length;for(let P=0;P<y;P++){let _=f[P],{duration:C,start:R,range:M}=_,A;o===void 0?A=i:A=Math.min(o*l,i!=null?i:1/0);let T=Ti(_,f[P+1],A),x=n.availabilityTimeComplete!==!1||P!==y-1&&T!==0,O=ld(R,C,u),w=R+O*C;for(;w<d&&O<=T;){let B=h+O;if(p!==void 0&&B>p)break;let k=c===null?null:yr(w,B)(c),N=w-n.indexTimeOffset,U=C;N<0&&(U=C+N,N=0);let V={id:String(w),time:N/l,end:(N+U)/l,duration:U/l,isInit:!1,range:M,timescale:1,url:k,number:B,timestampOffset:-(n.indexTimeOffset/l),complete:x,privateInfos:{isEMSGWhitelisted:a}};b.push(V),O++,w=R+O*C}if(w>=d||(h+=T+1,p!==void 0&&h>p))return b}return b}function fd(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 Rt=class{constructor(e,t){var p,h,b,y;let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t,u=(p=e.timescale)!=null?p:1,f=((h=e.presentationTimeOffset)!=null?h:0)-r*u,l=((b=e.initialization)==null?void 0:b.media)===void 0?null:Ue(e.initialization.media,a,o),c=e.media===void 0?null:Ue(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:c,startNumber:e.startNumber,endNumber:e.endNumber,timeline:(y=e.timeline)!=null?y:[],timescale:u},this._manifestBoundsCalculator=t.manifestBoundsCalculator,this._scaledPeriodStart=Pe(r,this._index),this._scaledPeriodEnd=v(i)?void 0:Pe(i,this._index),this._isInitialized=this._index.timeline.length>0,this._isEMSGWhitelisted=s}getInitSegment(){return tt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return cn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){let e=this._index;return e.timeline.length===0?null:$e(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(Be(t,null,this._scaledPeriodEnd),(i=this._scaledPeriodEnd)!=null?i:1/0);return $e(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<e.length;t++)fd(this._index,e[t]);this._isInitialized=!0}}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `BaseRepresentationIndex`\")}_replace(e){this._index=e._index,this._isInitialized=e._isInitialized,this._scaledPeriodEnd=e._scaledPeriodEnd,this._isEMSGWhitelisted=e._isEMSGWhitelisted}_update(){m.error(\"Base RepresentationIndex: Cannot update a SegmentList\")}};var Pt=class{constructor(e,t){var g,p,h;if(e.duration===void 0)throw new Error(\"Invalid SegmentList: no duration\");let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t;this._isEMSGWhitelisted=s,this._periodStart=r,this._periodEnd=i;let u=(g=e.presentationTimeOffset)!=null?g:0,d=(p=e.timescale)!=null?p:1,f=u-r*d,l=((h=e.initialization)==null?void 0:h.media)===void 0?null:Ue(e.initialization.media,a,o),c=e.list.map(b=>({url:b.media===void 0?null:Ue(b.media,a,o),mediaRange:b.mediaRange}));this._index={list:c,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=tt(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]=Lo(u,t,o),l=Math.min(a.length-1,Math.floor(f/i)),c=[],g=Math.floor(d/i);for(;g<=l;){let p=a[g].mediaRange,h=a[g].url,b=g*s+this._periodStart,y={id:String(g),time:b,isInit:!1,range:p,duration:s,timescale:1,end:b+s,url:h,timestampOffset:-(r.indexTimeOffset/o),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};c.push(y),g++}return c}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(){m.error(\"A `ListRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `ListRepresentationIndex`\")}_replace(e){this._index=e._index}_update(){m.error(\"A `ListRepresentationIndex` cannot be updated\")}};function Ft(n){return F.getCurrent().DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR*n}var vt=class{constructor(e,t){var y,E,P;let{availabilityTimeOffset:r,manifestBoundsCalculator:i,isDynamic:a,periodEnd:o,periodStart:s,representationId:u,representationBitrate:d,isEMSGWhitelisted:f}=t,l=(y=e.timescale)!=null?y:1;this._availabilityTimeOffset=r,this._manifestBoundsCalculator=i;let c=(E=e.presentationTimeOffset)!=null?E:0,g=s*l,p=c-g;if(e.duration===void 0)throw new Error(\"Invalid SegmentTemplate: no duration\");let h=((P=e.initialization)==null?void 0:P.media)===void 0?null:Ue(e.initialization.media,u,d),b=e.media===void 0?null:Ue(e.media,u,d);this._index={duration:e.duration,timescale:l,indexRange:e.indexRange,indexTimeOffset:p,initialization:v(e.initialization)?void 0:{url:h,range:e.initialization.range},url:b,presentationTimeOffset:c,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 tt(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,c=(e+t)*s-d,g=this._getFirstSegmentStart(),p=this._getLastSegmentStart();if(v(g)||v(p))return[];let h=Math.max(g,l),b=Math.min(p,c);if(b+i<=h)return[];let y=[],E=a!=null?a:1,P=Math.floor(h/i);for(let _=P*i;_<=b;_+=i){let C=P+E;if(o!==void 0&&C>o)return y;let R=!v(f)&&_+i>f?f-_:i,M=_+d,A=_+this._index.presentationTimeOffset,T=u===null?null:yr(A,C)(u),x={id:String(C),number:C,time:M/s,end:(M+R)/s,duration:R/s,timescale:1,isInit:!1,scaledDuration:R/s,url:T,timestampOffset:-(r.indexTimeOffset/s),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};y.push(x),P++}return y}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=Ft(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&&o<l-i}let d=u+this._index.duration,f=this._estimateRelativeScaledEnd();return f===void 0?s>d-i:s>d-i&&o<f-i}shouldRefresh(){return!1}checkDiscontinuity(){return null}isSegmentStillAvailable(e){if(e.isInit)return!0;let t=this.getSegments(e.time,.1);return t.length===0?!1:t[0].time===e.time&&t[0].end===e.end&&t[0].number===e.number}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){if(!this._isDynamic)return!1;let e=this._estimateRelativeScaledEnd();if(e===void 0)return!0;let{timescale:t}=this._index,r=this._getLastSegmentStart();if(v(r))return!0;let i=r+this._index.duration,a=Ft(t);return i+a<e}isInitialized(){return!0}initialize(){m.error(\"A `TemplateRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `TemplateRepresentationIndex`\")}_replace(e){this._index=e._index,this._isDynamic=e._isDynamic,this._periodStart=e._periodStart,this._scaledRelativePeriodEnd=e._scaledRelativePeriodEnd,this._manifestBoundsCalculator=e._manifestBoundsCalculator}_update(e){this._replace(e)}_getFirstSegmentStart(){var o;if(!this._isDynamic)return 0;if(this._scaledRelativePeriodEnd===0||this._scaledRelativePeriodEnd===void 0){let s=this._manifestBoundsCalculator.getEstimatedMaximumPosition((o=this._availabilityTimeOffset)!=null?o:0);if(s!==void 0&&s<this._periodStart)return null}let{duration:e,timescale:t}=this._index,r=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(e/t);if(r===void 0)return;let i=r>this._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._scaledRelativePeriodEnd<s-this._periodStart*this._index.timescale){let l=Math.ceil(this._scaledRelativePeriodEnd/e);return r!==void 0&&r-i+1<l&&(l=r-i+1),(l-1)*e}let u=this._manifestBoundsCalculator.getEstimatedMaximumPosition((a=this._availabilityTimeOffset)!=null?a:0);if(u===void 0)return;let d=(u-this._periodStart)*t;if(d<0)return null;let f=Math.floor(d/e);return r!==void 0&&r-i+1<f&&(f=r-i+1),f<=0?null:(f-1)*e}else{let s=(o=this._scaledRelativePeriodEnd)!=null?o:0,u=Math.ceil(s/e);r!==void 0&&r-i+1<u&&(u=r-i+1);let d=(u-1)*e,f=F.getCurrent().MINIMUM_SEGMENT_SIZE*t;return r!==void 0||s-d>f||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 _i(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(;a<e&&o<=r.repeatCount;)a+=r.duration,o++;if(o>r.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 Ri(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(Be(i,e[0])<r)throw new Y(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");for(let f=t-1;f>=0;f--){let l=n[f].start;if(l===r){let c=t-f;return n.splice(f,c,...e),!1}else if(l<r){let c=n[f];if(c.start+c.duration>r)return m.warn(\"RepresentationIndex: Manifest update removed all previous segments\"),n.splice(0,t,...e),!0;if(c.repeatCount===void 0||c.repeatCount<=0)return c.repeatCount<0&&(c.repeatCount=Math.floor((r-c.start)/c.duration)-1),n.splice(f+1,t-(f+1),...e),!1;if(c.start+c.duration*(c.repeatCount+1)<=r)return n.splice(f+1,t-(f+1),...e),!1;let p=(r-c.start)/c.duration-1;if(p%1===0&&c.duration===e[0].duration){let h=e[0].repeatCount<0?-1:e[0].repeatCount+p+1;return n.splice(f,t-f,...e),n[f].start=c.start,n[f].repeatCount=h,!1}return m.warn(\"RepresentationIndex: 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?(m.warn(\"RepresentationIndex: The new index is older than the previous one\"),!1):(m.warn('RepresentationIndex: 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?(m.warn(\"RepresentationIndex: The new index is older than the previous one\"),!1):(m.warn('RepresentationIndex: The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0)}function mn(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}:(m.warn('DASH: A \"S\" Element could not have been parsed.'),null)}function pn(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)?m.warn(`DASH: invalid t (\"${r}\")`):e.start=i;break}case\"d\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid d (\"${r}\")`):e.duration=i;break}case\"r\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid r (\"${r}\")`):e.repeatCount=i;break}}}return e}function gn(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case\"t\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid t (\"${r.value}\")`):e.start=i;break}case\"d\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid d (\"${r.value}\")`):e.duration=i;break}case\"r\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid r (\"${r.value}\")`):e.repeatCount=i;break}}}return e}function pt(n){let e=[];if(Array.isArray(n))for(let r=0;r<n.length;r++)e.push(pn(n[r]));else for(let r=0;r<n.length;r++)e.push(gn(n[r]));let t=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[t.length-1]===void 0?null:t[t.length-1],o=e[r+1]===void 0?null:e[r+1],s=mn(i,a,o);s!==null&&t.push(s)}return t}function Pi(n,e){if(n.length===0||e.length===0)return null;let t=n[0].start,r=Array.isArray(e)?e[0].attributes.t:e[0].getAttribute(\"t\"),i=v(r)?null:parseInt(r,10);if(i===null||Number.isNaN(i))return null;if(t===i)return{prevSegmentsIdx:0,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(t<i){let a=n[0],o=0;for(;;){if(a.repeatCount>0){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=Array.isArray(e)?e[0]:null,s=Array.isArray(e)?null:e[0],u=i;for(;;){let d=o!==null?o.attributes.d:s==null?void 0:s.getAttribute(\"d\"),f=v(d)?null:parseInt(d,10);if(f===null||Number.isNaN(f))return null;let l=o!==null?o.attributes.r:s==null?void 0:s.getAttribute(\"r\"),c=v(l)?null:parseInt(l,10);if(c!==null){if(Number.isNaN(c)||c<0)return null;if(c>0){let h=t-u;if(h%f===0&&h/f<=c)return{repeatNumberInPrevSegments:0,repeatNumberInNewElements:h/f,prevSegmentsIdx:0,newElementsIdx:a}}u+=f*(c+1)}else u+=f;if(a++,a>=e.length)return null;Array.isArray(e)?o=e[a]:s=e[a];let g=o!==null?o.attributes.t:s==null?void 0:s.getAttribute(\"t\"),p=v(g)?null:parseInt(g,10);if(p!==null){if(Number.isNaN(p))return null;u=p}if(u===t)return{newElementsIdx:a,prevSegmentsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(u>i)return null}}}function vi(n,e){var h;let t=Pi(e,n);if(t===null)return m.warn('DASH: Cannot perform \"based\" update. Common segment not found.'),pt(n);let{prevSegmentsIdx:r,newElementsIdx:i,repeatNumberInPrevSegments:a,repeatNumberInNewElements:o}=t,u=e.length-r+i-1;if(u>=n.length)return m.info('DASH: Cannot perform \"based\" update. New timeline too short'),pt(n);let d=e.slice(r);if(a>0){let b=d[0];b.start+=b.duration*a,d[0].repeatCount-=a}if(o>0&&i!==0)return m.info('DASH: Cannot perform \"based\" update. The new timeline has a different form.'),pt(n);let f=d[d.length-1],l=Array.isArray(n)?pn(n[u]):gn(n[u]),c=((h=l.repeatCount)!=null?h:0)-o;if(l.duration!==f.duration||f.repeatCount>c)return m.info('DASH: Cannot perform \"based\" update. The new timeline has a different form at the beginning.'),pt(n);l.repeatCount!==void 0&&l.repeatCount>f.repeatCount&&(f.repeatCount=l.repeatCount);let g=[],p=[];if(Array.isArray(n))for(let b=u+1;b<n.length;b++)p.push(pn(n[b]));else for(let b=u+1;b<n.length;b++)p.push(gn(n[b]));for(let b=0;b<p.length;b++){let y=p[b],E=g[g.length-1]===void 0?f:g[g.length-1],P=p[b+1]===void 0?null:p[b+1],_=mn(y,E,P);_!==null&&g.push(_)}return d.concat(g)}var hn=class n{constructor(e,t){var _,C,R,M,A;if(!n.isTimelineIndexArgument(e))throw new Error(\"The given index is not compatible with a TimelineRepresentationIndex.\");let{availabilityTimeComplete:r,availabilityTimeOffset:i,manifestBoundsCalculator:a,isDynamic:o,isLastPeriod:s,representationId:u,representationBitrate:d,periodStart:f,periodEnd:l,isEMSGWhitelisted:c}=t,g=(_=e.timescale)!=null?_:1,p=(C=e.presentationTimeOffset)!=null?C:0,h=f*g,b=p-h;this._manifestBoundsCalculator=a,this._isEMSGWhitelisted=c,this._isLastPeriod=s,this._lastUpdate=(R=t.receivedTime)!=null?R:L(),this._unsafelyBaseOnPreviousIndex=null,t.unsafelyBaseOnPreviousRepresentation!==null&&t.unsafelyBaseOnPreviousRepresentation.index instanceof n&&(t.unsafelyBaseOnPreviousRepresentation.index._unsafelyBaseOnPreviousIndex=null,this._unsafelyBaseOnPreviousIndex=t.unsafelyBaseOnPreviousRepresentation.index),this._isDynamic=o,this._parseTimeline=(M=e.timelineParser)!=null?M:null;let y=((A=e.initialization)==null?void 0:A.media)===void 0?null:Ue(e.initialization.media,u,d),E=e.media===void 0?null:Ue(e.media,u,d),P;i===void 0&&r===void 0?P=1/0:P=i!=null?i:0,this._index={availabilityTimeComplete:r!=null?r:!0,availabilityTimeOffset:P,indexRange:e.indexRange,indexTimeOffset:b,initialization:v(e.initialization)?void 0:{url:y,range:e.initialization.range},segmentUrlTemplate:E,startNumber:e.startNumber,endNumber:e.endNumber,timeline:e.timeline===void 0?null:Ci(e.timeline,e.startNumber,e.endNumber),timescale:g},this._scaledPeriodStart=Pe(f,this._index),this._scaledPeriodEnd=l===void 0?void 0:Pe(l,this._index)}getInitSegment(){return tt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),cn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=this._index.timeline;return e.length===0?null:$e(Math.max(this._scaledPeriodStart,e[0].start),this._index)}getLastAvailablePosition(){var r;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=Tr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(e===null)return null;let t=Math.min(e.end,(r=this._scaledPeriodEnd)!=null?r:1/0);return $e(t,this._index)}getEnd(){var r;if(this._isDynamic&&!this._isLastPeriod)return;if(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),this._index.timeline.length<=0)return null;let e=this._index.timeline[this._index.timeline.length-1],t=Math.min(Be(e,null,this._scaledPeriodEnd),(r=this._scaledPeriodEnd)!=null?r:1/0);return $e(t,this._index)}awaitSegmentBetween(e,t){var d,f;if(ce(e<=t),!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timescale:r,timeline:i}=this._index,a=Ft(r),o=Pe(t,this._index),s=Tr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(s!==null&&Math.min(s.end,(d=this._scaledPeriodEnd)!=null?d:1/0)+a>=Math.min(o,(f=this._scaledPeriodEnd)!=null?f:1/0))return!1;let u=Pe(e,this._index);if(i.length>0&&s!==null&&!s.isLastOfTimeline){let l=i[i.length-1],g=Be(l,null,this._scaledPeriodEnd)+a;if(u<g+a)return!0}return this._isLastPeriod?this._scaledPeriodEnd===void 0?o+a>this._scaledPeriodStart?void 0:!1:u-a<this._scaledPeriodEnd&&o+a>this._scaledPeriodStart:!1}isSegmentStillAvailable(e){return e.isInit?!0:(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),cd(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),Fo({timeline:t,timescale:this._index.timescale,indexTimeOffset:this._index.indexTimeOffset},e,this._scaledPeriodEnd)}canBeOutOfSyncError(e){return this._isDynamic?e instanceof Qe&&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()),Ri(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&&Pe(s,this._index)>this._scaledPeriodEnd)return!1}return this._isLastPeriod}let t=Ft(this._index.timescale),r=Tr(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 Be(i,null,this._scaledPeriodEnd)+t<this._scaledPeriodEnd}isInitialized(){return!0}initialize(){m.error(\"A `TimelineRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `TimelineRepresentationIndex`\")}static isTimelineIndexArgument(e){return typeof e.timelineParser==\"function\"||Array.isArray(e.timeline)}_refreshTimeline(){var i,a;if(this._index.timeline===null&&(this._index.timeline=this._getTimeline()),!this._isDynamic)return;let e=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(((a=(i=this._index.timeline[0])==null?void 0:i.duration)!=null?a:0)/this._index.timescale);if(v(e))return;let t=Pe(e,this._index),r=_i(this._index.timeline,t);this._index.startNumber!==void 0?this._index.startNumber+=r:this._index.endNumber!==void 0&&(this._index.startNumber=r+1)}_getTimeline(){if(this._parseTimeline===null)return this._index.timeline!==null?this._index.timeline:(m.error(\"DASH: Timeline already lazily parsed.\"),[]);let e=this._parseTimeline();this._parseTimeline=null;let{MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:t}=F.getCurrent();if(this._unsafelyBaseOnPreviousIndex===null||e.length<t)return Ci(pt(e),this._index.startNumber,this._index.endNumber);let r;return this._unsafelyBaseOnPreviousIndex._index.timeline===null?(r=this._unsafelyBaseOnPreviousIndex._getTimeline(),this._unsafelyBaseOnPreviousIndex._index.timeline=r):r=this._unsafelyBaseOnPreviousIndex._index.timeline,this._unsafelyBaseOnPreviousIndex=null,Ci(vi(e,r),this._index.startNumber,this._index.endNumber)}};function Ci(n,e,t){if(t===void 0)return n;let r=e!=null?e:1;for(let i=0;i<n.length;i++){let a=n[i];if(r+=a.repeatCount+1,r>t){if(r===t+1)return n.slice(0,i+1);{let o=n.slice(0,i),s=J({},a),u=r-a.repeatCount-1;return s.repeatCount=Math.max(0,t-u),o.push(s),o}}}return n}function cd(n,e,t,r){let i=Tr(e,t,r);if(i===null)return!1;for(let a=0;a<e.timeline.length;a++){if(i.timelineIdx<a)return!1;let o=e.timeline[a],s=(o.start-e.indexTimeOffset)/e.timescale;if(s>n.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 Tr(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:Be(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:Be(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($e(o,n)<=r){let s=Be(a,n.timeline[i+1],t);if($e(s,n)<=r)return{isLastOfTimeline:i===n.timeline.length-1,timelineIdx:i,newRepeatCount:a.repeatCount,end:o};{let d=Pe(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 Er=hn;var md=/^(?:[a-z]+:)?\\/\\//i,pd=/^(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$/;function xi(n){let e=n.lastIndexOf(\"/\");if(e<0)return n.length;if(md.test(n)){let r=n.indexOf(\"/\");if(r>=0&&e===r+1)return n.length}let t=n.indexOf(\"?\");return t>=0&&t<e?xi(n.substring(0,t)):e+1}function zo(n,e){let t=_r(n),r=_r(e);if(t.scheme!==r.scheme||t.authority!==r.authority||t.path[0]!==void 0&&t.path[0]!==\"/\"&&r.path[0]===\"/\"||r.path[0]!==void 0&&r.path[0]!==\"/\"&&t.path[0]===\"/\")return null;let i=bn(t.path),a=bn(r.path),o;if(i===a)o=\"\";else{let u=i.split(\"/\");u.pop();let d=a.split(\"/\");for(;u.length>0&&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||r.query&&(s+=\"?\",s+=r.query),r.fragment&&(s+=\"#\",s+=r.fragment),s}function gd(n,e){let t=_r(n),r=_r(e);if(r.scheme)return Ai(r);let i={scheme:t.scheme,authority:t.authority,path:\"\",query:r.query,fragment:r.fragment};return r.authority?(i.authority=r.authority,i.path=bn(r.path),Ai(i)):(r.path===\"\"?(i.path=t.path,r.query||(i.query=t.query)):We(r.path,\"/\")?i.path=bn(r.path):i.path=bn(Id(t,r.path)),Ai(i))}var In=new Map,hd=200;function _r(n){var r,i,a,o,s;if(In.has(n))return In.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:\"\"},In.size>=hd&&In.clear(),In.set(n,t),t}function Ai(n){let e=\"\";return n.scheme&&(e+=n.scheme+\":\"),n.authority&&(e+=\"//\"+n.authority),e+=n.path,n.query&&(e+=\"?\"+n.query),n.fragment&&(e+=\"#\"+n.fragment),e}function bn(n){let e=n.split(/(?=\\/)/),t=[];for(let r=0;r<e.length;r++){let i=e[r];if(!(i===\"..\"||i===\".\"||i===\"\")){if(i===\"/..\"){t.pop(),r===e.length-1&&t.push(\"/\");continue}if(i===\"/.\"){r===e.length-1&&t.push(\"/\");continue}t.push(i)}}return t.join(\"\")}function Id(n,e){if(n.authority&&n.path===\"\")return\"/\"+e;let t=n.path;return t.substring(0,t.lastIndexOf(\"/\")+1)+e}function Sn(...n){var r,i,a;let e=n.filter(o=>o!==\"\"),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=gd(o,s),d=e.slice(2);return Sn(u,...d)}}var yn=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 ki(e,t),!0;let i=this._getReferenced(t.attributes.ref);return i===void 0?(r&&(m.warn(\"DASH: forcing the parsing of a referencing ContentProtection\"),ki(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),ki(e,t),!0)}_getReferenced(e){return this._refs.get(e)}};function ki(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=Q(n.contentProtections.initData,o=>o.type===\"cenc\");a===void 0?n.contentProtections.initData.push({type:\"cenc\",values:i}):a.values.push(...i)}function Rr(n){let e=Date.parse(n)-L();if(isNaN(e)){m.warn(\"DASH Parser: Invalid clock received: \",n);return}return e}function Mi(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 Pr(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 Oi(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=Pr(r);if(s===void 0)return{safe:void 0,unsafe:void 0};a=s}if(i!==void 0){let s=Pr(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 m.info(\"Parser 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 vr(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 wi(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=vr(r);if(s===void 0)return;a=s}if(i!==void 0){let s=vr(i);if(s===void 0)return;o=s}if(r!==void 0&&a===null||i!==void 0&&o===null){m.info(\"Parser 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 Di(n){if(n.length===0)throw new Error(\"DASH Parser: no period available for a dynamic content\");let e=wi(n),t=Oi(n);return{minimumSafePosition:e,maximumSafePosition:t.safe,maximumUnsafePosition:t.unsafe}}var Tn=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 Ni(n,e){return n.type!==\"dynamic\"?0:v(n.availabilityStartTime)?e!=null?e:0:n.availabilityStartTime}function Bi(n){if(n.length===0)return[];let e=[n[0]];for(let t=1;t<n.length;t++){let r=n[t],i=e[e.length-1];for(;(i.duration===void 0||i.start+i.duration>r.start)&&(m.warn(\"DASH: Updating overlapping Periods.\",i==null?void 0:i.start,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 Ui(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 bd(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 Wo=bd;var Sd=[\"subtitle\",\"caption\"];function Li(n,e,t,r){function i(o,s){let u=o.split(\"/\")[0];if(ge(Ut,u))return u;if(o===\"application/ttml+xml\")return\"text\";if(o===\"application/mp4\")return s!==null&&Q(s,d=>d.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&ge(Sd,d.value))!==void 0?\"text\":void 0}function a(o){switch(o.substring(0,3)){case\"avc\":case\"hev\":case\"hvc\":case\"vp8\":case\"vp9\":case\"av1\":return\"video\";case\"vtt\":return\"text\"}switch(o.substring(0,4)){case\"mp4a\":return\"audio\";case\"wvtt\":case\"stpp\":return\"text\"}}if(e!==null){let o=i(e,r);if(o!==void 0)return o}if(t!==null){let o=a(t);if(o!==void 0)return o}for(let o=0;o<n.length;o++){let s=n[o],{mimeType:u,codecs:d}=s.attributes;if(u!==void 0){let f=i(u,r);if(f!==void 0)return f}if(d!==void 0){let f=a(d);if(f!==void 0)return f}}}var yd=/[, ]+/g;function Vo(n){return ee(n)?n.trim().replace(yd,\", \"):\"\"}function qo(n){let[e,t,r,i,a,o,s,u]=n.split(\".\");if(e!==\"vp08\"&&e!==\"vp09\"&&e!==\"vp10\")return;let d,f,l;if((i!==void 0&&i===\"10\"||i===\"12\")&&(d=parseInt(i,10)),s!==void 0&&(s===\"16\"?f=\"pq\":s===\"18\"&&(f=\"hlg\")),o!==void 0&&u!==void 0&&o===\"09\"&&u===\"09\"&&(l=\"rec2020\"),!(d===void 0||f===void 0))return{colorDepth:d,eotf:f,colorSpace:l}}function Fi(n,e){var p,h,b;let{availabilityTimeOffset:t,manifestBoundsCalculator:r,isDynamic:i,end:a,start:o,receivedTime:s,unsafelyBaseOnPreviousRepresentation:u,inbandEventStreams:d,isLastPeriod:f}=e,c={availabilityTimeComplete:void 0,availabilityTimeOffset:t,unsafelyBaseOnPreviousRepresentation:u,isEMSGWhitelisted:y=>d===void 0?!1:d.some(({schemeIdUri:E})=>E===y.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:y}=n.children;g=new Rt(y,c)}else if(n.children.segmentList!==void 0){let{segmentList:y}=n.children;g=new Pt(y,c)}else if(n.children.segmentTemplate!==void 0||e.parentSegmentTemplates.length>0){let y=e.parentSegmentTemplates.slice(),E=n.children.segmentTemplate;E!==void 0&&y.push(E);let P=G({},...y);(P.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(c.availabilityTimeOffset=((p=P.availabilityTimeOffset)!=null?p:0)+((h=e.availabilityTimeOffset)!=null?h:0)),(P.availabilityTimeComplete!==void 0||e.availabilityTimeComplete!==void 0)&&(c.availabilityTimeComplete=(b=P.availabilityTimeComplete)!=null?b:e.availabilityTimeComplete),g=Er.isTimelineIndexArgument(P)?new Er(P,c):new vt(P,c)}else{let y=e.adaptation.children;if(y.segmentBase!==void 0){let{segmentBase:E}=y;g=new Rt(E,c)}else if(y.segmentList!==void 0){let{segmentList:E}=y;g=new Pt(E,c)}else g=new vt({duration:Number.MAX_VALUE,timescale:1,startNumber:0,media:\"\"},c)}return g}function nt(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;a<n.length;a++){let o=n[a];for(let s=0;s<t.length;s++){let u=t[s],d=Sn(o.url,u.url);r.push({url:d,serviceLocation:(i=u.serviceLocation)!=null?i:o.serviceLocation})}}return r}function Td(n,e){let t=[];if(n.children.inbandEventStreams!==void 0&&t.push(...n.children.inbandEventStreams),e.children.inbandEventStreams!==void 0&&t.push(...e.children.inbandEventStreams),t.length!==0)return t}function Ed({adaptationProfiles:n,essentialProperties:e,supplementalProperties:t,manifestProfiles:r,codecs:i}){if(((n!=null?n:\"\")+(r!=null?r:\"\")).indexOf(\"http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10\")!==-1&&(i===\"hvc1.2.4.L153.B0\"||i===\"hev1.2.4.L153.B0\"))return{colorDepth:10,eotf:\"pq\",colorSpace:\"rec2020\"};let o=Q([...e!=null?e:[],...t!=null?t:[]],s=>s.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)/.exec(i))return qo(i)}function zi(n,e,t){var i,a,o,s,u,d,f;let r=[];for(let l of n){let c=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(T=>T.id===c);)c+=\"-dup\";let g=(a=(i=t.unsafelyBaseOnPreviousAdaptation)==null?void 0:i.getRepresentation(c))!=null?a:null,p=Td(l,e),h=(o=l.attributes.availabilityTimeComplete)!=null?o:t.availabilityTimeComplete,b;(l.attributes.availabilityTimeOffset!==void 0||t.availabilityTimeOffset!==void 0)&&(b=((s=l.attributes.availabilityTimeOffset)!=null?s:0)+((u=t.availabilityTimeOffset)!=null?u:0));let y=G({},t,{availabilityTimeOffset:b,availabilityTimeComplete:h,unsafelyBaseOnPreviousRepresentation:g,adaptation:e,inbandEventStreams:p}),E=Fi(l,y),P;l.attributes.bitrate===void 0?(m.warn(\"DASH: No usable bitrate found in the Representation.\"),P=0):P=l.attributes.bitrate;let _=nt(t.baseURLs,l.children.baseURLs),C=_.length===0?[{baseUrl:\"\",id:void 0}]:_.map(T=>({baseUrl:T.url,id:T.serviceLocation})),R={bitrate:P,cdnMetadata:C,index:E,id:c};l.children.supplementalProperties!==void 0&&Q(l.children.supplementalProperties,T=>T.schemeIdUri===\"tag:dolby.com,2018:dash:EC3_ExtensionType:2018\"&&T.value===\"JOC\")&&(R.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,R.codecs=M);let A;l.attributes.supplementalCodecs!==void 0?A=l.attributes.supplementalCodecs:e.attributes.supplementalCodecs!==void 0&&(A=e.attributes.supplementalCodecs),A!==void 0&&(R.supplementalCodecs=Vo(A)),l.attributes.frameRate!==void 0?R.frameRate=l.attributes.frameRate:e.attributes.frameRate!==void 0&&(R.frameRate=e.attributes.frameRate),l.attributes.height!==void 0?R.height=l.attributes.height:e.attributes.height!==void 0&&(R.height=e.attributes.height),l.attributes.mimeType!==void 0?R.mimeType=l.attributes.mimeType:e.attributes.mimeType!==void 0&&(R.mimeType=e.attributes.mimeType),l.attributes.width!==void 0?R.width=l.attributes.width:e.attributes.width!==void 0&&(R.width=e.attributes.width);{let T=[...(d=e.children.contentProtections)!=null?d:[],...(f=l.children.contentProtections)!=null?f:[]];for(let x of T)t.contentProtectionParser.add(R,x)}R.hdrInfo=Ed({adaptationProfiles:e.attributes.profiles,supplementalProperties:e.children.supplementalProperties,essentialProperties:e.children.essentialProperties,manifestProfiles:t.manifestProfiles,codecs:M}),r.push(R)}return r}function _d(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 Rd(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 Pd(n){return n===void 0?!1:n.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.value===\"sign\"}function vd(n,e){if(ee(n.attributes.id))return n.attributes.id;let{isClosedCaption:t,isForcedSubtitle:r,isAudioDescription:i,isSignInterpreted:a,isTrickModeTrack:o,type:s}=e,u=s;return ee(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\"),ee(n.attributes.contentType)&&(u+=`-${n.attributes.contentType}`),ee(n.attributes.codecs)&&(u+=`-${n.attributes.codecs}`),ee(n.attributes.mimeType)&&(u+=`-${n.attributes.mimeType}`),n.attributes.frameRate!==void 0&&(u+=`-${String(n.attributes.frameRate)}`),u}function Cd(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=>r)}return[]}function Wi(n,e){var s,u,d,f,l,c,g;let t={video:[],audio:[],text:[]},r=[],i={},a=[];for(let p=0;p<n.length;p++){let h=n[p],b=h.children,{essentialProperties:y,roles:E,label:P}=b,_=Array.isArray(E)&&E.some(Te=>Te.value===\"main\")&&E.some(Te=>Te.schemeIdUri===\"urn:mpeg:dash:role:2011\"),C=h.children.representations,R=(s=h.attributes.availabilityTimeComplete)!=null?s:e.availabilityTimeComplete,M;(h.attributes.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(M=((u=h.attributes.availabilityTimeOffset)!=null?u:0)+((d=e.availabilityTimeOffset)!=null?d:0));let A=h.attributes.mimeType,T=h.attributes.codecs,x=Li(C,ee(A)?A:null,ee(T)?T:null,v(b.roles)?null:b.roles);if(x===void 0)continue;let O=(f=h.attributes.selectionPriority)!=null?f:1,w=h.attributes.id,B=Cd(h),k=[];e.segmentTemplate!==void 0&&k.push(e.segmentTemplate),h.children.segmentTemplate!==void 0&&k.push(h.children.segmentTemplate);let N={availabilityTimeComplete:R,availabilityTimeOffset:M,baseURLs:nt(e.baseURLs,b.baseURLs),contentProtectionParser:e.contentProtectionParser,manifestBoundsCalculator:e.manifestBoundsCalculator,end:e.end,isDynamic:e.isDynamic,isLastPeriod:e.isLastPeriod,manifestProfiles:e.manifestProfiles,parentSegmentTemplates:k,receivedTime:e.receivedTime,start:e.start,unsafelyBaseOnPreviousAdaptation:null},U=Array.isArray(y)?Q(y,Te=>Te.schemeIdUri===\"http://dashif.org/guidelines/trickmode\"):void 0,V=(l=U==null?void 0:U.value)==null?void 0:l.split(\" \"),X=V!==void 0,{accessibilities:j}=b,H;E!==void 0&&E.some(Te=>Te.value===\"dub\")&&(H=!0);let q;x!==\"text\"?q=!1:q=Rd(j,E);let Z;x===\"text\"&&E!==void 0&&E.some(Te=>Te.value===\"forced-subtitle\"||Te.value===\"forced_subtitle\")&&(Z=!0);let de;x!==\"audio\"?de=!1:j!==void 0&&(de=j.some(_d));let me;x!==\"video\"?me=!1:j!==void 0&&(me=j.some(Pd));let ie=vd(h,{isAudioDescription:de,isForcedSubtitle:Z,isClosedCaption:q,isSignInterpreted:me,isTrickModeTrack:X,type:x});for(;ge(a,ie);)ie+=\"-dup\";let Ge=ie;a.push(ie),N.unsafelyBaseOnPreviousAdaptation=(g=(c=e.unsafelyBaseOnPreviousPeriod)==null?void 0:c.getAdaptation(ie))!=null?g:null;let ke=zi(C,h,N),fe={id:ie,representations:ke,type:x,isTrickModeTrack:X};if(v(h.attributes.language)||(fe.language=h.attributes.language),v(q)||(fe.closedCaption=q),v(de)||(fe.audioDescription=de),H===!0&&(fe.isDub=!0),Z!==void 0&&(fe.forcedSubtitles=Z),me===!0&&(fe.isSignInterpreted=!0),P!==void 0&&(fe.label=P),V!==void 0)r.push({adaptation:fe,trickModeAttachedAdaptationIds:V});else{let Te=-1;for(let Yt of B){let Ke=i[Yt];if(Ke!==void 0&&Ke.newID!==Ge&&ge(Ke.adaptationSetSwitchingIDs,w)){Te=re(t[x],Ot=>Ot[0].id===Yt);let Me=t[x][Te];if(Me!==void 0&&Me[0].audioDescription===fe.audioDescription&&Me[0].closedCaption===fe.closedCaption&&Me[0].language===fe.language){m.info('DASH Parser: merging \"switchable\" AdaptationSets',w,Yt),Me[0].representations.push(...fe.representations),Me[1]={priority:Math.max(O,Me[1].priority),isMainAdaptation:_||Me[1].isMainAdaptation,indexInMpd:Math.min(p,Me[1].indexInMpd)};break}}}Te<0&&t[x].push([fe,{priority:O,isMainAdaptation:_,indexInMpd:p}])}!v(w)&&v(i[w])&&(i[w]={newID:Ge,adaptationSetSwitchingIDs:B})}let o=Ut.reduce((p,h)=>{let b=t[h];return b.length>0&&(b.sort(Ho),p[h]=b.map(([y])=>y)),p},{});return t.video.sort(Ho),Wo(o,r),o}function Ho(n,e){let t=e[1].priority-n[1].priority;return t!==0?t:n[1].isMainAdaptation!==e[1].isMainAdaptation?n[1].isMainAdaptation?-1:1:n[1].indexInMpd-e[1].indexInMpd}var Ad=Ae();function Vi(n,e){var o,s,u,d,f;let t=[],r=Ui(n,e);if(r.length!==n.length)throw new Error(\"MPD parsing error: the time information are incoherent.\");let{isDynamic:i,manifestBoundsCalculator:a}=e;!i&&!v(e.duration)&&a.setLastPosition(e.duration);for(let l=n.length-1;l>=0;l--){let c=l===n.length-1,g=n[l],p=e.xlinkInfos.get(g),h=nt(e.baseURLs,g.children.baseURLs),{periodStart:b,periodDuration:y,periodEnd:E}=r[l],P;for(v(g.attributes.id)?(m.warn(\"DASH: No usable id found in the Period. Generating one.\"),P=\"gen-dash-period-\"+Ad()):P=g.attributes.id;t.some(U=>U.id===P);)P+=\"-dup\";let _=p!==void 0?p.receivedTime:e.receivedTime,C=(s=(o=e.unsafelyBaseOnPreviousManifest)==null?void 0:o.getPeriod(P))!=null?s:null,R=g.attributes.availabilityTimeComplete,M=g.attributes.availabilityTimeOffset,{manifestProfiles:A,contentProtectionParser:T}=e,{segmentTemplate:x}=g.children;T.addReferences((u=g.children.contentProtections)!=null?u:[]);let O={availabilityTimeComplete:R,availabilityTimeOffset:M,baseURLs:h,contentProtectionParser:T,manifestBoundsCalculator:a,end:E,isDynamic:i,isLastPeriod:c,manifestProfiles:A,receivedTime:_,segmentTemplate:x,start:b,unsafelyBaseOnPreviousPeriod:C},w=Wi(g.children.adaptations,O),B=((d=e.xmlNamespaces)!=null?d:[]).concat((f=g.attributes.namespaces)!=null?f:[]),k=kd(g.children.eventStreams,b,B),N={id:P,start:b,end:E,duration:y,adaptations:w,streamEvents:k};if(t.unshift(N),!a.lastPositionIsKnown()){let U=xd(w);if(!i)typeof U==\"number\"&&a.setLastPosition(U);else if(typeof U==\"number\"){let V=L()/1e3;a.setLastPosition(U,V)}else{let V=Go(e,b);if(V!==void 0){let[X,j]=V;a.setLastPosition(X,j)}}}}if(e.isDynamic&&!a.lastPositionIsKnown()){let l=Go(e,0);if(l!==void 0){let[c,g]=l;a.setLastPosition(c,g)}}return Bi(t)}function Go(n,e){if(v(n.clockOffset)){let t=Date.now()/1e3;if(t>=e){m.warn(\"DASH Parser: 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 xd(n){let e=null,t=!0,r=br(n).filter(a=>!v(a)),i=hi(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 kd(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,c=f.duration===void 0?void 0:l+f.duration/u,g,p;if(!wt&&f.eventStreamData instanceof Element)g=f.eventStreamData;else try{p={namespaces:d,data:typeof f.eventStreamData==\"string\"?f.eventStreamData:Ne(new Uint8Array(f.eventStreamData))}}catch(h){m.error(\"DASH: Error while parsing event-stream:\",h instanceof Error?h.message:\"Unknown error\")}r.push({start:l,end:c,id:f.id,data:{type:\"dash-event-stream\",value:{schemeIdUri:s,timescale:u,element:g,xmlData:p}}})}}return r}function zt(n,e,t,r,i=new WeakMap){let{children:a,attributes:o}=n;if(v(e.externalClockOffset)){let u=o.type===\"dynamic\",d=Q(a.utcTimings,c=>c.schemeIdUri===\"urn:mpeg:dash:utc:direct:2014\"&&!v(c.value)),f=!v(d)&&!v(d.value)?Rr(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 c=Mi(n);if(!v(c)&&c.length>0)return{type:\"needs-clock\",value:{url:c,continue:function(p){return p.success?(e.externalClockOffset=Rr(p.data),zt(n,e,t,!0)):(t.push(p.error),m.warn(\"DASH Parser: Error on fetching the clock ressource\",p.error),zt(n,e,t,!0))}}}}}let s=[];for(let u=0;u<a.periods.length;u++){let{xlinkHref:d,xlinkActuate:f}=a.periods[u].attributes;!v(d)&&f===\"onLoad\"&&s.push({index:u,ressource:d})}return s.length===0?Md(n,e,t,i):{type:\"needs-xlinks\",value:{xlinksUrls:s.map(({ressource:u})=>u),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:c,warnings:g,receivedTime:p,sendingTime:h,url:b}=d[f];g.length>0&&t.push(...g);for(let y of c)i.set(y,{receivedTime:p,sendingTime:h,url:b});a.periods.splice(l,1,...c)}return zt(n,e,t,r,i)}}}}function Md(n,e,t,r){var k,N,U,V,X;let{children:i,attributes:a}=n,o=a.type===\"dynamic\",s=e.url!==void 0?[{url:e.url.substring(0,xi(e.url))}]:[],u=nt(s,i.baseURLs),d=Ni(a,e.referenceDateTime),f=a.timeShiftBufferDepth,l=a.maxSegmentDuration,{externalClockOffset:c,unsafelyBaseOnPreviousManifest:g}=e,{externalClockOffset:p}=e,h=new Tn({availabilityStartTime:d,isDynamic:o,timeShiftBufferDepth:f,serverTimestampOffset:p}),b=new yn;b.addReferences((k=i.contentProtections)!=null?k:[]);let y={availabilityStartTime:d,baseURLs:u,clockOffset:c,contentProtectionParser:b,duration:a.duration,isDynamic:o,manifestBoundsCalculator:h,manifestProfiles:n.attributes.profiles,receivedTime:e.manifestReceivedTime,unsafelyBaseOnPreviousManifest:g,xlinkInfos:r,xmlNamespaces:n.attributes.namespaces},E=Vi(i.periods,y);b.finalize();let P=a.duration,_,C,R=null,M;a.minimumUpdatePeriod!==void 0&&a.minimumUpdatePeriod>=0&&(_=a.minimumUpdatePeriod===0?F.getCurrent().DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:a.minimumUpdatePeriod);let{minimumSafePosition:A,maximumSafePosition:T,maximumUnsafePosition:x}=Di(E),O=L();if(o){let j;T!==void 0?j=T:p===void 0?(m.warn(\"DASH Parser: use system clock to define maximum position\"),j=Date.now()/1e3-d):j=(L()+p)/1e3-d;let H=h.getEstimatedLiveEdge();H===void 0&&(x!==void 0?H=x:H=j),M={isLinear:!0,maximumSafePosition:j,livePosition:H,time:O},C=A,R=f!=null?f:null,R!==null&&(R+=l!=null?l:0),R!==null&&C!==void 0&&H-C>R&&(R=H-C)}else{C=A,C===void 0&&(C=(U=(N=E[0])==null?void 0:N.start)!=null?U:0);let j=P!=null?P:1/0;if(E[E.length-1]!==void 0){let H=E[E.length-1],q=(V=H.end)!=null?V:H.duration!==void 0?H.start+H.duration:void 0;q!==void 0&&q<j&&(j=q)}T!==void 0&&T<j&&(j=T),M={isLinear:!1,maximumSafePosition:j,livePosition:void 0,time:O}}let w=!o||n.attributes.minimumUpdatePeriod===void 0&&(((X=E[E.length-1])==null?void 0:X.end)!==void 0||n.attributes.duration!==void 0);return{type:\"done\",value:{parsed:{availabilityStartTime:d,clockOffset:e.externalClockOffset,isDynamic:o,isLive:o,isLastPeriodKnown:w,periods:E,publishTime:a.publishTime,suggestedPresentationDelay:a.suggestedPresentationDelay,transportType:\"dash\",timeBounds:{minimumSafePosition:C,timeshiftDepth:R,maximumTimeData:M},lifetime:_,uris:v(e.url)?i.locations:[e.url,...i.locations]},warnings:t}}}var Cr=zt;var Od=/^P(([\\d.]*)Y)?(([\\d.]*)M)?(([\\d.]*)D)?T?(([\\d.]*)H)?(([\\d.]*)M)?(([\\d.]*)S)?/,wd=/([0-9]+)-([0-9]+)/;function ve(n,e){return n===\"true\"?[!0,null]:n===\"false\"?[!1,null]:[!1,new we(`\\`${e}\\` property is not a boolean value but \"${n}\"`)]}function ne(n,e){let t=parseInt(n,10);return isNaN(t)?[null,new we(`\\`${e}\\` property is not an integer value but \"${n}\"`)]:[t,null]}function xe(n,e){if(n===\"INF\")return[1/0,null];let t=parseFloat(n);return isNaN(t)?[null,new we(`\\`${e}\\` property is invalid: \"${n}\"`)]:[t,null]}function qi(n,e){if(n===\"true\")return[!0,null];if(n===\"false\")return[!1,null];let t=parseInt(n,10);return isNaN(t)?[null,new we(`\\`${e}\\` property is not a boolean nor an integer but \"${n}\"`)]:[t,null]}function Ar(n,e){let t=Date.parse(n);return isNaN(t)?[null,new we(`\\`${e}\\` is in an invalid date format: \"${n}\"`)]:[new Date(Date.parse(n)).getTime()/1e3,null]}function Ve(n,e){if(!ee(n))return[0,new we(`\\`${e}\\` property is empty`)];let t=Od.exec(n);return t===null?[null,new we(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[parseFloat(ee(t[2])?t[2]:\"0\")*365*24*60*60+parseFloat(ee(t[4])?t[4]:\"0\")*30*24*60*60+parseFloat(ee(t[6])?t[6]:\"0\")*24*60*60+parseFloat(ee(t[8])?t[8]:\"0\")*60*60+parseFloat(ee(t[10])?t[10]:\"0\")*60+parseFloat(ee(t[12])?t[12]:\"0\"),null]}function Ct(n,e){let t=wd.exec(n);return t===null?[null,new we(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[[+t[1],+t[2]],null]}function Ko(n,e){try{return[gr(n),null]}catch(t){return[null,new we(`\\`${e}\\` is not a valid base64 string: \"${n}\"`)]}}function Wt(n,e){let t=/^(\\d+)\\/(\\d+)$/.exec(n);return t!==null?[+t[1]/+t[2],null]:xe(n,e)}function Re(n){let e,t;for(let r of Object.keys(n.attributes)){let i=n.attributes[r];if(!v(i))switch(r){case\"schemeIdUri\":e=i;break;case\"value\":t=i;break}}return{schemeIdUri:e,value:t}}function be(n,e){return function(t,{asKey:r,parser:i,dashName:a}){let[o,s]=i(t,a);s!==null&&(m.warn(s.message),e.push(s)),o!==null&&(n[r]=o)}}var we=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"MPDError\"}};function gt(n){return Sr(n)}function rt(n){let e=typeof n==\"string\"?n:gt(n.children),t=[];return e===null||e.length===0?[void 0,t]:[{value:e},t]}function Dd(n){let e=[],t=[];for(let r=0;r<n.length;r++){let i=n[r];if(typeof i!=\"string\"&&i.tagName===\"cenc:pssh\"){let a=gt(i.children);if(a!==null&&a.length>0){let[o,s]=Ko(a,\"cenc:pssh\");s!==null&&(m.warn(s.message),e.push(s)),o!==null&&t.push(o)}}}return[{cencPssh:t},e]}function Nd(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=on(r.replace(/-/g,\"\"));break;case\"ref\":e.ref=r;break;case\"refId\":e.refId=r;break}}return e}function it(n){let[e,t]=Dd(n.children),r=Nd(n);return[{children:e,attributes:r},t]}function Hi(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 Gi(n){let e={},t=[],r=be(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:Ct,dashName:\"range\"});break;case\"sourceURL\":e.media=a;break}}return[e,t]}function at(n){let e={},t=[],r=be(e,t),i=n.children;for(let a=0;a<i.length;a++){let o=i[a];if(typeof o!=\"string\"&&o.tagName===\"Initialization\"){let[s,u]=Gi(o);e.initialization=s,t=t.concat(u)}}for(let a of Object.keys(n.attributes)){let o=n.attributes[a];if(!v(o))switch(a){case\"timescale\":r(o,{asKey:\"timescale\",parser:ne,dashName:\"timescale\"});break;case\"presentationTimeOffset\":r(o,{asKey:\"presentationTimeOffset\",parser:xe,dashName:\"presentationTimeOffset\"});break;case\"indexRange\":r(o,{asKey:\"indexRange\",parser:Ct,dashName:\"indexRange\"});break;case\"indexRangeExact\":r(o,{asKey:\"indexRangeExact\",parser:ve,dashName:\"indexRangeExact\"});break;case\"availabilityTimeOffset\":r(o,{asKey:\"availabilityTimeOffset\",parser:xe,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(o,{asKey:\"availabilityTimeComplete\",parser:ve,dashName:\"availabilityTimeComplete\"});break;case\"duration\":r(o,{asKey:\"duration\",parser:ne,dashName:\"duration\"});break;case\"startNumber\":r(o,{asKey:\"startNumber\",parser:ne,dashName:\"startNumber\"});break;case\"endNumber\":r(o,{asKey:\"endNumber\",parser:ne,dashName:\"endNumber\"});break}}return[e,t]}function Ki(n){let e={},t=[],r=be(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"media\":e.media=a;break;case\"indexRange\":r(a,{asKey:\"indexRange\",parser:Ct,dashName:\"indexRange\"});break;case\"index\":e.index=a;break;case\"mediaRange\":r(a,{asKey:\"mediaRange\",parser:Ct,dashName:\"mediaRange\"});break}}return[e,t]}function En(n){let[e,t]=at(n),r=t,i=[],a=n.children;for(let s=0;s<a.length;s++){let u=a[s];if(typeof u!=\"string\"&&u.tagName===\"SegmentURL\"){let[d,f]=Ki(u);i.push(d),r=r.concat(f)}}return[G(e,{list:i}),r]}function ji(n){let e=n.children;return function(){for(let t=e.length-1;t>=0;t--){let r=e[t];(typeof r==\"string\"||r.tagName!==\"S\")&&e.splice(t,1)}return e}}function At(n){let[e,t]=at(n),r=t,i;for(let s=0;s<n.children.length;s++){let u=n.children[s];typeof u!=\"string\"&&u.tagName===\"SegmentTimeline\"&&(i=ji(u))}let a=G({},e,{duration:e.duration,timelineParser:i}),o=be(a,r);for(let s of Object.keys(n.attributes)){let u=n.attributes[s];if(!v(u))switch(s){case\"initialization\":v(a.initialization)&&(a.initialization={media:u});break;case\"index\":a.index=u;break;case\"availabilityTimeOffset\":o(u,{asKey:\"availabilityTimeOffset\",parser:xe,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":o(u,{asKey:\"availabilityTimeComplete\",parser:ve,dashName:\"availabilityTimeComplete\"});break;case\"media\":a.media=u;break;case\"bitstreamSwitching\":o(u,{asKey:\"bitstreamSwitching\",parser:ve,dashName:\"bitstreamSwitching\"});break}}return[a,r]}function Bd(n){let e={baseURLs:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"BaseURL\":{let[o,s]=rt(a);o!==void 0&&e.baseURLs.push(o),r=r.concat(s);break}case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(Re(a));break;case\"SegmentBase\":{let[o,s]=at(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=En(a);r=r.concat(s),e.segmentList=o;break}case\"SegmentTemplate\":{let[o,s]=At(a);r=r.concat(s),e.segmentTemplate=o;break}case\"ContentProtection\":{let[o,s]=it(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}case\"SupplementalProperty\":v(e.supplementalProperties)?e.supplementalProperties=[Re(a)]:e.supplementalProperties.push(Re(a));break}}return t.length>0&&(e.contentProtections=t),[e,r]}function Ud(n){let e={},t=[],r=be(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:ne,dashName:\"bandwidth\"});break;case\"codecs\":e.codecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:ve,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Wt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ne,dashName:\"height\"});break;case\"id\":e.id=a;break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:xe,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:xe,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"qualityRanking\":r(a,{asKey:\"qualityRanking\",parser:ne,dashName:\"qualityRanking\"});break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:ne,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:xe,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:ve,dashName:\"availabilityTimeComplete\"});break}}return e.bitrate===void 0&&t.push(new we(\"No bitrate found on a Representation\")),[e,t]}function jo(n){let[e,t]=Bd(n.children),[r,i]=Ud(n),a=t.concat(i);return[{children:e,attributes:r},a]}function Ld(n){let e={baseURLs:[],representations:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"Accessibility\":e.accessibilities===void 0?e.accessibilities=[Re(a)]:e.accessibilities.push(Re(a));break;case\"BaseURL\":{let[o,s]=rt(a);o!==void 0&&e.baseURLs.push(o),s.length>0&&(r=r.concat(s));break}case\"ContentComponent\":e.contentComponent=Hi(a);break;case\"EssentialProperty\":v(e.essentialProperties)?e.essentialProperties=[Re(a)]:e.essentialProperties.push(Re(a));break;case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(Re(a));break;case\"Label\":{let o=gt(a.children);o!=null&&(e.label=o);break}case\"Representation\":{let[o,s]=jo(a);e.representations.push(o),s.length>0&&(r=r.concat(s));break}case\"Role\":v(e.roles)?e.roles=[Re(a)]:e.roles.push(Re(a));break;case\"SupplementalProperty\":v(e.supplementalProperties)?e.supplementalProperties=[Re(a)]:e.supplementalProperties.push(Re(a));break;case\"SegmentBase\":{let[o,s]=at(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=En(a);e.segmentList=o,s.length>0&&(r=r.concat(s));break}case\"SegmentTemplate\":{let[o,s]=At(a);e.segmentTemplate=o,s.length>0&&(r=r.concat(s));break}case\"ContentProtection\":{let[o,s]=it(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 Fd(n){let e={},t=[],r=be(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:ne,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:ne,dashName:\"minBandwidth\"});break;case\"maxBandwidth\":r(a,{asKey:\"maxBitrate\",parser:ne,dashName:\"maxBandwidth\"});break;case\"minWidth\":r(a,{asKey:\"minWidth\",parser:ne,dashName:\"minWidth\"});break;case\"maxWidth\":r(a,{asKey:\"maxWidth\",parser:ne,dashName:\"maxWidth\"});break;case\"minHeight\":r(a,{asKey:\"minHeight\",parser:ne,dashName:\"minHeight\"});break;case\"maxHeight\":r(a,{asKey:\"maxHeight\",parser:ne,dashName:\"maxHeight\"});break;case\"minFrameRate\":r(a,{asKey:\"minFrameRate\",parser:Wt,dashName:\"minFrameRate\"});break;case\"maxFrameRate\":r(a,{asKey:\"maxFrameRate\",parser:Wt,dashName:\"maxFrameRate\"});break;case\"selectionPriority\":r(a,{asKey:\"selectionPriority\",parser:ne,dashName:\"selectionPriority\"});break;case\"segmentAlignment\":r(a,{asKey:\"segmentAlignment\",parser:qi,dashName:\"segmentAlignment\"});break;case\"subsegmentAlignment\":r(a,{asKey:\"subsegmentAlignment\",parser:qi,dashName:\"subsegmentAlignment\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:ve,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:ve,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Wt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ne,dashName:\"height\"});break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:xe,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:xe,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:ne,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:xe,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:ve,dashName:\"availabilityTimeComplete\"});break}}return[e,t]}function Qo(n){let e=n.children,[t,r]=Ld(e),[i,a]=Fd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function zd(n){let e={},t=[],r=be(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:ne,dashName:\"timescale\"});break;default:We(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function Yo(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]=ne(a.attributes.presentationTime,\"presentationTime\");u!==null&&r.push(u),s!==null&&(o.presentationTime=s)}if(!v(a.attributes.duration)){let[s,u]=ne(a.attributes.duration,\"duration\");u!==null&&r.push(u),s!==null&&(o.duration=s)}if(a.posStart<a.posEnd){let s=e.substring(a.posStart,a.posEnd);o.eventStreamData=s}i.push(o)}return[{children:{events:i},attributes:t},r]}function Wd(n,e){let t=[],r=[],i,a=[],o=[],s=[];for(let u=0;u<n.length;u++){let d=n[u];if(typeof d!=\"string\")switch(d.tagName){case\"BaseURL\":{let[f,l]=rt(d);f!==void 0&&t.push(f),o=o.concat(l);break}case\"AdaptationSet\":{let[f,l]=Qo(d);r.push(f),o=o.concat(l);break}case\"EventStream\":{let[f,l]=Yo(d,e);s.push(f),o=o.concat(l);break}case\"SegmentTemplate\":{let[f,l]=At(d);i=f,l.length>0&&(o=o.concat(l));break}case\"ContentProtection\":{let[f,l]=it(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 Vd(n){let e={},t=[],r=be(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:Ve,dashName:\"start\"});break;case\"duration\":r(a,{asKey:\"duration\",parser:Ve,dashName:\"duration\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:ve,dashName:\"bitstreamSwitching\"});break;case\"xlink:href\":e.xlinkHref=a;break;case\"xlink:actuate\":e.xlinkActuate=a;break;default:We(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function xr(n,e){let[t,r]=Wd(n.children,e),[i,a]=Vd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function qd(n,e){let t=[],r=[],i=[],a=[],o=[],s=[];for(let u=0;u<n.length;u++){let d=n[u];if(typeof d!=\"string\")switch(d.tagName){case\"BaseURL\":{let[f,l]=rt(d);f!==void 0&&t.push(f),s=s.concat(l);break}case\"Location\":r.push(gt(d.children));break;case\"Period\":{let[f,l]=xr(d,e);i.push(f),s=s.concat(l);break}case\"UTCTiming\":{let f=Re(d);a.push(f);break}case\"ContentProtection\":{let[f,l]=it(d);l.length>0&&(s=s.concat(l)),f!==void 0&&o.push(f);break}}}return[{baseURLs:t,locations:r,periods:i,utcTimings:a,contentProtections:o},s]}function Hd(n){let e={},t=[],r=be(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:Ar,dashName:\"availabilityStartTime\"});break;case\"availabilityEndTime\":r(a,{asKey:\"availabilityEndTime\",parser:Ar,dashName:\"availabilityEndTime\"});break;case\"publishTime\":r(a,{asKey:\"publishTime\",parser:Ar,dashName:\"publishTime\"});break;case\"mediaPresentationDuration\":r(a,{asKey:\"duration\",parser:Ve,dashName:\"mediaPresentationDuration\"});break;case\"minimumUpdatePeriod\":r(a,{asKey:\"minimumUpdatePeriod\",parser:Ve,dashName:\"minimumUpdatePeriod\"});break;case\"minBufferTime\":r(a,{asKey:\"minBufferTime\",parser:Ve,dashName:\"minBufferTime\"});break;case\"timeShiftBufferDepth\":r(a,{asKey:\"timeShiftBufferDepth\",parser:Ve,dashName:\"timeShiftBufferDepth\"});break;case\"suggestedPresentationDelay\":r(a,{asKey:\"suggestedPresentationDelay\",parser:Ve,dashName:\"suggestedPresentationDelay\"});break;case\"maxSegmentDuration\":r(a,{asKey:\"maxSegmentDuration\",parser:Ve,dashName:\"maxSegmentDuration\"});break;case\"maxSubsegmentDuration\":r(a,{asKey:\"maxSubsegmentDuration\",parser:Ve,dashName:\"maxSubsegmentDuration\"});break;default:We(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function $o(n,e){let[t,r]=qd(n.children,e),[i,a]=Hd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Qi(n,e){let t=yi(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]=$o(r,n),o=Cr(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 c=0;c<d.length;c++){let{responseData:g,receivedTime:p,sendingTime:h,url:b}=d[c];if(!g.success)throw g.error;let y=\"<root>\"+g.data+\"</root>\",E=yi(y),P=E[E.length-1];if(P===void 0||typeof P==\"string\")throw new Error(\"DASH parser: Invalid external ressources\");let _=P.children,C=[],R=[];for(let M=0;M<_.length;M++){let A=_[M];if(typeof A==\"string\"||A.tagName!==\"Period\")continue;let[T,x]=xr(A,y);R.push(...x),C.push(T)}f.push({url:b,receivedTime:p,sendingTime:h,parsed:C,warnings:R})}let l=u.value.continue(f);return s(l)}}};ze(u)}}var Xo=Qi;var Gd=typeof WebAssembly==\"object\"&&typeof WebAssembly.instantiate==\"function\",Zo=Gd;function z(n,e,t,r){let i=new Uint8Array(e,t,r);return n.decode(i)}function Yi(n){return n===1/0?!0:n===-1/0?!1:n}function ht(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.value=z(t,e.buffer,a,o))}}function It(n,e){let t=n.attributes,r=n.children,i=new TextDecoder;return function(o,s,u){switch(o){case 16:t.schemeIdUri=z(i,e.buffer,s,u);break;case 13:t.value=z(i,e.buffer,s,u);break;case 14:{let d=z(i,e.buffer,s,u);t.keyId=on(d.replace(/-/g,\"\"));break}case 15:try{let d=z(i,e.buffer,s,u);r.cencPssh.push(gr(d))}catch(d){}break;case 78:t.ref=z(i,e.buffer,s,u);break;case 79:t.refId=z(i,e.buffer,s,u);break}}}function Jo(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 60:n.language=z(t,e.buffer,a,o);break;case 61:n.contentType=z(t,e.buffer,a,o);break;case 62:n.par=z(t,e.buffer,a,o);break}}}function es(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.label=z(t,e.buffer,a,o))}}function qe(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 16:n.schemeIdUri=z(t,e.buffer,a,o);break;case 17:n.value=z(t,e.buffer,a,o);break}}}function Vt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 29:{let s=new DataView(e.buffer);n.initialization===void 0&&(n.initialization={}),n.initialization.range=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 67:n.initialization===void 0&&(n.initialization={}),n.initialization.media=z(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function ts(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 28:n.index=z(t,e.buffer,a,o);break;case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 30:n.media=z(t,e.buffer,a,o);break;case 18:{let s=new DataView(e.buffer);n.mediaRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}}}}function kr(n,e,t){return function(i){switch(i){case 20:{let a={};n.list===void 0&&(n.list=[]),n.list.push(a);let o=ts(a,e);t.pushParsers(i,D,o);break}default:t.pushParsers(i,D,D);break}}}function qt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 19:{let s=new DataView(e.buffer);n.timeline=[];let u=a;for(let d=0;d<o/24;d++)n.timeline.push({start:s.getFloat64(u,!0),duration:s.getFloat64(u+8,!0),repeatCount:s.getFloat64(u+16,!0)}),u+=24;break}case 67:n.initialization={media:z(t,e.buffer,a,o)};break;case 28:n.index=z(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 30:n.media=z(t,e.buffer,a,o);break;case 32:{n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function ns(n,e,t){return function(i){switch(i){case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a),t.pushParsers(i,D,ht(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=It(a,e);t.pushParsers(i,D,o);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a),t.pushParsers(i,D,qe(a,e));break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=qe(a,e);t.pushParsers(i,D,o);break}case 17:{let a={};n.segmentBase=a;let o=Vt(a,e);t.pushParsers(i,D,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=kr(a,e,t),s=Vt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,D,qt(a,e));break}default:t.pushParsers(i,D,D);break}}}function rs(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 3:n.audioSamplingRate=z(t,e.buffer,a,o);break;case 63:n.bitrate=s.getFloat64(a,!0);break;case 4:n.codecs=z(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=z(t,e.buffer,a,o);break;case 5:n.codingDependency=new DataView(e.buffer).getUint8(0)===0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 11:n.mimeType=z(t,e.buffer,a,o);break;case 2:n.profiles=z(t,e.buffer,a,o);break;case 65:n.qualityRanking=s.getFloat64(a,!0);break;case 12:n.segmentProfiles=z(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function is(n,e,t){return function(i){switch(i){case 8:{let a={};n.accessibilities===void 0&&(n.accessibilities=[]),n.accessibilities.push(a);let o=qe(a,e);t.pushParsers(i,D,o);break}case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a);let o=ht(a,e);t.pushParsers(i,D,o);break}case 9:{let a={};n.contentComponent=a,t.pushParsers(i,D,Jo(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=It(a,e);t.pushParsers(i,D,o);break}case 11:{let a={};n.essentialProperties===void 0&&(n.essentialProperties=[]),n.essentialProperties.push(a);let o=D,s=qe(a,e);t.pushParsers(i,o,s);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a);let o=D,s=qe(a,e);t.pushParsers(i,o,s);break}case 7:{let a={children:{baseURLs:[]},attributes:{}};n.representations.push(a);let o=ns(a.children,e,t),s=rs(a.attributes,e);t.pushParsers(i,o,s);break}case 12:{let a={};n.roles===void 0&&(n.roles=[]),n.roles.push(a);let o=qe(a,e);t.pushParsers(i,D,o);break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=qe(a,e);t.pushParsers(i,D,o);break}case 17:{let a={};n.segmentBase=a;let o=Vt(a,e);t.pushParsers(i,D,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=kr(a,e,t),s=Vt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,D,qt(a,e));break}case 21:{t.pushParsers(i,D,es(n,e));break}default:t.pushParsers(i,D,D);break}}}function as(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 48:n.group=s.getFloat64(a,!0);break;case 60:n.language=z(t,e.buffer,a,o);break;case 61:n.contentType=z(t,e.buffer,a,o);break;case 62:n.par=z(t,e.buffer,a,o);break;case 53:n.minBitrate=s.getFloat64(a,!0);break;case 49:n.maxBitrate=s.getFloat64(a,!0);break;case 56:n.minWidth=s.getFloat64(a,!0);break;case 52:n.maxWidth=s.getFloat64(a,!0);break;case 55:n.minHeight=s.getFloat64(a,!0);break;case 51:n.maxHeight=s.getFloat64(a,!0);break;case 54:n.minFrameRate=s.getFloat64(a,!0);break;case 50:n.maxFrameRate=s.getFloat64(a,!0);break;case 57:n.selectionPriority=s.getFloat64(a,!0);break;case 58:n.segmentAlignment=Yi(s.getFloat64(a,!0));break;case 59:n.subsegmentAlignment=Yi(s.getFloat64(a,!0));break;case 32:n.bitstreamSwitching=s.getFloat64(a,!0)!==0;break;case 3:n.audioSamplingRate=z(t,e.buffer,a,o);break;case 4:n.codecs=z(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=z(t,e.buffer,a,o);break;case 2:n.profiles=z(t,e.buffer,a,o);break;case 12:n.segmentProfiles=z(t,e.buffer,a,o);break;case 11:n.mimeType=z(t,e.buffer,a,o);break;case 5:n.codingDependency=s.getFloat64(a,!0)!==0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function os(n,e,t,r){return function(a){switch(a){case 6:{let o={};n.events.push(o);let s=Kd(o,e,r);t.pushParsers(a,D,s);break}default:t.pushParsers(a,D,D);break}}}function ss(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 16:n.schemeIdUri=z(t,e.buffer,a,o);break;case 17:n.value=z(t,e.buffer,a,o);break;case 27:n.timescale=s.getFloat64(a,!0);break;case 70:{let u={key:\"\",value:\"\"},d=a,f=s.getUint32(d);d+=4,u.key=z(t,e.buffer,d,f),d+=f;let l=s.getUint32(d);d+=4,u.value=z(t,e.buffer,d,l),n.namespaces===void 0?n.namespaces=[u]:n.namespaces.push(u);break}}}}function Kd(n,e,t){let r=new TextDecoder;return function(a,o,s){let u=new DataView(e.buffer);switch(a){case 25:n.presentationTime=u.getFloat64(o,!0);break;case 1:n.duration=u.getFloat64(o,!0);break;case 0:n.id=z(r,e.buffer,o,s);break;case 69:{let d=u.getFloat64(o,!0),f=u.getFloat64(o+8,!0);n.eventStreamData=t.slice(d,f);break}}}}function Mr(n,e,t,r){return function(a){switch(a){case 4:{let o={children:{baseURLs:[],representations:[]},attributes:{}};n.adaptations.push(o);let s=is(o.children,e,t),u=as(o.attributes,e);t.pushParsers(a,s,u);break}case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=D,u=ht(o,e);t.pushParsers(a,s,u);break}case 5:{let o={children:{events:[]},attributes:{}};n.eventStreams.push(o);let s=os(o.children,e,t,r),u=ss(o.attributes,e);t.pushParsers(a,s,u);break}case 16:{let o={};n.segmentTemplate=o,t.pushParsers(a,D,qt(o,e));break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=It(o,e);t.pushParsers(a,D,s);break}default:t.pushParsers(a,D,D);break}}}function Or(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 45:n.start=new DataView(e.buffer).getFloat64(a,!0);break;case 1:n.duration=new DataView(e.buffer).getFloat64(a,!0);break;case 32:n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break;case 46:n.xlinkHref=z(t,e.buffer,a,o);break;case 47:n.xlinkActuate=z(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=new DataView(e.buffer).getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break;case 70:{let s={key:\"\",value:\"\"},u=new DataView(e.buffer),d=a,f=u.getUint32(d);d+=4,s.key=z(t,e.buffer,d,f),d+=f;let l=u.getUint32(d);d+=4,s.value=z(t,e.buffer,d,l),n.namespaces===void 0?n.namespaces=[s]:n.namespaces.push(s);break}}}}function us(n,e,t,r){return function(a){switch(a){case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=D,u=ht(o,e);t.pushParsers(a,s,u);break}case 2:{let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=Mr(o.children,e,t,r),u=Or(o.attributes,e);t.pushParsers(a,s,u);break}case 3:{let o={};n.utcTimings.push(o);let s=D,u=qe(o,e);t.pushParsers(a,s,u);break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=It(o,e);t.pushParsers(a,D,s);break}default:t.pushParsers(a,D,D);break}}}function ds(n,e,t){let r,i=new TextDecoder;return function(o,s,u){switch(o){case 0:e.id=z(i,t.buffer,s,u);break;case 2:e.profiles=z(i,t.buffer,s,u);break;case 33:e.type=z(i,t.buffer,s,u);break;case 34:{let d=z(i,t.buffer,s,u);e.availabilityStartTime=new Date(d).getTime()/1e3;break}case 35:{let d=z(i,t.buffer,s,u);e.availabilityEndTime=new Date(d).getTime()/1e3;break}case 36:{let d=z(i,t.buffer,s,u);e.publishTime=new Date(d).getTime()/1e3;break}case 68:r=new DataView(t.buffer),e.duration=r.getFloat64(s,!0);break;case 37:r=new DataView(t.buffer),e.minimumUpdatePeriod=r.getFloat64(s,!0);break;case 38:r=new DataView(t.buffer),e.minBufferTime=r.getFloat64(s,!0);break;case 39:r=new DataView(t.buffer),e.timeShiftBufferDepth=r.getFloat64(s,!0);break;case 40:r=new DataView(t.buffer),e.suggestedPresentationDelay=r.getFloat64(s,!0);break;case 41:r=new DataView(t.buffer),e.maxSegmentDuration=r.getFloat64(s,!0);break;case 42:r=new DataView(t.buffer),e.maxSubsegmentDuration=r.getFloat64(s,!0);break;case 66:{let d=z(i,t.buffer,s,u);n.locations.push(d);break}case 70:{let d={key:\"\",value:\"\"};r=new DataView(t.buffer);let f=s,l=r.getUint32(f);f+=4,d.key=z(i,t.buffer,f,l),f+=l;let c=r.getUint32(f);f+=4,d.value=z(i,t.buffer,f,c),e.namespaces===void 0?e.namespaces=[d]:e.namespaces.push(d);break}}}}function $i(n,e,t,r){return function(a){switch(a){case 1:{n.mpd={children:{baseURLs:[],locations:[],periods:[],utcTimings:[]},attributes:{}};let o=us(n.mpd.children,e,t,r),s=ds(n.mpd.children,n.mpd.attributes,e);t.pushParsers(a,o,s);break}default:t.pushParsers(a,D,D);break}}}function ls(n,e,t,r){return function(a){switch(a){case 2:{let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=Mr(o.children,e,t,r),u=Or(o.attributes,e);t.pushParsers(a,s,u);break}default:t.pushParsers(a,D,D);break}}}var _n=class{constructor(){this._currentNodeId=null,this.childrenParser=D,this.attributeParser=D,this._stack=[{nodeId:null,children:D,attribute:D}]}pushParsers(e,t,r){this._currentNodeId=e,this.childrenParser=t,this.attributeParser=r,this._stack.push({nodeId:e,attribute:r,children:t})}popIfCurrent(e){if(this._currentNodeId!==e)return;this._stack.pop();let{nodeId:t,children:r,attribute:i}=this._stack[this._stack.length-1];this._currentNodeId=t,this.attributeParser=i,this.childrenParser=r}reset(){this.childrenParser=D,this.attributeParser=D,this._stack=[{nodeId:null,children:D,attribute:D}]}};var jd=15e3,Rn=class{constructor(){this._parsersStack=new _n,this._instance=null,this._mpdData=null,this._linearMemory=null,this.status=\"uninitialized\",this._initProm=null,this._warnings=[],this._isParsing=!1}waitForInitialization(){var e;return(e=this._initProm)!=null?e:Promise.reject(\"No initialization performed yet.\")}async initialize(e){if(this.status!==\"uninitialized\")return Promise.reject(new Error(\"DashWasmParser already initialized.\"));if(!this.isCompatible())return this.status=\"failure\",Promise.reject(new Error(\"Target not compatible with WebAssembly.\"));this.status=\"initializing\";let t=this._parsersStack,r=new TextDecoder,i=this,a={env:{memoryBase:0,tableBase:0,memory:new WebAssembly.Memory({initial:10}),table:new WebAssembly.Table({initial:1,element:\"anyfunc\"}),onTagOpen:d,onCustomEvent:c,onAttribute:l,readNext:g,onTagClose:f}},o=null,s;typeof e.wasmUrl==\"string\"?s=fetch(e.wasmUrl):(o=URL.createObjectURL(new Blob([e.wasmUrl],{type:\"application/wasm\"})),s=fetch(o));let u=typeof WebAssembly.instantiateStreaming==\"function\"?WebAssembly.instantiateStreaming(s,a):Promise.reject(\"`WebAssembly.instantiateStreaming` API not available\");return this._initProm=u.catch(async p=>{o!==null&&(URL.revokeObjectURL(o),o=null),m.warn(\"Unable to call `instantiateStreaming` on WASM\",p instanceof Error?p:\"\");let h=await s;if(h.status<200||h.status>=300)throw new Error(\"WebAssembly request failed. status: \"+String(h.status));let b=await h.arrayBuffer();return WebAssembly.instantiate(b,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 h=p instanceof Error?p.toString():\"Unknown error\";throw m.warn(\"DW: Could not create DASH-WASM parser:\",h),this.status=\"failure\",p}),this._initProm;function d(p){return t.childrenParser(p)}function f(p){return t.popIfCurrent(p)}function l(p,h,b){return t.attributeParser(p,h,b)}function c(p,h,b){let y=i._linearMemory,E=new Uint8Array(y.buffer,h,b);if(p===1){let P=r.decode(E);m.warn(\"WASM Error Event:\",P),i._warnings.push(new Error(P))}else if(p===0){let P=r.decode(E);m.warn(\"WASM Log Event:\",P)}}function g(p,h){if(i._mpdData===null)throw new Error(\"DashWasmParser Error: No MPD to read.\");let b=i._linearMemory,{mpd:y,cursor:E}=i._mpdData,P=Math.min(h,jd,y.byteLength-E);return new Uint8Array(b.buffer,p,P).set(new Uint8Array(y,E,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=Cr(r,t,i);return this._processParserReturnValue(a)}isCompatible(){return Zo&&typeof ae.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=$i(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=ls(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<r.length;o++){let{responseData:s,receivedTime:u,sendingTime:d,url:f}=r[o];if(!s.success)throw s.error;let[l,c]=this._parseXlink(s.data);i.push({url:f,receivedTime:u,sendingTime:d,parsed:l,warnings:c})}let a=e.value.continue(i);return this._processParserReturnValue(a)};return{type:\"needs-resources\",value:{urls:e.value.xlinksUrls,format:\"arraybuffer\",continue:t}}}else ze(e)}};var fs=Rn;var xt=class{constructor(e,t){this._last=e,this._wanted=t}serialize(){return[this._last,this._wanted]}getPolled(){return this._last}getWanted(){var e;return(e=this._wanted)!=null?e:this._last}forceWantedPosition(e){this._wanted=e}isAwaitingFuturePosition(){return this._wanted!==null}};function wr(n,e,t){let r=e(n.getReference(),t);return{getCurrentTime(){return n.getCurrentTime()},getReadyState(){return n.getReadyState()},getPlaybackRate(){return n.getPlaybackRate()},getIsPaused(){return n.getIsPaused()},getReference(){return r},listen(i,a){t.isCancelled()||a.clearSignal.isCancelled()||r.onUpdate(i,{clearSignal:a.clearSignal,emitCurrentValue:a.includeLastObservation})},deriveReadOnlyObserver(i){return wr(this,i,t)}}}var Pn=class{constructor(e,t,r,i){this._src=e,this._contentId=t,this._messageSender=r,this._cancelSignal=i}getCurrentTime(){}getReadyState(){}getIsPaused(){}getReference(){return this._src}setPlaybackRate(e){this._messageSender({type:\"update-playback-rate\",contentId:this._contentId,value:e})}getPlaybackRate(){}listen(e,t){this._cancelSignal.isCancelled()||t.clearSignal.isCancelled()||this._src.onUpdate(e,{clearSignal:t.clearSignal,emitCurrentValue:t.includeLastObservation})}deriveReadOnlyObserver(e){return wr(this,e,this._cancelSignal)}};function ot(n,e){if(e.length===0)return n;let t,r=\"\",i=n.indexOf(\"#\"),a=n;i>=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;u<e.length;u++){let d=e[u];d[1]===null?s+=d[0]:s+=`${d[0]}=${d[1]}`,u<e.length-1&&(s+=\"&\")}return r.length>0&&(s+=r),s}function Xi(n,e){return(t,r,i)=>new Promise((a,o)=>{let s=Date.now()-L(),u=!1,c={reject:h=>{var P,_;if(u||i.isCancelled())return;u=!0,i.deregister(p);let b=h,y=(P=b==null?void 0:b.message)!=null?P:\"Unknown error when fetching the Manifest through a custom manifestLoader.\",E=new je(y,(_=b==null?void 0:b.canRetry)!=null?_:!1,b==null?void 0:b.xhr);o(E)},resolve:h=>{if(u||i.isCancelled())return;u=!0,i.deregister(p);let b=h.receivingTime!==void 0?h.receivingTime-s:void 0,y=h.sendingTime!==void 0?h.sendingTime-s:void 0;a({responseData:h.data,size:h.size,requestDuration:h.duration,url:h.url,receivedTime:b,sendingTime:y})},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},c);i.register(p);function p(h){u||(u=!0,typeof g==\"function\"&&g(),o(h))}})}function Qd(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\"?ot(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 he({url:a,headers:o,responseType:\"arraybuffer\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"text\":return he({url:a,headers:o,responseType:\"text\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"document\":return he({url:a,headers:o,responseType:\"document\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});default:ze(n)}}}function Zi({customManifestLoader:n},e,t){let r=Qd(e),i=typeof n!=\"function\"?r:Xi(n,r);return t!==null?t(i):i}function Ji(n,e){if(e){if(Ye(n,1718909296)<0)throw new Se(\"INTEGRITY_ERROR\",\"Incomplete `ftyp` box\");if(Ye(n,1836019574)<0)throw new Se(\"INTEGRITY_ERROR\",\"Incomplete `moov` box\")}else{if(Ye(n,1836019558)<0)throw new Se(\"INTEGRITY_ERROR\",\"Incomplete `moof` box\");if(Ye(n,1835295092)<0)throw new Se(\"INTEGRITY_ERROR\",\"Incomplete `mdat` box\")}}function He(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 Dr(n){return(e,t,r,i,a)=>{return new Promise((s,u)=>{let d=new W,f=d.linkToSignal(i);d.signal.register(u),n(e,t,r,d.signal,oe(J({},a),{onNewChunk(c){try{o(c),a.onNewChunk(c)}catch(g){l(),d.cancel(),u(g)}}})).then(c=>{if(l(),!d.isUsed()){if(c.resultType===\"segment-loaded\")try{o(c.resultData.responseData)}catch(g){u(g);return}s(c)}},c=>{l(),u(c)});function l(){d.signal.deregister(u),f()}});function o(s){!(s instanceof ArrayBuffer)&&!(s instanceof Uint8Array)||He(t.type,t.mimeType)!==\"mp4\"||Ji(new Uint8Array(s),t.segment.isInit)}}}function cs(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=[\"</\",\"MPD\",\">\"];for(let d=u.length-1;d>=0;d--){let f=u[d];for(;Yd(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 </MPD>\");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(;$d(u.getUint8(s));)s--;for(let c=l.length-1;c>=0;c--){if(u.getUint8(s)!==l[c])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(!v(ae.Document)&&o instanceof ae.Document&&o.documentElement.nodeName!==\"MPD\")throw new Se(\"INTEGRITY_ERROR\",\"MPD does not end with </MPD>\")}}}function Yd(n){return n===\" \"||n===\"\t\"||n===\"\\r\"||n===`\n`}function $d(n){return n===32||n===9||n===13||n===10}function ea(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 E;let{responseData:d}=i,f=a.externalClockOffset,l=(E=i.url)!=null?E:a.originalUrl,c=t!=null?t:f,p={unsafelyBaseOnPreviousManifest:a.unsafeMode?a.previousManifest:null,url:l,referenceDateTime:e,externalClockOffset:c},h=Oe.dashParsers;if(h.wasm===null||h.wasm.status===\"uninitialized\"||h.wasm.status===\"failure\")return m.debug(\"DASH: WASM MPD Parser not initialized. Running JS one.\"),b();{let P=tl(d);if(!nl(P))return m.info(\"DASH: MPD doesn't seem to be UTF-8-encoded. Running JS parser instead of the WASM one.\"),b();if(h.wasm.status===\"initialized\"){m.debug(\"DASH: Running WASM MPD Parser.\");let _=h.wasm.runWasmParser(P,p);return y(_)}else return m.debug(\"DASH: Awaiting WASM initialization before parsing the MPD.\"),h.wasm.waitForInitialization().catch(()=>{}).then(()=>{if(h.wasm===null||h.wasm.status!==\"initialized\")return m.warn(\"DASH: WASM MPD parser initialization failed. Running JS parser instead\"),b();m.debug(\"DASH: Running WASM MPD Parser.\");let C=h.wasm.runWasmParser(P,p);return y(C)})}function b(){if(h.fastJs!==null){let P=Jd(d),_=h.fastJs(P,p);return y(_)}else if(h.native!==null){let P=el(d),_=h.native(P,p);return y(_)}else throw new Error(\"No MPD parser is imported\")}function y(P){if(P.type===\"done\"){if(P.value.warnings.length>0&&o(P.value.warnings),s.isCancelled())return Promise.reject(s.cancellationError);let R=[];return{manifest:new Lt(P.value.parsed,n,R),url:l,warnings:R}}let{value:_}=P,C=_.urls.map(R=>u(()=>{let M=F.getCurrent().DEFAULT_REQUEST_TIMEOUT,A=F.getCurrent().DEFAULT_CONNECTION_TIMEOUT;return _.format===\"string\"?he({url:R,responseType:\"text\",timeout:M,connectionTimeout:A,cancelSignal:s}):he({url:R,responseType:\"arraybuffer\",timeout:M,connectionTimeout:A,cancelSignal:s})}).then(M=>{if(_.format===\"string\"){if(typeof M.responseData!=\"string\")throw new Error(\"External DASH resources should have been a string\");return G(M,{responseData:{success:!0,data:M.responseData}})}else{if(!(M.responseData instanceof ArrayBuffer))throw new Error(\"External DASH resources should have been ArrayBuffers\");return G(M,{responseData:{success:!0,data:M.responseData}})}},M=>{let A=ye(M,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"An unknown error occured when parsing ressources.\"});return G({},{size:void 0,requestDuration:void 0,responseData:{success:!1,error:A}})}));return Promise.all(C).then(R=>_.format===\"string\"?(Xd(R),y(_.continue(R))):(Zd(R),y(_.continue(R))))}}}function Xd(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 Zd(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 Jd(n){if(n instanceof ArrayBuffer)return Ne(new Uint8Array(n));if(typeof n==\"string\")return n;if(n instanceof Document)return n.documentElement.outerHTML;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function el(n){if(n instanceof ArrayBuffer)return new DOMParser().parseFromString(Ne(new Uint8Array(n)),\"text/xml\");if(typeof n==\"string\")return new DOMParser().parseFromString(n,\"text/xml\");if(n instanceof Document)return n;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function tl(n){if(n instanceof ArrayBuffer)return n;if(typeof n==\"string\")return an(n).buffer;if(n instanceof Document)return an(n.documentElement.innerHTML).buffer;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function nl(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 Xe([n,e]){return e===1/0?`bytes=${n}-`:`bytes=${n}-${e}`}function vn(n,e){return n===null?null:e.url===null?n.baseUrl:Sn(n.baseUrl,e.url)}function Cn(n,e,t,r,i){var d,f;let a=n;((d=t.cmcdPayload)==null?void 0:d.type)===\"query\"&&(a=ot(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 he({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 he({url:a,headers:oe(J({},o),{Range:Xe(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 he({url:a,headers:oe(J({},o),{Range:Xe([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=he({url:a,headers:oe(J({},o),{Range:Xe(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}),u=he({url:a,headers:oe(J({},o),{Range:Xe(e.indexRange)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress});return Promise.all([s,u]).then(([l,c])=>{let g=Et(new Uint8Array(l.responseData),new Uint8Array(c.responseData)),p=Math.min(l.sendingTime,c.sendingTime),h=Math.max(l.receivedTime,c.receivedTime);return{resultType:\"segment-loaded\",resultData:{url:a,responseData:g,size:l.size+c.size,requestDuration:h-p,sendingTime:p,receivedTime:h}}})}async function An(n,e,t,r){let i=null;function a(s){let u=new Uint8Array(s.chunk),d=i!==null?Et(i,u):u,f=hr(d),l=f[0];i=f[1],!(l!==null&&(l.forEach(c=>{t.onNewChunk(c)}),r.isCancelled()))&&(t.onProgress({duration:s.duration,size:s.size,totalSize:s.totalSize}),r.isCancelled())}return{resultType:\"chunk-complete\",resultData:await dr({url:n,headers:e.headers,onData:a,timeout:e.timeout,connectionTimeout:e.connectionTimeout,cancelSignal:r})}}async function ms(n,e,t,r,i,a){var c,g;if(e.segment.isInit)return Cn(n,e.segment,r,a,i);let o=((c=r.cmcdPayload)==null?void 0:c.type)===\"query\"?ot(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=oe(J({},s),{Range:Xe(u.range)}):s!==void 0&&(d=s);let f=He(e.type,e.mimeType);if(t&&(f===\"mp4\"||f===void 0)){if(Jt())return An(o,{headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout},i,a);Je(\"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 he({url:o,responseType:\"arraybuffer\",headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:a,onProgress:i.onProgress})}}function ta({lowLatencyMode:n,segmentLoader:e,checkMediaSegmentIntegrity:t}){return t!==!0?r:Dr(r);function r(i,a,o,s,u){let d=vn(i,a.segment);return d===null?Promise.resolve({resultType:\"segment-created\",resultData:null}):n||e===void 0?ms(d,a,n,o,u,s):new Promise((f,l)=>{let c=!1,y={reject:R=>{var x,O;if(c||s.isCancelled())return;c=!0,s.deregister(C);let M=R,A=(x=M==null?void 0:M.message)!=null?x:\"Unknown error when fetching a DASH segment through a custom segmentLoader.\",T=new je(A,(O=M==null?void 0:M.canRetry)!=null?O:!1,M==null?void 0:M.xhr);l(T)},resolve:R=>{c||s.isCancelled()||(c=!0,s.deregister(C),f({resultType:\"segment-loaded\",resultData:{responseData:R.data,size:R.size,requestDuration:R.duration}}))},progress:R=>{c||s.isCancelled()||u.onProgress({duration:R.duration,size:R.size,totalSize:R.totalSize})},fallback:()=>{c||s.isCancelled()||(c=!0,s.deregister(C),ms(d,a,n,o,u,s).then(f,l))}},E;a.segment.range!==void 0&&(E=[a.segment.range],a.segment.indexRange!==void 0&&E.push(a.segment.indexRange));let P={isInit:a.segment.isInit,timeout:o.timeout,byteRanges:E,trackType:a.type,url:d,cmcdPayload:o.cmcdPayload},_=e(P,y);s.register(C);function C(R){c||(c=!0,typeof _==\"function\"&&_(),l(R))}})}}var ra=408125543,ps=357149030,rl=2807729,il=17545,al=475249515,ol=187,sl=179,ul=183,dl=241;function bt(n,e,t,[r,i]){let a=r;for(;a<i;){let o=fl(t,a);if(o===null)return null;let{value:s,length:u}=o,d=a+u,f=cl(t,d);if(f===null)return null;let{length:l,value:c}=f,g=d+l,p=g+c;if(s===n)return[g,p];if(e.length>0){for(let h=0;h<e.length;h++)if(s===e[h]){let b=e.slice(h+1,e.length);return bt(n,b,t,[g,p])}}a=p}return null}function Nr(n,e){let t=bt(rl,[ra,ps],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return 1e9/na(n,t[0],r)}function ll(n,e){let t=bt(il,[ra,ps],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return r===4?ml(n,t[0]):r===8?pl(n,t[0]):null}function ia(n,e){let t=bt(ra,[],n,[e,n.length]);if(t===null)return null;let[r,i]=t,a=Nr(n,r);if(a===null)return null;let o=ll(n,r);if(o===null)return null;let s=bt(al,[],n,[r,i]);if(s===null)return null;let u=[],d=s[0];for(;d<s[1];){let l=bt(ol,[],n,[d,s[1]]);if(l===null)break;let c=bt(sl,[],n,[l[0],l[1]]);if(c===null)return null;let g=na(n,c[0],c[1]-c[0]),p=bt(dl,[ul],n,[l[0],l[1]]);if(p===null)return null;let h=na(n,p[0],p[1]-p[0])+r;u.push({time:g,rangeStart:h}),d=l[1]}let f=[];for(let l=0;l<u.length;l++){let c=u[l];l===u.length-1?f.push({time:c.time,timescale:a,duration:l===0?o:o-c.time,range:[c.rangeStart,1/0]}):f.push({time:c.time,timescale:a,duration:u[l+1].time-c.time,range:[c.rangeStart,u[l+1].rangeStart-1]})}return f}function gs(n,e){for(let t=1;t<=8;t++)if(n[e]>=Math.pow(2,8-t))return t}function fl(n,e){let t=gs(n,e);if(t===void 0)return m.warn(\"webm: unrepresentable length\"),null;if(e+t>n.length)return m.warn(\"webm: impossible length\"),null;let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function cl(n,e){let t=gs(n,e);if(t===void 0)return m.warn(\"webm: unrepresentable length\"),null;if(e+t>n.length)return m.warn(\"webm: impossible length\"),null;let r=(n[e]&(1<<8-t)-1)*Math.pow(2,(t-1)*8);for(let i=1;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function ml(n,e){return new DataView(n.buffer).getFloat32(e)}function pl(n,e){return new DataView(n.buffer).getFloat64(e)}function na(n,e,t){let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return r}function xn(n,e,t,r){let i=mi(n);if(i===void 0||r===void 0)return null;let a=t.timestampOffset!==void 0?i+t.timestampOffset*r:i,o=pi(n);if(a<0&&(o!==void 0&&(o+=a),a=0),e||!t.complete)return o===void 0&&m.warn(\"DASH: Chunked segments should indicate a duration through their trun boxes\"),{time:a/r,duration:o!==void 0?o/r:void 0};let s,u=t.duration*r,d=Math.min(r*.9,u/4);return o!==void 0&&Math.abs(o-u)<=d&&(s=o),{time:a/r,duration:s!==void 0?s/r:s}}function gl(n,e){if(n.length<=0)return!1;let t=n.length;for(let r=0;r<t;r++){let i=n[r],a=e,{messageData:o}=i,s=Ne(o),u=Date.parse(s);if(a===void 0||u===void 0||isNaN(u)||u>=a)return!0}return!1}function aa(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:gl(t,e);return{inbandEvents:i,needsManifestRefresh:a}}function oa({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var P,_;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=u instanceof Uint8Array?u:new Uint8Array(u),c=He(r.type,r.mimeType),g=c===\"mp4\"||c===void 0,p=[];if(g){let C=Ir(l),R;a.isInit&&(R=(P=yo(l))!=null?P:void 0),(C.length>0||R!==void 0)&&p.push({initDataType:\"cenc\",keyId:R,initData:C})}if(!a.isInit){let C=g?xn(l,d,a,i):null,R=(_=a.timestampOffset)!=null?_:0;if(g){let M=So(l);if(M!==void 0){let A=M.filter(x=>a.privateInfos===void 0||a.privateInfos.isEMSGWhitelisted===void 0?!1:a.privateInfos.isEMSGWhitelisted(x)),T=aa(A,r.manifestPublishTime);if(T!==void 0){let{needsManifestRefresh:x,inbandEvents:O}=T;return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:R,appendWindow:f,inbandEvents:O,protectionData:p,needsManifestRefresh:x}}}}return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:R,protectionData:p,appendWindow:f}}let{indexRange:h}=a,b;if(c===\"webm\")b=ia(l,0);else if(g&&(b=sn(l,Array.isArray(h)?h[0]:0),n===!0&&b!==null&&b.length>0)){let C=b[b.length-1];Array.isArray(C.range)&&(C.range[1]=1/0)}let y;g?y=un(l):c===\"webm\"&&(y=Nr(l,0));let E=v(y)?void 0:y;return{segmentType:\"init\",initializationData:l,initializationDataSize:l.length,protectionData:p,initTimescale:E,segmentList:b!=null?b:void 0}}}function sa({lowLatencyMode:n,checkMediaSegmentIntegrity:e}){return e!==!0?t:Dr(t);async function t(r,i,a,o,s){var b,y;let{segment:u}=i,d=vn(r,u);if(d===null)return Promise.resolve({resultType:\"segment-created\",resultData:null});if(u.isInit)return Cn(d,u,a,o,s);let f=((b=a.cmcdPayload)==null?void 0:b.type)===\"query\"?ot(d,a.cmcdPayload.value):d,l=((y=a.cmcdPayload)==null?void 0:y.type)===\"headers\"?a.cmcdPayload.value:void 0,c;u.range!==void 0?c=oe(J({},l),{Range:Xe(u.range)}):l!==void 0&&(c=l);let g=He(i.type,i.mimeType),p=g===\"mp4\"||g===void 0;if(n&&p){if(Jt())return An(f,{headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout},s,o);Je(\"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 h;return p?h=await he({url:f,responseType:\"arraybuffer\",headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}):h=await he({url:f,responseType:\"text\",headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}),{resultType:\"segment-loaded\",resultData:h}}}function hl(n){let e=fi(n);return e===null?\"\":Ne(e)}function Il(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 bl(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 hs({segment:n,language:e,codecs:t},r,i,a){if(n.isInit)return null;let o,s;i===null?a?(o=n.time,s=n.end):m.warn(\"Transport: Unavailable time data for current text track.\"):(o=i.time,i.duration!==void 0?s=o+i.duration:!a&&n.complete&&(s=o+n.duration));let u=Il(t);return{data:hl(r),type:u,language:e,start:o,end:s}}function Is(n,e,t){let{segment:r}=n;if(r.isInit)return null;let i,a;t?m.warn(\"Transport: Unavailable time data for current text track.\"):(i=r.time,r.complete&&(a=r.time+r.duration));let o=bl(n.codecs,n.mimeType);return{data:e,type:o,language:n.language,start:i,end:a}}function Sl(n,e,t,r,i){var c;let{segment:a}=t,{isInit:o,indexRange:s}=a,u;if(typeof n==\"string\"?u=an(n):n instanceof Uint8Array?u=n:u=new Uint8Array(n),o){let g=sn(u,Array.isArray(s)?s[0]:0);if(i===!0&&g!==null&&g.length>0){let h=g[g.length-1];Array.isArray(h.range)&&(h.range[1]=1/0)}let p=un(u);return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:p,segmentList:g!=null?g:void 0}}let d=xn(u,e,a,r),f=hs(t,u,d,e),l=(c=a.timestampOffset)!=null?c:0;return{segmentType:\"media\",chunkData:f,chunkSize:u.length,chunkInfos:d,chunkOffset:l,protectionData:[],appendWindow:[t.periodStart,t.periodEnd]}}function yl(n,e,t){let{periodStart:r,periodEnd:i,segment:a}=t,{timestampOffset:o=0}=a;if(a.isInit)return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};let s,u;if(typeof n!=\"string\"){let f=n instanceof Uint8Array?n:new Uint8Array(n);s=Ne(f),u=f.length}else s=n;return{segmentType:\"media\",chunkData:Is(t,s,e),chunkSize:u,chunkInfos:null,chunkOffset:o,protectionData:[],appendWindow:[r,i]}}function ua({__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=He(r.type,r.mimeType);if(f===\"webm\")throw new Error(\"Text tracks with a WEBM container are not yet handled.\");return f===\"mp4\"?Sl(u,d,r,i,n):yl(u,d,r)}}function bs(n){let e=Zi({customManifestLoader:n.manifestLoader},Tl()?\"text\":\"arraybuffer\",n.checkManifestIntegrity===!0?cs:null),t=ea(n),r=ta(n),i=oa(n),a=sa(n),o=ua(n);return{transportName:\"dash\",manifest:{loadManifest:e,parseManifest:t},audio:{loadSegment:r,parseSegment:i},video:{loadSegment:r,parseSegment:i},text:{loadSegment:a,parseSegment:o}}}function Tl(){return Oe.dashParsers.wasm!==null&&(Oe.dashParsers.wasm.status===\"initialized\"||Oe.dashParsers.wasm.status===\"initializing\")}var Ss=bs;var kt=typeof queueMicrotask==\"function\"?queueMicrotask:function(e){Promise.resolve().then(e,()=>e())};var Mt=class{constructor(e){this._array=[],this._sortingFn=e}add(...e){e.sort(this._sortingFn);let t=0;for(let r=0;r<e.length;r++){let i=e[r],a=!1;for(;!a&&t<this._array.length;)this._sortingFn(i,this._array[t])<0?(this._array.splice(t,0,i),a=!0):t++;a||this._array.push(i)}}length(){return this._array.length}get(e){if(e<0||e>=this._array.length)throw new Error(\"Invalid index.\");return this._array[e]}toArray(){return this._array.slice()}findFirst(e){return Q(this._array,e)}has(e){return ge(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 kn=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 El=.016666666666666666;function ys(n,e){return Math.abs(n-e)<El}function Es(n,e){let t=Math.min(n.start,e.start),r=Math.max(n.end,e.end);return{start:t,end:r}}function _l(n){for(let e=0;e<n.length;e++){let t=n[e];t.start===t.end&&n.splice(e--,1)}return n}function Rl(n){for(let e=1;e<n.length;e++){let t=n[e-1],r=n[e];if(Rs(t,r)){let i=Es(t,r);n.splice(--e,2,i)}}return n}function da(n,e){return n.end<=e.start}function Ts({start:n,end:e},t){return n<=t&&t<e}function _s(n,e){return Ts(n,e.start)||n.start<e.end&&e.end<n.end||Ts(e,n.start)}function Rs(n,e){return ys(e.start,n.end)||ys(e.end,n.start)}function la(n){let e=[];for(let t=0;t<n.length;t++)e.push({start:n.start(t),end:n.end(t)});return e}function Pl(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t].start;if(e>=r){let i=n[t].end;if(e<i)return n[t]}}return null}function Ps(n,e){let t=null,r=[];for(let i=0;i<n.length;i++){let a=n[i].start,o=n[i].end;e<a||e>=o?r.push({start:a,end:o}):t={start:a,end:o}}return{outerRanges:r,innerRange:t}}function Br(n,e){let t=Pl(n,e);return t!==null?t.end-e:1/0}function Ht(n,e){if(e.start===e.end)return n;let t=e,r=0;for(;r<n.length;r++){let i=n[r],a=_s(t,i),o=Rs(t,i);if(a||o)t=Es(t,i),n.splice(r--,1);else if(r===0){if(da(t,n[0]))break}else if(da(n[r-1],t)&&da(t,i))break}return n.splice(r,0,t),Rl(_l(n))}function vl(n,e){let t=[];for(let r=0;r<e.length;r++)_s(n,e[r])&&t.push(e[r]);return t}function Ur(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],a=[],o=vl(i,e);if(o.length>0)for(let s=0;s<o.length;s++){let u=o[s];a.push({start:Math.max(i.start,u.start),end:Math.min(i.end,u.end)})}if(a.length===0)t.push(i);else{let s=i.start;for(let u=0;u<a.length;u++)a[u].start>s&&t.push({start:s,end:a[u].start}),s=a[u].end;s<i.end&&t.push({start:s,end:i.end})}}return t}function Lr({segmentSink:n,playbackObserver:e,maxBufferBehind:t,maxBufferAhead:r},i){let a,o=[];e.listen(u=>{a=u.position.getWanted(),o=u.buffered[n.bufferType],s()},{includeLastObservation:!0,clearSignal:i});function s(){o!==null&&Cl(n,a,o,t.getValue(),r.getValue(),i).catch(u=>{let d=u instanceof Error?u.message:\"Unknown error\";m.error(\"Could not run BufferGarbageCollector:\",d)})}t.onUpdate(s,{clearSignal:i}),r.onUpdate(s,{clearSignal:i}),s()}async function Cl(n,e,t,r,i,a){if(!isFinite(r)&&!isFinite(i))return Promise.resolve();let o=[],{innerRange:s,outerRanges:u}=Ps(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-r<l.end&&o.push({start:l.start,end:e-r});v(s)||e-r>s.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+i<l.end&&e+i>l.start&&o.push({start:e+i,end:l.end});v(s)||e+i<s.end&&o.push({start:e+i,end:s.end})}};d(),f();for(let l of o)if(l.start<l.end){if(m.debug(\"GC: cleaning range from SegmentSink\",l.start,l.end),a.cancellationError!==null)throw a.cancellationError;await n.removeBuffer(l.start,l.end)}}var Mn=class{constructor(e,t){this._history=[],this._lifetime=e,this._maxHistoryLength=t}addBufferedSegment(e,t){let r=L();this._history.push({date:r,buffered:t,context:e}),this._cleanHistory(r)}getHistoryFor(e){return this._history.filter(t=>et(t.context,e))}_cleanHistory(e){let t=e-this._lifetime,r=0;for(let i of this._history)if(i.date<t)r++;else break;if(r>0&&(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 On=class{constructor(){let{BUFFERED_HISTORY_RETENTION_TIME:e,BUFFERED_HISTORY_MAXIMUM_ENTRIES:t}=F.getCurrent();this._inventory=[],this._bufferedHistory=new Mn(e,t)}reset(){this._inventory.length=0}synchronizeBuffered(e){var u,d,f,l,c,g,p;let t=this._inventory,r=0,i=t[0],{MINIMUM_SEGMENT_SIZE:a}=F.getCurrent(),o=i==null?void 0:i.infos.adaptation.type;if(m.hasLevel(\"DEBUG\")){let h=e.map(b=>`${b.start}-${b.end}`).join(\",\");m.debug(`SI: synchronizing ${o!=null?o:\"unknown\"} buffered ranges:`,h)}let s=e.length;for(let h=0;h<s;h++){if(i===void 0)return;let b=e[h].start,y=e[h].end;if(y-b<a){m.warn(\"SI: skipped range when synchronizing because it was too small\",o,b,y);continue}let E=r;for(;i!==void 0&&((u=i.bufferedEnd)!=null?u:i.end)-b<a;)i=t[++r];let P=null,_=r-E;if(_>0){let R=t[E+_-1];P={end:(d=R.bufferedEnd)!=null?d:R.end,precizeEnd:R.precizeEnd},m.debug(`SI: ${_} segments GCed.`,o);let M=t.splice(E,_);for(let A of M)A.bufferedStart===void 0&&A.bufferedEnd===void 0&&A.status!==2&&this._bufferedHistory.addBufferedSegment(A.infos,null);r=E}if(i===void 0)return;if(y-((f=i.bufferedStart)!=null?f:i.start)>=a){if(Al(i,b,P,o),r===t.length-1){Cs(i,y,o);return}i=t[++r];let R=(l=i.bufferedStart)!=null?l:i.start,M=(c=i.bufferedEnd)!=null?c:i.end,A=h<s-1?e[h+1].start:void 0;for(;i!==void 0&&!(y<R||y-R<a&&M-y>=a||A!==void 0&&y-R<M-A);){let T=t[r-1];T.bufferedEnd===void 0&&(i.precizeStart?T.bufferedEnd=i.start:T.infos.segment.complete?T.bufferedEnd=T.end:T.bufferedEnd=i.start,m.debug(\"SI: calculating buffered end of contiguous segment\",o,T.bufferedEnd,T.end)),i.bufferedStart=T.bufferedEnd,i=t[++r],i!==void 0&&(R=(g=i.bufferedStart)!=null?g:i.start,M=(p=i.bufferedEnd)!=null?p:i.end)}}let C=t[r-1];C!==void 0&&Cs(C,y,o)}if(!v(i)){let{SEGMENT_SYNCHRONIZATION_DELAY:h}=F.getCurrent(),b=L();for(let y=r;y<t.length;y++){let E=t[y];b-E.insertionTs>=h&&(m.debug(\"SI: A segment at the end has been completely GCed\",o,`${E.start}-${E.end}`),E.bufferedStart===void 0&&E.bufferedEnd===void 0&&E.status!==2&&this._bufferedHistory.addBufferedSegment(E.infos,null),t.splice(y,1),y--)}}o!==void 0&&m.hasLevel(\"DEBUG\")&&m.debug(`SI: current ${o} inventory timeline:\n`+xl(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){m.warn(\"SI: Invalid chunked inserted: starts before it ends\",f,o,s);return}let l=this._inventory,c={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 h=l[p];if(h.start<=o)if(h.end<=o){for(m.debug(\"SI: Pushing segment strictly after previous one.\",f,o,h.end),this._inventory.splice(p+1,0,c),p+=2;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else if(h.start===o)if(h.end<=s){for(m.debug(\"SI: Segment pushed replace another one\",f,o,s,h.end),this._inventory.splice(p,1,c),p+=1;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.debug(\"SI: Segment pushed ends before another with the same start\",f,o,s,h.end),l.splice(p,0,c),h.start=c.end,h.bufferedStart=void 0,h.precizeStart=h.precizeStart&&c.precizeEnd;return}else if(h.end<=c.end){for(m.debug(\"SI: Segment pushed updates end of previous one\",f,o,s,h.start,h.end),this._inventory.splice(p+1,0,c),h.end=c.start,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&c.precizeStart,p+=2;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.warn(\"SI: Segment pushed is contained in a previous one\",f,o,s,h.start,h.end);let b={status:h.status,insertionTs:h.insertionTs,chunkSize:h.chunkSize,splitted:!0,start:c.end,end:h.end,precizeStart:h.precizeStart&&h.precizeEnd&&c.precizeEnd,precizeEnd:h.precizeEnd,bufferedStart:void 0,bufferedEnd:h.end,infos:h.infos};h.end=c.start,h.splitted=!0,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&c.precizeStart,l.splice(p+1,0,c),l.splice(p+2,0,b);return}}let g=this._inventory[0];if(g===void 0){m.debug(\"SI: first segment pushed\",f,o,s),this._inventory.push(c);return}if(g.start>=s)m.debug(\"SI: Segment pushed comes before all previous ones\",f,o,s,g.start),this._inventory.splice(0,0,c);else if(g.end<=s){for(m.debug(\"SI: Segment pushed starts before and completely recovers the previous first one\",f,o,s,g.start,g.end),this._inventory.splice(0,1,c);l.length>1&&l[1].start<c.end;){if(l[1].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[1].start),l[1].start=c.end,l[1].bufferedStart=void 0,l[1].precizeStart=c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[1].start,l[1].end),l.splice(1,1)}return}else{m.debug(\"SI: Segment pushed start of the next one\",f,o,s,g.start,g.end),g.start=s,g.bufferedStart=void 0,g.precizeStart=c.precizeEnd,this._inventory.splice(0,0,c);return}}completeSegment(e){if(e.segment.isInit)return;let t=this._inventory,r=[];for(let i=0;i<t.length;i++)if(et(t[i].infos,e)){let a=!1;r.length>0&&(a=!0,r.length===1&&(m.warn(\"SI: Completed Segment is splitted.\",e.segment.id,e.segment.time,e.segment.end),r[0].splitted=!0));let o=i,s=t[i].chunkSize;for(i+=1;i<t.length&&et(t[i].infos,e);){let c=t[i].chunkSize;s!==void 0&&c!==void 0&&(s+=c),i++}let u=i-1,d=u-o,f=t[u].end,l=t[u].bufferedEnd;d>0&&(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)m.warn(\"SI: Completed Segment not found\",e.segment.id,e.segment.time);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}):m.debug(\"SI: buffered range not known after sync. Skipping history.\",i.start,i.end)}getInventory(){return this._inventory}getHistoryFor(e){return this._bufferedHistory.getHistoryFor(e)}};function fa(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}=F.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 vs(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}=F.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 Al(n,e,t,r){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MISSING_DATA_TRIGGER_SYNC_DELAY:a,SEGMENT_SYNCHRONIZATION_DELAY:o}=F.getCurrent();if(n.bufferedStart!==void 0)n.bufferedStart<e&&(m.debug(\"SI: Segment partially GCed at the start\",r,n.bufferedStart,e),n.bufferedStart=e),!n.precizeStart&&fa(n)&&(n.start=n.bufferedStart,n.precizeStart=!0);else if(n.precizeStart)m.debug(\"SI: buffered start is precize start\",r,n.start),n.bufferedStart=n.start;else if(t!==null&&t.end>e&&(t.precizeEnd||n.start-t.end<=i))m.debug(\"SI: buffered start is end of previous segment\",r,e,n.start,t.end),n.bufferedStart=t.end,fa(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<o){m.debug(\"SI: Ignored bufferedStart synchronization\",r,e,n.start,s-n.insertionTs);return}m.debug(\"SI: found true buffered start\",r,e,n.start),n.bufferedStart=e,fa(n)&&(n.start=e,n.precizeStart=!0)}else if(e<n.start)m.debug(\"SI: range start too far from expected start\",r,e,n.start),n.bufferedStart=n.start;else{let s=L();if(n.start-e>=a&&s-n.insertionTs<o){m.debug(\"SI: Ignored bufferedStart synchronization\",r,e,n.start,s-n.insertionTs);return}m.debug(\"SI: Segment appears immediately garbage collected at the start\",r,e,n.start),n.bufferedStart=e}}function Cs(n,e,t){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:r,MISSING_DATA_TRIGGER_SYNC_DELAY:i,SEGMENT_SYNCHRONIZATION_DELAY:a}=F.getCurrent();if(n.bufferedEnd!==void 0)n.bufferedEnd>e&&(m.debug(\"SI: Segment partially GCed at the end\",t,n.bufferedEnd,e),n.bufferedEnd=e),!n.precizeEnd&&e-n.end<=r&&vs(n)&&(n.precizeEnd=!0,n.end=e);else if(n.precizeEnd)m.debug(\"SI: buffered end is precize end\",t,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.insertionTs<a){m.debug(\"SI: Ignored bufferedEnd synchronization\",t,e,n.end,o-n.insertionTs);return}m.debug(\"SI: found true buffered end\",t,e,n.end),n.bufferedEnd=e,vs(n)&&(n.end=e,n.precizeEnd=!0)}else if(e>n.end)m.debug(\"SI: range end too far from expected end\",t,e,n.end),n.bufferedEnd=n.end;else{let o=L();if(e-n.end>=i&&o-n.insertionTs<a){m.debug(\"SI: Ignored bufferedEnd synchronization\",t,e,n.end,o-n.insertionTs);return}m.debug(\"SI: Segment appears immediately garbage collected at the end\",t,n.bufferedEnd,e),n.bufferedEnd=e}}function xl(n){let e=.016666666666666666,t={},r=[],i=null,a=null;function o(u){let d=String.fromCharCode(r.length+65);return r.push({letter:d,periodId:u.period.id,representationId:u.representation.id,bitrate:u.representation.bitrate}),d}let s=\"\";for(let u of n)if(u.bufferedStart!==void 0&&u.bufferedEnd!==void 0){let d=u.infos.period.id,f=u.infos.representation.id,l=t[d],c;if(l===void 0)c=o(u.infos),t[d]={[f]:c};else{let g=l[f];g===void 0?(c=o(u.infos),l[f]=c):c=g}i===null?s+=`${u.bufferedStart.toFixed(2)}|${c}|`:a===c?i.bufferedEnd+e<u.bufferedStart&&(s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${c}|`):s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${c}|`,i=u,a=c}return i!==null&&(s+=String(i.end.toFixed(2))),r.forEach(u=>{var d;s+=`\n[${u.letter}] P: ${u.periodId} || R: ${u.representationId}(${(d=u.bitrate)!=null?d:\"unknown bitrate\"})`}),s}function Gt(n,e){for(let t=0;t<n.length;t++)if(n[t].infos.period.start>=e.start)return t>0?n[t-1]:null;return n.length>0?n[n.length-1]:null}function Kt(n,e){for(let t of n)if(t.infos.period.start>e.start)return t;return null}var As=On;var jt=class{constructor(){this._segmentInventory=new As}synchronizeInventory(e){this._segmentInventory.synchronizeBuffered(e)}getLastKnownInventory(){return this._segmentInventory.getInventory()}getSegmentHistory(e){return this._segmentInventory.getHistoryFor(e)}};var wn=class extends jt{constructor(e,t,r){super(),m.info(\"AVSB: calling `mediaSource.addSourceBuffer`\",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){xs(t),this._initSegmentsMap.set(e,t)}freeInitSegment(e){this._initSegmentsMap.delete(e)}async pushChunk(e){xs(e.data.chunk),m.debug(\"AVSB: receiving order to push data to the SourceBuffer\",this.bufferType,_t(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 m.debug(\"AVSB: pushing segment\",this.bufferType,_t(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){m.debug(\"AVSB: receiving order to remove data from the SourceBuffer\",this.bufferType,e,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{m.debug(\"AVSB: Calling `dispose` on the SourceBufferInterface\"),this._sourceBuffer.dispose()}catch(e){m.debug(`AVSB: Failed to dispose a ${this.bufferType} SourceBufferInterface:`,e instanceof Error?e:\"\")}}_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 xs(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 zr=wn;var Dn=class extends jt{constructor(e){m.debug(\"HTSB: Creating TextSegmentSink\"),super(),this.bufferType=\"text\",this._sender=e,this._pendingOperations=[],this._sender.reset()}declareInitSegment(e){m.warn(\"HTSB: Declaring initialization segment for Text SegmentSink\",e)}freeInitSegment(e){m.warn(\"HTSB: Freeing initialization segment for Text SegmentSink\",e)}async pushChunk(e){let{data:t}=e;Ml(t.chunk);let r=this._sender.pushTextData(oe(J({},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(){m.debug(\"HTSB: 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 Ml(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!=\"object\"||n===null||typeof n.data!=\"string\"||typeof n.type!=\"string\"||n.language!==void 0&&typeof n.language!=\"string\"||n.start!==void 0&&typeof n.start!=\"number\"||n.end!==void 0&&typeof n.end!=\"number\"))throw new Error(\"Invalid format given to a TextSegmentSink\")}I.CURRENT_ENV===I.DEV&&(Ol=function(e){function t(r){}});var Ol;var ks=Dn;var wl=[\"audio\",\"video\",\"text\"],Nn=class n{static isNative(e){return Ms(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():Tt(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){m.warn(`SBS: 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(Ms(e)){if(!v(r))return r instanceof zr&&r.codec!==t?m.warn(\"SB: Reusing native SegmentSink with codec\",r.codec,\"for codec\",t):m.info(\"SB: Reusing native SegmentSink with codec\",t),r;m.info(\"SB: Adding native SegmentSink with codec\",t);let a=e===\"audio\"?\"audio\":\"video\",o=new zr(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 m.info(\"SB: Reusing a previous custom SegmentSink for the type\",e),r;let i;if(e===\"text\"){if(m.info(\"SB: Creating a new text SegmentSink\"),this._textInterface===null)throw new Error(\"HTML Text track feature not activated\");return i=new ks(this._textInterface),this._initializedSegmentSinks.text=i,i}throw m.error(\"SB: Unknown buffer type:\",e),new Y(\"BUFFER_TYPE_UNKNOWN\",\"The player wants to create a SegmentSink of an unknown type.\")}disposeSegmentSink(e){let t=this._initializedSegmentSinks[e];if(v(t)){m.warn(\"SB: Trying to dispose a SegmentSink that does not exist\");return}m.info(\"SB: Aborting SegmentSink\",e),t.dispose(),delete this._initializedSegmentSinks[e]}disposeAll(){wl.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=>oe(J({},o),{infos:Dl(o.infos)}))}}getSegmentSinksMetrics(){return{segmentSinks:{audio:this.createSegmentSinkMetricsForType(\"audio\"),video:this.createSegmentSinkMetricsForType(\"video\"),text:this.createSegmentSinkMetricsForType(\"text\")}}}};function Ms(n){return n===\"audio\"||n===\"video\"}function Dl(n){return{adaptation:n.adaptation.getMetadataSnapshot(),period:n.period.getMetadataSnapshot(),representation:n.representation.getMetadataSnapshot()}}var St=Nn;function ca(n,e,t,r,i){let{period:a,adaptation:o,representation:s}=n,u=Nl(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:(m.debug(\"RS: current discontinuity encountered\",o.type,d.bufferedStart),{start:void 0,end:l})}let f=Bl(i,e,u+1);if(f!==null){let l=i[f-1],c=i[f];if(t===null||c.infos.segment.end<=t){if(!r&&s.index.awaitSegmentBetween(l.infos.segment.end,c.infos.segment.time)!==!1)return null;let g=l.bufferedEnd,p=c.bufferedStart;return m.debug(\"RS: future discontinuity encountered\",o.type,g,p),{start:g,end:p}}}if(t===null){if(r&&a.end!==void 0){if(e.end<a.end)return null;let l=Ul(i,a.end);if(l!==null){let c=i[l];if(c.bufferedEnd!==void 0&&c.bufferedEnd<a.end)return m.debug(\"RS: discontinuity encountered at the end of the current period\",o.type,c.bufferedEnd,a.end),{start:c.bufferedEnd,end:null}}}if(a.end!==void 0&&e.end>=a.end)return null;for(let l=i.length-1;l>=0;l--){let c=i[l];if(c.bufferedStart===void 0)break;if(c.bufferedStart<e.end){if(c.bufferedEnd!==void 0&&c.bufferedEnd<e.end){let g=s.index.checkDiscontinuity(e.end);if(g!==null)return{start:c.bufferedEnd,end:g}}return null}}}return null}function Nl(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.bufferedStart===void 0||r.bufferedEnd===void 0||r.bufferedStart>=e.end)return null;if(r.bufferedEnd>e.start)return t}return null}function Bl(n,e,t){if(t<=0)return m.error(\"RS: Asked to check a discontinuity before the first chunk.\"),null;for(let r=t;r<n.length;r++){let i=n[r],a=n[r-1];if(i.bufferedStart===void 0||a.bufferedEnd===void 0||i.bufferedStart>=e.end)return null;if(i.bufferedStart-a.bufferedEnd>0)return r}return null}function Ul(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<e)return t}return null}function ma({bufferedSegments:n,content:e,currentPlaybackTime:t,fastSwitchThreshold:r,getBufferedHistory:i,neededRange:a,segmentsBeingPushed:o,maxBufferSize:s}){let{adaptation:u,representation:d}=e,f=Ll(n,o,s),l=d.index.getSegments(a.start,a.end-a.start),c=n.filter(C=>!Os(C.infos,e,t,r)),g=Gl(c,a,i),{MINIMUM_SEGMENT_SIZE:p,MIN_BUFFER_AHEAD:h}=F.getCurrent(),b=!1,y=Math.min(1/60,p),E=!1,P=[];return{segmentsToLoad:l.filter(C=>{let R=G({segment:C},e);if(o.length>0&&o.some(B=>et(R,B)))return!1;let{duration:M,time:A,end:T}=C;if(C.isInit)return!0;if(b)return P.push(C),!1;if(C.complete&&M<p||o.length>0&&o.some(B=>{if(B.period.id!==e.period.id||B.adaptation.id!==e.adaptation.id)return!1;let{segment:k}=B;if(k.time-y>A)return!1;if(k.complete){if(k.end+y<T)return!1}else if(Math.abs(A-k.time)>A)return!1;return!Os(B,R,t,r)}))return!1;for(let w of g){let B=w.infos.period.id===e.period.id;if(w.status===1&&B){let k=w.infos.segment;if(A-k.time>-y){if(k.complete){if(k.end-T>-y)return!1}else if(Math.abs(A-k.time)<y)return!1}}}let x=M*e.representation.bitrate;if(f-x<0&&(E=!0,A>a.start+h))return b=!0,P.push(C),!1;let O=i(R);if(O.length>1){let w=O[O.length-1],B=O[O.length-2];if(w.buffered===null&&B.buffered===null)return m.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.\"+u.type,d.id,C.time),!1}for(let w=0;w<g.length;w++){let B=g[w];if(B.end+y>A){let k=B.start>A+y||Fl(g,w).end<T-y;return k&&(f-=x),k}}return f-=x,!0}),segmentsOnHold:P,isBufferFull:E}}function Ll(n,e,t){let r=t*8e3;return r-=e.reduce((i,a)=>{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 Fl(n,e){let t=e+1,{MINIMUM_SEGMENT_SIZE:r}=F.getCurrent(),i=Math.min(1/60,r);for(;t<n.length-1&&n[t-1].end+i>n[t].start;)t++;return t--,n[t]}function Os(n,e,t,r){let{CONTENT_REPLACEMENT_PADDING:i}=F.getCurrent();if(n.period.id!==e.period.id)return!1;let{segment:a}=n;return a.time<t+i?!1:n.adaptation.id!==e.adaptation.id?!0:zl(n.representation,e.representation,r)}function zl(n,e,t){let r=n.bitrate,{BITRATE_REBUFFERING_RATIO:i}=F.getCurrent();if(t===void 0){let a=r*i;return e.bitrate>a}return r<t&&e.bitrate>r}function Wl(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=F.getCurrent();return n.bufferedStart===void 0||e!==null&&e.bufferedEnd!==void 0&&n.bufferedStart-e.bufferedEnd<.1?!1:t<n.bufferedStart&&n.bufferedStart-n.start>r?(m.info(\"Stream: The start of the wanted segment has been garbage collected\",n.start,n.bufferedStart),!0):!1}function Vl(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=F.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?(m.info(\"Stream: The end of the wanted segment has been garbage collected\",n.end,n.bufferedEnd),!0):!1}function ql(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 Hl(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 Gl(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(Wl(r,o,e.start)){if(u=t(r.infos),ql(u,r.bufferedStart))return!1;m.debug(\"Stream: skipping segment gc-ed at the start\",r.start,r.bufferedStart)}if(Vl(r,s,e.end)){if(u=u!=null?u:t(r.infos),Hl(u,r.bufferedEnd))return!1;m.debug(\"Stream: skipping segment gc-ed at the end\",r.end,r.bufferedEnd)}return!0})}function Bn(n,e){let t=n-e,{SEGMENT_PRIORITIES_STEPS:r}=F.getCurrent();for(let i=0;i<r.length;i++)if(t<r[i])return i;return r.length}function pa(n,e,t,r,i,a,o){var A,T,x;let{representation:s}=n,u=(T=(A=t.getIsPaused())!=null?A:t.getReference().getValue().paused.pending)!=null?T:t.getReference().getValue().paused.last,d=(x=t.getPlaybackRate())!=null?x:t.getReference().getValue().speed,f=e;(u===void 0||d===void 0||u||d<=0)&&(f-=.1);let l=Kl(n,f,i),c=s.index.shouldRefresh(l.start,l.end),g=o.getPendingOperations().filter(O=>O.type===2).map(O=>O.value),p=o.getLastKnownInventory(),h=t.getCurrentTime();h===void 0&&(h=t.getReference().getValue().position.getWanted());let b=o.getSegmentHistory.bind(o),{segmentsToLoad:y,segmentsOnHold:E,isBufferFull:P}=ma({content:n,bufferedSegments:p,currentPlaybackTime:h,fastSwitchThreshold:r,getBufferedHistory:b,neededRange:l,segmentsBeingPushed:g,maxBufferSize:a}),_=y.map(O=>({priority:Bn(O.time,f),segment:O})),C=s.index.isInitialized()&&!s.index.isStillAwaitingFutureSegments()&&l.hasReachedPeriodEnd&&_.length===0&&E.length===0,R=null;return g.length>0&&(R=Math.min(...g.map(O=>O.segment.time))),E.length>0&&(R=R!==null?Math.min(R,E[0].time):E[0].time),_.length>0&&(R=R!==null?Math.min(R,_[0].segment.time):_[0].segment.time),{imminentDiscontinuity:ca(n,l,R,C,p),hasFinishedLoading:C,neededSegments:_,isBufferFull:P,shouldRefreshManifest:c}}function Kl(n,e,t){var l;let r,{manifest:i,period:a,representation:o}=n,s=o.index.getLastAvailablePosition(),u=o.index;!v(s)&&St.isNative(n.adaptation.type)&&e>=s&&u.isInitialized()&&!u.isStillAwaitingFutureSegments()&&jl(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 jl(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 Un(n,e,t,r,i){try{return await e.pushChunk(t)}catch(a){if(i.isCancelled()&&a instanceof ue)throw a;if(!(a instanceof Ce)||!a.isBufferFull){let u=a instanceof Error?a.toString():\"An unknown error happened when pushing content\";throw new Y(\"BUFFER_APPEND_ERROR\",u,{tracks:[ct(t.inventoryInfos.adaptation)]})}let{position:o}=n.getReference().getValue(),s=o.getWanted();try{m.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<Number.MAX_VALUE&&await e.removeBuffer(d,Number.MAX_VALUE),await ii(200),i.cancellationError!==null)throw i.cancellationError;return await e.pushChunk(t)}catch(u){if(u instanceof ue)throw u;let d=u instanceof Error?u.toString():\"Could not clean the buffer\";throw new Y(\"BUFFER_FULL_ERROR\",d,{tracks:[ct(t.inventoryInfos.adaptation)]})}}}async function ga({playbackObserver:n,content:e,initSegmentUniqueId:t,segment:r,segmentSink:i,bufferGoal:a},o){if(o.cancellationError!==null)throw o.cancellationError;let s=e.representation.getMimeTypeString(),u={initSegmentUniqueId:t,chunk:null,timestampOffset:0,appendWindow:[void 0,void 0],codec:s},d=G({segment:r,chunkSize:void 0,start:0,end:0},e),f=await Un(n,i,{data:u,inventoryInfos:d},a,o);return{content:e,segment:r,buffered:f}}async function ha({playbackObserver:n,bufferGoal:e,content:t,initSegmentUniqueId:r,parsedSegment:i,segment:a,segmentSink:o},s){var R,M;if(i.chunkData===null)return null;if(s.cancellationError!==null)throw s.cancellationError;let{chunkData:u,chunkInfos:d,chunkOffset:f,chunkSize:l,appendWindow:c}=i,g=t.representation.getMimeTypeString(),{APPEND_WINDOW_SECURITIES:p}=F.getCurrent(),h=[c[0]!==void 0?Math.max(0,c[0]-p.START):void 0,c[1]!==void 0?c[1]+p.END:void 0],b={initSegmentUniqueId:r,chunk:u,timestampOffset:f,appendWindow:h,codec:g},y=(R=d==null?void 0:d.time)!=null?R:a.time,E=(M=d==null?void 0:d.duration)!=null?M:a.duration,P=y+E;h[0]!==void 0&&(y=Math.max(y,h[0])),h[1]!==void 0&&(P=Math.min(P,h[1]));let _=G({segment:a,chunkSize:l,start:y,end:P},t),C=await Un(n,o,{data:b,inventoryInfos:_},e,s);return{content:t,segment:a,buffered:C}}function Ia({content:n,options:e,playbackObserver:t,segmentSink:r,segmentQueue:i,terminate:a},o,s){m.debug(\"Stream: Creating RepresentationStream\",n.adaptation.type,n.representation.bitrate);let{period:u,adaptation:d,representation:f}=n,{bufferGoal:l,maxBufferSize:c,drmSystemId:g,fastSwitchThreshold:p}=e,h=d.type,b=new W;b.linkToSignal(s);let y=new W;y.linkToSignal(b.signal);let E={segment:f.index.getInitSegment(),uniqueId:null,isLoaded:!1};b.signal.register(()=>{E.uniqueId!==null&&r.freeInitSegment(E.uniqueId)});let P=E.segment!==null;P||(E.isLoaded=!0);let _=!1;if(g!==void 0){let T=f.getEncryptionData(g);if(T.length>0&&T.every(x=>x.keyIds!==void 0)&&(_=!0,o.encryptionDataEncountered(T.map(x=>G({content:n},x))),b.isUsed()))return}i.addEventListener(\"error\",T=>{y.signal.isCancelled()||(b.cancel(),o.error(T))}),i.addEventListener(\"parsedInitSegment\",M,y.signal),i.addEventListener(\"parsedMediaSegment\",M,y.signal),i.addEventListener(\"emptyQueue\",R,y.signal),i.addEventListener(\"requestRetry\",T=>{if(o.warning(T.error),y.signal.isCancelled())return;let x=T.segment,{index:O}=f;O.isSegmentStillAvailable(x)===!1?R():O.canBeOutOfSyncError(T.error,x)&&o.manifestMightBeOufOfSync()},y.signal),i.addEventListener(\"fullyLoadedSegment\",T=>{r.signalSegmentComplete(G({segment:T},n)).catch(A)},y.signal);let C=i.resetForContent(n,P);y.signal.register(()=>{i.stop()}),t.listen(R,{includeLastObservation:!1,clearSignal:y.signal}),n.manifest.addEventListener(\"manifestUpdate\",R,y.signal),l.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),c.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),a.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),R();return;function R(){if(y.isUsed())return;let T=t.getReference().getValue(),x=T.position.getWanted(),O=pa(n,x,t,p.getValue(),l.getValue(),c.getValue(),r),{neededSegments:w}=O,B=null;if(f.index.isInitialized()){if(w.length>0&&!E.isLoaded&&E.segment!==null){let U=w[0].priority;B={segment:E.segment,priority:U}}}else if(E.segment===null)m.warn(\"Stream: Uninitialized index without an initialization segment\");else if(E.isLoaded)m.warn(\"Stream: Uninitialized index with an already loaded initialization segment\");else{let U=T.position.getWanted();B={segment:E.segment,priority:Bn(u.start,U)}}let k=a.getValue();if(k===null)C.setValue({initSegment:B,segmentQueue:w});else if(k.urgent){m.debug(\"Stream: Urgent switch, terminate now.\",h),C.setValue({initSegment:null,segmentQueue:[]}),C.finish(),y.cancel(),o.terminating();return}else{let U=w[0],V=i.getRequestedInitSegment(),X=i.getRequestedMediaSegment(),j=X===null||U===void 0||X.id!==U.segment.id?[]:[U],H=V===null?null:B;if(C.setValue({initSegment:H,segmentQueue:j}),j.length===0&&H===null){m.debug(\"Stream: No request left, terminate\",h),C.finish(),y.cancel(),o.terminating();return}}if(o.streamStatusUpdate({period:u,position:T.position.getWanted(),bufferType:h,imminentDiscontinuity:O.imminentDiscontinuity,isEmptyStream:!1,hasFinishedLoading:O.hasFinishedLoading,neededSegments:O.neededSegments}),y.signal.isCancelled())return;let{UPTO_CURRENT_POSITION_CLEANUP:N}=F.getCurrent();if(O.isBufferFull){let U=Math.max(0,x-N);U>0&&r.removeBuffer(0,U).catch(A)}O.shouldRefreshManifest&&o.needsManifestRefresh()}function M(T){if(!b.isUsed()){for(let x of T.protectionData)f.addProtectionData(x.initDataType,x.keyId,x.initData);if(!_){let x=f.getAllEncryptionData();if(x.length>0&&(o.encryptionDataEncountered(x.map(O=>G({content:n},O))),_=!0,b.isUsed()))return}if(T.segmentType===\"init\"){if(!f.index.isInitialized()&&T.segmentList!==void 0&&f.index.initialize(T.segmentList),E.isLoaded=!0,T.initializationData!==null){let x=f.uniqueId;E.uniqueId=x,r.declareInitSegment(x,T.initializationData),ga({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:x,segment:T.segment,segmentData:T.initializationData,segmentSink:r},b.signal).then(O=>{O!==null&&o.addedSegment(O)}).catch(A)}R();return}else{let{inbandEvents:x,predictedSegments:O,needsManifestRefresh:w}=T;if(O!==void 0&&f.index.addPredictedSegments(O,T.segment),w===!0&&(o.needsManifestRefresh(),b.isUsed())||x!==void 0&&x.length>0&&(o.inbandEvent(x),b.isUsed()))return;let B=E.uniqueId;ha({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:B,parsedSegment:T,segment:T.segment,segmentSink:r},b.signal).then(k=>{k!==null&&o.addedSegment(k)}).catch(A)}}}function A(T){b.isUsed()&&T instanceof ue||(m.warn(\"Stream: Received fatal buffer error\",d.type,f.bitrate,T instanceof Error?T:null),b.cancel(),o.error(T))}}var ws=Ia;function ba(n,e,t,r,i){var c,g,p,h;if(t.switchingMode===\"lazy\")return{type:\"continue\",value:void 0};let a=r.getLastKnownInventory(),o=[];for(let b of a)b.infos.period.id===n.id&&(b.infos.adaptation.id!==e.id||!ge(t.representationIds,b.infos.representation.id))&&Ht(o,{start:(c=b.bufferedStart)!=null?c:b.start,end:(g=b.bufferedEnd)!=null?g:b.end});let s=r.getPendingOperations();for(let b of s)if(b.type===0){let y=b.value.inventoryInfos;if(y.period.id===n.id&&(y.adaptation.id!==e.id||!ge(t.representationIds,y.representation.id))){let E=y.segment.time,P=E+y.segment.duration;Ht(o,{start:E,end:P})}}if(o.length===0)return{type:\"continue\",value:void 0};if(t.switchingMode===\"reload\"){let b=i.getReadyState();if(b===void 0||b>1)return{type:\"needs-reload\",value:void 0}}let u=t.switchingMode===\"direct\",d=[],f=Gt(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:b}=F.getCurrent(),y=e.type,E=(p=b[y].before)!=null?p:0,P=(h=b[y].after)!=null?h:0,_=i.getCurrentTime();_===void 0&&(_=i.getReference().getValue().position.getPolled()),d.push({start:_-E,end:_+P})}if(n.end!==void 0){let b=Kt(a,n);b!==null&&(b.bufferedStart===void 0||b.bufferedStart-n.end<1)&&d.push({start:n.end-1,end:Number.MAX_VALUE})}let l=Ur(o,d);return l.length===0?{type:\"continue\",value:void 0}:u?{type:\"flush-buffer\",value:l}:{type:\"clean-buffer\",value:l}}function Sa({playbackObserver:n,content:e,options:t,representationEstimator:r,segmentSink:i,segmentQueueCreator:a,wantedBufferAhead:o,maxVideoBufferSize:s},u,d){let{manifest:f,period:l,adaptation:c}=e,g=new W;g.linkToSignal(d);let p=new Map,h=new K(null,g.signal),b,y=e.representations.getValue().representationIds,E=e.adaptation.representations.filter(k=>ge(y,k.id)&&k.decipherable!==!1&&k.isSupported!==!1),P=new K(E,g.signal),{estimates:_,callbacks:C}=r({manifest:f,period:l,adaptation:c},h,P,n,g.signal),R=new K(!1);n.listen(k=>{var U;let N=(U=k.canStream)!=null?U:!0;R.getValue()===N&&(m.debug(\"Stream: isMediaSegmentQueueInterrupted updated to\",!N),R.setValue(!N))},{clearSignal:g.signal});let M=a.createSegmentQueue(c.type,{onRequestBegin:C.requestBegin,onRequestEnd:C.requestEnd,onProgress:C.requestProgress,onMetrics:C.metrics},R),A=new K(0);_.onUpdate(({bitrate:k,knownStableBitrate:N})=>{t.enableFastSwitching&&A.setValueIfChanged(N),!(k===void 0||k===b)&&(b=k,m.debug(`Stream: new ${c.type} bitrate estimate`,k),u.bitrateEstimateChange({type:c.type,bitrate:k}))},{emitCurrentValue:!0,clearSignal:g.signal});let T;e.representations.onUpdate(k=>{T!==void 0&&T.cancel();let N=e.representations.getValue().representationIds,U=e.adaptation.representations.filter(V=>ge(N,V.id));P.setValueIfChanged(U),T=new W,T.linkToSignal(g.signal),x(k,T.signal).catch(V=>{(T==null?void 0:T.isUsed())===!0&&W.isCancellationError(V)||(g.cancel(),u.error(V))})},{clearSignal:g.signal,emitCurrentValue:!0});return;async function x(k,N){let U=ba(l,c,k,i,n);switch(U.type){case\"continue\":break;case\"needs-reload\":return kt(()=>{n.listen(()=>{if(N.isCancelled())return;let{DELTA_POSITION_AFTER_RELOAD:V}=F.getCurrent(),X=V.bitrateSwitch;return u.waitingMediaSourceReload({bufferType:c.type,period:l,timeOffset:X,stayInPeriod:!0})},{includeLastObservation:!0,clearSignal:N})});case\"flush-buffer\":case\"clean-buffer\":for(let V of U.value)if(await i.removeBuffer(V.start,V.end),N.isCancelled())return;if(U.type===\"flush-buffer\"&&(u.needsBufferFlush(),N.isCancelled()))return;break;default:ze(U)}O(N)}function O(k){let N=new W;N.linkToSignal(k);let{representation:U}=_.getValue();if(U===null)return;let V=new K(null,N.signal);_.onUpdate(H=>{if(!(H.representation===null||H.representation.id===U.id))return H.urgent?(m.info(\"Stream: urgent Representation switch\",c.type),V.setValue({urgent:!0})):(m.info(\"Stream: slow Representation switch\",c.type),V.setValue({urgent:!1}))},{clearSignal:N.signal,emitCurrentValue:!0});let X={type:c.type,adaptation:c,period:l,representation:U};if(h.setValue(U),g.isUsed()||(u.representationChange(X),g.isUsed()))return;let j={streamStatusUpdate:u.streamStatusUpdate,encryptionDataEncountered:u.encryptionDataEncountered,manifestMightBeOufOfSync:u.manifestMightBeOufOfSync,needsManifestRefresh:u.needsManifestRefresh,inbandEvent:u.inbandEvent,warning:u.warning,error(H){g.cancel(),u.error(H)},addedSegment(H){C.addedSegment(H)},terminating(){if(!N.isUsed())return N.cancel(),O(k)}};w(U,V,j,k)}function w(k,N,U,V){let X=!1,j=new W;j.linkToSignal(V);let H=Xt(o,de=>B(k,de),j.signal),q=c.type===\"video\"?s:new K(1/0);m.info(\"Stream: changing representation\",c.type,k.id,k.bitrate);let Z=G({},U,{error(de){var ie;if(X){m.warn(\"Stream: Ignoring RepresentationStream error\",de);return}X=!0;let me=ye(de,{defaultCode:\"NONE\",defaultReason:\"Unknown `RepresentationStream` error\"});if(me.code!==\"BUFFER_FULL_ERROR\")U.error(de);else{m.warn(\"Stream: received BUFFER_FULL_ERROR\",c.type,k.bitrate);let Ge=o.getValue(),fe=((ie=p.get(k.id))!=null?ie:1)*.7;if(p.set(k.id,fe),fe<=.05||B(k,Ge)<=2){U.error(me);return}rn(4e3,g.signal).then(()=>w(k,N,U,V)).catch(D)}},terminating(){j.cancel(),U.terminating()}});ws({playbackObserver:n,content:{representation:k,adaptation:c,period:l,manifest:f},segmentSink:i,segmentQueue:M,terminate:N,options:{bufferGoal:H,maxBufferSize:q,drmSystemId:t.drmSystemId,fastSwitchThreshold:A}},Z,V),f.addEventListener(\"manifestUpdate\",de=>{for(let me of de.updatedPeriods)if(me.period.id===l.id){for(let ie of me.result.updatedAdaptations)if(ie.adaptation===c.id){for(let Ge of ie.removedRepresentations)if(Ge===k.id)return V.isCancelled()?void 0:u.waitingMediaSourceReload({bufferType:c.type,period:l,timeOffset:0,stayInPeriod:!0})}}else if(me.period.start>l.start)break},V)}function B(k,N){let U=p.get(k.id),V=U!==void 0?U:1;return U===void 0&&p.set(k.id,V),V<1&&N===1/0?5*60*1e3*V:N*V}}var Ds=Sa;function ya(n,e,t,r,i,a){var g,p,h,b;if(n.codec!==void 0&&a.onCodecSwitch===\"reload\"&&!Ql(t,n.codec))return{type:\"needs-reload\",value:void 0};let o=n.getLastKnownInventory(),s=[];for(let y of o)y.infos.period.id===e.id&&y.infos.adaptation.id!==t.id&&Ht(s,{start:(g=y.bufferedStart)!=null?g:y.start,end:(p=y.bufferedEnd)!=null?p:y.end});let u=n.getPendingOperations();for(let y of u)if(y.type===0){let E=y.value.inventoryInfos;if(E.period.id===e.id&&E.adaptation.id!==t.id){let P=E.segment.time,_=P+E.segment.duration;Ht(s,{start:P,end:_})}}if(s.length===0)return{type:\"continue\",value:void 0};if(r===\"reload\"){let y=i.getReadyState();if(y===void 0||y>1)return{type:\"needs-reload\",value:void 0}}let d=r===\"direct\",f=[],l=Gt(o,e);if(l!==null&&(l.bufferedEnd===void 0||e.start-l.bufferedEnd<1)&&f.push({start:0,end:e.start+1}),!d){let y=t.type,{ADAP_REP_SWITCH_BUFFER_PADDINGS:E}=F.getCurrent(),P=(h=E[y].before)!=null?h:0,_=(b=E[y].after)!=null?b:0,C=i.getCurrentTime();C===void 0&&(C=i.getReference().getValue().position.getPolled()),f.push({start:C-P,end:C+_})}if(e.end!==void 0){let y=Kt(o,e);y!==null&&(y.bufferedStart===void 0||y.bufferedStart-e.end<1)&&f.push({start:e.end-1,end:Number.MAX_VALUE})}let c=Ur(s,f);return c.length===0?{type:\"continue\",value:void 0}:d&&t.type!==\"text\"?{type:\"flush-buffer\",value:c}:{type:\"clean-buffer\",value:c}}function Ql(n,e){return n.representations.some(t=>t.isSupported===!0&&t.decipherable!==!1&&Eo(t.getMimeTypeString(),e))}function Ta({bufferType:n,content:e,garbageCollectors:t,playbackObserver:r,representationEstimator:i,segmentQueueCreator:a,segmentSinksStore:o,options:s,wantedBufferAhead:u,maxVideoBufferSize:d},f,l){let{manifest:c,period:g}=e,p=new K(void 0,l);if(f.periodStreamReady({type:n,manifest:c,period:g,adaptationRef:p}),l.isCancelled())return;let h,b=!0;p.onUpdate(P=>{(async()=>{var B;if(P===void 0)return;let _=new W;if(_.linkToSignal(l),h==null||h.cancel(),h=_,P===null){m.info(`Stream: Set no ${n} Adaptation. P:`,g.start);let k=o.getStatus(n);if(k.type===\"initialized\"){if(m.info(`Stream: Clearing previous ${n} SegmentSink`),St.isNative(n))return E(0,!0,_.signal);{let N=(B=g.end)!=null?B:1/0;if(g.start>N)m.warn(\"Stream: Can't free buffer: period's start is after its end\");else if(await k.value.removeBuffer(g.start,N),_.isUsed())return}}else if(k.type===\"uninitialized\"&&(o.disableSegmentSink(n),_.isUsed()))return;return f.adaptationChange({type:n,adaptation:null,period:g}),_.isUsed()?void 0:Ns(r,u,n,{period:g},f,_.signal)}let C=g.adaptations[n],R=Q(C!=null?C:[],k=>k.id===P.adaptationId);if(R===void 0){h.cancel(),m.warn(\"Stream: Unfound chosen Adaptation choice\",P.adaptationId);return}let{DELTA_POSITION_AFTER_RELOAD:M}=F.getCurrent(),A=!1,T;if(b)T=0;else if(P.relativeResumingPosition!==void 0)T=P.relativeResumingPosition;else switch(A=!0,n){case\"audio\":T=M.trackSwitch.audio;break;case\"video\":T=M.trackSwitch.video;break;default:T=M.trackSwitch.other;break}if(b=!1,St.isNative(n)&&o.getStatus(n).type===\"disabled\")return E(T,!0,_.signal);c.addEventListener(\"manifestUpdate\",k=>{for(let N of k.updatedPeriods)if(N.period.id===g.id){for(let U of N.result.removedAdaptations)if(U.id===R.id)return E(T,!0,_.signal)}else if(N.period.start>g.start)break},h.signal);let{representations:x}=P;if(m.info(`Stream: Updating ${n} adaptation`,`A: ${R.id}`,`P: ${g.start}`),f.adaptationChange({type:n,adaptation:R,period:g}),_.isUsed())return;let O=Yl(o,n,R),w=ya(O,g,R,P.switchingMode,r,s);if(w.type===\"needs-reload\")return E(T,!0,_.signal);if(await o.waitForUsableBuffers(_.signal),!_.isUsed()){if(w.type===\"flush-buffer\"||w.type===\"clean-buffer\"){for(let{start:k,end:N}of w.value)if(await O.removeBuffer(k,N),_.isUsed())return;if(w.type===\"flush-buffer\"&&(f.needsBufferFlush({relativeResumingPosition:T,relativePosHasBeenDefaulted:A}),_.isUsed()))return}t.get(O)(_.signal),y(R,x,O,_.signal)}})().catch(_=>{_ instanceof ue||(h==null||h.cancel(),f.error(_))})},{clearSignal:l,emitCurrentValue:!0});function y(P,_,C,R){let M=Xl(r,P.type);Ds({content:{manifest:c,period:g,adaptation:P,representations:_},options:s,playbackObserver:M,representationEstimator:i,segmentSink:C,segmentQueueCreator:a,wantedBufferAhead:u,maxVideoBufferSize:d},oe(J({},f),{error:A}),R);function A(T){if(!St.isNative(n)){m.error(`Stream: ${n} Stream crashed. Aborting it.`,T instanceof Error?T:\"\"),o.disposeSegmentSink(n);let x=ye(T,{defaultCode:\"NONE\",defaultReason:\"Unknown `AdaptationStream` error\"});return f.warning(x),R.isCancelled()?void 0:Ns(r,u,n,{period:g},f,R)}m.error(`Stream: ${n} Stream crashed. Stopping playback.`,T instanceof Error?T:\"\"),f.error(T)}}function E(P,_,C){kt(()=>{r.listen(()=>{C.isCancelled()||f.waitingMediaSourceReload({bufferType:n,period:g,timeOffset:P,stayInPeriod:_})},{includeLastObservation:!0,clearSignal:C})})}}function Yl(n,e,t){let r=n.getStatus(e);if(r.type===\"initialized\")return m.info(\"Stream: Reusing a previous SegmentSink for the type\",e),r.value;let i=$l(t);return n.createSegmentSink(e,i)}function $l(n){let e=n.representations.filter(t=>t.isSupported===!0&&t.decipherable!==!1);if(e.length===0)throw new Y(\"NO_PLAYABLE_REPRESENTATION\",\"No Representation in the chosen \"+n.type+\" Adaptation can be played\",{tracks:[ct(n)]});return e[0].getMimeTypeString()}function Xl(n,e){return n.deriveReadOnlyObserver(function(r,i){let a=new K(o(),i);return r.onUpdate(s,{clearSignal:i,emitCurrentValue:!1}),a;function o(){let u=r.getValue(),d=u.buffered[e],f=d!==null?Br(d,u.position.getWanted()):0;return G({},u,{bufferGap:f,buffered:d})}function s(){a.setValue(o())}})}function Ns(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&&(m.debug('Stream: full \"empty\" AdaptationStream',t),s=!0),i.streamStatusUpdate({period:o,bufferType:t,imminentDiscontinuity:null,position:l,isEmptyStream:!0,hasFinishedLoading:s,neededSegments:[]})}}var Bs=Ta;function Wr(n,e){if(e.length===0)return[];let t=[],r=n.getLastKnownInventory();for(let i of r)if(e.some(o=>i.infos.period.id===o.period.id&&i.infos.adaptation.id===o.adaptation.id&&i.infos.representation.id===o.representation.id)){let{bufferedStart:o,bufferedEnd:s}=i;if(o===void 0||s===void 0)return m.warn(\"SO: No buffered start or end found from a segment.\"),[{start:0,end:Number.MAX_VALUE}];let u=t[t.length-1];u!==void 0&&u.end===o?u.end=s:t.push({start:o,end:s})}return t}function Ea(n,e,t,r,i,a,o,s){let{manifest:u,initialPeriod:d}=n,{maxBufferAhead:f,maxBufferBehind:l,wantedBufferAhead:c,maxVideoBufferSize:g}=a,{MINIMUM_MAX_BUFFER_AHEAD:p,MAXIMUM_MAX_BUFFER_AHEAD:h,MAXIMUM_MAX_BUFFER_BEHIND:b}=F.getCurrent(),y=new kn(_=>{var A,T;let{bufferType:C}=_,R=(A=b[C])!=null?A:1/0,M=(T=h[C])!=null?T:1/0;return x=>{Lr({segmentSink:_,playbackObserver:e,maxBufferBehind:Xt(l,O=>Math.min(O,R),x),maxBufferAhead:Xt(f,O=>{var B;let w=Math.max(O,(B=p[C])!=null?B:0);return Math.min(w,M)},x)},x)}});for(let _ of r.getBufferTypes())E(_,d);function E(_,C){let R=new Mt((w,B)=>w.start-B.start),M=!1,A=new W;return A.linkToSignal(s),e.listen(({position:w})=>{var N;let B=w.getWanted();if(!M||!x(B))return;for(m.info(\"Stream: Destroying all PeriodStreams due to out of bounds situation\",_,B),M=!1;R.length()>0;){let U=R.get(R.length()-1);R.removeElement(U),o.periodStreamCleared({type:_,manifest:u,period:U})}A.cancel(),A=new W,A.linkToSignal(s);let k=(N=u.getPeriodForTime(B))!=null?N:u.getNextPeriod(B);if(k===void 0){m.warn(\"Stream: The wanted position is not found in the Manifest.\"),M=!0;return}T(k)},{clearSignal:s,includeLastObservation:!0}),u.addEventListener(\"decipherabilityUpdate\",w=>{s.isCancelled()||O(w).catch(B=>{s.isCancelled()||(A.cancel(),o.error(B))})},s),T(C);function T(w){let B=oe(J({},o),{waitingMediaSourceReload(k){let N=R.head();N===void 0||N.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,R.add(k.period),o.periodStreamReady(k)},periodStreamCleared(k){R.removeElement(k.period),o.periodStreamCleared(k)},error(k){A.cancel(),o.error(k)}});P(_,w,B,A.signal)}function x(w){let B=R.head(),k=R.last();return B===void 0||k===void 0?!0:B.start>w||(v(k.end)?1/0:k.end)<w}async function O(w){let B=r.getStatus(_),k=w.filter(H=>H.adaptation.type===_);if(k.length===0||B.type!==\"initialized\"||k.every(H=>H.representation.decipherable===!0))return;let N=B.value,U=k.filter(H=>H.representation.decipherable===void 0),V=k.filter(H=>H.representation.decipherable===!1),X=Wr(N,V),j=Wr(N,U);for(M=!1,m.info(\"Stream: Destroying all PeriodStreams for decipherability matters\",_);R.length()>0;){let H=R.get(R.length()-1);R.removeElement(H),o.periodStreamCleared({type:_,manifest:u,period:H})}A.cancel(),A=new W,A.linkToSignal(s);for(let{start:H,end:q}of[...X,...j]){if(s.isCancelled())return;if(H<q){if(s.isCancelled())return;await N.removeBuffer(H,q)}}kt(()=>{if(s.isCancelled())return;let H=e.getReference().getValue();if(Us(H,X)){if(o.needsDecipherabilityFlush(),s.isCancelled())return}else if(Us(H,j)&&(o.needsBufferFlush(),s.isCancelled()))return;let q=H.position.getWanted(),Z=u.getPeriodForTime(q);if(Z===void 0){o.error(new Y(\"MEDIA_TIME_NOT_FOUND\",\"The wanted position is not found in the Manifest.\"));return}T(Z)})}}function P(_,C,R,M){m.info(\"Stream: Creating new Stream for\",_,C.start);let A=null,T=new W;T.linkToSignal(M),e.listen(({position:k},N)=>{if(C.end!==void 0&&k.getWanted()>=C.end){let U=u.getPeriodAfter(C);if(C.containsTime(k.getWanted(),U))return;m.info(\"Stream: Destroying PeriodStream as the current playhead moved above it\",_,C.start,k.getWanted(),C.end),N(),R.periodStreamCleared({type:_,manifest:u,period:C}),T.cancel()}},{clearSignal:M,includeLastObservation:!0});let x={bufferType:_,content:{manifest:u,period:C},garbageCollectors:y,maxVideoBufferSize:g,segmentQueueCreator:i,segmentSinksStore:r,options:a,playbackObserver:e,representationEstimator:t,wantedBufferAhead:c},O=oe(J({},R),{streamStatusUpdate(k){if(k.hasFinishedLoading){let N=u.getPeriodAfter(C);N!==null&&w(N)}else A!==null&&(m.info(\"Stream: Destroying next PeriodStream due to current one being active\",_,A.period.start),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel(),A=null);R.streamStatusUpdate(k)},error(k){A!==null&&(A.canceller.cancel(),A=null),T.cancel(),R.error(k)}});Bs(x,O,T.signal),B(T.signal);function w(k){if(A!==null){if(A.period.id===k.id)return;m.warn(\"Stream: Creating next `PeriodStream` while one was already created.\",_,k.id,A.period.id),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel()}let N=new W;N.linkToSignal(M),A={canceller:N,period:k},P(_,k,R,A.canceller.signal)}function B(k){u.addEventListener(\"manifestUpdate\",N=>{for(let U of N.removedPeriods)if(U.id===C.id){if(u.periods.length>0&&u.periods[0].start<=U.start)return kt(()=>{if(!k.isCancelled())return o.needsMediaSourceReload({timeOffset:0,minimumPosition:void 0,maximumPosition:void 0})})}else if(U.start>C.start)break;if(N.addedPeriods.length>0&&A!==null){let U=u.getPeriodAfter(C);(U===null||A.period.id!==U.id)&&(m.warn(\"Stream: Destroying next PeriodStream due to new one being added\",_,A.period.start),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel(),A=null)}},k)}}}function Us(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 Ls=Ea;var Fs=Ls;var Ln=class extends le{constructor(e,t,r){super(),this._canceller=new W,this._manifest=e,this._activeStreams=new Map,this._allBufferTypes=r,this._lastCurrentPeriodId=null;let i=new _a(e);this._maximumPositionCalculator=i;let a=this._canceller.signal;t.listen(({position:o})=>{let s=o.getWanted();if(s<e.getMinimumSafePosition()){let u=new Y(\"MEDIA_TIME_BEFORE_MANIFEST\",\"The current position is behind the earliest time announced in the Manifest.\");this.trigger(\"warning\",u)}else if(s>i.getMaximumAvailablePosition()){let u=new Y(\"MEDIA_TIME_AFTER_MANIFEST\",\"The current position is after the latest time announced in the Manifest.\");this.trigger(\"warning\",u)}},{includeLastObservation:!0,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 Mt((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)}},_a=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=Vr(this._lastVideoAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}}else if(this._lastVideoAdaptation===null){let e=Vr(this._lastAudioAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}else{let e=Vr(this._lastAudioAdaptation),t=Vr(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=qr(this._lastVideoAdaptation))!=null?e:void 0;if(this._lastVideoAdaptation===null)return(t=qr(this._lastAudioAdaptation))!=null?t:void 0;{let r=qr(this._lastAudioAdaptation),i=qr(this._lastVideoAdaptation);return typeof r!=\"number\"||typeof i!=\"number\"?void 0:Math.min(r,i)}}}};function Vr(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 qr(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 Ra(n,e,t,r,i,a){a.register(()=>{e.interruptDurationSetting()});let o=new Ln(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\",()=>{m.debug(\"Init: end-of-stream order received.\"),e.maintainEndOfStream()}),o.addEventListener(\"resumeStream\",()=>{e.stopEndOfStream()});let s=o.getCurrentEndingTime();return e.setDuration(s.endingPosition,s.isEnd),o}function Pa(n,e){let t={audio:null,video:null,text:null};if(e!==null&&(t.text=e.getBufferedRanges()),n===null)return t;let r=Q(n.sourceBuffers,s=>s.type===\"audio\"),i=Q(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}function va(n,e){if(typeof n.changeType==\"function\"){try{n.changeType(e)}catch(t){return m.warn(\"Could not call 'changeType' on the given SourceBuffer:\",t instanceof Error?t:\"\"),!1}return!0}return!1}function Zl(n){let e=[];for(let t=0;t<n.length;t++){let r=n[t];r.updating&&e.push(r)}return e}function Fn(n,e){if(m.debug(\"Init: Trying to call endOfStream\"),n.readyState!==\"open\"){m.debug(\"Init: MediaSource not open, cancel endOfStream\");return}let{sourceBuffers:t}=n,r=Zl(t);if(r.length===0){m.info(\"Init: Triggering end of stream\");try{n.endOfStream()}catch(a){m.error(\"Unable to call endOfStream\",a instanceof Error?a:new Error(\"Unknown error\"))}return}m.debug(\"Init: Waiting SourceBuffers to be updated before calling endOfStream.\");let i=new W;i.linkToSignal(e);for(let a of r)uo(a,()=>{i.cancel(),Fn(n,e)},i.signal);lo(t,()=>{i.cancel(),Fn(n,e)},i.signal)}function zs(n,e){let t=new W;t.linkToSignal(e),Nt(n,()=>{m.debug(\"Init: MediaSource re-opened while end-of-stream is active\"),t.cancel(),t=new W,t.linkToSignal(e),Fn(n,t.signal)},e),Fn(n,t.signal)}function Ca(){return ri}var Jl=365*24*3600,zn=class{constructor(e){this._mediaSource=e,this._currentMediaSourceDurationUpdateCanceller=null}updateDuration(e,t){this._currentMediaSourceDurationUpdateCanceller!==null&&this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=new W;let r=this._mediaSource,i=this._currentMediaSourceDurationUpdateCanceller.signal,a=nf(r,i),o=new W;o.linkToSignal(i),a.onUpdate(s,{emitCurrentValue:!0,clearSignal:i});function s(){if(o.cancel(),!a.getValue())return;o=new W,o.linkToSignal(i);let u=tf(r.sourceBuffers,o.signal),d=new W;return d.linkToSignal(o.signal),u.onUpdate(f=>{d.cancel(),d=new W,d.linkToSignal(o.signal),!f&&Vs(r,e,t,d.signal)},{clearSignal:o.signal,emitCurrentValue:!0})}}stopUpdating(){this._currentMediaSourceDurationUpdateCanceller!==null&&(this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=null)}};function ef(n,e,t){let r=e;t||(r=Ca()?1/0:Ws(e));let i=0;for(let a=0;a<n.sourceBuffers.length;a++){let o=n.sourceBuffers[a],s=o.buffered.length;s>0&&(i=Math.max(o.buffered.end(s-1)))}if(r===n.duration)return\"success\";if(i>r){if(i<n.duration)try{m.info(\"Init: Updating duration to what is currently buffered\",i),n.duration=i}catch(a){return m.warn(\"Duration Updater: Can't update duration on the MediaSource.\",a instanceof Error?a:\"\"),\"failed\"}return\"partial\"}else{let a=n.duration;try{if(m.info(\"Init: Updating duration\",r),n.duration=r,n.readyState===\"open\"&&!isFinite(r)){let s=Ws(e);m.info(\"Init: calling `mediaSource.setLiveSeekableRange`\",s),n.setLiveSeekableRange(0,s)}}catch(s){return m.warn(\"Duration Updater: Can't update duration on the MediaSource.\",s instanceof Error?s:\"\"),\"failed\"}let o=Math.abs(n.duration-r);if(o>=.1){let s=Math.abs(n.duration-a);return o<s?\"partial\":\"failed\"}return\"success\"}}function tf(n,e){if(n.length===0){let i=new K(!1);return i.finish(),i}let t=new K(!1,e);r();for(let i=0;i<n.length;i++){let a=n[i];a.addEventListener(\"updatestart\",r),a.addEventListener(\"update\",r),e.register(()=>{a.removeEventListener(\"updatestart\",r),a.removeEventListener(\"update\",r)})}return t;function r(){for(let i=0;i<n.length;i++)if(n[i].updating){t.setValueIfChanged(!0);return}t.setValueIfChanged(!1)}}function nf(n,e){let t=new K(n.readyState===\"open\",e);return Nt(n,()=>{m.debug(\"Init: Reacting to MediaSource open in duration updater\"),t.setValueIfChanged(!0)},e),mr(n,()=>{m.debug(\"Init: Reacting to MediaSource ended in duration updater\"),t.setValueIfChanged(!1)},e),cr(n,()=>{m.debug(\"Init: Reacting to MediaSource close in duration updater\"),t.setValueIfChanged(!1)},e),t}function Vs(n,e,t,r){if(ef(n,e,t)===\"success\")return;let a=setTimeout(()=>{o(),Vs(n,e,t,r)},2e3),o=r.register(()=>{clearTimeout(a)})}function Ws(n){return Math.max(Math.pow(2,32),n+Jl)}var Wn=class extends le{constructor(e){if(super(),this.id=e,this.sourceBuffers=[],this._canceller=new W,v(nn))throw new Y(\"MEDIA_SOURCE_NOT_SUPPORTED\",\"No MediaSource Object was found in the current browser.\");m.info(\"Init: Creating MediaSource\");let t=new nn,r=t.handle;this.handle=v(r)?{type:\"media-source\",value:t}:{type:\"handle\",value:r},this._mediaSource=t,this.readyState=t.readyState,this._durationUpdater=new zn(t),this._endOfStreamCanceller=null,Nt(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceOpen\",null)},this._canceller.signal),mr(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceEnded\",null)},this._canceller.signal),cr(t,()=>{this.readyState=t.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 Aa(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 W,this._endOfStreamCanceller.linkToSignal(this._canceller.signal),m.debug(\"Init: end-of-stream order received.\"),zs(this._mediaSource,this._endOfStreamCanceller.signal))}stopEndOfStream(){this._endOfStreamCanceller!==null&&(m.debug(\"Init: resume-stream order received.\"),this._endOfStreamCanceller.cancel(),this._endOfStreamCanceller=null)}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),rf(this._mediaSource)}},Aa=class{constructor(e,t,r){this.type=e,this.codec=t,this._canceller=new W,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 m.debug(\"SBI: receiving order to push data to the SourceBuffer\",this.type),this._addToQueue({operationName:0,params:e})}remove(e,t){return m.debug(\"SBI: receiving order to remove data from the SourceBuffer\",this.type,e,t),this._addToQueue({operationName:1,params:[e,t]})}getBuffered(){try{return la(this._sourceBuffer.buffered)}catch(e){return m.error(\"Failed to get buffered time range of SourceBuffer\",this.type,e instanceof Error?e:null),[]}}abort(){try{this._sourceBuffer.abort()}catch(e){m.debug(\"Init: Failed to abort SourceBuffer:\",e instanceof Error?e:null)}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)m.error(\"SBI: error for an unknown operation\",t);else{let i=new Ce(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(la(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=G({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 c=this._operationQueue[0],g=(r=u.appendWindow)!=null?r:[void 0,void 0],p=(i=c.params[1].appendWindow)!=null?i:[void 0,void 0],h=(a=u.timestampOffset)!=null?a:0,b=(o=c.params[1].timestampOffset)!=null?o:0;if(g[0]===p[0]&&g[1]===p[1]&&u.codec===c.params[1].codec&&h===b){let y=c.params[0],E;y instanceof ArrayBuffer?E=new Uint8Array(y):y instanceof Uint8Array?E=y:E=new Uint8Array(y.buffer),l.push(E),this._operationQueue.splice(0,1),this._currentOperations.push({operationName:0,resolve:c.resolve,reject:c.reject})}else break}l.length>1&&(m.info(`MMSI: Merging ${l.length} segments together for perf`,this.type),d=Et(...l))}try{this._appendBufferNow(d,u)}catch(f){let l=f instanceof Error?new Ce(f.name,f.message,f.name===\"QuotaExceededError\"):new Ce(\"Error\",\"Unknown SourceBuffer Error during appendBuffer\",!1);this._currentOperations.forEach(c=>{c.reject(l)}),this._currentOperations=[],this._performNextOperation()}}else{this._currentOperations=[e];let[s,u]=e.params;m.debug(\"SBI: removing data from SourceBuffer\",this.type,s,u);try{this._sourceBuffer.remove(s,u)}catch(d){let f=d instanceof Error?new Ce(d.name,d.message,!1):new Ce(\"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&&(m.debug(\"SBI: updating codec\",i),va(r,i)?this.codec=i:m.debug(\"SBI: could not update codec\",i,this.codec)),a!==void 0&&r.timestampOffset!==a){let s=a;m.debug(\"SBI: updating timestampOffset\",i,r.timestampOffset,s),r.timestampOffset=s}if(o[0]===void 0)r.appendWindowStart>0&&(m.debug(\"SBI: re-setting `appendWindowStart` to `0`\"),r.appendWindowStart=0);else if(o[0]!==r.appendWindowStart){if(o[0]>=r.appendWindowEnd){let s=o[0]+1;m.debug(\"SBI: pre-updating `appendWindowEnd`\",s),r.appendWindowEnd=s}m.debug(\"SBI: setting `appendWindowStart`\",o[0]),r.appendWindowStart=o[0]}o[1]===void 0?r.appendWindowEnd!==1/0&&(m.debug(\"SBI: re-setting `appendWindowEnd` to `Infinity`\"),r.appendWindowEnd=1/0):o[1]!==r.appendWindowEnd&&(m.debug(\"SBI: setting `appendWindowEnd`\",o[1]),r.appendWindowEnd=o[1]),m.debug(\"SBI: pushing segment\",this.type),r.appendBuffer(e)}};function rf(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\"){m.info(\"Init: Aborting SourceBuffer before removing\");try{i.abort()}catch(a){}}m.info(\"Init: Removing SourceBuffer from mediaSource\"),n.removeSourceBuffer(i)}catch(a){}}t.length>0&&m.info(\"Init: Not all SourceBuffers could have been removed.\")}}var af=Ae(),Hr=Ae(),qs=1/0,Vn=class extends le{constructor(e,t,r){super(),this.id=e,this.sourceBuffers=[],this._canceller=new W,this.readyState=\"closed\",this._messageSender=r;let i=af();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 xa(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})}},xa=class{constructor(e,t,r,i){this.type=e,this.codec=t,this._canceller=new W,this._mediaSourceId=r,this._queuedOperations=[],this._pendingOperations=new Map,this._messageSender=i}onOperationSuccess(e,t){let r=this._pendingOperations.get(e);r===void 0?m.warn(\"SBI: unknown SourceBuffer operation succeeded\"):(this._pendingOperations.delete(e),r.resolve(t)),this._performNextQueuedOperationIfItExists()}onOperationFailure(e,t){let r=t.errorName===\"CancellationError\"?new ue:new Ce(t.errorName,t.message,t.isBufferFull),i=this._pendingOperations.get(e);i===void 0?m.info(\"SBI: 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>=qs){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=Hr();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>=qs){this._queuedOperations.push({operationName:1,params:[e,t],resolve:r,reject:i});return}try{let a=Hr();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=Hr();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=Hr();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 ka(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 Le=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 qn=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 Le(5),o.addSample(t,i),this._currentRepresentationData={representation:e,ewma:o,loadedDuration:r,loadedSegments:0}),o.getEstimate()>1&&this._lastRepresentationWithGoodScore!==e&&(m.debug(\"ABR: New last stable representation\",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 Hs=6e3,of=15e3,sf=3e3,uf=1e3,df=9e3,Hn=class{constructor(e){this._levelsMap=ka(e).map(t=>t+4),this._bitrates=e,this._lastUnsuitableQualityTimestamp=void 0,this._blockRaiseDelay=Hs,m.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;p<r.length;p++){let h=r[p];if(h===a)u=p;else if(h>a)break}if(u<0||r.length!==t.length){m.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(f<t[u]||d!==void 0&&d<1&&(o==null?void 0:o.confidenceLevel)===1){if((this._lastUnsuitableQualityTimestamp===void 0?-1:l-this._lastUnsuitableQualityTimestamp)<this._blockRaiseDelay+df){let b=this._blockRaiseDelay+sf;this._blockRaiseDelay=Math.min(b,of),m.debug(\"ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality\",this._blockRaiseDelay)}else{let b=this._blockRaiseDelay-uf;this._blockRaiseDelay=Math.max(Hs,b),m.debug(\"ABR: Lowering quality in BufferBasedChooser\",this._blockRaiseDelay)}this._lastUnsuitableQualityTimestamp=l;let h=re(r,b=>b===a);for(let b=h-1;b>=0;b--)if(f>=t[b]){this._currentEstimate=r[b];return}this._currentEstimate=r[0];return}if(this._lastUnsuitableQualityTimestamp!==void 0&&l-this._lastUnsuitableQualityTimestamp<this._blockRaiseDelay||d===void 0||d<1.15||(o==null?void 0:o.confidenceLevel)!==1){this._currentEstimate=a;return}let c=t[u],g=(()=>{for(let p=u+1;p<t.length;p++)if(t[p]>c)return p})();if(g!==void 0){let p=t[g];if(i>=p){m.debug(\"ABR: Raising quality in BufferBasedChooser\",r[g]),this._currentEstimate=r[g];return}}this._currentEstimate=a}getLastEstimate(){return this._currentEstimate}};function lf(n,e){let t=-1;for(let o=0;o<n.length;o++){let{segment:s}=n[o].content;if(s.duration<=0)continue;let u=s.time+s.duration;if(!s.complete&&o===n.length-1&&e-s.time>-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;o<n.length&&n[o].content.segment.time===i;o++)a.push(n[o]);return a}function Gr(n){if(n.progress.length<5)return;let e=new Le(2),{progress:t}=n;for(let r=1;r<t.length;r++){let i=t[r].size-t[r-1].size,a=t[r].timestamp-t[r-1].timestamp,o=i*8/(a/1e3);e.addSample(a/1e3,o)}return e.getEstimate()}function Gs(n,e){let t=(n.totalSize-n.size)*8;return Math.max(t/e,0)}function ff(n,e,t,r,i){if(r)return;let{bufferGap:a,speed:o,position:s}=e,u=isFinite(a)?a:0,d=s.getWanted()+u,f=lf(n,d);if(f.length!==1)return;let l=f[0],c=L(),g=l.content.segment.duration*1.5;if(g=Math.min(g,3e3),g=Math.max(g,12e3),c-l.requestTimestamp<g)return;let p=l.progress.length>0?l.progress[l.progress.length-1]:void 0,h=Gr(l);if(p!==void 0&&h!==void 0){let C=Gs(p,h);if((c-p.timestamp)/1e3<=C&&C-u/o>2500)return h}if(!l.content.segment.complete)return;let b=l.content.segment.duration,y=(c-l.requestTimestamp)/1e3,E=y<=(b*1.5+2)/o;if(v(t)||E)return;let P=b/y,_=t.bitrate*Math.min(.7,P);if(i===void 0||_<i)return _}function cf(n,e,t){if(t)return!0;let r=isFinite(n.bufferGap)?n.bufferGap:0,i=n.position.getWanted()+r,a=Q(e,({content:l})=>l.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=Gr(a);if(s===void 0||u===void 0)return!0;let d=Gs(s,u);return(o-s.timestamp)/1e3>d*1.2?!0:d-r/n.speed>-1.5}var Gn=class{constructor(e,t){let{ABR_STARVATION_GAP:r,OUT_OF_STARVATION_GAP:i,ABR_STARVATION_FACTOR:a,ABR_REGULAR_FACTOR:o}=F.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,c=isFinite(d)?d:0,{ABR_STARVATION_DURATION_DELTA:g}=F.getCurrent();return isNaN(l)||c+f.getWanted()<l-g?!this._inStarvationMode&&c<=u.starvationGap?(m.info(\"ABR: enter starvation mode.\"),this._inStarvationMode=!0):this._inStarvationMode&&c>=u.outOfStarvationGap&&(m.info(\"ABR: exit starvation mode.\"),this._inStarvationMode=!1):this._inStarvationMode&&(m.info(\"ABR: exit starvation mode.\"),this._inStarvationMode=!1),this._inStarvationMode&&(s=ff(i,e,r,this._lowLatencyMode,a),s!==void 0&&(m.info(\"ABR: starvation mode emergency estimate:\",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:cf(i,r,this._lowLatencyMode)}};var Kn=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 jn=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=Ks(e,r);if(l!==null)return l}return null}if(this._isLastGuessValidated(u,i,d)&&(m.debug(\"ABR: Guessed Representation validated\",u.bitrate),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),mf(e,r);if(d===void 0)return r;if(this._canGuessHigher(o,s,d)){let l=Ks(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=Gr(s);if(d!==void 0&&d<e.bitrate*.8)return!0}}}return!1}_isLastGuessValidated(e,t,r){return r!==void 0&&r.confidenceLevel===1&&r.score>1.5?!0:t>=e.bitrate&&(this._lastMaintanableBitrate===null||this._lastMaintanableBitrate<e.bitrate)}};function Ks(n,e){let t=n.length,r=re(n,({id:i})=>i===e.id);if(r<0)return m.error(\"ABR: Current Representation not found.\"),null;for(;++r<t;)if(n[r].bitrate>e.bitrate)return n[r];return null}function mf(n,e){let t=re(n,({id:r})=>r===e.id);if(t<0)return m.error(\"ABR: Current Representation not found.\"),null;for(;--t>=0;)if(n[t].bitrate<e.bitrate)return n[t];return null}var Qn=class{constructor(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=F.getCurrent();this._fastEWMA=new Le(e),this._slowEWMA=new Le(t),this._bytesSampled=0}addSample(e,t){let{ABR_MINIMUM_CHUNK_SIZE:r}=F.getCurrent();if(t<r)return;let i=t*8e3/e,a=e/1e3;this._bytesSampled+=t,this._fastEWMA.addSample(a,i),this._slowEWMA.addSample(a,i)}getEstimate(){let{ABR_MINIMUM_TOTAL_BYTES:e}=F.getCurrent();if(!(this._bytesSampled<e))return Math.min(this._fastEWMA.getEstimate(),this._slowEWMA.getEstimate())}reset(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=F.getCurrent();this._fastEWMA=new Le(e),this._slowEWMA=new Le(t),this._bytesSampled=0}};function Ma(n,e){if(n.length===0)return[];n.sort((a,o)=>a.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 Oa(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=Q(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 Yn=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\");m.warn(\"ABR: progress for a request not added\");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\");m.warn(\"ABR: can't remove unknown request\")}delete this._currentRequests[e]}getRequests(){return br(this._currentRequests).filter(e=>!v(e)).sort((e,t)=>e.content.segment.time-t.content.segment.time)}};function Kr(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 js=new K(void 0);js.finish();var Qs=new K(1/0);Qs.finish();function wa(n){let e={},{initialBitrates:t,throttlers:r,lowLatencyMode:i}=n;return function(s,u,d,f,l){var b,y,E;let{type:c}=s.adaptation,g=a(c),p=(b=t[c])!=null?b:0,h={limitResolution:(y=r.limitResolution[c])!=null?y:js,throttleBitrate:(E=r.throttleBitrate[c])!=null?E:Qs};return pf({bandwidthEstimator:g,context:s,currentRepresentation:u,filters:h,initialBitrate:p,playbackObserver:f,representations:d,lowLatencyMode:i},l)};function a(o){let s=e[o];if(v(s)){m.debug(\"ABR: Creating new BandwidthEstimator for \",o);let u=new Qn;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 qn,f=new Gn(i!=null?i:0,a),l=new Yn,c=D,g={metrics:E,requestBegin:P,requestProgress:_,requestEnd:C,addedSegment(R){c(R)}},p=new W;p.linkToSignal(u);let h=b(s.getValue(),p.signal);return s.onUpdate(y,{clearSignal:u}),{estimates:h,callbacks:g};function b(R,M){if(R.length<=1)return new K({bitrate:void 0,representation:R[0],urgent:!0,knownStableBitrate:void 0});let A=!1,T=R.sort((V,X)=>V.bitrate-X.bitrate),x=new Hn(T.map(V=>V.bitrate)),O=new Kn,w=new jn(d,O),B=o.getReference().getValue(),k=new K(U());return o.listen(V=>{B=V,N()},{includeLastObservation:!1,clearSignal:M}),c=function(V){if(B===null)return;let{position:X,speed:j}=B,H=V.buffered,q=Br(H,X.getWanted()),{representation:Z}=V.content,de=d.getEstimate(Z),me=Z.bitrate,ie={bufferGap:q,currentBitrate:me,currentScore:de,speed:j};x.onAddedSegment(ie),N()},M.register(()=>{c=D}),r.throttleBitrate.onUpdate(N,{clearSignal:M}),r.limitResolution.onUpdate(N,{clearSignal:M}),k;function N(){k.setValue(U())}function U(){let{bufferGap:V,position:X,maximumPosition:j}=B,H=r.limitResolution.getValue(),q=r.throttleBitrate.getValue(),Z=t.getValue(),de=gf(T,H,q),me=l.getRequests(),{bandwidthEstimate:ie,bitrateChosen:Ge}=f.getBandwidthEstimate(B,n,Z,me,O.bandwidth),ke=d.getLastStableRepresentation(),fe=ke===null?void 0:ke.bitrate/(B.speed>0?B.speed:1),{ABR_ENTER_BUFFER_BASED_ALGO:Te,ABR_EXIT_BUFFER_BASED_ALGO:Yt}=F.getCurrent();A&&V<=Yt?A=!1:!A&&isFinite(V)&&V>=Te&&(A=!0);let Ke=Kr(de,Ge),Me=x.getLastEstimate(),Ot=Ke.bitrate,ut=null;A&&Me!==void 0&&Me>Ot&&(ut=Kr(de,Me),Ot=ut.bitrate);let dt=null;return a&&Z!==null&&e.manifest.isDynamic&&j-X.getWanted()<40&&(dt=w.getGuess(T,B,Z,Ot,me)),dt!==null&&dt.bitrate>Ot?(m.debug(\"ABR: Choosing representation with guess-based estimation.\",dt.bitrate,dt.id),O.update(dt,ie,2),{bitrate:ie,representation:dt,urgent:Z===null||dt.bitrate<Z.bitrate,knownStableBitrate:fe}):ut!==null?(m.debug(\"ABR: Choosing representation with buffer-based estimation.\",ut.bitrate,ut.id),O.update(ut,ie,0),{bitrate:ie,representation:ut,urgent:f.isUrgent(ut.bitrate,Z,me,B),knownStableBitrate:fe}):(m.debug(\"ABR: Choosing representation with bandwidth estimation.\",Ke.bitrate,Ke.id),O.update(Ke,ie,1),{bitrate:ie,representation:Ke,urgent:f.isUrgent(Ke.bitrate,Z,me,B),knownStableBitrate:fe})}}function y(){let R=s.getValue();p.cancel(),p=new W,p.linkToSignal(u),b(R,p.signal).onUpdate(function(T){h.setValue(T)},{clearSignal:p.signal,emitCurrentValue:!0})}function E(R){let{requestDuration:M,segmentDuration:A,size:T,content:x}=R;if(n.addSample(M,T),!x.segment.isInit){let{segment:O,representation:w}=x;if(A===void 0&&!O.complete)return;let B=A!=null?A:O.duration;d.addSample(w,M/1e3,B)}}function P(R){l.add(R)}function _(R){l.addProgress(R)}function C(R){l.remove(R.id)}}function gf(n,e,t){let r=n;return t!==void 0&&t<1/0&&(r=Ma(r,t)),e!==void 0&&(r=Oa(r,e)),r}var Ys=wa;function jr(){var t;if(typeof((t=ae.crypto)==null?void 0:t.randomUUID)==\"function\")return ae.crypto.randomUUID();let n=new Date().getTime(),e=L();return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(r){let i=Math.random()*16;return n>0?(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 hf=4,$n=class{constructor(e){var t,r;this._sessionId=(t=e.sessionId)!=null?t:jr(),this._contentId=(r=e.contentId)!=null?r:jr(),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 W,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,c=zo(f,l);c!==null&&(c!==\".\"&&(r.nor=encodeURIComponent(c)),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 c of f)if(l>=c.start&&l<c.end){i=(c.end-l)*1e3,r.bl=Math.floor(Math.round(i/100)*100);break}}}let a=i===void 0||t===void 0?void 0:i/t.speed;if(r.dl=a===void 0?void 0:Math.floor(Math.round(a/100)*100),a!==void 0){let l=e.representation.bitrate*e.segment.duration/1e3/(a/1e3);r.rtp=Math.floor(Math.round(l*hf/100)*100)}switch(e.manifest.transport){case\"dash\":r.sf=\"d\";break;case\"smooth\":r.sf=\"s\";break;default:r.sf=\"o\";break}return r.st=e.manifest.isDynamic?\"l\":\"v\",r.tb=e.adaptation.representations.reduce((f,l)=>l.isSupported!==!0||l.decipherable===!1?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 c=`${d}=${String(l)},`;i(c,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 c=`prop=${l},`;i(c,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)),m.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),m.debug(\"CMCD: proposing query string payload\",r),{type:\"query\",value:[[\"CMCD\",r]]})}};var $s=$n;function st(n){return n instanceof se?new Qe(\"PIPELINE_LOAD_ERROR\",n):ye(n,{defaultCode:\"PIPELINE_LOAD_ERROR\",defaultReason:\"Unknown error when fetching the Manifest\"})}function If(n){return n instanceof se?n.type===yt.ERROR_HTTP_CODE?n.status>=500||n.status===404||n.status===415||n.status===412:n.type===yt.TIMEOUT||n.type===yt.ERROR_EVENT:n instanceof je?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:Dt(n)&&n.code===\"INTEGRITY_ERROR\"}async function Da(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&&m.warn(\"Fetchers: no CDN given to `scheduleRequestWithCdns`.\");let d=new Map,f=l();if(f===void 0)throw new Error(\"No CDN to request\");return c(f);function l(){if(n===null){let b=d.get(null);return b!==void 0&&b.isBlacklisted?void 0:null}else{if(e===null)return h(n);{let b=e.getCdnPreferenceForResource(n);return h(b)}}}async function c(b){try{return await t(b,i)}catch(y){if(W.isCancellationError(y))throw y;b!==null&&e!==null&&e.downgradeCdn(b);let E=d.get(b);if(E===void 0?(E={errorCounter:1,blockedUntil:void 0,isBlacklisted:!1},d.set(b,E)):E.errorCounter++,!If(y))return E.blockedUntil=void 0,E.isBlacklisted=!0,g(y);if(E.errorCounter>s)E.blockedUntil=void 0,E.isBlacklisted=!0;else{let P=E.errorCounter,_=Math.min(a*Math.pow(2,P-1),o),C=Ii(_);E.blockedUntil=L()+C}return g(y)}}async function g(b){let y=l();if(i.isCancelled())throw i.cancellationError;if(y===void 0)throw b;if(u(b),i.isCancelled())throw i.cancellationError;return p(y,b)}function p(b,y){let E=d.get(b);if(E===void 0||E.blockedUntil===void 0)return c(b);let P=L(),_=E.blockedUntil-P;if(_<=0)return c(b);let C=new W,R=C.linkToSignal(i);return new Promise((M,A)=>{e==null||e.addEventListener(\"priorityChange\",()=>{let O=l();if(i.isCancelled())throw i.cancellationError;if(O===void 0)return x(y);O!==b&&(C.cancel(),p(O,y).then(T,x))},C.signal),rn(_,C.signal).then(()=>c(b).then(T,x),D);function T(O){R(),M(O)}function x(O){R(),A(O)}})}function h(b){var E;if(d.size===0)return b[0];let y=L();return(E=b.filter(P=>{var _;return((_=d.get(P))==null?void 0:_.isBlacklisted)!==!0}).reduce((P,_)=>{var R;let C=(R=d.get(_))==null?void 0:R.blockedUntil;return C!==void 0&&C<=y&&(C=void 0),P===void 0?[_,C]:P[1]===void 0?P:C===void 0?[_,void 0]:C<P[1]?[_,C]:P},void 0))==null?void 0:E[0]}}function Na(n,e,t){return Da(null,null,n,e,t)}var Xn=class extends le{constructor(e,t,r){super(),this.scheduleManualRefresh=D,this._manifestUrls=e,this._pipelines=t.manifest,this._transportName=t.transportName,this._settings=r,this._canceller=new W,this._isStarted=!1,this._isRefreshPending=!1,this._consecutiveUnsafeMode=0,this._prioritizedContentUrl=null}dispose(){this._canceller.cancel(),this.removeEventListener()}start(){if(this._isStarted)return;this._isStarted=!0;let e,t=this._settings.initialManifest;t instanceof Lt?e=Promise.resolve({manifest:t}):t!==void 0?e=this.parse(t,{previousManifest:null,unsafeMode:!1},void 0):e=this._fetchManifest(void 0).then(r=>r.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\",st(f))});try{let f=await u(o);return{parse:l=>this._parseLoadedManifest(f,l,o)}}catch(f){throw st(f)}function u(f){var b;let{loadManifest:l}=a,c=r.requestTimeout===void 0?F.getCurrent().DEFAULT_REQUEST_TIMEOUT:r.requestTimeout,g=r.connectionTimeout===void 0?F.getCurrent().DEFAULT_CONNECTION_TIMEOUT:r.connectionTimeout;c<0&&(c=void 0),g<0&&(g=void 0);let p={timeout:c,connectionTimeout:g,cmcdPayload:(b=r.cmcdDataBuilder)==null?void 0:b.getCmcdDataForManifest(i)};return Na(()=>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 h;let i=L(),a=this._canceller.signal,o=this.trigger.bind(this),{sendingTime:s,receivedTime:u}=e,d=this._getBackoffSetting(b=>{this.trigger(\"warning\",st(b))}),f=r!=null?r:(h=this._manifestUrls)==null?void 0:h[0],l={externalClockOffset:t.externalClockOffset,unsafeMode:t.unsafeMode,previousManifest:t.previousManifest,originalUrl:f};try{let b=this._pipelines.parseManifest(e,l,g,a,c);if(bf(b)){let{manifest:y,warnings:E}=await b;return p(y,E)}else return p(b.manifest,b.warnings)}catch(b){throw ye(b,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"})}async function c(b){try{return await Na(b,d,a)}catch(y){throw st(y)}}function g(b){for(let y of b){if(a.isCancelled())return;let E=ye(y,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"});o(\"warning\",E)}}function p(b,y){g(y);let E=L()-i;return m.info(`MF: Manifest parsed in ${E}ms`),{manifest:b,sendingTime:s,receivedTime:u,parsingTime:E}}}_getBackoffSetting(e){let{DEFAULT_MAX_MANIFEST_REQUEST_RETRY:t,INITIAL_BACKOFF_DELAY_BASE:r,MAX_BACKOFF_DELAY_BASE:i}=F.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}=F.getCurrent(),s=r!==void 0?r+(i!=null?i:0):void 0,u=!1;this._consecutiveUnsafeMode>0?u=this._consecutiveUnsafeMode<a:s!==void 0&&(u=s>=o);let d=t===void 0?0:L()-t,f=Math.max(this._settings.minimumManifestUpdateInterval-d,0),l=new W;if(l.linkToSignal(this._canceller.signal),this.scheduleManualRefresh=c=>{let{enablePartialRefresh:g,delay:p,canUseUnsafeMode:h}=c,b=h&&u,y=t===void 0?0:L()-t,E=Math.max(this._settings.minimumManifestUpdateInterval-y,0),P=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:g,unsafeMode:b})},Math.max((p!=null?p:0)-y,E));l.signal.register(()=>{clearTimeout(P)})},e.expired!==null){let c=setTimeout(()=>{var g;(g=e.expired)==null||g.then(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:u})},D)},f);l.signal.register(()=>{clearTimeout(c)})}if(e.lifetime!==void 0&&e.lifetime>=0){let c=e.lifetime*1e3-d,g;s===void 0?g=c:e.lifetime<3&&s>=100?(g=Math.min(Math.max(3e3-d,Math.max(c,0)+s),c*6),m.info(\"MUS: Manifest update rythm is too frequent. Postponing next request.\",c,g)):s>=e.lifetime*1e3/10?(g=Math.min(Math.max(c,0)+s,c*6),m.info(\"MUS: Manifest took too long to parse. Postponing next request\",g,g)):g=c;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,m.info('Init: Refreshing the Manifest in \"unsafeMode\" for the '+String(this._consecutiveUnsafeMode)+\" consecutive time.\")):this._consecutiveUnsafeMode>0&&(m.info('Init: 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,c=L();if(a)e.replace(d);else try{e.update(d)}catch(p){let h=p instanceof Error?p.message:\"unknown error\";m.warn(`MUS: Attempt to update Manifest failed: ${h}`,\"Re-downloading the Manifest fully\");let{FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:b}=F.getCurrent(),y=f===void 0?0:L()-f,E=Math.max(this._settings.minimumManifestUpdateInterval-y,0),P=D,_=setTimeout(()=>{P(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:!1})},Math.max(b-y,E));P=this._canceller.signal.register(()=>{clearTimeout(_)});return}let g=L()-c;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 bf(n){return n instanceof Promise}var Ba=Xn;var Zn=class extends le{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=Xs(this._downgradedCdnList.metadata,e);t>=0&&this._removeIndexFromDowngradeList(t);let{DEFAULT_CDN_DOWNGRADE_TIME:r}=F.getCurrent(),i=r;this._downgradedCdnList.metadata.push(e);let a=setTimeout(()=>{let o=Xs(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 Xs(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 Ua(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){m.warn(\"Fetchers: Cannot update the priority of a request: task not found.\");return}n.updatePriority(a,i)}}}var La=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}},Zs=La;var Sf=Ae();function Fa({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=ge([\"audio\",\"video\"],n)?new Zs:void 0,{loadSegment:d,parseSegment:f}=e;return async function(c,g,p){var X,j,H;let{segment:h,adaptation:b,representation:y,manifest:E,period:P}=c,_=_t(c),C=Sf(),R,M=[],A=0,T=!1,x={segment:h,type:b.type,language:b.language,isLive:E.isLive,periodStart:P.start,periodEnd:P.end,mimeType:y.mimeType,codecs:y.codecs[0],manifestPublishTime:E.publishTime},O={onProgress(q){var Z;R===void 0&&q.totalSize!==void 0&&q.size<q.totalSize&&((Z=i.onProgress)==null||Z.call(i,{duration:q.duration,size:q.size,totalSize:q.totalSize,timestamp:L(),id:C}))},onNewChunk(q){g.onChunk(N(q,!0))}},w=u!==void 0?u.get(c):null;if(w!==null)return m.debug(\"SF: Found wanted segment in cache\",_),g.onChunk(N(w,!1)),Promise.resolve();m.debug(\"SF: Beginning request\",_),(X=i.onRequestBegin)==null||X.call(i,{requestTimestamp:L(),id:C,content:c}),p.register(B);try{let q=await Da(c.representation.cdnMetadata,t,k,G({onRetry:U},a),p);if(q.resultType===\"segment-loaded\"){let Z=q.resultData.responseData;u!==void 0&&u.add(c,q.resultData.responseData),g.onChunk(N(Z,!1))}else q.resultType===\"segment-created\"&&g.onChunk(N(q.resultData,!1));m.debug(\"SF: Segment request ended with success\",_),g.onAllChunksReceived(),q.resultType!==\"segment-created\"?(R=q.resultData,V()):R=null,p.isCancelled()||(j=i.onRequestEnd)==null||j.call(i,{id:C}),p.deregister(B)}catch(q){throw p.deregister(B),R=null,q instanceof ue?(m.debug(\"SF: Segment request aborted\",_),q):(m.debug(\"SF: Segment request failed\",_),(H=i.onRequestEnd)==null||H.call(i,{id:C}),st(q))}function B(){var q;R===void 0&&(m.debug(\"SF: Segment request cancelled\",_),R=null,(q=i.onRequestEnd)==null||q.call(i,{id:C}))}function k(q){return s.cmcdPayload=r==null?void 0:r.getCmcdDataForSegmentRequest(c),d(q,x,s,p,O)}function N(q,Z){M.push(!1);let de=M.length-1;return function(ie){let Ge={data:q,isChunked:Z};try{let ke=f(Ge,x,ie);return M[de]||(A=A!==void 0&&ke.segmentType===\"media\"&&ke.chunkInfos!==null&&ke.chunkInfos.duration!==void 0?A+ke.chunkInfos.duration:void 0,M[de]=!0,V()),ke}catch(ke){throw ye(ke,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown parsing error\"})}}}function U(q){g.onRetry(st(q))}function V(){var q;T||!v(R)&&R.size!==void 0&&R.requestDuration!==void 0&&M.length>0&&M.every(Z=>Z)&&(T=!0,(q=i.onMetrics)==null||q.call(i,{size:R.size,requestDuration:R.requestDuration,content:c,segmentDuration:A}))}}}function Js({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}=F.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 Jn=class extends le{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 K({initSegment:null,segmentQueue:[]}),i=new W;i.signal.register(()=>{r.finish()});let a={content:e,downloadQueue:r,initSegmentInfoRef:t?new K(void 0):new K(null),currentCanceller:i,initSegmentRequest:null,mediaSegmentRequest:null,mediaSegmentAwaitingInitMetadata:null};return this._currentContentInfo=a,this.isMediaSegmentQueueInterrupted.onUpdate(s=>{s||(m.debug(\"SQ: Media segment can be loaded again, restarting queue.\",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;m.debug(\"SQ: no more media segment to request. Cancelling queue.\",e.adaptation.type),this._restartMediaSegmentDownloadingQueue(a);return}else if(d===null){m.debug(\"SQ: Media segments now need to be requested. Starting queue.\",e.adaptation.type,u.length),this._restartMediaSegmentDownloadingQueue(a);return}else{let f=u[0];if(d.segment.id!==f.segment.id){m.debug(\"SQ: Next media segment changed, cancelling previous\",e.adaptation.type),this._restartMediaSegmentDownloadingQueue(a);return}d.priority!==f.priority&&(m.debug(\"SQ: Priority of next media segment changed, updating\",e.adaptation.type,d.priority,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&&m.debug(\"SQ: no more init segment to request. Cancelling queue.\",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()){m.debug(\"SQ: 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 W,f=a===null?D:d.linkToSignal(a.signal),{segment:l,priority:c}=u,g=G({segment:l,nextSegment:(P=s[1])==null?void 0:P.segment},r),p=!1,h=!1;d.signal.register(()=>{e.mediaSegmentRequest=null,!p&&(e.mediaSegmentAwaitingInitMetadata===l.id&&(e.mediaSegmentAwaitingInitMetadata=null),p=!0,h=!1)});let b=_=>{ce(_.segmentType===\"media\",\"Should have loaded a media segment.\"),this.trigger(\"parsedMediaSegment\",G({},_,{segment:l}))},y=()=>{let _=t.getValue().segmentQueue;if(_.length===0){p=!0,this.trigger(\"emptyQueue\",null);return}else _[0].segment.id===l.id&&_.shift();p=!0,o()},E=this._segmentFetcher.createRequest(g,c,{onRetry:_=>{this.trigger(\"requestRetry\",{segment:l,error:_})},beforeInterrupted(){m.info(\"SQ: segment request interrupted temporarly.\",l.id,l.time)},onChunk:_=>{let C=i.getValue();C!==void 0?b(_(C!=null?C:void 0)):(h=!0,i.waitUntilDefined(R=>{b(_(R!=null?R:void 0))},{clearSignal:d.signal}))},onAllChunksReceived:()=>{h?(e.mediaSegmentAwaitingInitMetadata=l.id,i.waitUntilDefined(()=>{e.mediaSegmentAwaitingInitMetadata=null,h=!1,this.trigger(\"fullyLoadedSegment\",l)},{clearSignal:d.signal})):this.trigger(\"fullyLoadedSegment\",l)},beforeEnded:()=>{f(),e.mediaSegmentRequest=null,h?i.waitUntilDefined(y,{clearSignal:d.signal}):y()}},d.signal);E.catch(_=>{f(),p||(p=!0,this.stop(),this.trigger(\"error\",_))}),e.mediaSegmentRequest={segment:l,priority:c,request:E,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 W,o=e.currentCanceller===null?D:a.linkToSignal(e.currentCanceller.signal),{segment:s,priority:u}=t,d=G({segment:s,nextSegment:void 0},r),f=!1,l=this._segmentFetcher.createRequest(d,u,{onRetry:c=>{this.trigger(\"requestRetry\",{segment:s,error:c})},beforeInterrupted:()=>{m.info(\"SQ: init segment request interrupted temporarly.\",s.id)},beforeEnded:()=>{o(),e.initSegmentRequest=null,f=!0},onChunk:c=>{var p;let g=c(void 0);ce(g.segmentType===\"init\",\"Should have loaded an init segment.\"),this.trigger(\"parsedInitSegment\",G({},g,{segment:s})),g.segmentType===\"init\"&&i.setValue((p=g.initTimescale)!=null?p:null)},onAllChunksReceived:()=>{this.trigger(\"fullyLoadedSegment\",s)}},a.signal);l.catch(c=>{o(),f||(f=!0,this.stop(),this.trigger(\"error\",c))}),a.signal.register(()=>{e.initSegmentRequest=null,!f&&(f=!0)}),e.initSegmentRequest={segment:s,priority:u,request:l,canceller:a}}};var tr=class{constructor({prioritySteps:e}){if(this._minPendingPriority=null,this._waitingQueue=[],this._pendingTasks=[],this._prioritySteps=e,this._prioritySteps.high>=this._prioritySteps.low)throw new Error(\"TP: the max high level priority should be given a lowerpriority number than the min low priority.\")}create(e,t,r,i){let a;return Tt(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)},c=new W,g=c.linkToSignal(i);a.interrupter=c,c.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(c.signal).then(f).catch(p=>{!i.isCancelled()&&c.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=er(e.taskFn,this._waitingQueue);if(t>=0)this._waitingQueue.splice(t,1);else{let r=er(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=er(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=er(e,this._pendingTasks);if(i<0){m.warn(\"TP: 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||t<this._minPendingPriority?this._minPendingPriority=t:this._minPendingPriority===o&&(this._pendingTasks.length===1?this._minPendingPriority=t:this._minPendingPriority=Math.min(...this._pendingTasks.map(s=>s.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<e))for(let t=0;t<this._waitingQueue.length;t++){let r=this._minPendingPriority===null?e:Math.min(this._minPendingPriority,e);this._waitingQueue[t].priority<=r&&(this._findAndRunWaitingQueueTask(t),t--)}}_interruptCancellableTasks(){for(let e of this._pendingTasks)if(e.priority>=this._prioritySteps.low)return this._interruptPendingTask(e),this._interruptCancellableTasks()}_findAndRunWaitingQueueTask(e){return e>=this._waitingQueue.length||e<0?(m.warn(\"TP : Tried to start a non existing task\"),!1):(this._waitingQueue.splice(e,1)[0].trigger(),!0)}_interruptPendingTask(e){var r;let t=er(e.taskFn,this._pendingTasks);if(t<0){m.warn(\"TP: 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 er(n,e){return re(e,t=>t.taskFn===n)}var nr=class{constructor(e,t,r,i){let a=new Zn(i),{MIN_CANCELABLE_PRIORITY:o,MAX_HIGH_PRIORITY_LEVEL:s}=F.getCurrent();this._transport=e,this._prioritizer=new tr({prioritySteps:{high:s,low:o}}),this._cdnPrioritizer=a,this._backoffOptions=r,this._cmcdDataBuilder=t}createSegmentQueue(e,t,r){let i=Js(this._backoffOptions),a=this._transport[e],o=Fa({bufferType:e,pipeline:a,cdnPrioritizer:this._cdnPrioritizer,cmcdDataBuilder:this._cmcdDataBuilder,eventListeners:t,requestOptions:i}),s=Ua(this._prioritizer,o);return new Jn(s,r)}};var za=nr;var rr=class{constructor(e){this._segmentSinksStore=e,this._currentFreezeTimestamp=null}needToReload(e){let{readyState:t,rebuffering:r,freezing:i}=e;if((e.bufferGap!==void 0&&isFinite(e.bufferGap)?e.bufferGap:0)<6||r===null&&i===null||t>1)return this._currentFreezeTimestamp=null,!1;let o=L();this._currentFreezeTimestamp===null&&(this._currentFreezeTimestamp=o);let s=r!==null&&o-r.timestamp>4e3,u=i!==null&&o-i.timestamp>4e3;if((s||u)&&L()-this._currentFreezeTimestamp>4e3){let d=this._segmentSinksStore.getStatus(\"audio\"),f=this._segmentSinksStore.getStatus(\"video\"),l=!0,c=!0;for(let g of[d,f])if(g.type===\"initialized\")for(let p of g.value.getLastKnownInventory()){let{representation:h}=p.infos;if(h.decipherable===!1)return m.warn(\"Init: we have undecipherable segments left in the buffer, reloading\"),this._currentFreezeTimestamp=null,!0;h.contentProtections!==void 0&&(c=!1,h.decipherable!==!0&&(l=!1))}if(!c&&l)return m.warn(\"Init: we are frozen despite only having decipherable segments left in the buffer, reloading\"),this._currentFreezeTimestamp=null,!0}return!1}};var{DEFAULT_WANTED_BUFFER_AHEAD:yf,DEFAULT_MAX_VIDEO_BUFFER_SIZE:Tf,DEFAULT_MAX_BUFFER_AHEAD:Ef,DEFAULT_MAX_BUFFER_BEHIND:_f}=F.getCurrent(),Wa=new K(yf),Va=new K(Tf),qa=new K(Ef),Ha=new K(_f),Qr=new K({height:void 0,width:void 0,pixelRatio:1}),Yr=new K(1/0);function $(n,e){m.debug(\"<--- Sending to Main:\",n.type),e===void 0?postMessage(n):postMessage(n,e)}function De(n){return ye(n,{defaultCode:\"NONE\",defaultReason:\"An unknown error stopped content playback.\"}).serialize()}var ir=class{constructor(){this._refs=new Map}reset(){var e,t,r,i,a,o,s,u,d,f,l,c;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(),(c=(l=this._refs.get(g))==null?void 0:l.text)==null||c.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&&(m.warn(\"WP: Track for periodId already declared\",e,t),(s=i[t])==null||s.trackReference.finish(),(u=i[t])==null||u.representations.finish());let a=r.getValue(),o;v(a)?o=new K({representationIds:[],switchingMode:\"lazy\"}):(o=new K(a.representations.getValue()),r.setValue(G({},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?(m.debug(\"WP: Setting track for inexistent periodId\",e,t),!1):(v(r)?(i.representations=new K({representationIds:[],switchingMode:\"lazy\"}),i.trackReference.setValue(r)):(i.representations=new K(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 m.debug(\"WP: Setting track for inexistent periodId\",e,r),!1;let o=a.trackReference.getValue();return v(o)||o.adaptationId!==t?(m.debug(\"WP: Desynchronized Adaptation id\",o==null?void 0:o.adaptationId,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?(m.debug(\"WP: Removing track setter for inexistent periodId\",e,t),!1):(i.trackReference.finish(),i.representations.finish(),delete r[t],Object.keys(r).length===0&&this._refs.delete(e),!0)}};var ar=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){m.error(\"WMS: pushTextData success for inexistant operation\");return}t.resolve(e)}onPushedTrackError(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData error for inexistant operation\");return}t.reject(e)}onRemoveSuccess(e){let t=this._queues.remove.shift();if(t===void 0){m.error(\"WMS: remove success for inexistant operation\");return}t.resolve(e)}onRemoveError(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData error for inexistant operation\");return}t.reject(e)}};var eu=Ae(),Qt=class{constructor({hasMseInWorker:e,hasVideo:t}){this._currentContent=null,this._currentMediaSourceCanceller=new W,this._hasVideo=t,this._hasMseInWorker=e;let r=new W;this._contentCanceller=r}initializeNewContent(e){return new Promise((t,r)=>{var A,T;this.disposeCurrentContent();let i=this._contentCanceller,a=new W;this._currentMediaSourceCanceller=a,a.linkToSignal(i.signal);let{contentId:o,url:s,hasText:u,transportOptions:d}=e,f=null;ce(Oe.transports.dash!==void 0,\"Multithread RxPlayer should have access to the DASH feature\");let l=typeof d.representationFilter==\"string\"?Oo(d.representationFilter):void 0,c=Oe.transports.dash(oe(J({},d),{representationFilter:l})),g=e.cmcd===void 0?null:new $s(e.cmcd),p=new Ba(s===void 0?void 0:[s],c,J({cmcdDataBuilder:g},e.manifestRetryOptions)),h=Ys({initialBitrates:{audio:(A=e.initialAudioBitrate)!=null?A:0,video:(T=e.initialVideoBitrate)!=null?T:0},lowLatencyMode:d.lowLatencyMode,throttlers:{limitResolution:{video:Qr},throttleBitrate:{video:Yr}}}),b=a.signal.register(x=>{r(x)}),y=new za(c,g,e.segmentRetryOptions,i.signal),E=new ir,[P,_,C]=tu(o,{hasMseInWorker:this._hasMseInWorker,hasVideo:this._hasVideo,hasText:u},a.signal),R=new rr(_);this._currentContent={cmcdDataBuilder:g,contentId:o,decipherabilityFreezeDetector:R,mediaSource:P,manifest:null,manifestFetcher:p,representationEstimator:h,segmentSinksStore:_,segmentQueueCreator:y,workerTextSender:C,trackChoiceSetter:E},P.addEventListener(\"mediaSourceOpen\",function(){M()},a.signal),i.signal.register(()=>{p.dispose()}),p.addEventListener(\"warning\",x=>{$({type:\"warning\",contentId:o,value:De(x)})},i.signal),p.addEventListener(\"manifestReady\",x=>{if(f!==null){m.warn(\"WP: Multiple `manifestReady` events, ignoring\");return}f=x,this._currentContent!==null&&(this._currentContent.manifest=f),M()},a.signal),p.addEventListener(\"error\",x=>{r(x)},i.signal),p.start();function M(){if(f===null||P.readyState===\"closed\"||a.isUsed())return;let x=f.getMetadataSnapshot();f.addEventListener(\"manifestUpdate\",O=>{if(f===null)return;let w=G(f.getMetadataSnapshot(),{periods:[]});$({type:\"manifest-update\",contentId:o,value:{manifest:w,updates:O}})},i.signal),b(),t(x)}})}getCurrentContent(){return this._currentContent}scheduleManifestRefresh(e){var t;(t=this._currentContent)==null||t.manifestFetcher.scheduleManualRefresh(e)}reloadMediaSource(e){if(this._currentMediaSourceCanceller.cancel(),this._currentContent===null)return Promise.reject(new Error(\"CP: No content anymore\"));this._currentContent.trackChoiceSetter.reset(),this._currentMediaSourceCanceller=new W,$({type:\"reloading-media-source\",contentId:this._currentContent.contentId,value:e},[]);let[t,r,i]=tu(this._currentContent.contentId,{hasMseInWorker:this._hasMseInWorker,hasVideo:this._hasVideo,hasText:this._currentContent.workerTextSender!==null},this._currentMediaSourceCanceller.signal);return this._currentContent.mediaSource=t,this._currentContent.segmentSinksStore=r,this._currentContent.workerTextSender=i,new Promise((a,o)=>{t.addEventListener(\"mediaSourceOpen\",function(){a()},this._currentMediaSourceCanceller.signal),t.addEventListener(\"mediaSourceClose\",function(){o(new Error(\"MediaSource ReadyState changed to close during init.\"))},this._currentMediaSourceCanceller.signal),this._currentMediaSourceCanceller.signal.register(s=>{o(s)})})}disposeCurrentContent(){this._contentCanceller.cancel(),this._contentCanceller=new W}};function tu(n,e,t){let r;if(e.hasMseInWorker){let s=new Wn(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 Vn(eu(),n,$);let i=e.hasText?new ar(n,$):null,{hasVideo:a}=e,o=new St(r,a,i);return t.register(()=>{o.disposeAll(),i==null||i.stop(),r.dispose()}),[r,o,i]}function Ga(){let n=!1,e=new Qt({hasMseInWorker:!1,hasVideo:!0}),t=null,r=new fs;Oe.dashParsers.wasm=r,Oe.dashParsers.fastJs=Xo,Oe.transports.dash=Ss;let i=null;ae.onmessageerror=a=>{m.error(\"MTCI: Error when receiving message from main thread.\")},onmessage=function(a){var s,u;m.debug(\"Worker: received message\",a.data.type);let o=a.data;switch(o.type){case\"init\":ce(!n),n=!0,$a(o.value),nu(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\";m.error(\"Worker: Could not initialize DASH_WASM parser\",f)}),(!o.value.hasVideo||o.value.hasMseInWorker)&&(e.disposeCurrentContent(),e=new Qt({hasMseInWorker:o.value.hasMseInWorker,hasVideo:o.value.hasVideo})),$({type:\"init-success\",value:null});break;case\"log-level-update\":nu(o.value.logLevel,o.value.logFormat,o.value.sendBackLogs);break;case\"prepare\":Rf(e,o.value);break;case\"start\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;t!==null&&(t.cancel(),t=null);let f=new W,l=new K(G(o.value.initialObservation,{position:new xt(...o.value.initialObservation.position)}));i=l,t=f,t.signal.register(()=>{l.finish()}),ru(o.value,e,l,f.signal);break}case\"observation\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;let f=o.value,{buffered:l}=f,c=Pa(d.mediaSource,null);c.audio!==null&&(l.audio=c.audio),c.video!==null&&(l.video=c.video),i==null||i.setValue(G(f,{position:new xt(...o.value.position)}));break}case\"ref-update\":Pf(o);break;case\"stop\":if(o.contentId!==((s=e.getCurrentContent())==null?void 0:s.contentId))return;e.disposeCurrentContent(),t!==null&&(t.cancel(),t=null);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=Q(f,c=>c.type===o.sourceBufferType);if(l===void 0){m.info(\"WP: Success for an unknown SourceBuffer\",o.sourceBufferType);return}if(l.onOperationSuccess===void 0){m.warn(\"WP: A SourceBufferInterface with MSE performed a cross-thread operation\",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=Q(f,c=>c.type===o.sourceBufferType);if(l===void 0){m.info(\"WP: Error for an unknown SourceBuffer\",o.sourceBufferType);return}if(l.onOperationFailure===void 0){m.warn(\"WP: A SourceBufferInterface with MSE performed a cross-thread operation\",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){m.warn(\"WP: 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 c of f)if(l.representation.uniqueId===c.representationUniqueId)return c.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:De(l)})}catch(l){$({type:\"error\",contentId:d.contentId,value:De(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){m.error(\"WP: 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){m.error(\"WP: 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){m.error(\"WP: 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){m.error(\"WP: 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\":{vf(e,o.value.messageId);break}case\"config-update\":{F.update(o.value);break}default:ze(o)}}}function Rf(n,e){n.initializeNewContent(e).then(t=>{$({type:\"manifest-ready\",contentId:e.contentId,value:{manifest:t}})},t=>{$({type:\"error\",contentId:e.contentId,value:De(t)})})}function Pf(n){switch(n.value.name){case\"wantedBufferAhead\":Wa.setValueIfChanged(n.value.newVal);break;case\"maxVideoBufferSize\":Va.setValueIfChanged(n.value.newVal);break;case\"maxBufferBehind\":Ha.setValueIfChanged(n.value.newVal);break;case\"maxBufferAhead\":qa.setValueIfChanged(n.value.newVal);break;case\"limitVideoResolution\":Qr.setValueIfChanged(n.value.newVal);break;case\"throttleVideoBitrate\":Yr.setValueIfChanged(n.value.newVal);break;default:ze(n.value)}}function ru(n,e,t,r){var A;let i=new W;i.linkToSignal(r);let a=new Map,o=e.getCurrentContent();if(o===null||o.manifest===null){let T=new Se(\"NONE\",\"Loading content when none is prepared\");$({type:\"error\",contentId:void 0,value:De(T)});return}let{contentId:s,cmcdDataBuilder:u,manifest:d,mediaSource:f,representationEstimator:l,segmentSinksStore:c,segmentQueueCreator:g}=o,{drmSystemId:p,enableFastSwitching:h,initialTime:b,onCodecSwitch:y}=n;if(t.onUpdate(T=>{o.decipherabilityFreezeDetector.needToReload(T)&&M({timeOffset:0,minimumPosition:0,maximumPosition:1/0}),[\"video\",\"audio\",\"text\"].forEach(x=>{var w;let O=c.getStatus(x);O.type===\"initialized\"&&O.value.synchronizeInventory((w=T.buffered[x])!=null?w:[])})},{clearSignal:i.signal}),((A=d.getPeriodForTime(b))!=null?A:d.getNextPeriod(b))===void 0){let T=new Y(\"MEDIA_STARTING_TIME_NOT_FOUND\",\"Wanted starting time not found in the Manifest.\");$({type:\"error\",contentId:s,value:De(T)});return}let P=new Pn(t,s,$,i.signal);u==null||u.startMonitoringPlayback(P),i.signal.register(()=>{u==null||u.stopMonitoringPlayback()});let _=Ra(d,f,P,c,{onWarning:T=>$({type:\"warning\",contentId:s,value:De(T)}),onPeriodChanged:T=>{$({type:\"active-period-changed\",contentId:s,value:{periodId:T.id}})}},i.signal);Fs({initialPeriod:d.periods[0],manifest:d},P,l,c,g,{wantedBufferAhead:Wa,maxVideoBufferSize:Va,maxBufferAhead:qa,maxBufferBehind:Ha,drmSystemId:p,enableFastSwitching:h,onCodecSwitch:y},C(),i.signal);function C(){return{needsBufferFlush(T){$({type:\"needs-buffer-flush\",contentId:s,value:T})},streamStatusUpdate(T){R(T),d.isLastPeriodKnown&&T.period.id===d.periods[d.periods.length-1].id&&(T.hasFinishedLoading||T.isEmptyStream?_.onLastSegmentFinishedLoading(T.bufferType):_.onLastSegmentLoadingResume(T.bufferType))},needsManifestRefresh(){e.scheduleManifestRefresh({enablePartialRefresh:!0,canUseUnsafeMode:!0})},manifestMightBeOufOfSync(){let{OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:T}=F.getCurrent();e.scheduleManifestRefresh({enablePartialRefresh:!1,canUseUnsafeMode:!1,delay:T})},lockedStream(T){$({type:\"locked-stream\",contentId:s,value:{periodId:T.period.id,bufferType:T.bufferType}})},adaptationChange(T){var x,O;_.onAdaptationChange(T.type,T.period,T.adaptation),!i.signal.isCancelled()&&$({type:\"adaptation-changed\",contentId:s,value:{adaptationId:(O=(x=T.adaptation)==null?void 0:x.id)!=null?O:null,periodId:T.period.id,type:T.type}})},representationChange(T){var x,O;_.onRepresentationChange(T.type,T.period),!i.signal.isCancelled()&&$({type:\"representation-changed\",contentId:s,value:{adaptationId:T.adaptation.id,representationId:(O=(x=T.representation)==null?void 0:x.id)!=null?O:null,periodId:T.period.id,type:T.type}})},inbandEvent(T){$({type:\"inband-event\",contentId:s,value:T})},warning(T){$({type:\"warning\",contentId:s,value:De(T)})},periodStreamReady(T){o!==null&&(o.trackChoiceSetter.addTrackSetter(T.period.id,T.type,T.adaptationRef),$({type:\"period-stream-ready\",contentId:s,value:{periodId:T.period.id,bufferType:T.type}}))},periodStreamCleared(T){if(o===null)return;let x=a.get(T.period);x!==void 0&&(x.delete(T.type),x.size===0&&a.delete(T.period)),_.onPeriodCleared(T.type,T.period),o.trackChoiceSetter.removeTrackSetter(T.period.id,T.type),$({type:\"period-stream-cleared\",contentId:s,value:{periodId:T.period.id,bufferType:T.type}})},bitrateEstimateChange(T){var x;o!==null&&((x=o.cmcdDataBuilder)==null||x.updateThroughput(T.type,T.bitrate)),$({type:\"bitrate-estimate-change\",contentId:s,value:{bitrate:T.bitrate,bufferType:T.type}})},needsMediaSourceReload(T){M(T)},needsDecipherabilityFlush(){$({type:\"needs-decipherability-flush\",contentId:s,value:null})},encryptionDataEncountered(T){for(let x of T){let O=x.content,w=J({},O);w.manifest instanceof Lt&&(w.manifest=w.manifest.getMetadataSnapshot()),w.period instanceof mt&&(w.period=w.period.getMetadataSnapshot()),w.adaptation instanceof lt&&(w.adaptation=w.adaptation.getMetadataSnapshot()),w.representation instanceof tn&&(w.representation=w.representation.getMetadataSnapshot()),$({type:\"encryption-data-encountered\",contentId:s,value:{keyIds:x.keyIds,values:x.values,content:w,type:x.type}})}},error(T){$({type:\"error\",contentId:s,value:De(T)})}}}function R(T){let{imminentDiscontinuity:x}=T,O=a.get(T.period),w=O==null?void 0:O.get(T.bufferType);if(w!==void 0){if(w.discontinuity===null){if(x===null)return}else if(x!==null&&w.discontinuity.start===x.start&&w.discontinuity.end===x.end)return}O===void 0&&(O=new Map,a.set(T.period,O));let B={periodId:T.period.id,bufferType:T.bufferType,discontinuity:T.imminentDiscontinuity,position:T.position};O.set(T.bufferType,B),$({type:\"discontinuity-update\",contentId:s,value:B})}function M(T){let O=t.getValue().position.getWanted();i!==null&&i.cancel(),e.reloadMediaSource(T).then(()=>{ru({initialTime:O,drmSystemId:n.drmSystemId,enableFastSwitching:n.enableFastSwitching,onCodecSwitch:n.onCodecSwitch},e,t,r)},w=>{if(W.isCancellationError(w)){m.info(\"WP: A reloading operation was cancelled\");return}$({type:\"error\",contentId:s,value:De(w)})})}}function nu(n,e,t){t?m.setLevel(n,\"standard\",(r,i)=>{let a=i.map(o=>o instanceof Error?De(o):o);postMessage({type:\"log\",value:{logLevel:r,logs:a}})}):m.setLevel(n,e)}function vf(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,messageId:e}})}var iu=Ga;iu();})();\n" + "})()"], { type: "application/javascript" });
|
|
4
|
+
var blob = new Blob(["(function(){" + "\"use strict\";(()=>{var cu=Object.defineProperty,mu=Object.defineProperties;var pu=Object.getOwnPropertyDescriptors;var $a=Object.getOwnPropertySymbols;var gu=Object.prototype.hasOwnProperty,hu=Object.prototype.propertyIsEnumerable;var Xa=(n,e,t)=>e in n?cu(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ee=(n,e)=>{for(var t in e||(e={}))gu.call(e,t)&&Xa(n,t,e[t]);if($a)for(var t of $a(e))hu.call(e,t)&&Xa(n,t,e[t]);return n},oe=(n,e)=>mu(n,pu(e));var I={PRODUCTION:0,DEV:1,CURRENT_ENV:0};var Za={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_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,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\"],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\"},Ja=Za;function bu(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 G=typeof Object.assign==\"function\"?Object.assign:bu;function Zr(n){return n!=null&&!Array.isArray(n)&&typeof n==\"object\"}function $t(n,...e){if(e.length===0)return n;let t=e.shift();if(Zr(n)&&Zr(t))for(let r in t)if(Zr(t[r])){let i=n[r];i===void 0&&(i={},n[r]=i),$t(i,t[r])}else G(n,{[r]:t[r]});return $t(n,...e)}function v(n){return n==null}var le=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 Jr=class extends le{constructor(){super(...arguments);this.updated=!1;this._config=Ja}update(t){let r=$t(this._config,t);this._config=r,this.updated=!0,this.trigger(\"update\",t)}getCurrent(){return this._config}},Su=new Jr,F=Su;var je=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;i<r;i++)if(e.call(t,n[i],i,n))return i;return-1}function D(){}var sr=class{constructor(e,t){this._value=e,this._listeners=[],this._isFinished=!1,this._onFinishCbs=[],t!==void 0&&(this._deregisterCancellation=t.register(()=>this.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 Xt(n,e,t){let r=new sr(e(n.getValue()),t);return n.onUpdate(function(a){r.setValue(e(a))},{clearSignal:t}),n._onFinished(()=>{r.finish()},t),r}var j=sr;var ei=new j(0);function eo({date:n,timestamp:e}){let t=n-e,r=typeof performance!=\"undefined\"?Date.now()-performance.now():0;ei.setValueIfChanged(r-t)}var yu=typeof performance!=\"undefined\"?()=>performance.now()+ei.getValue():()=>Date.now()+ei.getValue(),L=yu;var Tu=\"NONE\",Zt=class extends le{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=Tu}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)=>{let l=L();return d(String(l.toFixed(2)),`[${u}]`,...f)}:(u,d)=>d;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)=>r(d,f):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]}};var Eu=new Zt,m=Eu;var wt=typeof WorkerGlobalScope!=\"undefined\"&&self instanceof WorkerGlobalScope;var _u=typeof window==\"undefined\"&&!wt,ur=_u;var dr;wt?dr=self:ur?dr=global:dr=window;var ae=dr;var se=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}}},Ee={TIMEOUT:\"TIMEOUT\",ERROR_EVENT:\"ERROR_EVENT\",ERROR_HTTP_CODE:\"ERROR_HTTP_CODE\",PARSE_ERROR:\"PARSE_ERROR\"};var ti=typeof Headers==\"function\"?Headers:null,ni=typeof AbortController==\"function\"?AbortController:null;function lr(n){var c,g;let e;if(!v(n.headers))if(v(ti))e=n.headers;else{e=new ti;let p=Object.keys(n.headers);for(let h=0;h<p.length;h++){let b=p[h];e.append(b,n.headers[b])}}m.debug(\"Fetch: Called with URL\",n.url);let t=null,r=!1,i=!1,a=L(),o=v(ni)?null:new ni;function s(){if(v(o)){m.warn(\"Fetch: AbortController API not available.\");return}o.abort()}let u;n.timeout!==void 0&&(u=setTimeout(()=>{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(h){t=h,s()}),l={method:\"GET\"};if(e!==void 0&&(l.headers=e),l.signal=v(o)?null:o.signal,m.hasLevel(\"DEBUG\")){let p=\"FETCH: Sending GET \"+n.url;n.timeout!==void 0&&(p+=\" to=\"+String(n.timeout/1e3)),n.connectionTimeout!==void 0&&(p+=\" cto=\"+String(n.connectionTimeout/1e3)),((c=n.headers)==null?void 0:c.Range)!==void 0&&(p+=\" Range=\"+((g=n.headers)==null?void 0:g.Range)),m.debug(p)}return fetch(n.url,l).then(p=>{if(d!==void 0&&clearTimeout(d),p.status>=300)throw m.warn(\"Fetch: Request HTTP Error\",p.status,p.url),new se(p.url,p.status,Ee.ERROR_HTTP_CODE);if(v(p.body))throw new se(p.url,p.status,Ee.PARSE_ERROR);let h=p.headers.get(\"Content-Length\"),b=!v(h)&&!isNaN(+h)?+h:void 0,y=p.body.getReader(),E=0;return P();async function P(){let _=await y.read();if(!_.done&&!v(_.value)){E+=_.value.byteLength;let C=L(),R={url:p.url,currentTime:C,duration:C-a,sendingTime:a,chunkSize:_.value.byteLength,chunk:_.value.buffer,size:E,totalSize:b};return n.onData(R),P()}else if(_.done){u!==void 0&&clearTimeout(u),f();let C=L();return{requestDuration:C-a,receivedTime:C,sendingTime:a,size:E,status:p.status,url:p.url}}return P()}}).catch(p=>{throw t!==null?t:(f(),r?(m.warn(\"Fetch: Request timed out.\"),new se(n.url,0,Ee.TIMEOUT)):i?(m.warn(\"Fetch: Request connection timed out.\"),new se(n.url,0,Ee.TIMEOUT)):p instanceof se?p:(m.warn(\"Fetch: Request Error\",p instanceof Error?p.toString():\"\"),new se(n.url,0,Ee.ERROR_EVENT)))})}function Jt(){return typeof ae.fetch==\"function\"&&!v(ni)&&!v(ti)}function K(n){return typeof n==\"string\"&&n.length>0}var Ru=\"json\";function ri(n){let e={url:n.url,headers:n.headers,responseType:v(n.responseType)?Ru: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 c;d!==void 0&&(l.timeout=d,c=setTimeout(()=>{b(),r(new se(o,l.status,Ee.TIMEOUT))},d+3e3));let g;if(f!==void 0&&(g=setTimeout(()=>{b(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(new se(o,l.status,Ee.TIMEOUT))},f)),l.responseType=u,l.responseType===\"document\"&&l.overrideMimeType(\"text/xml\"),!v(s)){let y=s;for(let E in y)y.hasOwnProperty(E)&&l.setRequestHeader(E,y[E])}let p=L(),h=null;if(a!==void 0&&(h=a.register(function(E){b(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(E)}),a.isCancelled()))return;if(l.onerror=function(){b(),r(new se(o,l.status,Ee.ERROR_EVENT))},l.ontimeout=function(){b(),r(new se(o,l.status,Ee.TIMEOUT))},f!==void 0&&(l.onreadystatechange=function(){l.readyState>=XMLHttpRequest.HEADERS_RECEIVED&&clearTimeout(g)}),i!==void 0&&(l.onprogress=function(E){let P=L();i({url:o,duration:P-p,sendingTime:p,currentTime:P,size:E.loaded,totalSize:E.total})}),l.onload=function(E){if(l.readyState===XMLHttpRequest.DONE)if(b(),l.status>=200&&l.status<300){let P=L(),_=l.response instanceof ArrayBuffer?l.response.byteLength:E.total,C=l.status,R=l.responseType,M=K(l.responseURL)?l.responseURL:o,A;if(R===\"json\"?A=typeof l.response==\"object\"?l.response:Pu(l.responseText):A=l.response,v(A)){r(new se(o,l.status,Ee.PARSE_ERROR));return}t({status:C,url:M,responseType:R,sendingTime:p,receivedTime:P,requestDuration:P-p,size:_,responseData:A})}else r(new se(o,l.status,Ee.ERROR_HTTP_CODE))},m.hasLevel(\"DEBUG\")){let y=\"XHR: Sending GET \"+o;n.responseType!==void 0&&(y+=\" type=\"+n.responseType),d!==void 0&&(y+=\" to=\"+String(d/1e3)),f!==void 0&&(y+=\" cto=\"+String(f/1e3)),(s==null?void 0:s.Range)!==void 0&&(y+=\" Range=\"+(s==null?void 0:s.Range)),m.debug(y)}l.send();function b(){c!==void 0&&clearTimeout(c),g!==void 0&&clearTimeout(g),h!==null&&h()}})}function Pu(n){try{return JSON.parse(n)}catch(e){return null}}var he=ri;var yt=Ee,Fe={NETWORK_ERROR:\"NETWORK_ERROR\",MEDIA_ERROR:\"MEDIA_ERROR\",ENCRYPTED_MEDIA_ERROR:\"ENCRYPTED_MEDIA_ERROR\",OTHER_ERROR:\"OTHER_ERROR\"};function Ze(n,e){return`${n}: ${e}`}var en=class n extends Error{constructor(e,t,r){super(Ze(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"EncryptedMediaError\",this.type=Fe.ENCRYPTED_MEDIA_ERROR,this.code=e,this._originalMessage=t,this.fatal=!1,typeof(r==null?void 0:r.keyStatuses)==\"string\"&&(this.keyStatuses=r.keyStatuses)}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage,keyStatuses:this.keyStatuses}}};var $=class n extends Error{constructor(e,t,r){super(Ze(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"MediaError\",this.type=Fe.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{name:this.name,code:this.code,reason:this._originalMessage,tracks:this.tracksInfo}}};var Ye=class n extends Error{constructor(e,t){super(Ze(e,t.message)),Object.setPrototypeOf(this,n.prototype),this.name=\"NetworkError\",this.type=Fe.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===yt.ERROR_HTTP_CODE&&this.status===e}serialize(){return{name:this.name,code:this.code,baseError:this._baseError.serialize()}}};var Se=class n extends Error{constructor(e,t){super(Ze(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"OtherError\",this.type=Fe.OTHER_ERROR,this.code=e,this.fatal=!1,this._originalMessage=t}serialize(){return{name:this.name,code:this.code,reason:this._originalMessage}}};function Dt(n){return(n instanceof en||n instanceof $||n instanceof Se||n instanceof Ye)&&Object.keys(Fe).indexOf(n.type)>=0}function ye(n,{defaultCode:e,defaultReason:t}){if(Dt(n))return n;let r=n instanceof Error?n.toString():t;return new Se(e,r)}var Ce=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 vu={dashParsers:{wasm:null,native:null,fastJs:null},createDebugElement:null,directfile:null,decrypt:null,htmlTextDisplayer:null,htmlTextTracksParsers:{},mainThreadMediaSourceInit:null,multithread:null,nativeTextDisplayer:null,nativeTextTracksParsers:{},transports:{}},to=vu;var Oe=to;function Q(n,e,t){if(typeof Array.prototype.find==\"function\")return n.find(e,t);let r=n.length>>>0;for(let i=0;i<r;i++){let a=n[i];if(e.call(t,a,i,n))return a}}var Cu={aa:\"aar\",ab:\"abk\",ae:\"ave\",af:\"afr\",ak:\"aka\",am:\"amh\",an:\"arg\",ar:\"ara\",as:\"asm\",av:\"ava\",ay:\"aym\",az:\"aze\",ba:\"bak\",be:\"bel\",bg:\"bul\",bi:\"bis\",bm:\"bam\",bn:\"ben\",bo:\"bod\",br:\"bre\",bs:\"bos\",ca:\"cat\",ce:\"che\",ch:\"cha\",co:\"cos\",cr:\"cre\",cs:\"ces\",cu:\"chu\",cv:\"chv\",cy:\"cym\",da:\"dan\",de:\"deu\",dv:\"div\",dz:\"dzo\",ee:\"ewe\",el:\"ell\",en:\"eng\",eo:\"epo\",es:\"spa\",et:\"est\",eu:\"eus\",fa:\"fas\",ff:\"ful\",fi:\"fin\",fj:\"fij\",fo:\"fao\",fr:\"fra\",fy:\"fry\",ga:\"gle\",gd:\"gla\",gl:\"glg\",gn:\"grn\",gu:\"guj\",gv:\"glv\",ha:\"hau\",he:\"heb\",hi:\"hin\",ho:\"hmo\",hr:\"hrv\",ht:\"hat\",hu:\"hun\",hy:\"hye\",hz:\"her\",ia:\"ina\",id:\"ind\",ie:\"ile\",ig:\"ibo\",ii:\"iii\",ik:\"ipk\",io:\"ido\",is:\"isl\",it:\"ita\",iu:\"iku\",ja:\"jpn\",jv:\"jav\",ka:\"kat\",kg:\"kon\",ki:\"kik\",kj:\"kua\",kk:\"kaz\",kl:\"kal\",km:\"khm\",kn:\"kan\",ko:\"kor\",kr:\"kau\",ks:\"kas\",ku:\"kur\",kv:\"kom\",kw:\"cor\",ky:\"kir\",la:\"lat\",lb:\"ltz\",lg:\"lug\",li:\"lim\",ln:\"lin\",lo:\"lao\",lt:\"lit\",lu:\"lub\",lv:\"lav\",mg:\"mlg\",mh:\"mah\",mi:\"mri\",mk:\"mkd\",ml:\"mal\",mn:\"mon\",mr:\"mar\",ms:\"msa\",mt:\"mlt\",my:\"mya\",na:\"nau\",nb:\"nob\",nd:\"nde\",ne:\"nep\",ng:\"ndo\",nl:\"nld\",nn:\"nno\",no:\"nor\",nr:\"nbl\",nv:\"nav\",ny:\"nya\",oc:\"oci\",oj:\"oji\",om:\"orm\",or:\"ori\",os:\"oss\",pa:\"pan\",pi:\"pli\",pl:\"pol\",ps:\"pus\",pt:\"por\",qu:\"que\",rm:\"roh\",rn:\"run\",ro:\"ron\",ru:\"rus\",rw:\"kin\",sa:\"san\",sc:\"srd\",sd:\"snd\",se:\"sme\",sg:\"sag\",si:\"sin\",sk:\"slk\",sl:\"slv\",sm:\"smo\",sn:\"sna\",so:\"som\",sq:\"sqi\",sr:\"srp\",ss:\"ssw\",st:\"sot\",su:\"sun\",sv:\"swe\",sw:\"swa\",ta:\"tam\",te:\"tel\",tg:\"tgk\",th:\"tha\",ti:\"tir\",tk:\"tuk\",tl:\"tgl\",tn:\"tsn\",to:\"ton\",tr:\"tur\",ts:\"tso\",tt:\"tat\",tw:\"twi\",ty:\"tah\",ug:\"uig\",uk:\"ukr\",ur:\"urd\",uz:\"uzb\",ve:\"ven\",vi:\"vie\",vo:\"vol\",wa:\"wln\",wo:\"wol\",xh:\"xho\",yi:\"yid\",yo:\"yor\",za:\"zha\",zh:\"zho\",zu:\"zul\"},no=Cu;var Au={alb:\"sqi\",arm:\"hye\",baq:\"eus\",bur:\"mya\",chi:\"zho\",cze:\"ces\",dut:\"nld\",fre:\"fra\",geo:\"kat\",ger:\"deu\",gre:\"ell\",ice:\"isl\",mac:\"mkd\",mao:\"mri\",may:\"msa\",per:\"fas\",slo:\"slk\",rum:\"ron\",tib:\"bod\",wel:\"cym\"},ro=Au;function xu(n){if(v(n)||n===\"\")return\"und\";let t=(\"\"+n).toLowerCase().split(\"-\")[0],r=ku(t);return K(r)?r:n}function ku(n){let e;switch(n.length){case 2:e=no[n];break;case 3:e=ro[n];break}return e}var io=xu;var ao=io;function fr(n,e){if(n.length!==e.length)return!1;if(n===e)return!0;for(let t=n.length-1;t>=0;t--)if(n[t]!==e[t])return!1;return!0}function ii(n){return Object.keys(n).map(e=>n[e])}var cr=typeof Object.values==\"function\"?Object.values:ii;var Nt=[\"audio\",\"video\",\"text\"];function so(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 uo(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 lo(n){let{maximumTimeData:e}=n.timeBounds;if(!e.isLinear)return e.maximumSafePosition;let t=L()-e.time;return e.maximumSafePosition+t/1e3}function fo(n,e){if(e===void 0)return oi(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 co(n,e){let t=null;for(let r of n.periods){if(ai(r,e,t))return r;t=r}}function mo(n,e){let t=e.end;if(t===void 0)return null;let r=Q(n.periods,i=>i.end===void 0||t<i.end);return r===void 0?null:r}function ai(n,e,t){return e>=n.start&&(n.end===void 0||e<n.end)?!0:e===n.end&&(t===null||t.start>n.end)}function oi(n){let e=n.adaptations;return ii(e).reduce((t,r)=>v(r)?t:t.concat(r),[])}function Mu(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=>tn(a)):n.representations).map(Du),label:n.label};return n.isDub===!0&&(t.dub=!0),t}function Ou(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 wu(n,e){let t=n.trickModeTracks!==void 0?n.trickModeTracks.map(i=>{let a=(e?i.representations.filter(s=>tn(s)===!0):i.representations).map(oo),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=>tn(i)===!0):n.representations).map(oo),label:n.label};return n.isSignInterpreted===!0&&(r.signInterpreted=!0),n.isTrickModeTrack===!0&&(r.isTrickModeTrack=!0),t!==void 0&&(r.trickModeTracks=t),r}function Du(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 oo(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 lt(n){switch(n.type){case\"audio\":return{type:\"audio\",track:Mu(n,!1)};case\"video\":return{type:\"video\",track:wu(n,!1)};case\"text\":return{type:\"text\",track:Ou(n)}}}function tn(n){return n.decipherable===!1?!1:n.isSupported}function po(n){return new Function(`return (${n}(arguments[0], arguments[1]))`)}function Ae(){let n=\"\",e=-1;return function(){return e++,e>=Number.MAX_SAFE_INTEGER&&(n+=\"0\",e=0),n+String(e)}}var Nu=Ae(),si=class{constructor(e,t,r){var a,o,s,u,d;this.id=e.id,this.uniqueId=Nu(),this.bitrate=e.bitrate,this.codecs=[],this.trackType=t,e.isSpatialAudio!==void 0&&(this.isSpatialAudio=e.isSpatialAudio),e.height!==void 0&&(this.height=e.height),e.width!==void 0&&(this.width=e.width),e.mimeType!==void 0&&(this.mimeType=e.mimeType),e.contentProtections!==void 0&&(this.contentProtections=e.contentProtections),e.frameRate!==void 0&&(this.frameRate=e.frameRate),e.hdrInfo!==void 0&&(this.hdrInfo=e.hdrInfo),this.cdnMetadata=e.cdnMetadata,this.index=e.index;let i=this.contentProtections!==void 0;if(t===\"audio\"||t===\"video\"){if(e.supplementalCodecs!==void 0){let f=r.isSupported((a=this.mimeType)!=null?a:\"\",(o=e.supplementalCodecs)!=null?o:\"\",i);f!==!1&&(this.codecs=[e.supplementalCodecs],this.isSupported=f)}this.isSupported!==!0&&(this.codecs.length>0?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<t.length;a++){let o=!1,s=t[a];for(let u=0;u<s.values.length;u++)if(s.values[u].systemId.toLowerCase()===e.toLowerCase())if(o)r[r.length-1].values.push(s.values[u]);else{let d=(i=this.contentProtections)==null?void 0:i.keyIds;r.push({type:s.type,keyIds:d,values:[s.values[u]]}),o=!0}}return r}getAllEncryptionData(){var t;if(this.contentProtections===void 0||this.contentProtections.initData.length===0)return[];let e=(t=this.contentProtections)==null?void 0:t.keyIds;return this.contentProtections.initData.map(r=>({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)fr(u,t)&&(s=!0);s||(m.warn(\"Manifest: found unanounced key id.\"),o.push(t))}}let a=this.contentProtections.initData;for(let o=0;o<a.length;o++)if(a[o].type===e){let s=a[o].values;for(let u=0;u<r.length;u++){let d=r[u],f;for(f=0;f<s.length;f++)if(d.systemId===s[f].systemId){if(fr(d.data,s[f].data))break;m.warn(\"Manifest: different init data for the same system ID\")}f===s.length&&(s.push(d),i=!0)}return i}return this.contentProtections.initData.push({type:e,values:r}),!0}isPlayable(){return tn(this)}getMetadataSnapshot(){return{id:this.id,uniqueId:this.uniqueId,bitrate:this.bitrate,codecs:this.codecs,mimeType:this.mimeType,width:this.width,height:this.height,frameRate:this.frameRate,isSupported:this.isSupported,hdrInfo:this.hdrInfo,contentProtections:this.contentProtections,decipherable:this.decipherable}}},nn=si;var ft=class n{constructor(e,t,r={}){let{trickModeTracks:i}=e,{representationFilter:a,isManuallyAdded:o}=r;this.id=e.id,this.type=e.type,e.isTrickModeTrack!==void 0&&(this.isTrickModeTrack=e.isTrickModeTrack),e.language!==void 0&&(this.language=e.language,this.normalizedLanguage=ao(e.language)),e.closedCaption!==void 0&&(this.isClosedCaption=e.closedCaption),e.audioDescription!==void 0&&(this.isAudioDescription=e.audioDescription),e.isDub!==void 0&&(this.isDub=e.isDub),e.forcedSubtitles!==void 0&&(this.isForcedSubtitles=e.forcedSubtitles),e.isSignInterpreted!==void 0&&(this.isSignInterpreted=e.isSignInterpreted),e.label!==void 0&&(this.label=e.label),i!==void 0&&i.length>0&&(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;d<s.length;d++){let f=new nn(s[d],this.type,t),l=!0;if(!v(a)){let c={id:f.id,bitrate:f.bitrate,codecs:f.codecs,height:f.height,width:f.width,frameRate:f.frameRate,hdrInfo:f.hdrInfo};if(f.contentProtections!==void 0&&(c.contentProtections={},f.contentProtections.keyIds!==void 0)){let g=f.contentProtections.keyIds;c.contentProtections.keyIds=g}l=a(c,{trackType:this.type,language:this.language,normalizedLanguage:this.normalizedLanguage,isClosedCaption:this.isClosedCaption,isDub:this.isDub,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted})}l?(u.push(f),f.isSupported===void 0?(this.supportStatus.hasCodecWithUndefinedSupport=!0,this.supportStatus.hasSupportedCodec===!1&&(this.supportStatus.hasSupportedCodec=void 0)):f.isSupported&&(this.supportStatus.hasSupportedCodec=!0),f.decipherable===void 0?this.supportStatus.isDecipherable===!1&&(this.supportStatus.isDecipherable=void 0):f.decipherable&&(this.supportStatus.isDecipherable=!0)):m.debug(\"Filtering Representation due to representationFilter\",this.type,`Adaptation: ${this.id}`,`Representation: ${f.id}`,`(${f.bitrate})`)}u.sort((d,f)=>d.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 Q(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 Ie=ae,go,ho,Io,bo,So,rn=(So=(bo=(Io=(ho=(go=Ie==null?void 0:Ie.MediaSource)!=null?go:Ie==null?void 0:Ie.MozMediaSource)!=null?ho:Ie==null?void 0:Ie.WebKitMediaSource)!=null?Io:Ie==null?void 0:Ie.MSMediaSource)!=null?bo:Ie==null?void 0:Ie.ManagedMediaSource)!=null?So:void 0,Ng=rn!==void 0&&rn===(Ie==null?void 0:Ie.ManagedMediaSource);var Bu=!1,Uu=!1,yo=!1,Lu=!1,Fu=!1,zu=!1,Wu=!1,Vu=!1,qu=!1,Hu=!1,Gu=!1,Ku=!1,ju=!1,Yu=!1,ui=!1,Qu=!1,$u=!1;(function(){var e,t,r;ur||(typeof ae.MSInputMethodContext!=\"undefined\"&&typeof document.documentMode!=\"undefined\"?(Uu=!0,yo=!0):navigator.appName===\"Microsoft Internet Explorer\"||navigator.appName===\"Netscape\"&&/(Trident|Edge)\\//.test(navigator.userAgent)?yo=!0:navigator.userAgent.toLowerCase().indexOf(\"edg/\")!==-1?Bu=!0:navigator.userAgent.toLowerCase().indexOf(\"firefox\")!==-1?Lu=!0:typeof navigator.platform==\"string\"&&/iPad|iPhone|iPod/.test(navigator.platform)?zu=!0:(Object.prototype.toString.call(ae.HTMLElement).indexOf(\"Constructor\")>=0||((t=(e=ae.safari)==null?void 0:e.pushNotification)==null?void 0:t.toString())===\"[object SafariRemoteNotification]\"||/Safari\\/(\\d+)/.test(navigator.userAgent)&&/Version\\/(\\d+)/.test(navigator.userAgent)&&((r=navigator.vendor)==null?void 0:r.indexOf(\"Apple\"))!==-1&&!/Chrome\\/(\\d+)/.test(navigator.userAgent)&&!/Chromium\\/(\\d+)/.test(navigator.userAgent))&&(Fu=!0),/SamsungBrowser/.test(navigator.userAgent)&&(Wu=!0),navigator.userAgent.indexOf(\"PlayStation 4\")!==-1?Yu=!0:navigator.userAgent.indexOf(\"PlayStation 5\")!==-1?ui=!0:/Tizen/.test(navigator.userAgent)?Vu=!0:/[Ww]eb[O0]S/.test(navigator.userAgent)?(qu=!0,/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/87/.test(navigator.userAgent)?Gu=!0:(/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/79/.test(navigator.userAgent))&&(Hu=!0)):navigator.userAgent.indexOf(\"NETTV\")!==-1&&navigator.userAgent.indexOf(\"Philips\")!==-1?ju=!0:/[Pp]anasonic/.test(navigator.userAgent)?Ku=!0:navigator.userAgent.indexOf(\"Xbox\")!==-1?Qu=!0:navigator.userAgent.indexOf(\"Model/a1-kstb40xx\")!==-1&&($u=!0))})();function di(n){return new Promise(e=>{setTimeout(e,n)})}function Et(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 an(n,e){return Et(e,t=>{let r=setTimeout(()=>t(),n);return()=>clearTimeout(r)})}var mr=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 mr(e===void 0?\"invalid assertion\":e)}function ze(n){throw new mr(\"Unreachable path taken\")}var W=class{constructor(){let[e,t]=Xu();this._isUsed=!1,this._trigger=e,this.signal=new li(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}},li=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){m.error(\"Error while calling clean up listener\",r instanceof Error?r.toString():\"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 Xu(){let n=D;return[function(t){n(t)},function(t){n=t}]}var Zu=[\"\",\"webkit\",\"moz\",\"ms\"];function Ju(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 ed(n,e){return e.filter(t=>Ju(n,t))[0]}function td(n,e){return n.reduce((t,r)=>t.concat((e===void 0?Zu:e).map(i=>i+r)),[])}function _e(n,e){let t,r=td(n,e);return(i,a,o)=>{if(!o.isCancelled()){if(typeof HTMLElement!=\"undefined\"&&i instanceof HTMLElement)if(typeof t==\"undefined\"&&(t=ed(i,r)),K(t))i.addEventListener(t,a),o.register(()=>{t!==void 0&&i.removeEventListener(t,a)});else{I.CURRENT_ENV===I.DEV&&m.warn(`compat: 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 fh=_e([\"loadedmetadata\"]),ch=_e([\"timeupdate\"]),mh=_e([\"addtrack\"]),ph=_e([\"removetrack\"]),Bt=_e([\"sourceopen\",\"webkitsourceopen\"]),pr=_e([\"sourceclose\",\"webkitsourceclose\"]),gr=_e([\"sourceended\",\"webkitsourceended\"]),To=_e([\"update\"]),Eo=_e([\"removesourcebuffer\"]),gh=_e([\"keymessage\",\"message\"]),hh=_e([\"keyadded\",\"ready\"]),Ih=_e([\"keyerror\",\"error\"]),bh=_e([\"keystatuseschange\"]),Sh=_e([\"seeking\"]),yh=_e([\"seeked\"]),Th=_e([\"ended\"]);var _o=[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 hr(n){if(n>=_o.length)throw new Error(\"Unable to parse base64 string.\");let e=_o[n];if(e===255)throw new Error(\"Unable to parse base64 string.\");return e}function Ir(n){let e=n.length%4,t=n;e!==0&&(m.warn(\"base64ToBytes: base64 given miss padding\"),t+=e===3?\"=\":e===2?\"==\":\"===\");let r=t.indexOf(\"=\");if(r!==-1&&r<t.length-2)throw new Error(\"Unable to parse base64 string.\");let i=t.endsWith(\"==\")?2:t.endsWith(\"=\")?1:0,a=t.length,o=new Uint8Array(a/4*3),s;for(let u=0,d=0;u<a;u+=4,d+=3)s=hr(t.charCodeAt(u))<<18|hr(t.charCodeAt(u+1))<<12|hr(t.charCodeAt(u+2))<<6|hr(t.charCodeAt(u+3)),o[d]=s>>16,o[d+1]=s>>8&255,o[d+2]=s&255;return o.subarray(0,o.length-i)}var nd=typeof ae==\"object\"&&typeof ae.TextDecoder==\"function\",rd=typeof ae==\"object\"&&typeof ae.TextEncoder==\"function\";function on(n){if(rd)try{return new TextEncoder().encode(n)}catch(i){let a=i instanceof Error?i:\"\";m.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<t.length;o++){let s=!1;if(t[o]===\"%\"){if(o<=a-6&&t[o+1]===\"u\"&&i.test(t[o+2])&&i.test(t[o+3])&&i.test(t[o+4])&&i.test(t[o+5])){let u=parseInt(t.substring(o+1,o+6),16);e+=String.fromCharCode(u),s=!0,o+=5}else if(o<=a-3&&i.test(t[o+1])&&i.test(t[o+2])){let u=parseInt(t.substring(o+1,o+3),16);e+=String.fromCharCode(u),s=!0,o+=2}}s||(e+=t[o])}}let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i)&255;return r}function id(n){let t=\"\";for(let r=0;r<n.length;r+=16e3){let i=n.subarray(r,r+16e3);t+=String.fromCharCode.apply(null,i)}return t}function Ro(n,e){let t=n.toString(16);return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t}function Ne(n){if(nd)try{return new TextDecoder().decode(n)}catch(i){let a=i instanceof Error?i:\"\";m.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=id(e),r;if(typeof escape==\"function\")r=escape(t);else{let i=/[A-Za-z0-9*_\\+-\\.\\/]/;r=\"\";for(let a=0;a<t.length;a++)if(i.test(t[a]))r+=t[a];else{let o=t.charCodeAt(a);r+=o>=256?\"%u\"+Ro(o,4):\"%\"+Ro(o,2)}}return decodeURIComponent(r)}function sn(n){let e=n.length,t=new Uint8Array(e/2);for(let r=0,i=0;r<e;r+=2,i++)t[i]=parseInt(n.substring(r,r+2),16)&255;return t}function Po(n,e=\"\"){let t=\"\";for(let r=0;r<n.byteLength;r++)t+=(n[r]>>>4).toString(16),t+=(n[r]&15).toString(16),e.length>0&&r<n.byteLength-1&&(t+=e);return t}function fi(n,e){let t=e;for(;t<n.length&&n[t]!==0;)t+=1;let r=n.subarray(e,t);return{end:t+1,string:Ne(r)}}function We(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 _t(...n){let e=n.length,t=-1,r=0,i;for(;++t<e;)i=n[t],r+=typeof i==\"number\"?i:i.length;let a=new Uint8Array(r),o=0;for(t=-1;++t<e;)i=n[t],typeof i==\"number\"?o+=i:i.length>0&&(a.set(i,o),o+=i.length);return a}function vo(n,e){return(n[e+0]<<8)+(n[e+1]<<0)}function ci(n,e){return n[e+0]*65536+n[e+1]*256+n[e+2]}function te(n,e){return n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3]}function ct(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 Qe(n,e){let t=n.length,r=0;for(;r+8<=t;){let i=te(n,r);if(i===0)i=t-r;else if(i===1){if(r+16>t)return-1;i=ct(n,r+8)}if(isNaN(i)||i<=0)return-1;if(te(n,r+4)===e)return r+i<=t?r:-1;r+=i}return-1}function br(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=Qe(r,1836019558);if(i<0)break;let a=te(n,i+e),o=e+i+a;if(o>n.length)break;let s=Qe(r,1835295092);if(s<0)break;let u=te(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 mi=typeof Uint8Array.prototype.slice==\"function\"?od:ad;function pi(n,e){let t=n;for(let r of e){let i=pe(t,r);if(i===null)return null;t=i}return t}function pe(n,e){let t=Ut(n,e);return t!==null?n.subarray(t[1],t[2]):null}function Co(n,e){let t=[],r=n;for(;;){let i=Ut(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 Ut(n,e){let t=n.length,r=0,i,a=0,o;for(;r+8<=t;){if(o=r,a=te(n,o),o+=4,i=te(n,o),o+=4,a===0)a=t-r;else if(a===1){if(o+8>t)return null;a=ct(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 Sr(n){let e=0,t=pe(n,1836019574);if(t===null)return[];let r=[];for(;e<t.length;){let i;try{i=Ut(t,1886614376)}catch(s){let u=s instanceof Error?s:\"\";return m.warn(\"Error while removing PSSH from ISOBMFF\",u),r}if(i===null)return r;let a=mi(t,i[0],i[2]),o=Ao(a,i[1]-i[0]);o!==void 0&&r.push({systemId:o,data:a}),t[i[0]+4]=102,t[i[0]+5]=114,t[i[0]+6]=101,t[i[0]+7]=101,e=i[2]}return r}function Ao(n,e){if(n[e]>1){m.warn(\"ISOBMFF: un-handled PSSH version\");return}let t=e+4;if(t+16>n.length)return;let r=mi(n,t,t+16);return Po(r)}function gi(n){let e=pe(n,1836019558);return e===null?null:pe(e,1953653094)}function xo(n){return Co(n,1836019558).reduce((t,r)=>{let i=pe(r,1953653094);return i!==null&&t.push(i),t},[])}function hi(n){return pe(n,1835295092)}function Ii(n){let e=pe(n,1836019574);if(e===null)return null;let t=pe(e,1953653099);return t===null?null:pe(t,1835297121)}function ko(n,e=0){return pe(n.subarray(e),1701671783)}function un(n,e){let t=Ut(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=te(n,a);a+=4;let u;if(o===0)u=te(n,a),a+=4,r+=te(n,a)+i,a+=4;else if(o===1)u=ct(n,a),a+=8,r+=ct(n,a)+i,a+=8;else return null;let d=[];a+=2;let f=vo(n,a);for(a+=2;--f>=0;){let l=te(n,a);a+=4;let c=(l&2147483648)>>>31,g=l&2147483647;if(c===1)throw new Error(\"sidx with reference_type `1` not yet implemented\");let p=te(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 bi(n){let e=gi(n);if(e===null)return;let t=pe(e,1952867444);if(t===null)return;let r=t[0];if(r===1)return ct(t,4);if(r===0)return te(t,4)}function sd(n){let e=pe(n,1952868452);if(e===null)return;let t=1,r=ci(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),te(e,t)):void 0}function Si(n){let e=xo(n);if(e.length===0)return;let t=0;for(let r of e){let i=pe(r,1953658222);if(i===null)return;let a=0,o=i[a];if(a+=1,o>1)return;let s=ci(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,c=(s&512)>0,g=(s&1024)>0,p=(s&2048)>0,h=te(i,a);a+=4,f&&(a+=4),l&&(a+=4);let b=h,y=0;for(;b-- >0;)u?(y+=te(i,a),a+=4):y+=d,c&&(a+=4),g&&(a+=4),p&&(a+=4);t+=y}return t}function dn(n){let e=Ii(n);if(e===null)return;let t=pe(e,1835296868);if(t===null)return;let r=0,i=t[r];if(r+=4,i===1)return te(t,r+16);if(i===0)return te(t,r+8)}function Mo(n){let e=[],t=0;for(;t<n.length;){let r=ko(n,t);if(r===null)break;let i=r.length;t+=i;let a=r[0];if(a!==0)m.warn(\"ISOBMFF: EMSG version \"+a.toString()+\" not supported.\");else{let o=4,{end:s,string:u}=fi(r,o);o=s;let{end:d,string:f}=fi(r,o);o=d;let l=te(r,o);o+=4;let c=te(r,o);o+=4;let g=te(r,o);o+=4;let p=te(r,o);o+=4;let h=r.subarray(o,i),b={schemeIdUri:u,value:f,timescale:l,presentationTimeDelta:c,eventDuration:g,id:p,messageData:h};e.push(b)}}if(e.length!==0)return e}function Oo(n){let e=pi(n,[1836019574,1953653099,1835297121,1835626086,1937007212,1937011556]);if(e===null)return null;let t=e.subarray(8),r=pe(t,1701733238),i=0;if(r===null?(i=28,r=pe(t,1701733217)):i=78,r===null)return null;let a=pi(r.subarray(i),[1936289382,1935894633,1952804451]);if(a===null||a.byteLength<24)return null;let o=a.subarray(8,24);return o.every(s=>s===0)?null:o}function ge(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(;a<r;){if(o(n[a],e))return!0;a++}return!1}function ud(n,e){let{mimeType:t,codecs:r}=wo(n),{mimeType:i,codecs:a}=wo(e);if(t!==i||r===\"\"||a===\"\")return!1;let o=r.split(\".\")[0];o=o===\"hev1\"?\"hvc1\":o;let s=a.split(\".\")[0];return s=s===\"hev1\"?\"hvc1\":s,o===s}var dd=7;function wo(n){var i;let[e,...t]=n.split(\";\"),r=(i=Q(t,a=>We(a,\"codecs=\")))!=null?i:\"\";return r=r.substring(dd),r[0]==='\"'&&(r=r.substring(1,r.length-2)),{mimeType:e,codecs:r}}var Do=ud;function yi(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 Ti(n){let e=(Math.random()*2-1)*.3;return n*(e+1)}function No(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 Bo=[];function et(n){ge(Bo,n)||(console.warn(n),Bo.push(n))}var ln=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 mt=class{constructor(e,t,r,i){if(this.id=e.id,this.adaptations=Object.keys(e.adaptations).reduce((a,o)=>{let s=e.adaptations[o];if(v(s))return a;let u=s.map(d=>{let f=new ft(d,r,{representationFilter:i});return f.representations.length>0&&f.supportStatus.hasSupportedCodec===!1&&t.push(f),f}).filter(d=>d.representations.length>0);if(u.every(d=>d.supportStatus.hasSupportedCodec===!1)&&s.length>0&&(o===\"video\"||o===\"audio\"))throw new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"No supported \"+o+\" adaptations\",{tracks:void 0});return u.length>0&&(a[o]=u),a},{}),!Array.isArray(this.adaptations.video)&&!Array.isArray(this.adaptations.audio))throw new $(\"MANIFEST_PARSE_ERROR\",\"No supported audio and video tracks.\");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)return;let a=!1;for(let o of i){if(!o.supportStatus.hasCodecWithUndefinedSupport){o.supportStatus.hasSupportedCodec===!0&&(a=!0);continue}let s=o.supportStatus.hasSupportedCodec;o.refreshCodecSupport(t),s!==!1&&o.supportStatus.hasSupportedCodec===!1&&e.push(o),a===!1?a=o.supportStatus.hasSupportedCodec:a===void 0&&o.supportStatus.hasSupportedCodec===!0&&(a=!0)}if((r===\"video\"||r===\"audio\")&&a===!1)throw new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"No supported \"+r+\" adaptations\",{tracks:void 0})},{})}getAdaptations(){return oi(this)}getAdaptationsForType(e){let t=this.adaptations[e];return t!=null?t:[]}getAdaptation(e){return Q(this.getAdaptations(),({id:t})=>e===t)}getSupportedAdaptations(e){return fo(this,e)}containsTime(e,t){return ai(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}}};function fn(n,e,t){let r={updatedAdaptations:[],removedAdaptations:[],addedAdaptations:[]};n.start=e.start,n.end=e.end,n.duration=e.duration,n.streamEvents=e.streamEvents;let i=n.getAdaptations(),a=e.getAdaptations();for(let o=0;o<i.length;o++){let s=i[o],u=re(a,d=>d.id===s.id);if(u===-1){m.warn('Manifest: Adaptation \"'+i[o].id+'\" not found when merging.');let[d]=i.splice(o,1);o--,r.removedAdaptations.push({id:d.id,trackType:d.type})}else{let[d]=a.splice(u,1),f=[],l=[],c=[];r.updatedAdaptations.push({adaptation:s.id,trackType:s.type,updatedRepresentations:f,addedRepresentations:l,removedRepresentations:c});let g=s.representations,p=d.representations.slice();for(let h=0;h<g.length;h++){let b=g[h],y=re(p,E=>E.id===b.id);if(y===-1){m.warn(`Manifest: Representation \"${g[h].id}\" not found when merging.`);let[E]=g.splice(h,1);h--,c.push(E.id)}else{let[E]=p.splice(y,1);f.push(b.getMetadataSnapshot()),b.cdnMetadata=E.cdnMetadata,t===0?b.index._replace(E.index):b.index._update(E.index)}}p.length>0&&(m.warn(`Manifest: ${p.length} new Representations found when merging.`),s.representations.push(...p),l.push(...p.map(h=>h.getMetadataSnapshot())))}}if(a.length>0){m.warn(`Manifest: ${a.length} new Adaptations found when merging.`);for(let o of a){let s=n.adaptations[o.type];s===void 0?n.adaptations[o.type]=[o]:s.push(o),r.addedAdaptations.push(o.getMetadataSnapshot())}}return r}function Uo(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]},r=0;for(let a=0;a<e.length;a++){let o=e[a],s=r,u=n[s];for(;u!==void 0&&u.id!==o.id;)s++,u=n[s];if(u!==void 0){let d=fn(u,o,0);t.updatedPeriods.push({period:{id:u.id,start:u.start,end:u.end,duration:u.duration,streamEvents:u.streamEvents},result:d});let f=e.slice(r,a),l=s-r,c=n.splice(r,l,...f);t.removedPeriods.push(...c.map(g=>({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 m.error(\"Manifest: error when updating Periods\"),t;if(r<n.length){let a=n.splice(r,n.length-r);t.removedPeriods.push(...a.map(o=>({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 Lo(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.start<e[0].start){if(r.end!==e[0].start)throw new $(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");return n.push(...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t}let i=re(n,({id:s})=>s===e[0].id);if(i<0)throw new $(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: incoherent data\");let a=fn(n[i],e[0],1);t.updatedPeriods.push({period:G(n[i].getMetadataSnapshot(),{adaptations:void 0}),result:a});let o=i+1;for(let s=1;s<e.length;s++){let u=e[s],d=-1;for(let f=o;f<n.length;f++)if(u.id===n[f].id){d=f;break}if(d<0){let f=-1;for(let g=o;g<n.length;g++)if(u.start<n[g].start){f=g;break}let l=f-o,c=n.splice(o,l,u);t.addedPeriods.push(u.getMetadataSnapshot()),t.removedPeriods.push(...c.map(g=>({id:g.id,start:g.start,end:g.end})))}else{if(d>o){m.warn(\"Manifest: old Periods not found in new when updating, removing\");let l=n.splice(o,d-o);t.removedPeriods.push(...l.map(c=>({id:c.id,start:c.start,end:c.end}))),d=o}let f=fn(n[d],u,0);t.updatedPeriods.push({period:G(n[d].getMetadataSnapshot(),{adaptations:void 0}),result:f})}o++}if(o<n.length){m.warn(\"Manifest: Ending Periods not found in new when updating, removing\");let s=n.splice(o,n.length-o);t.removedPeriods.push(...s.map(u=>({id:u.id,start:u.start,end:u.end})))}return t}var ld=Ae(),cn=class extends le{constructor(e,t,r){var s;super();let{representationFilter:i,manifestUpdateUrl:a}=t;this.manifestFormat=0,this.id=ld(),this.expired=(s=e.expired)!=null?s:null,this.transport=e.transportType,this.clockOffset=e.clockOffset,this._cachedCodecSupport=new ln([]);let o=[];if(this.periods=e.periods.map(u=>new mt(u,o,this._cachedCodecSupport,i)).sort((u,d)=>u.start-d.start),o.length>0){let u=new $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:o.map(lt)});r.push(u)}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=a,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 $(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:t.map(lt)}):null}getPeriod(e){return Q(this.periods,t=>e===t.id)}getPeriodForTime(e){return co(this,e)}getNextPeriod(e){return Q(this.periods,t=>t.start>e)}getPeriodAfter(e){return mo(this,e)}getUrls(){return this.uris}replace(e){this._performUpdate(e,0)}update(e){this._performUpdate(e,1)}getMinimumSafePosition(){return so(this)}getLivePosition(){return uo(this)}getMaximumSafePosition(){return lo(this)}updateCodecSupportList(e){this._cachedCodecSupport=e}updateRepresentationsDeciperability(e){let t=fd(this,e);t.length>0&&this.trigger(\"decipherabilityUpdate\",t)}getAdaptations(){et(\"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(t.hasOwnProperty(i)){let a=t[i];r.push(...a)}return r}getAdaptationsForType(e){et(\"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 et(\"manifest.getAdaptation(id) is deprecated. Please use manifest.period[].getAdaptation(id) instead\"),Q(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 No(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=Uo(this.periods,e.periods);else{this.timeBounds.maximumTimeData=e.timeBounds.maximumTimeData,this.updateUrl=e.uris[0],r=Lo(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 fd(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),m.debug(`Decipherability changed for \"${o.id}\"`,`(${o.bitrate})`,String(o.decipherable)))}a&&(i.supportStatus.isDecipherable=!1)}return t}function Je(n,e){return n.segment.id===e.segment.id&&n.representation.uniqueId===e.representation.uniqueId}function Tt(n){if(v(n))return\"\";let{period:e,adaptation:t,representation:r,segment:i}=n,a;return i.isInit?a=\"init\":i.complete?a=`${i.time}-${i.duration}`:a=`${i.time}`,`${t.type} P: ${e.id} A: ${t.id} R: ${r.id} S: ${a}`}var Lt=cn;var cd=\"<\",md=60,Fo=\">\",yr=62,Ei=45,zo=47,pd=33,Wo=39,Vo=34,_i=91,gd=93,hd=`\\r\n\t>/= `;function Ri(n,e={}){var c,g;let t=(c=e.pos)!=null?c: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=qo(a,e.filter)),a;function o(p){let h=[];for(;n[t]!==void 0;)if(n.charCodeAt(t)===md){if(n.charCodeAt(t+1)===zo){let y=t+2;if(t=n.indexOf(Fo,t),n.substring(y,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),h}else if(n.charCodeAt(t+1)===pd){if(n.charCodeAt(t+2)===Ei){let y=t;for(;t!==-1&&!(n.charCodeAt(t)===yr&&n.charCodeAt(t-1)===Ei&&n.charCodeAt(t-2)===Ei);)t=n.indexOf(Fo,t+1);t===-1&&(t=n.length),r&&h.push(n.substring(y,t+1))}else if(n.charCodeAt(t+2)===_i&&n.charCodeAt(t+8)===_i&&n.substring(t+3,t+8).toLowerCase()===\"cdata\"){let y=n.indexOf(\"]]>\",t);y===-1?(h.push(n.substring(t+9)),t=n.length):(h.push(n.substring(t+9,y)),t=y+3);continue}else{let y=t+1;t+=2;let E=!1;for(;(n.charCodeAt(t)!==yr||E)&&n[t]!==void 0;)n.charCodeAt(t)===_i?E=!0:E&&n.charCodeAt(t)===gd&&(E=!1),t++;h.push(n.substring(y,t))}t++;continue}let b=d();h.push(b),b.tagName[0]===\"?\"&&(h.push(...b.children),b.children=[])}else{let b=s();if(i)b.length>0&&h.push(b);else{let y=b.trim();y.length>0&&h.push(y)}t++}return h}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(;hd.indexOf(n[t])===-1&&n[t]!==void 0;)t++;return n.slice(p,t)}function d(){let p=t;t++;let h=u(),b={},y=[];for(;n.charCodeAt(t)!==yr&&n[t]!==void 0;){let E=n.charCodeAt(t);if(E>64&&E<91||E>96&&E<123){let P=u(),_=n.charCodeAt(t);for(;!isNaN(_)&&_!==Wo&&_!==Vo&&!(_>64&&_<91||_>96&&_<123)&&_!==yr;)t++,_=n.charCodeAt(t);let C;_===Wo||_===Vo?C=f():(C=null,t--),b[P]=C===null?null:Ho(C)}t++}return n.charCodeAt(t-1)!==zo?(t++,y=o(h)):t++,{tagName:h,attributes:b,children:y,posStart:p,posEnd:t}}function f(){let p=n[t],h=t+1;return t=n.indexOf(p,h),n.slice(h,t)}function l(){let p=new RegExp(\"\\\\s\"+e.attrName+`\\\\s*=['\"]`+e.attrValue+`['\"]`).exec(n);return p!==null?p.index:-1}}function qo(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=qo(a.children,e,t+1,(K(r)?r+\".\":\"\")+o+\".\"+a.tagName);i=i.concat(s)}}),i}function Tr(n){if(Array.isArray(n)){let e=\"\";return n.forEach(function(t){e+=\" \"+Tr(t),e=e.trim()}),e}else return typeof n==\"object\"?Tr(n.children):\" \"+Ho(n)}function Ho(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 Pi(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 Be(n,e,t){let{start:r,duration:i}=n;if(i<=0)return r;let a=Pi(n,e,t);return r+(a+1)*i}function Pe(n,e){var t;return n*e.timescale+((t=e.indexTimeOffset)!=null?t:0)}function $e(n,e){var t;return(n-((t=e.indexTimeOffset)!=null?t:0))/e.timescale}function Go(n,e,t){return[n*t,(n+e)*t]}function Id(n,e){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i].start<=e?t=i+1:r=i}return t-1}function Ko(n,e,t){let{timeline:r}=n,i=Pe(e,n);if(i<0)return null;let a=Id(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=Be(o,s,t);return i>=d&&i<u?$e(u,n):null}function tt(n,e){var i;let{initialization:t}=n,r={};return e!==void 0&&(r.isEMSGWhitelisted=e),{id:\"init\",isInit:!0,time:0,end:0,duration:0,timescale:1,range:v(t)?void 0:t.range,indexRange:n.indexRange,url:(i=t==null?void 0:t.url)!=null?i:null,complete:!0,privateInfos:r,timestampOffset:-(n.indexTimeOffset/n.timescale)}}function bd(n,e){let t=n.toString();return t.length>=e?t:(new Array(e+1).join(\"0\")+t).slice(-e)}function vi(n){return(e,t,r)=>{let i=K(r)?parseInt(r,10):1;return bd(String(n),i)}}function Ue(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,vi(t===void 0?0:t))}function Er(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 vi(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 vi(n)(i,a,o)})}}function yd(n,e,t){let r=t-n;return r>0?Math.floor(r/e):0}function mn(n,e,t,r,i,a){var E;let o=r.getEstimatedMaximumPosition((E=n.availabilityTimeOffset)!=null?E:0),s=Math.min(e+t,o!=null?o:1/0),u=Pe(e,n),d=Pe(s,n),{timeline:f,timescale:l,segmentUrlTemplate:c,startNumber:g,endNumber:p}=n,h=g!=null?g:1,b=[],y=f.length;for(let P=0;P<y;P++){let _=f[P],{duration:C,start:R,range:M}=_,A;o===void 0?A=i:A=Math.min(o*l,i!=null?i:1/0);let T=Pi(_,f[P+1],A),x=n.availabilityTimeComplete!==!1||P!==y-1&&T!==0,O=yd(R,C,u),w=R+O*C;for(;w<d&&O<=T;){let B=h+O;if(p!==void 0&&B>p)break;let k=c===null?null:Er(w,B)(c),N=w-n.indexTimeOffset,U=C;N<0&&(U=C+N,N=0);let V={id:String(w),time:N/l,end:(N+U)/l,duration:U/l,isInit:!1,range:M,timescale:1,url:k,number:B,timestampOffset:-(n.indexTimeOffset/l),complete:x,privateInfos:{isEMSGWhitelisted:a}};b.push(V),O++,w=R+O*C}if(w>=d||(h+=T+1,p!==void 0&&h>p))return b}return b}function Td(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 Rt=class{constructor(e,t){var p,h,b,y;let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t,u=(p=e.timescale)!=null?p:1,f=((h=e.presentationTimeOffset)!=null?h:0)-r*u,l=((b=e.initialization)==null?void 0:b.media)===void 0?null:Ue(e.initialization.media,a,o),c=e.media===void 0?null:Ue(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:c,startNumber:e.startNumber,endNumber:e.endNumber,timeline:(y=e.timeline)!=null?y:[],timescale:u},this._manifestBoundsCalculator=t.manifestBoundsCalculator,this._scaledPeriodStart=Pe(r,this._index),this._scaledPeriodEnd=v(i)?void 0:Pe(i,this._index),this._isInitialized=this._index.timeline.length>0,this._isEMSGWhitelisted=s}getInitSegment(){return tt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return mn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){let e=this._index;return e.timeline.length===0?null:$e(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(Be(t,null,this._scaledPeriodEnd),(i=this._scaledPeriodEnd)!=null?i:1/0);return $e(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<e.length;t++)Td(this._index,e[t]);this._isInitialized=!0}}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `BaseRepresentationIndex`\")}_replace(e){this._index=e._index,this._isInitialized=e._isInitialized,this._scaledPeriodEnd=e._scaledPeriodEnd,this._isEMSGWhitelisted=e._isEMSGWhitelisted}_update(){m.error(\"Base RepresentationIndex: Cannot update a SegmentList\")}};var Pt=class{constructor(e,t){var g,p,h;if(e.duration===void 0)throw new Error(\"Invalid SegmentList: no duration\");let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t;this._isEMSGWhitelisted=s,this._periodStart=r,this._periodEnd=i;let u=(g=e.presentationTimeOffset)!=null?g:0,d=(p=e.timescale)!=null?p:1,f=u-r*d,l=((h=e.initialization)==null?void 0:h.media)===void 0?null:Ue(e.initialization.media,a,o),c=e.list.map(b=>({url:b.media===void 0?null:Ue(b.media,a,o),mediaRange:b.mediaRange}));this._index={list:c,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=tt(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]=Go(u,t,o),l=Math.min(a.length-1,Math.floor(f/i)),c=[],g=Math.floor(d/i);for(;g<=l;){let p=a[g].mediaRange,h=a[g].url,b=g*s+this._periodStart,y={id:String(g),time:b,isInit:!1,range:p,duration:s,timescale:1,end:b+s,url:h,timestampOffset:-(r.indexTimeOffset/o),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};c.push(y),g++}return c}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(){m.error(\"A `ListRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `ListRepresentationIndex`\")}_replace(e){this._index=e._index}_update(){m.error(\"A `ListRepresentationIndex` cannot be updated\")}};function Ft(n){return F.getCurrent().DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR*n}var vt=class{constructor(e,t){var y,E,P;let{availabilityTimeOffset:r,manifestBoundsCalculator:i,isDynamic:a,periodEnd:o,periodStart:s,representationId:u,representationBitrate:d,isEMSGWhitelisted:f}=t,l=(y=e.timescale)!=null?y:1;this._availabilityTimeOffset=r,this._manifestBoundsCalculator=i;let c=(E=e.presentationTimeOffset)!=null?E:0,g=s*l,p=c-g;if(e.duration===void 0)throw new Error(\"Invalid SegmentTemplate: no duration\");let h=((P=e.initialization)==null?void 0:P.media)===void 0?null:Ue(e.initialization.media,u,d),b=e.media===void 0?null:Ue(e.media,u,d);this._index={duration:e.duration,timescale:l,indexRange:e.indexRange,indexTimeOffset:p,initialization:v(e.initialization)?void 0:{url:h,range:e.initialization.range},url:b,presentationTimeOffset:c,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 tt(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,c=(e+t)*s-d,g=this._getFirstSegmentStart(),p=this._getLastSegmentStart();if(v(g)||v(p))return[];let h=Math.max(g,l),b=Math.min(p,c);if(b+i<=h)return[];let y=[],E=a!=null?a:1,P=Math.floor(h/i);for(let _=P*i;_<=b;_+=i){let C=P+E;if(o!==void 0&&C>o)return y;let R=!v(f)&&_+i>f?f-_:i,M=_+d,A=_+this._index.presentationTimeOffset,T=u===null?null:Er(A,C)(u),x={id:String(C),number:C,time:M/s,end:(M+R)/s,duration:R/s,timescale:1,isInit:!1,scaledDuration:R/s,url:T,timestampOffset:-(r.indexTimeOffset/s),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};y.push(x),P++}return y}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=Ft(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&&o<l-i}let d=u+this._index.duration,f=this._estimateRelativeScaledEnd();return f===void 0?s>d-i:s>d-i&&o<f-i}shouldRefresh(){return!1}checkDiscontinuity(){return null}isSegmentStillAvailable(e){if(e.isInit)return!0;let t=this.getSegments(e.time,.1);return t.length===0?!1:t[0].time===e.time&&t[0].end===e.end&&t[0].number===e.number}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){if(!this._isDynamic)return!1;let e=this._estimateRelativeScaledEnd();if(e===void 0)return!0;let{timescale:t}=this._index,r=this._getLastSegmentStart();if(v(r))return!0;let i=r+this._index.duration,a=Ft(t);return i+a<e}isInitialized(){return!0}initialize(){m.error(\"A `TemplateRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `TemplateRepresentationIndex`\")}_replace(e){this._index=e._index,this._isDynamic=e._isDynamic,this._periodStart=e._periodStart,this._scaledRelativePeriodEnd=e._scaledRelativePeriodEnd,this._manifestBoundsCalculator=e._manifestBoundsCalculator}_update(e){this._replace(e)}_getFirstSegmentStart(){var o;if(!this._isDynamic)return 0;if(this._scaledRelativePeriodEnd===0||this._scaledRelativePeriodEnd===void 0){let s=this._manifestBoundsCalculator.getEstimatedMaximumPosition((o=this._availabilityTimeOffset)!=null?o:0);if(s!==void 0&&s<this._periodStart)return null}let{duration:e,timescale:t}=this._index,r=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(e/t);if(r===void 0)return;let i=r>this._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._scaledRelativePeriodEnd<s-this._periodStart*this._index.timescale){let l=Math.ceil(this._scaledRelativePeriodEnd/e);return r!==void 0&&r-i+1<l&&(l=r-i+1),(l-1)*e}let u=this._manifestBoundsCalculator.getEstimatedMaximumPosition((a=this._availabilityTimeOffset)!=null?a:0);if(u===void 0)return;let d=(u-this._periodStart)*t;if(d<0)return null;let f=Math.floor(d/e);return r!==void 0&&r-i+1<f&&(f=r-i+1),f<=0?null:(f-1)*e}else{let s=(o=this._scaledRelativePeriodEnd)!=null?o:0,u=Math.ceil(s/e);r!==void 0&&r-i+1<u&&(u=r-i+1);let d=(u-1)*e,f=F.getCurrent().MINIMUM_SEGMENT_SIZE*t;return r!==void 0||s-d>f||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 Ci(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(;a<e&&o<=r.repeatCount;)a+=r.duration,o++;if(o>r.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 Ai(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(Be(i,e[0])<r)throw new $(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");for(let f=t-1;f>=0;f--){let l=n[f].start;if(l===r){let c=t-f;return n.splice(f,c,...e),!1}else if(l<r){let c=n[f];if(c.start+c.duration>r)return m.warn(\"RepresentationIndex: Manifest update removed all previous segments\"),n.splice(0,t,...e),!0;if(c.repeatCount===void 0||c.repeatCount<=0)return c.repeatCount<0&&(c.repeatCount=Math.floor((r-c.start)/c.duration)-1),n.splice(f+1,t-(f+1),...e),!1;if(c.start+c.duration*(c.repeatCount+1)<=r)return n.splice(f+1,t-(f+1),...e),!1;let p=(r-c.start)/c.duration-1;if(p%1===0&&c.duration===e[0].duration){let h=e[0].repeatCount<0?-1:e[0].repeatCount+p+1;return n.splice(f,t-f,...e),n[f].start=c.start,n[f].repeatCount=h,!1}return m.warn(\"RepresentationIndex: 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?(m.warn(\"RepresentationIndex: The new index is older than the previous one\"),!1):(m.warn('RepresentationIndex: 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?(m.warn(\"RepresentationIndex: The new index is older than the previous one\"),!1):(m.warn('RepresentationIndex: The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0)}function pn(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}:(m.warn('DASH: A \"S\" Element could not have been parsed.'),null)}function gn(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)?m.warn(`DASH: invalid t (\"${r}\")`):e.start=i;break}case\"d\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid d (\"${r}\")`):e.duration=i;break}case\"r\":{let i=parseInt(r,10);isNaN(i)?m.warn(`DASH: invalid r (\"${r}\")`):e.repeatCount=i;break}}}return e}function hn(n){let e={};for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];switch(r.name){case\"t\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid t (\"${r.value}\")`):e.start=i;break}case\"d\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid d (\"${r.value}\")`):e.duration=i;break}case\"r\":{let i=parseInt(r.value,10);isNaN(i)?m.warn(`DASH: invalid r (\"${r.value}\")`):e.repeatCount=i;break}}}return e}function pt(n){let e=[];if(Array.isArray(n))for(let r=0;r<n.length;r++)e.push(gn(n[r]));else for(let r=0;r<n.length;r++)e.push(hn(n[r]));let t=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[t.length-1]===void 0?null:t[t.length-1],o=e[r+1]===void 0?null:e[r+1],s=pn(i,a,o);s!==null&&t.push(s)}return t}function xi(n,e){if(n.length===0||e.length===0)return null;let t=n[0].start,r=Array.isArray(e)?e[0].attributes.t:e[0].getAttribute(\"t\"),i=v(r)?null:parseInt(r,10);if(i===null||Number.isNaN(i))return null;if(t===i)return{prevSegmentsIdx:0,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(t<i){let a=n[0],o=0;for(;;){if(a.repeatCount>0){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=Array.isArray(e)?e[0]:null,s=Array.isArray(e)?null:e[0],u=i;for(;;){let d=o!==null?o.attributes.d:s==null?void 0:s.getAttribute(\"d\"),f=v(d)?null:parseInt(d,10);if(f===null||Number.isNaN(f))return null;let l=o!==null?o.attributes.r:s==null?void 0:s.getAttribute(\"r\"),c=v(l)?null:parseInt(l,10);if(c!==null){if(Number.isNaN(c)||c<0)return null;if(c>0){let h=t-u;if(h%f===0&&h/f<=c)return{repeatNumberInPrevSegments:0,repeatNumberInNewElements:h/f,prevSegmentsIdx:0,newElementsIdx:a}}u+=f*(c+1)}else u+=f;if(a++,a>=e.length)return null;Array.isArray(e)?o=e[a]:s=e[a];let g=o!==null?o.attributes.t:s==null?void 0:s.getAttribute(\"t\"),p=v(g)?null:parseInt(g,10);if(p!==null){if(Number.isNaN(p))return null;u=p}if(u===t)return{newElementsIdx:a,prevSegmentsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(u>i)return null}}}function ki(n,e){var h;let t=xi(e,n);if(t===null)return m.warn('DASH: Cannot perform \"based\" update. Common segment not found.'),pt(n);let{prevSegmentsIdx:r,newElementsIdx:i,repeatNumberInPrevSegments:a,repeatNumberInNewElements:o}=t,u=e.length-r+i-1;if(u>=n.length)return m.info('DASH: Cannot perform \"based\" update. New timeline too short'),pt(n);let d=e.slice(r);if(a>0){let b=d[0];b.start+=b.duration*a,d[0].repeatCount-=a}if(o>0&&i!==0)return m.info('DASH: Cannot perform \"based\" update. The new timeline has a different form.'),pt(n);let f=d[d.length-1],l=Array.isArray(n)?gn(n[u]):hn(n[u]),c=((h=l.repeatCount)!=null?h:0)-o;if(l.duration!==f.duration||f.repeatCount>c)return m.info('DASH: Cannot perform \"based\" update. The new timeline has a different form at the beginning.'),pt(n);l.repeatCount!==void 0&&l.repeatCount>f.repeatCount&&(f.repeatCount=l.repeatCount);let g=[],p=[];if(Array.isArray(n))for(let b=u+1;b<n.length;b++)p.push(gn(n[b]));else for(let b=u+1;b<n.length;b++)p.push(hn(n[b]));for(let b=0;b<p.length;b++){let y=p[b],E=g[g.length-1]===void 0?f:g[g.length-1],P=p[b+1]===void 0?null:p[b+1],_=pn(y,E,P);_!==null&&g.push(_)}return d.concat(g)}var In=class n{constructor(e,t){var _,C,R,M,A;if(!n.isTimelineIndexArgument(e))throw new Error(\"The given index is not compatible with a TimelineRepresentationIndex.\");let{availabilityTimeComplete:r,availabilityTimeOffset:i,manifestBoundsCalculator:a,isDynamic:o,isLastPeriod:s,representationId:u,representationBitrate:d,periodStart:f,periodEnd:l,isEMSGWhitelisted:c}=t,g=(_=e.timescale)!=null?_:1,p=(C=e.presentationTimeOffset)!=null?C:0,h=f*g,b=p-h;this._manifestBoundsCalculator=a,this._isEMSGWhitelisted=c,this._isLastPeriod=s,this._lastUpdate=(R=t.receivedTime)!=null?R:L(),this._unsafelyBaseOnPreviousIndex=null,t.unsafelyBaseOnPreviousRepresentation!==null&&t.unsafelyBaseOnPreviousRepresentation.index instanceof n&&(t.unsafelyBaseOnPreviousRepresentation.index._unsafelyBaseOnPreviousIndex=null,this._unsafelyBaseOnPreviousIndex=t.unsafelyBaseOnPreviousRepresentation.index),this._isDynamic=o,this._parseTimeline=(M=e.timelineParser)!=null?M:null;let y=((A=e.initialization)==null?void 0:A.media)===void 0?null:Ue(e.initialization.media,u,d),E=e.media===void 0?null:Ue(e.media,u,d),P;i===void 0&&r===void 0?P=1/0:P=i!=null?i:0,this._index={availabilityTimeComplete:r!=null?r:!0,availabilityTimeOffset:P,indexRange:e.indexRange,indexTimeOffset:b,initialization:v(e.initialization)?void 0:{url:y,range:e.initialization.range},segmentUrlTemplate:E,startNumber:e.startNumber,endNumber:e.endNumber,timeline:e.timeline===void 0?null:Mi(e.timeline,e.startNumber,e.endNumber),timescale:g},this._scaledPeriodStart=Pe(f,this._index),this._scaledPeriodEnd=l===void 0?void 0:Pe(l,this._index)}getInitSegment(){return tt(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),mn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=this._index.timeline;return e.length===0?null:$e(Math.max(this._scaledPeriodStart,e[0].start),this._index)}getLastAvailablePosition(){var r;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=_r(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(e===null)return null;let t=Math.min(e.end,(r=this._scaledPeriodEnd)!=null?r:1/0);return $e(t,this._index)}getEnd(){var r;if(this._isDynamic&&!this._isLastPeriod)return;if(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),this._index.timeline.length<=0)return null;let e=this._index.timeline[this._index.timeline.length-1],t=Math.min(Be(e,null,this._scaledPeriodEnd),(r=this._scaledPeriodEnd)!=null?r:1/0);return $e(t,this._index)}awaitSegmentBetween(e,t){var d,f;if(ce(e<=t),!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timescale:r,timeline:i}=this._index,a=Ft(r),o=Pe(t,this._index),s=_r(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(s!==null&&Math.min(s.end,(d=this._scaledPeriodEnd)!=null?d:1/0)+a>=Math.min(o,(f=this._scaledPeriodEnd)!=null?f:1/0))return!1;let u=Pe(e,this._index);if(i.length>0&&s!==null&&!s.isLastOfTimeline){let l=i[i.length-1],g=Be(l,null,this._scaledPeriodEnd)+a;if(u<g+a)return!0}return this._isLastPeriod?this._scaledPeriodEnd===void 0?o+a>this._scaledPeriodStart?void 0:!1:u-a<this._scaledPeriodEnd&&o+a>this._scaledPeriodStart:!1}isSegmentStillAvailable(e){return e.isInit?!0:(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),Ed(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),Ko({timeline:t,timescale:this._index.timescale,indexTimeOffset:this._index.indexTimeOffset},e,this._scaledPeriodEnd)}canBeOutOfSyncError(e){return this._isDynamic?e instanceof Ye&&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()),Ai(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&&Pe(s,this._index)>this._scaledPeriodEnd)return!1}return this._isLastPeriod}let t=Ft(this._index.timescale),r=_r(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 Be(i,null,this._scaledPeriodEnd)+t<this._scaledPeriodEnd}isInitialized(){return!0}initialize(){m.error(\"A `TimelineRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){m.warn(\"Cannot add predicted segments to a `TimelineRepresentationIndex`\")}static isTimelineIndexArgument(e){return typeof e.timelineParser==\"function\"||Array.isArray(e.timeline)}_refreshTimeline(){var i,a;if(this._index.timeline===null&&(this._index.timeline=this._getTimeline()),!this._isDynamic)return;let e=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(((a=(i=this._index.timeline[0])==null?void 0:i.duration)!=null?a:0)/this._index.timescale);if(v(e))return;let t=Pe(e,this._index),r=Ci(this._index.timeline,t);this._index.startNumber!==void 0?this._index.startNumber+=r:this._index.endNumber!==void 0&&(this._index.startNumber=r+1)}_getTimeline(){if(this._parseTimeline===null)return this._index.timeline!==null?this._index.timeline:(m.error(\"DASH: Timeline already lazily parsed.\"),[]);let e=this._parseTimeline();this._parseTimeline=null;let{MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:t}=F.getCurrent();if(this._unsafelyBaseOnPreviousIndex===null||e.length<t)return Mi(pt(e),this._index.startNumber,this._index.endNumber);let r;return this._unsafelyBaseOnPreviousIndex._index.timeline===null?(r=this._unsafelyBaseOnPreviousIndex._getTimeline(),this._unsafelyBaseOnPreviousIndex._index.timeline=r):r=this._unsafelyBaseOnPreviousIndex._index.timeline,this._unsafelyBaseOnPreviousIndex=null,Mi(ki(e,r),this._index.startNumber,this._index.endNumber)}};function Mi(n,e,t){if(t===void 0)return n;let r=e!=null?e:1;for(let i=0;i<n.length;i++){let a=n[i];if(r+=a.repeatCount+1,r>t){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 Ed(n,e,t,r){let i=_r(e,t,r);if(i===null)return!1;for(let a=0;a<e.timeline.length;a++){if(i.timelineIdx<a)return!1;let o=e.timeline[a],s=(o.start-e.indexTimeOffset)/e.timescale;if(s>n.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 _r(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:Be(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:Be(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($e(o,n)<=r){let s=Be(a,n.timeline[i+1],t);if($e(s,n)<=r)return{isLastOfTimeline:i===n.timeline.length-1,timelineIdx:i,newRepeatCount:a.repeatCount,end:o};{let d=Pe(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 Rr=In;var _d=/^(?:[a-z]+:)?\\/\\//i,Rd=/^(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$/;function wi(n){let e=n.lastIndexOf(\"/\");if(e<0)return n.length;if(_d.test(n)){let r=n.indexOf(\"/\");if(r>=0&&e===r+1)return n.length}let t=n.indexOf(\"?\");return t>=0&&t<e?wi(n.substring(0,t)):e+1}function jo(n,e){let t=Pr(n),r=Pr(e);if(t.scheme!==r.scheme||t.authority!==r.authority||t.path[0]!==void 0&&t.path[0]!==\"/\"&&r.path[0]===\"/\"||r.path[0]!==void 0&&r.path[0]!==\"/\"&&t.path[0]===\"/\")return null;let i=Sn(t.path),a=Sn(r.path),o;if(i===a)o=\"\";else{let u=i.split(\"/\");u.pop();let d=a.split(\"/\");for(;u.length>0&&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||K(r.query)&&(s+=\"?\",s+=r.query),K(r.fragment)&&(s+=\"#\",s+=r.fragment),s}function Pd(n,e){let t=Pr(n),r=Pr(e);if(K(r.scheme))return Oi(r);let i={scheme:t.scheme,authority:t.authority,path:\"\",query:r.query,fragment:r.fragment};return K(r.authority)?(i.authority=r.authority,i.path=Sn(r.path),Oi(i)):(r.path===\"\"?(i.path=t.path,K(r.query)||(i.query=t.query)):We(r.path,\"/\")?i.path=Sn(r.path):i.path=Sn(Cd(t,r.path)),Oi(i))}var bn=new Map,vd=200;function Pr(n){var r,i,a,o,s;if(bn.has(n))return bn.get(n);let e=n.match(Rd),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:\"\"},bn.size>=vd&&bn.clear(),bn.set(n,t),t}function Oi(n){let e=\"\";return K(n.scheme)&&(e+=n.scheme+\":\"),K(n.authority)&&(e+=\"//\"+n.authority),e+=n.path,K(n.query)&&(e+=\"?\"+n.query),K(n.fragment)&&(e+=\"#\"+n.fragment),e}function Sn(n){let e=n.split(/(?=\\/)/),t=[];for(let r=0;r<e.length;r++){let i=e[r];if(!(i===\"..\"||i===\".\"||i===\"\")){if(i===\"/..\"){t.pop(),r===e.length-1&&t.push(\"/\");continue}if(i===\"/.\"){r===e.length-1&&t.push(\"/\");continue}t.push(i)}}return t.join(\"\")}function Cd(n,e){if(K(n.authority)&&n.path===\"\")return\"/\"+e;let t=n.path;return t.substring(0,t.lastIndexOf(\"/\")+1)+e}function yn(...n){var r,i,a;let e=n.filter(o=>o!==\"\"),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=Pd(o,s),d=e.slice(2);return yn(u,...d)}}var Tn=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 Di(e,t),!0;let i=this._getReferenced(t.attributes.ref);return i===void 0?(r&&(m.warn(\"DASH: forcing the parsing of a referencing ContentProtection\"),Di(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),Di(e,t),!0)}_getReferenced(e){return this._refs.get(e)}};function Di(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=Q(n.contentProtections.initData,o=>o.type===\"cenc\");a===void 0?n.contentProtections.initData.push({type:\"cenc\",values:i}):a.values.push(...i)}function vr(n){let e=Date.parse(n)-L();if(isNaN(e)){m.warn(\"DASH Parser: Invalid clock received: \",n);return}return e}function Ni(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 Cr(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 Bi(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=Cr(r);if(s===void 0)return{safe:void 0,unsafe:void 0};a=s}if(i!==void 0){let s=Cr(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 m.info(\"Parser 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 Ar(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 Ui(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=Ar(r);if(s===void 0)return;a=s}if(i!==void 0){let s=Ar(i);if(s===void 0)return;o=s}if(r!==void 0&&a===null||i!==void 0&&o===null){m.info(\"Parser 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 Li(n){if(n.length===0)throw new Error(\"DASH Parser: no period available for a dynamic content\");let e=Ui(n),t=Bi(n);return{minimumSafePosition:e,maximumSafePosition:t.safe,maximumUnsafePosition:t.unsafe}}var En=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 Fi(n,e){return n.type!==\"dynamic\"?0:v(n.availabilityStartTime)?e!=null?e:0:n.availabilityStartTime}function zi(n){if(n.length===0)return[];let e=[n[0]];for(let t=1;t<n.length;t++){let r=n[t],i=e[e.length-1];for(;(i.duration===void 0||i.start+i.duration>r.start)&&(m.warn(\"DASH: Updating overlapping Periods.\",i==null?void 0:i.start,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 Wi(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 Ad(n,e){for(let t of e){let{adaptation:r,trickModeAttachedAdaptationIds:i}=t;for(let a of i)for(let o of Nt){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 Yo=Ad;var xd=[\"subtitle\",\"caption\"];function Vi(n,e,t,r){function i(o,s){let u=o.split(\"/\")[0];if(ge(Nt,u))return u;if(o===\"application/ttml+xml\")return\"text\";if(o===\"application/mp4\")return s!==null&&Q(s,d=>d.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&ge(xd,d.value))!==void 0?\"text\":void 0}function a(o){switch(o.substring(0,3)){case\"avc\":case\"hev\":case\"hvc\":case\"vp8\":case\"vp9\":case\"av1\":return\"video\";case\"vtt\":return\"text\"}switch(o.substring(0,4)){case\"mp4a\":return\"audio\";case\"wvtt\":case\"stpp\":return\"text\"}}if(e!==null){let o=i(e,r);if(o!==void 0)return o}if(t!==null){let o=a(t);if(o!==void 0)return o}for(let o=0;o<n.length;o++){let s=n[o],{mimeType:u,codecs:d}=s.attributes;if(u!==void 0){let f=i(u,r);if(f!==void 0)return f}if(d!==void 0){let f=a(d);if(f!==void 0)return f}}}var kd=/[, ]+/g;function Qo(n){return K(n)?n.trim().replace(kd,\", \"):\"\"}function $o(n){let[e,t,r,i,a,o,s,u]=n.split(\".\");if(e!==\"vp08\"&&e!==\"vp09\"&&e!==\"vp10\")return;let d,f,l;if((i!==void 0&&i===\"10\"||i===\"12\")&&(d=parseInt(i,10)),s!==void 0&&(s===\"16\"?f=\"pq\":s===\"18\"&&(f=\"hlg\")),o!==void 0&&u!==void 0&&o===\"09\"&&u===\"09\"&&(l=\"rec2020\"),!(d===void 0||f===void 0))return{colorDepth:d,eotf:f,colorSpace:l}}function qi(n,e){var p,h,b;let{availabilityTimeOffset:t,manifestBoundsCalculator:r,isDynamic:i,end:a,start:o,receivedTime:s,unsafelyBaseOnPreviousRepresentation:u,inbandEventStreams:d,isLastPeriod:f}=e,c={availabilityTimeComplete:void 0,availabilityTimeOffset:t,unsafelyBaseOnPreviousRepresentation:u,isEMSGWhitelisted:y=>d===void 0?!1:d.some(({schemeIdUri:E})=>E===y.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:y}=n.children;g=new Rt(y,c)}else if(n.children.segmentList!==void 0){let{segmentList:y}=n.children;g=new Pt(y,c)}else if(n.children.segmentTemplate!==void 0||e.parentSegmentTemplates.length>0){let y=e.parentSegmentTemplates.slice(),E=n.children.segmentTemplate;E!==void 0&&y.push(E);let P=G({},...y);(P.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(c.availabilityTimeOffset=((p=P.availabilityTimeOffset)!=null?p:0)+((h=e.availabilityTimeOffset)!=null?h:0)),(P.availabilityTimeComplete!==void 0||e.availabilityTimeComplete!==void 0)&&(c.availabilityTimeComplete=(b=P.availabilityTimeComplete)!=null?b:e.availabilityTimeComplete),g=Rr.isTimelineIndexArgument(P)?new Rr(P,c):new vt(P,c)}else{let y=e.adaptation.children;if(y.segmentBase!==void 0){let{segmentBase:E}=y;g=new Rt(E,c)}else if(y.segmentList!==void 0){let{segmentList:E}=y;g=new Pt(E,c)}else g=new vt({duration:Number.MAX_VALUE,timescale:1,startNumber:0,media:\"\"},c)}return g}function nt(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;a<n.length;a++){let o=n[a];for(let s=0;s<t.length;s++){let u=t[s],d=yn(o.url,u.url);r.push({url:d,serviceLocation:(i=u.serviceLocation)!=null?i:o.serviceLocation})}}return r}function Md(n,e){let t=[];if(n.children.inbandEventStreams!==void 0&&t.push(...n.children.inbandEventStreams),e.children.inbandEventStreams!==void 0&&t.push(...e.children.inbandEventStreams),t.length!==0)return t}function Od({adaptationProfiles:n,essentialProperties:e,supplementalProperties:t,manifestProfiles:r,codecs:i}){if(((n!=null?n:\"\")+(r!=null?r:\"\")).indexOf(\"http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10\")!==-1&&(i===\"hvc1.2.4.L153.B0\"||i===\"hev1.2.4.L153.B0\"))return{colorDepth:10,eotf:\"pq\",colorSpace:\"rec2020\"};let o=Q([...e!=null?e:[],...t!=null?t:[]],s=>s.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 $o(i)}function Hi(n,e,t){var i,a,o,s,u,d,f;let r=[];for(let l of n){let c=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(T=>T.id===c);)c+=\"-dup\";let g=(a=(i=t.unsafelyBaseOnPreviousAdaptation)==null?void 0:i.getRepresentation(c))!=null?a:null,p=Md(l,e),h=(o=l.attributes.availabilityTimeComplete)!=null?o:t.availabilityTimeComplete,b;(l.attributes.availabilityTimeOffset!==void 0||t.availabilityTimeOffset!==void 0)&&(b=((s=l.attributes.availabilityTimeOffset)!=null?s:0)+((u=t.availabilityTimeOffset)!=null?u:0));let y=G({},t,{availabilityTimeOffset:b,availabilityTimeComplete:h,unsafelyBaseOnPreviousRepresentation:g,adaptation:e,inbandEventStreams:p}),E=qi(l,y),P;l.attributes.bitrate===void 0?(m.warn(\"DASH: No usable bitrate found in the Representation.\"),P=0):P=l.attributes.bitrate;let _=nt(t.baseURLs,l.children.baseURLs),C=_.length===0?[{baseUrl:\"\",id:void 0}]:_.map(T=>({baseUrl:T.url,id:T.serviceLocation})),R={bitrate:P,cdnMetadata:C,index:E,id:c};l.children.supplementalProperties!==void 0&&Q(l.children.supplementalProperties,T=>T.schemeIdUri===\"tag:dolby.com,2018:dash:EC3_ExtensionType:2018\"&&T.value===\"JOC\")!==void 0&&(R.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,R.codecs=M);let A;l.attributes.supplementalCodecs!==void 0?A=l.attributes.supplementalCodecs:e.attributes.supplementalCodecs!==void 0&&(A=e.attributes.supplementalCodecs),A!==void 0&&(R.supplementalCodecs=Qo(A)),l.attributes.frameRate!==void 0?R.frameRate=l.attributes.frameRate:e.attributes.frameRate!==void 0&&(R.frameRate=e.attributes.frameRate),l.attributes.height!==void 0?R.height=l.attributes.height:e.attributes.height!==void 0&&(R.height=e.attributes.height),l.attributes.mimeType!==void 0?R.mimeType=l.attributes.mimeType:e.attributes.mimeType!==void 0&&(R.mimeType=e.attributes.mimeType),l.attributes.width!==void 0?R.width=l.attributes.width:e.attributes.width!==void 0&&(R.width=e.attributes.width);{let T=[...(d=e.children.contentProtections)!=null?d:[],...(f=l.children.contentProtections)!=null?f:[]];for(let x of T)t.contentProtectionParser.add(R,x)}R.hdrInfo=Od({adaptationProfiles:e.attributes.profiles,supplementalProperties:e.children.supplementalProperties,essentialProperties:e.children.essentialProperties,manifestProfiles:t.manifestProfiles,codecs:M}),r.push(R)}return r}function wd(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 Dd(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 Bd(n,e){if(K(n.attributes.id))return n.attributes.id;let{isClosedCaption:t,isForcedSubtitle:r,isAudioDescription:i,isSignInterpreted:a,isTrickModeTrack:o,type:s}=e,u=s;return K(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\"),K(n.attributes.contentType)&&(u+=`-${n.attributes.contentType}`),K(n.attributes.codecs)&&(u+=`-${n.attributes.codecs}`),K(n.attributes.mimeType)&&(u+=`-${n.attributes.mimeType}`),n.attributes.frameRate!==void 0&&(u+=`-${String(n.attributes.frameRate)}`),u}function Ud(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=>r)}return[]}function Gi(n,e){var s,u,d,f,l,c,g;let t={video:[],audio:[],text:[]},r=[],i={},a=[];for(let p=0;p<n.length;p++){let h=n[p],b=h.children,{essentialProperties:y,roles:E,label:P}=b,_=Array.isArray(E)&&E.some(Te=>Te.value===\"main\")&&E.some(Te=>Te.schemeIdUri===\"urn:mpeg:dash:role:2011\"),C=h.children.representations,R=(s=h.attributes.availabilityTimeComplete)!=null?s:e.availabilityTimeComplete,M;(h.attributes.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(M=((u=h.attributes.availabilityTimeOffset)!=null?u:0)+((d=e.availabilityTimeOffset)!=null?d:0));let A=h.attributes.mimeType,T=h.attributes.codecs,x=Vi(C,K(A)?A:null,K(T)?T:null,v(b.roles)?null:b.roles);if(x===void 0)continue;let O=(f=h.attributes.selectionPriority)!=null?f:1,w=h.attributes.id,B=Ud(h),k=[];e.segmentTemplate!==void 0&&k.push(e.segmentTemplate),h.children.segmentTemplate!==void 0&&k.push(h.children.segmentTemplate);let N={availabilityTimeComplete:R,availabilityTimeOffset:M,baseURLs:nt(e.baseURLs,b.baseURLs),contentProtectionParser:e.contentProtectionParser,manifestBoundsCalculator:e.manifestBoundsCalculator,end:e.end,isDynamic:e.isDynamic,isLastPeriod:e.isLastPeriod,manifestProfiles:e.manifestProfiles,parentSegmentTemplates:k,receivedTime:e.receivedTime,start:e.start,unsafelyBaseOnPreviousAdaptation:null},U=Array.isArray(y)?Q(y,Te=>Te.schemeIdUri===\"http://dashif.org/guidelines/trickmode\"):void 0,V=(l=U==null?void 0:U.value)==null?void 0:l.split(\" \"),Z=V!==void 0,{accessibilities:Y}=b,H;E!==void 0&&E.some(Te=>Te.value===\"dub\")&&(H=!0);let q;x!==\"text\"?q=!1:q=Dd(Y,E);let J;x===\"text\"&&E!==void 0&&E.some(Te=>Te.value===\"forced-subtitle\"||Te.value===\"forced_subtitle\")&&(J=!0);let de;x!==\"audio\"?de=!1:Y!==void 0&&(de=Y.some(wd));let me;x!==\"video\"?me=!1:Y!==void 0&&(me=Y.some(Nd));let ie=Bd(h,{isAudioDescription:de,isForcedSubtitle:J,isClosedCaption:q,isSignInterpreted:me,isTrickModeTrack:Z,type:x});for(;ge(a,ie);)ie+=\"-dup\";let Ge=ie;a.push(ie),N.unsafelyBaseOnPreviousAdaptation=(g=(c=e.unsafelyBaseOnPreviousPeriod)==null?void 0:c.getAdaptation(ie))!=null?g:null;let ke=Hi(C,h,N),fe={id:ie,representations:ke,type:x,isTrickModeTrack:Z};if(v(h.attributes.language)||(fe.language=h.attributes.language),v(q)||(fe.closedCaption=q),v(de)||(fe.audioDescription=de),H===!0&&(fe.isDub=!0),J!==void 0&&(fe.forcedSubtitles=J),me===!0&&(fe.isSignInterpreted=!0),P!==void 0&&(fe.label=P),V!==void 0)r.push({adaptation:fe,trickModeAttachedAdaptationIds:V});else{let Te=-1;for(let Qt of B){let Ke=i[Qt];if(Ke!==void 0&&Ke.newID!==Ge&&ge(Ke.adaptationSetSwitchingIDs,w)){Te=re(t[x],Ot=>Ot[0].id===Qt);let Me=t[x][Te];if(Me!==void 0&&Me[0].audioDescription===fe.audioDescription&&Me[0].closedCaption===fe.closedCaption&&Me[0].language===fe.language){m.info('DASH Parser: merging \"switchable\" AdaptationSets',w,Qt),Me[0].representations.push(...fe.representations),Me[1]={priority:Math.max(O,Me[1].priority),isMainAdaptation:_||Me[1].isMainAdaptation,indexInMpd:Math.min(p,Me[1].indexInMpd)};break}}}Te<0&&t[x].push([fe,{priority:O,isMainAdaptation:_,indexInMpd:p}])}!v(w)&&v(i[w])&&(i[w]={newID:Ge,adaptationSetSwitchingIDs:B})}let o=Nt.reduce((p,h)=>{let b=t[h];return b.length>0&&(b.sort(Xo),p[h]=b.map(([y])=>y)),p},{});return t.video.sort(Xo),Yo(o,r),o}function Xo(n,e){let t=e[1].priority-n[1].priority;return t!==0?t:n[1].isMainAdaptation!==e[1].isMainAdaptation?n[1].isMainAdaptation?-1:1:n[1].indexInMpd-e[1].indexInMpd}var Ld=Ae();function Ki(n,e){var o,s,u,d,f;let t=[],r=Wi(n,e);if(r.length!==n.length)throw new Error(\"MPD parsing error: the time information are incoherent.\");let{isDynamic:i,manifestBoundsCalculator:a}=e;!i&&!v(e.duration)&&a.setLastPosition(e.duration);for(let l=n.length-1;l>=0;l--){let c=l===n.length-1,g=n[l],p=e.xlinkInfos.get(g),h=nt(e.baseURLs,g.children.baseURLs),{periodStart:b,periodDuration:y,periodEnd:E}=r[l],P;for(v(g.attributes.id)?(m.warn(\"DASH: No usable id found in the Period. Generating one.\"),P=\"gen-dash-period-\"+Ld()):P=g.attributes.id;t.some(U=>U.id===P);)P+=\"-dup\";let _=p!==void 0?p.receivedTime:e.receivedTime,C=(s=(o=e.unsafelyBaseOnPreviousManifest)==null?void 0:o.getPeriod(P))!=null?s:null,R=g.attributes.availabilityTimeComplete,M=g.attributes.availabilityTimeOffset,{manifestProfiles:A,contentProtectionParser:T}=e,{segmentTemplate:x}=g.children;T.addReferences((u=g.children.contentProtections)!=null?u:[]);let O={availabilityTimeComplete:R,availabilityTimeOffset:M,baseURLs:h,contentProtectionParser:T,manifestBoundsCalculator:a,end:E,isDynamic:i,isLastPeriod:c,manifestProfiles:A,receivedTime:_,segmentTemplate:x,start:b,unsafelyBaseOnPreviousPeriod:C},w=Gi(g.children.adaptations,O),B=((d=e.xmlNamespaces)!=null?d:[]).concat((f=g.attributes.namespaces)!=null?f:[]),k=zd(g.children.eventStreams,b,B),N={id:P,start:b,end:E,duration:y,adaptations:w,streamEvents:k};if(t.unshift(N),!a.lastPositionIsKnown()){let U=Fd(w);if(!i)typeof U==\"number\"&&a.setLastPosition(U);else if(typeof U==\"number\"){let V=L()/1e3;a.setLastPosition(U,V)}else{let V=Zo(e,b);if(V!==void 0){let[Z,Y]=V;a.setLastPosition(Z,Y)}}}}if(e.isDynamic&&!a.lastPositionIsKnown()){let l=Zo(e,0);if(l!==void 0){let[c,g]=l;a.setLastPosition(c,g)}}return zi(t)}function Zo(n,e){if(v(n.clockOffset)){let t=Date.now()/1e3;if(t>=e){m.warn(\"DASH Parser: 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 Fd(n){let e=null,t=!0,r=cr(n).filter(a=>!v(a)),i=yi(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 zd(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,c=f.duration===void 0?void 0:l+f.duration/u,g,p;if(!wt&&f.eventStreamData instanceof Element)g=f.eventStreamData;else try{p={namespaces:d,data:typeof f.eventStreamData==\"string\"?f.eventStreamData:Ne(new Uint8Array(f.eventStreamData))}}catch(h){m.error(\"DASH: Error while parsing event-stream:\",h instanceof Error?h.message:\"Unknown error\")}r.push({start:l,end:c,id:f.id,data:{type:\"dash-event-stream\",value:{schemeIdUri:s,timescale:u,element:g,xmlData:p}}})}}return r}function zt(n,e,t,r,i=new WeakMap){let{children:a,attributes:o}=n;if(v(e.externalClockOffset)){let u=o.type===\"dynamic\",d=Q(a.utcTimings,c=>c.schemeIdUri===\"urn:mpeg:dash:utc:direct:2014\"&&!v(c.value)),f=!v(d)&&!v(d.value)?vr(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 c=Ni(n);if(!v(c)&&c.length>0)return{type:\"needs-clock\",value:{url:c,continue:function(p){return p.success?(e.externalClockOffset=vr(p.data),zt(n,e,t,!0)):(t.push(p.error),m.warn(\"DASH Parser: Error on fetching the clock ressource\",p.error),zt(n,e,t,!0))}}}}}let s=[];for(let u=0;u<a.periods.length;u++){let{xlinkHref:d,xlinkActuate:f}=a.periods[u].attributes;!v(d)&&f===\"onLoad\"&&s.push({index:u,ressource:d})}return s.length===0?Wd(n,e,t,i):{type:\"needs-xlinks\",value:{xlinksUrls:s.map(({ressource:u})=>u),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:c,warnings:g,receivedTime:p,sendingTime:h,url:b}=d[f];g.length>0&&t.push(...g);for(let y of c)i.set(y,{receivedTime:p,sendingTime:h,url:b});a.periods.splice(l,1,...c)}return zt(n,e,t,r,i)}}}}function Wd(n,e,t,r){var k,N,U,V,Z;let{children:i,attributes:a}=n,o=a.type===\"dynamic\",s=e.url!==void 0?[{url:e.url.substring(0,wi(e.url))}]:[],u=nt(s,i.baseURLs),d=Fi(a,e.referenceDateTime),f=a.timeShiftBufferDepth,l=a.maxSegmentDuration,{externalClockOffset:c,unsafelyBaseOnPreviousManifest:g}=e,{externalClockOffset:p}=e,h=new En({availabilityStartTime:d,isDynamic:o,timeShiftBufferDepth:f,serverTimestampOffset:p}),b=new Tn;b.addReferences((k=i.contentProtections)!=null?k:[]);let y={availabilityStartTime:d,baseURLs:u,clockOffset:c,contentProtectionParser:b,duration:a.duration,isDynamic:o,manifestBoundsCalculator:h,manifestProfiles:n.attributes.profiles,receivedTime:e.manifestReceivedTime,unsafelyBaseOnPreviousManifest:g,xlinkInfos:r,xmlNamespaces:n.attributes.namespaces},E=Ki(i.periods,y);b.finalize();let P=a.duration,_,C,R=null,M;a.minimumUpdatePeriod!==void 0&&a.minimumUpdatePeriod>=0&&(_=a.minimumUpdatePeriod===0?F.getCurrent().DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:a.minimumUpdatePeriod);let{minimumSafePosition:A,maximumSafePosition:T,maximumUnsafePosition:x}=Li(E),O=L();if(o){let Y;T!==void 0?Y=T:p===void 0?(m.warn(\"DASH Parser: use system clock to define maximum position\"),Y=Date.now()/1e3-d):Y=(L()+p)/1e3-d;let H=h.getEstimatedLiveEdge();H===void 0&&(x!==void 0?H=x:H=Y),M={isLinear:!0,maximumSafePosition:Y,livePosition:H,time:O},C=A,R=f!=null?f:null,R!==null&&(R+=l!=null?l:0),R!==null&&C!==void 0&&H-C>R&&(R=H-C)}else{C=A,C===void 0&&(C=(U=(N=E[0])==null?void 0:N.start)!=null?U:0);let Y=P!=null?P:1/0;if(E[E.length-1]!==void 0){let H=E[E.length-1],q=(V=H.end)!=null?V:H.duration!==void 0?H.start+H.duration:void 0;q!==void 0&&q<Y&&(Y=q)}T!==void 0&&T<Y&&(Y=T),M={isLinear:!1,maximumSafePosition:Y,livePosition:void 0,time:O}}let w=!o||n.attributes.minimumUpdatePeriod===void 0&&(((Z=E[E.length-1])==null?void 0:Z.end)!==void 0||n.attributes.duration!==void 0);return{type:\"done\",value:{parsed:{availabilityStartTime:d,clockOffset:e.externalClockOffset,isDynamic:o,isLive:o,isLastPeriodKnown:w,periods:E,publishTime:a.publishTime,suggestedPresentationDelay:a.suggestedPresentationDelay,transportType:\"dash\",timeBounds:{minimumSafePosition:C,timeshiftDepth:R,maximumTimeData:M},lifetime:_,uris:v(e.url)?i.locations:[e.url,...i.locations]},warnings:t}}}var xr=zt;var Vd=/^P(([\\d.]*)Y)?(([\\d.]*)M)?(([\\d.]*)D)?T?(([\\d.]*)H)?(([\\d.]*)M)?(([\\d.]*)S)?/,qd=/([0-9]+)-([0-9]+)/;function ve(n,e){return n===\"true\"?[!0,null]:n===\"false\"?[!1,null]:[!1,new we(`\\`${e}\\` property is not a boolean value but \"${n}\"`)]}function ne(n,e){let t=parseInt(n,10);return isNaN(t)?[null,new we(`\\`${e}\\` property is not an integer value but \"${n}\"`)]:[t,null]}function xe(n,e){if(n===\"INF\")return[1/0,null];let t=parseFloat(n);return isNaN(t)?[null,new we(`\\`${e}\\` property is invalid: \"${n}\"`)]:[t,null]}function ji(n,e){if(n===\"true\")return[!0,null];if(n===\"false\")return[!1,null];let t=parseInt(n,10);return isNaN(t)?[null,new we(`\\`${e}\\` property is not a boolean nor an integer but \"${n}\"`)]:[t,null]}function kr(n,e){let t=Date.parse(n);return isNaN(t)?[null,new we(`\\`${e}\\` is in an invalid date format: \"${n}\"`)]:[new Date(Date.parse(n)).getTime()/1e3,null]}function Ve(n,e){if(!K(n))return[0,new we(`\\`${e}\\` property is empty`)];let t=Vd.exec(n);return t===null?[null,new we(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[parseFloat(K(t[2])?t[2]:\"0\")*365*24*60*60+parseFloat(K(t[4])?t[4]:\"0\")*30*24*60*60+parseFloat(K(t[6])?t[6]:\"0\")*24*60*60+parseFloat(K(t[8])?t[8]:\"0\")*60*60+parseFloat(K(t[10])?t[10]:\"0\")*60+parseFloat(K(t[12])?t[12]:\"0\"),null]}function Ct(n,e){let t=qd.exec(n);return t===null?[null,new we(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[[+t[1],+t[2]],null]}function Jo(n,e){try{return[Ir(n),null]}catch(t){return[null,new we(`\\`${e}\\` is not a valid base64 string: \"${n}\"`)]}}function Wt(n,e){let t=/^(\\d+)\\/(\\d+)$/.exec(n);return t!==null?[+t[1]/+t[2],null]:xe(n,e)}function Re(n){let e,t;for(let r of Object.keys(n.attributes)){let i=n.attributes[r];if(!v(i))switch(r){case\"schemeIdUri\":e=i;break;case\"value\":t=i;break}}return{schemeIdUri:e,value:t}}function be(n,e){return function(t,{asKey:r,parser:i,dashName:a}){let[o,s]=i(t,a);s!==null&&(m.warn(s.message),e.push(s)),o!==null&&(n[r]=o)}}var we=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"MPDError\"}};function gt(n){return Tr(n)}function rt(n){let e=typeof n==\"string\"?n:gt(n.children),t=[];return e===null||e.length===0?[void 0,t]:[{value:e},t]}function Hd(n){let e=[],t=[];for(let r=0;r<n.length;r++){let i=n[r];if(typeof i!=\"string\"&&i.tagName===\"cenc:pssh\"){let a=gt(i.children);if(a!==null&&a.length>0){let[o,s]=Jo(a,\"cenc:pssh\");s!==null&&(m.warn(s.message),e.push(s)),o!==null&&t.push(o)}}}return[{cencPssh:t},e]}function Gd(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=sn(r.replace(/-/g,\"\"));break;case\"ref\":e.ref=r;break;case\"refId\":e.refId=r;break}}return e}function it(n){let[e,t]=Hd(n.children),r=Gd(n);return[{children:e,attributes:r},t]}function Yi(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 Qi(n){let e={},t=[],r=be(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:Ct,dashName:\"range\"});break;case\"sourceURL\":e.media=a;break}}return[e,t]}function at(n){let e={},t=[],r=be(e,t),i=n.children;for(let a=0;a<i.length;a++){let o=i[a];if(typeof o!=\"string\"&&o.tagName===\"Initialization\"){let[s,u]=Qi(o);e.initialization=s,t=t.concat(u)}}for(let a of Object.keys(n.attributes)){let o=n.attributes[a];if(!v(o))switch(a){case\"timescale\":r(o,{asKey:\"timescale\",parser:ne,dashName:\"timescale\"});break;case\"presentationTimeOffset\":r(o,{asKey:\"presentationTimeOffset\",parser:xe,dashName:\"presentationTimeOffset\"});break;case\"indexRange\":r(o,{asKey:\"indexRange\",parser:Ct,dashName:\"indexRange\"});break;case\"indexRangeExact\":r(o,{asKey:\"indexRangeExact\",parser:ve,dashName:\"indexRangeExact\"});break;case\"availabilityTimeOffset\":r(o,{asKey:\"availabilityTimeOffset\",parser:xe,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(o,{asKey:\"availabilityTimeComplete\",parser:ve,dashName:\"availabilityTimeComplete\"});break;case\"duration\":r(o,{asKey:\"duration\",parser:ne,dashName:\"duration\"});break;case\"startNumber\":r(o,{asKey:\"startNumber\",parser:ne,dashName:\"startNumber\"});break;case\"endNumber\":r(o,{asKey:\"endNumber\",parser:ne,dashName:\"endNumber\"});break}}return[e,t]}function $i(n){let e={},t=[],r=be(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"media\":e.media=a;break;case\"indexRange\":r(a,{asKey:\"indexRange\",parser:Ct,dashName:\"indexRange\"});break;case\"index\":e.index=a;break;case\"mediaRange\":r(a,{asKey:\"mediaRange\",parser:Ct,dashName:\"mediaRange\"});break}}return[e,t]}function _n(n){let[e,t]=at(n),r=t,i=[],a=n.children;for(let s=0;s<a.length;s++){let u=a[s];if(typeof u!=\"string\"&&u.tagName===\"SegmentURL\"){let[d,f]=$i(u);i.push(d),r=r.concat(f)}}return[G(e,{list:i}),r]}function Xi(n){let e=n.children;return function(){for(let t=e.length-1;t>=0;t--){let r=e[t];(typeof r==\"string\"||r.tagName!==\"S\")&&e.splice(t,1)}return e}}function At(n){let[e,t]=at(n),r=t,i;for(let s=0;s<n.children.length;s++){let u=n.children[s];typeof u!=\"string\"&&u.tagName===\"SegmentTimeline\"&&(i=Xi(u))}let a=G({},e,{duration:e.duration,timelineParser:i}),o=be(a,r);for(let s of Object.keys(n.attributes)){let u=n.attributes[s];if(!v(u))switch(s){case\"initialization\":v(a.initialization)&&(a.initialization={media:u});break;case\"index\":a.index=u;break;case\"availabilityTimeOffset\":o(u,{asKey:\"availabilityTimeOffset\",parser:xe,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":o(u,{asKey:\"availabilityTimeComplete\",parser:ve,dashName:\"availabilityTimeComplete\"});break;case\"media\":a.media=u;break;case\"bitstreamSwitching\":o(u,{asKey:\"bitstreamSwitching\",parser:ve,dashName:\"bitstreamSwitching\"});break}}return[a,r]}function Kd(n){let e={baseURLs:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"BaseURL\":{let[o,s]=rt(a);o!==void 0&&e.baseURLs.push(o),r=r.concat(s);break}case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(Re(a));break;case\"SegmentBase\":{let[o,s]=at(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=_n(a);r=r.concat(s),e.segmentList=o;break}case\"SegmentTemplate\":{let[o,s]=At(a);r=r.concat(s),e.segmentTemplate=o;break}case\"ContentProtection\":{let[o,s]=it(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}case\"SupplementalProperty\":v(e.supplementalProperties)?e.supplementalProperties=[Re(a)]:e.supplementalProperties.push(Re(a));break}}return t.length>0&&(e.contentProtections=t),[e,r]}function jd(n){let e={},t=[],r=be(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:ne,dashName:\"bandwidth\"});break;case\"codecs\":e.codecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:ve,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Wt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ne,dashName:\"height\"});break;case\"id\":e.id=a;break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:xe,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:xe,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"qualityRanking\":r(a,{asKey:\"qualityRanking\",parser:ne,dashName:\"qualityRanking\"});break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:ne,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:xe,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:ve,dashName:\"availabilityTimeComplete\"});break}}return e.bitrate===void 0&&t.push(new we(\"No bitrate found on a Representation\")),[e,t]}function es(n){let[e,t]=Kd(n.children),[r,i]=jd(n),a=t.concat(i);return[{children:e,attributes:r},a]}function Yd(n){let e={baseURLs:[],representations:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"Accessibility\":e.accessibilities===void 0?e.accessibilities=[Re(a)]:e.accessibilities.push(Re(a));break;case\"BaseURL\":{let[o,s]=rt(a);o!==void 0&&e.baseURLs.push(o),s.length>0&&(r=r.concat(s));break}case\"ContentComponent\":e.contentComponent=Yi(a);break;case\"EssentialProperty\":v(e.essentialProperties)?e.essentialProperties=[Re(a)]:e.essentialProperties.push(Re(a));break;case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(Re(a));break;case\"Label\":{let o=gt(a.children);o!=null&&(e.label=o);break}case\"Representation\":{let[o,s]=es(a);e.representations.push(o),s.length>0&&(r=r.concat(s));break}case\"Role\":v(e.roles)?e.roles=[Re(a)]:e.roles.push(Re(a));break;case\"SupplementalProperty\":v(e.supplementalProperties)?e.supplementalProperties=[Re(a)]:e.supplementalProperties.push(Re(a));break;case\"SegmentBase\":{let[o,s]=at(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=_n(a);e.segmentList=o,s.length>0&&(r=r.concat(s));break}case\"SegmentTemplate\":{let[o,s]=At(a);e.segmentTemplate=o,s.length>0&&(r=r.concat(s));break}case\"ContentProtection\":{let[o,s]=it(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 Qd(n){let e={},t=[],r=be(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:ne,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:ne,dashName:\"minBandwidth\"});break;case\"maxBandwidth\":r(a,{asKey:\"maxBitrate\",parser:ne,dashName:\"maxBandwidth\"});break;case\"minWidth\":r(a,{asKey:\"minWidth\",parser:ne,dashName:\"minWidth\"});break;case\"maxWidth\":r(a,{asKey:\"maxWidth\",parser:ne,dashName:\"maxWidth\"});break;case\"minHeight\":r(a,{asKey:\"minHeight\",parser:ne,dashName:\"minHeight\"});break;case\"maxHeight\":r(a,{asKey:\"maxHeight\",parser:ne,dashName:\"maxHeight\"});break;case\"minFrameRate\":r(a,{asKey:\"minFrameRate\",parser:Wt,dashName:\"minFrameRate\"});break;case\"maxFrameRate\":r(a,{asKey:\"maxFrameRate\",parser:Wt,dashName:\"maxFrameRate\"});break;case\"selectionPriority\":r(a,{asKey:\"selectionPriority\",parser:ne,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:ve,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:ve,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:Wt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:ne,dashName:\"height\"});break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:xe,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:xe,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:ne,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:xe,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:ve,dashName:\"availabilityTimeComplete\"});break}}return[e,t]}function ts(n){let e=n.children,[t,r]=Yd(e),[i,a]=Qd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function $d(n){let e={},t=[],r=be(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:ne,dashName:\"timescale\"});break;default:We(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function ns(n,e){let[t,r]=$d(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]=ne(a.attributes.presentationTime,\"presentationTime\");u!==null&&r.push(u),s!==null&&(o.presentationTime=s)}if(!v(a.attributes.duration)){let[s,u]=ne(a.attributes.duration,\"duration\");u!==null&&r.push(u),s!==null&&(o.duration=s)}if(a.posStart<a.posEnd){let s=e.substring(a.posStart,a.posEnd);o.eventStreamData=s}i.push(o)}return[{children:{events:i},attributes:t},r]}function Xd(n,e){let t=[],r=[],i,a=[],o=[],s=[];for(let u=0;u<n.length;u++){let d=n[u];if(typeof d!=\"string\")switch(d.tagName){case\"BaseURL\":{let[f,l]=rt(d);f!==void 0&&t.push(f),o=o.concat(l);break}case\"AdaptationSet\":{let[f,l]=ts(d);r.push(f),o=o.concat(l);break}case\"EventStream\":{let[f,l]=ns(d,e);s.push(f),o=o.concat(l);break}case\"SegmentTemplate\":{let[f,l]=At(d);i=f,l.length>0&&(o=o.concat(l));break}case\"ContentProtection\":{let[f,l]=it(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 Zd(n){let e={},t=[],r=be(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:Ve,dashName:\"start\"});break;case\"duration\":r(a,{asKey:\"duration\",parser:Ve,dashName:\"duration\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:ve,dashName:\"bitstreamSwitching\"});break;case\"xlink:href\":e.xlinkHref=a;break;case\"xlink:actuate\":e.xlinkActuate=a;break;default:We(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function Mr(n,e){let[t,r]=Xd(n.children,e),[i,a]=Zd(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Jd(n,e){let t=[],r=[],i=[],a=[],o=[],s=[];for(let u=0;u<n.length;u++){let d=n[u];if(typeof d!=\"string\")switch(d.tagName){case\"BaseURL\":{let[f,l]=rt(d);f!==void 0&&t.push(f),s=s.concat(l);break}case\"Location\":r.push(gt(d.children));break;case\"Period\":{let[f,l]=Mr(d,e);i.push(f),s=s.concat(l);break}case\"UTCTiming\":{let f=Re(d);a.push(f);break}case\"ContentProtection\":{let[f,l]=it(d);l.length>0&&(s=s.concat(l)),f!==void 0&&o.push(f);break}}}return[{baseURLs:t,locations:r,periods:i,utcTimings:a,contentProtections:o},s]}function el(n){let e={},t=[],r=be(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:kr,dashName:\"availabilityStartTime\"});break;case\"availabilityEndTime\":r(a,{asKey:\"availabilityEndTime\",parser:kr,dashName:\"availabilityEndTime\"});break;case\"publishTime\":r(a,{asKey:\"publishTime\",parser:kr,dashName:\"publishTime\"});break;case\"mediaPresentationDuration\":r(a,{asKey:\"duration\",parser:Ve,dashName:\"mediaPresentationDuration\"});break;case\"minimumUpdatePeriod\":r(a,{asKey:\"minimumUpdatePeriod\",parser:Ve,dashName:\"minimumUpdatePeriod\"});break;case\"minBufferTime\":r(a,{asKey:\"minBufferTime\",parser:Ve,dashName:\"minBufferTime\"});break;case\"timeShiftBufferDepth\":r(a,{asKey:\"timeShiftBufferDepth\",parser:Ve,dashName:\"timeShiftBufferDepth\"});break;case\"suggestedPresentationDelay\":r(a,{asKey:\"suggestedPresentationDelay\",parser:Ve,dashName:\"suggestedPresentationDelay\"});break;case\"maxSegmentDuration\":r(a,{asKey:\"maxSegmentDuration\",parser:Ve,dashName:\"maxSegmentDuration\"});break;case\"maxSubsegmentDuration\":r(a,{asKey:\"maxSubsegmentDuration\",parser:Ve,dashName:\"maxSubsegmentDuration\"});break;default:We(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function rs(n,e){let[t,r]=Jd(n.children,e),[i,a]=el(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Zi(n,e){let t=Ri(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]=rs(r,n),o=xr(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 c=0;c<d.length;c++){let{responseData:g,receivedTime:p,sendingTime:h,url:b}=d[c];if(!g.success)throw g.error;let y=\"<root>\"+g.data+\"</root>\",E=Ri(y),P=E[E.length-1];if(P===void 0||typeof P==\"string\")throw new Error(\"DASH parser: Invalid external ressources\");let _=P.children,C=[],R=[];for(let M=0;M<_.length;M++){let A=_[M];if(typeof A==\"string\"||A.tagName!==\"Period\")continue;let[T,x]=Mr(A,y);R.push(...x),C.push(T)}f.push({url:b,receivedTime:p,sendingTime:h,parsed:C,warnings:R})}let l=u.value.continue(f);return s(l)}}};ze(u)}}var is=Zi;var tl=typeof WebAssembly==\"object\"&&typeof WebAssembly.instantiate==\"function\",as=tl;function z(n,e,t,r){let i=new Uint8Array(e,t,r);return n.decode(i)}function Ji(n){return n===1/0?!0:n===-1/0?!1:n}function ht(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.value=z(t,e.buffer,a,o))}}function It(n,e){let t=n.attributes,r=n.children,i=new TextDecoder;return function(o,s,u){switch(o){case 16:t.schemeIdUri=z(i,e.buffer,s,u);break;case 13:t.value=z(i,e.buffer,s,u);break;case 14:{let d=z(i,e.buffer,s,u);t.keyId=sn(d.replace(/-/g,\"\"));break}case 15:try{let d=z(i,e.buffer,s,u);r.cencPssh.push(Ir(d))}catch(d){}break;case 78:t.ref=z(i,e.buffer,s,u);break;case 79:t.refId=z(i,e.buffer,s,u);break}}}function os(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 60:n.language=z(t,e.buffer,a,o);break;case 61:n.contentType=z(t,e.buffer,a,o);break;case 62:n.par=z(t,e.buffer,a,o);break}}}function ss(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.label=z(t,e.buffer,a,o))}}function qe(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 16:n.schemeIdUri=z(t,e.buffer,a,o);break;case 17:n.value=z(t,e.buffer,a,o);break}}}function Vt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 29:{let s=new DataView(e.buffer);n.initialization===void 0&&(n.initialization={}),n.initialization.range=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 67:n.initialization===void 0&&(n.initialization={}),n.initialization.media=z(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function us(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 28:n.index=z(t,e.buffer,a,o);break;case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 30:n.media=z(t,e.buffer,a,o);break;case 18:{let s=new DataView(e.buffer);n.mediaRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}}}}function Or(n,e,t){return function(i){switch(i){case 20:{let a={};n.list===void 0&&(n.list=[]),n.list.push(a);let o=us(a,e);t.pushParsers(i,D,o);break}default:t.pushParsers(i,D,D);break}}}function qt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 19:{let s=new DataView(e.buffer);n.timeline=[];let u=a;for(let d=0;d<o/24;d++)n.timeline.push({start:s.getFloat64(u,!0),duration:s.getFloat64(u+8,!0),repeatCount:s.getFloat64(u+16,!0)}),u+=24;break}case 67:n.initialization={media:z(t,e.buffer,a,o)};break;case 28:n.index=z(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 30:n.media=z(t,e.buffer,a,o);break;case 32:{n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function ds(n,e,t){return function(i){switch(i){case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a),t.pushParsers(i,D,ht(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=It(a,e);t.pushParsers(i,D,o);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a),t.pushParsers(i,D,qe(a,e));break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=qe(a,e);t.pushParsers(i,D,o);break}case 17:{let a={};n.segmentBase=a;let o=Vt(a,e);t.pushParsers(i,D,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=Or(a,e,t),s=Vt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,D,qt(a,e));break}default:t.pushParsers(i,D,D);break}}}function ls(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 3:n.audioSamplingRate=z(t,e.buffer,a,o);break;case 63:n.bitrate=s.getFloat64(a,!0);break;case 4:n.codecs=z(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=z(t,e.buffer,a,o);break;case 5:n.codingDependency=new DataView(e.buffer).getUint8(0)===0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 11:n.mimeType=z(t,e.buffer,a,o);break;case 2:n.profiles=z(t,e.buffer,a,o);break;case 65:n.qualityRanking=s.getFloat64(a,!0);break;case 12:n.segmentProfiles=z(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function fs(n,e,t){return function(i){switch(i){case 8:{let a={};n.accessibilities===void 0&&(n.accessibilities=[]),n.accessibilities.push(a);let o=qe(a,e);t.pushParsers(i,D,o);break}case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a);let o=ht(a,e);t.pushParsers(i,D,o);break}case 9:{let a={};n.contentComponent=a,t.pushParsers(i,D,os(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=It(a,e);t.pushParsers(i,D,o);break}case 11:{let a={};n.essentialProperties===void 0&&(n.essentialProperties=[]),n.essentialProperties.push(a);let o=D,s=qe(a,e);t.pushParsers(i,o,s);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a);let o=D,s=qe(a,e);t.pushParsers(i,o,s);break}case 7:{let a={children:{baseURLs:[]},attributes:{}};n.representations.push(a);let o=ds(a.children,e,t),s=ls(a.attributes,e);t.pushParsers(i,o,s);break}case 12:{let a={};n.roles===void 0&&(n.roles=[]),n.roles.push(a);let o=qe(a,e);t.pushParsers(i,D,o);break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=qe(a,e);t.pushParsers(i,D,o);break}case 17:{let a={};n.segmentBase=a;let o=Vt(a,e);t.pushParsers(i,D,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=Or(a,e,t),s=Vt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,D,qt(a,e));break}case 21:{t.pushParsers(i,D,ss(n,e));break}default:t.pushParsers(i,D,D);break}}}function cs(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 48:n.group=s.getFloat64(a,!0);break;case 60:n.language=z(t,e.buffer,a,o);break;case 61:n.contentType=z(t,e.buffer,a,o);break;case 62:n.par=z(t,e.buffer,a,o);break;case 53:n.minBitrate=s.getFloat64(a,!0);break;case 49:n.maxBitrate=s.getFloat64(a,!0);break;case 56:n.minWidth=s.getFloat64(a,!0);break;case 52:n.maxWidth=s.getFloat64(a,!0);break;case 55:n.minHeight=s.getFloat64(a,!0);break;case 51:n.maxHeight=s.getFloat64(a,!0);break;case 54:n.minFrameRate=s.getFloat64(a,!0);break;case 50:n.maxFrameRate=s.getFloat64(a,!0);break;case 57:n.selectionPriority=s.getFloat64(a,!0);break;case 58:n.segmentAlignment=Ji(s.getFloat64(a,!0));break;case 59:n.subsegmentAlignment=Ji(s.getFloat64(a,!0));break;case 32:n.bitstreamSwitching=s.getFloat64(a,!0)!==0;break;case 3:n.audioSamplingRate=z(t,e.buffer,a,o);break;case 4:n.codecs=z(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=z(t,e.buffer,a,o);break;case 2:n.profiles=z(t,e.buffer,a,o);break;case 12:n.segmentProfiles=z(t,e.buffer,a,o);break;case 11:n.mimeType=z(t,e.buffer,a,o);break;case 5:n.codingDependency=s.getFloat64(a,!0)!==0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function ms(n,e,t,r){return function(a){switch(a){case 6:{let o={};n.events.push(o);let s=nl(o,e,r);t.pushParsers(a,D,s);break}default:t.pushParsers(a,D,D);break}}}function ps(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 16:n.schemeIdUri=z(t,e.buffer,a,o);break;case 17:n.value=z(t,e.buffer,a,o);break;case 27:n.timescale=s.getFloat64(a,!0);break;case 70:{let u={key:\"\",value:\"\"},d=a,f=s.getUint32(d);d+=4,u.key=z(t,e.buffer,d,f),d+=f;let l=s.getUint32(d);d+=4,u.value=z(t,e.buffer,d,l),n.namespaces===void 0?n.namespaces=[u]:n.namespaces.push(u);break}}}}function nl(n,e,t){let r=new TextDecoder;return function(a,o,s){let u=new DataView(e.buffer);switch(a){case 25:n.presentationTime=u.getFloat64(o,!0);break;case 1:n.duration=u.getFloat64(o,!0);break;case 0:n.id=z(r,e.buffer,o,s);break;case 69:{let d=u.getFloat64(o,!0),f=u.getFloat64(o+8,!0);n.eventStreamData=t.slice(d,f);break}}}}function wr(n,e,t,r){return function(a){switch(a){case 4:{let o={children:{baseURLs:[],representations:[]},attributes:{}};n.adaptations.push(o);let s=fs(o.children,e,t),u=cs(o.attributes,e);t.pushParsers(a,s,u);break}case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=D,u=ht(o,e);t.pushParsers(a,s,u);break}case 5:{let o={children:{events:[]},attributes:{}};n.eventStreams.push(o);let s=ms(o.children,e,t,r),u=ps(o.attributes,e);t.pushParsers(a,s,u);break}case 16:{let o={};n.segmentTemplate=o,t.pushParsers(a,D,qt(o,e));break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=It(o,e);t.pushParsers(a,D,s);break}default:t.pushParsers(a,D,D);break}}}function Dr(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=z(t,e.buffer,a,o);break;case 45:n.start=new DataView(e.buffer).getFloat64(a,!0);break;case 1:n.duration=new DataView(e.buffer).getFloat64(a,!0);break;case 32:n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break;case 46:n.xlinkHref=z(t,e.buffer,a,o);break;case 47:n.xlinkActuate=z(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=new DataView(e.buffer).getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break;case 70:{let s={key:\"\",value:\"\"},u=new DataView(e.buffer),d=a,f=u.getUint32(d);d+=4,s.key=z(t,e.buffer,d,f),d+=f;let l=u.getUint32(d);d+=4,s.value=z(t,e.buffer,d,l),n.namespaces===void 0?n.namespaces=[s]:n.namespaces.push(s);break}}}}function gs(n,e,t,r){return function(a){switch(a){case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=D,u=ht(o,e);t.pushParsers(a,s,u);break}case 2:{let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=wr(o.children,e,t,r),u=Dr(o.attributes,e);t.pushParsers(a,s,u);break}case 3:{let o={};n.utcTimings.push(o);let s=D,u=qe(o,e);t.pushParsers(a,s,u);break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=It(o,e);t.pushParsers(a,D,s);break}default:t.pushParsers(a,D,D);break}}}function hs(n,e,t){let r,i=new TextDecoder;return function(o,s,u){switch(o){case 0:e.id=z(i,t.buffer,s,u);break;case 2:e.profiles=z(i,t.buffer,s,u);break;case 33:e.type=z(i,t.buffer,s,u);break;case 34:{let d=z(i,t.buffer,s,u);e.availabilityStartTime=new Date(d).getTime()/1e3;break}case 35:{let d=z(i,t.buffer,s,u);e.availabilityEndTime=new Date(d).getTime()/1e3;break}case 36:{let d=z(i,t.buffer,s,u);e.publishTime=new Date(d).getTime()/1e3;break}case 68:r=new DataView(t.buffer),e.duration=r.getFloat64(s,!0);break;case 37:r=new DataView(t.buffer),e.minimumUpdatePeriod=r.getFloat64(s,!0);break;case 38:r=new DataView(t.buffer),e.minBufferTime=r.getFloat64(s,!0);break;case 39:r=new DataView(t.buffer),e.timeShiftBufferDepth=r.getFloat64(s,!0);break;case 40:r=new DataView(t.buffer),e.suggestedPresentationDelay=r.getFloat64(s,!0);break;case 41:r=new DataView(t.buffer),e.maxSegmentDuration=r.getFloat64(s,!0);break;case 42:r=new DataView(t.buffer),e.maxSubsegmentDuration=r.getFloat64(s,!0);break;case 66:{let d=z(i,t.buffer,s,u);n.locations.push(d);break}case 70:{let d={key:\"\",value:\"\"};r=new DataView(t.buffer);let f=s,l=r.getUint32(f);f+=4,d.key=z(i,t.buffer,f,l),f+=l;let c=r.getUint32(f);f+=4,d.value=z(i,t.buffer,f,c),e.namespaces===void 0?e.namespaces=[d]:e.namespaces.push(d);break}}}}function ea(n,e,t,r){return function(a){switch(a){case 1:{n.mpd={children:{baseURLs:[],locations:[],periods:[],utcTimings:[]},attributes:{}};let o=gs(n.mpd.children,e,t,r),s=hs(n.mpd.children,n.mpd.attributes,e);t.pushParsers(a,o,s);break}default:t.pushParsers(a,D,D);break}}}function Is(n,e,t,r){return function(a){switch(a){case 2:{let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=wr(o.children,e,t,r),u=Dr(o.attributes,e);t.pushParsers(a,s,u);break}default:t.pushParsers(a,D,D);break}}}var Rn=class{constructor(){this._currentNodeId=null,this.childrenParser=D,this.attributeParser=D,this._stack=[{nodeId:null,children:D,attribute:D}]}pushParsers(e,t,r){this._currentNodeId=e,this.childrenParser=t,this.attributeParser=r,this._stack.push({nodeId:e,attribute:r,children:t})}popIfCurrent(e){if(this._currentNodeId!==e)return;this._stack.pop();let{nodeId:t,children:r,attribute:i}=this._stack[this._stack.length-1];this._currentNodeId=t,this.attributeParser=i,this.childrenParser=r}reset(){this.childrenParser=D,this.attributeParser=D,this._stack=[{nodeId:null,children:D,attribute:D}]}};var rl=15e3,Pn=class{constructor(){this._parsersStack=new Rn,this._instance=null,this._mpdData=null,this._linearMemory=null,this.status=\"uninitialized\",this._initProm=null,this._warnings=[],this._isParsing=!1}waitForInitialization(){var e;return(e=this._initProm)!=null?e:Promise.reject(\"No initialization performed yet.\")}async initialize(e){if(this.status!==\"uninitialized\")return Promise.reject(new Error(\"DashWasmParser already initialized.\"));if(!this.isCompatible())return this.status=\"failure\",Promise.reject(new Error(\"Target not compatible with WebAssembly.\"));this.status=\"initializing\";let t=this._parsersStack,r=new TextDecoder,i=this,a={env:{memoryBase:0,tableBase:0,memory:new WebAssembly.Memory({initial:10}),table:new WebAssembly.Table({initial:1,element:\"anyfunc\"}),onTagOpen:d,onCustomEvent:c,onAttribute:l,readNext:g,onTagClose:f}},o=null,s;typeof e.wasmUrl==\"string\"?s=fetch(e.wasmUrl):(o=URL.createObjectURL(new Blob([e.wasmUrl],{type:\"application/wasm\"})),s=fetch(o));let u=typeof WebAssembly.instantiateStreaming==\"function\"?WebAssembly.instantiateStreaming(s,a):Promise.reject(\"`WebAssembly.instantiateStreaming` API not available\");return this._initProm=u.catch(async p=>{o!==null&&(URL.revokeObjectURL(o),o=null),m.warn(\"Unable to call `instantiateStreaming` on WASM\",p instanceof Error?p:\"\");let h=await s;if(h.status<200||h.status>=300)throw new Error(\"WebAssembly request failed. status: \"+String(h.status));let b=await h.arrayBuffer();return WebAssembly.instantiate(b,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 h=p instanceof Error?p.toString():\"Unknown error\";throw m.warn(\"DW: Could not create DASH-WASM parser:\",h),this.status=\"failure\",p}),this._initProm;function d(p){return t.childrenParser(p)}function f(p){return t.popIfCurrent(p)}function l(p,h,b){return t.attributeParser(p,h,b)}function c(p,h,b){let y=i._linearMemory,E=new Uint8Array(y.buffer,h,b);if(p===1){let P=r.decode(E);m.warn(\"WASM Error Event:\",P),i._warnings.push(new Error(P))}else if(p===0){let P=r.decode(E);m.warn(\"WASM Log Event:\",P)}}function g(p,h){if(i._mpdData===null)throw new Error(\"DashWasmParser Error: No MPD to read.\");let b=i._linearMemory,{mpd:y,cursor:E}=i._mpdData,P=Math.min(h,rl,y.byteLength-E);return new Uint8Array(b.buffer,p,P).set(new Uint8Array(y,E,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=xr(r,t,i);return this._processParserReturnValue(a)}isCompatible(){return as&&typeof ae.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=ea(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=Is(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<r.length;o++){let{responseData:s,receivedTime:u,sendingTime:d,url:f}=r[o];if(!s.success)throw s.error;let[l,c]=this._parseXlink(s.data);i.push({url:f,receivedTime:u,sendingTime:d,parsed:l,warnings:c})}let a=e.value.continue(i);return this._processParserReturnValue(a)};return{type:\"needs-resources\",value:{urls:e.value.xlinksUrls,format:\"arraybuffer\",continue:t}}}else ze(e)}};var bs=Pn;var xt=class{constructor(e,t){this._last=e,this._wanted=t}serialize(){return[this._last,this._wanted]}getPolled(){return this._last}getWanted(){var e;return(e=this._wanted)!=null?e:this._last}forceWantedPosition(e){this._wanted=e}isAwaitingFuturePosition(){return this._wanted!==null}};function Nr(n,e,t){let r=e(n.getReference(),t);return{getCurrentTime(){return n.getCurrentTime()},getReadyState(){return n.getReadyState()},getPlaybackRate(){return n.getPlaybackRate()},getIsPaused(){return n.getIsPaused()},getReference(){return r},listen(i,a){t.isCancelled()||a.clearSignal.isCancelled()||r.onUpdate(i,{clearSignal:a.clearSignal,emitCurrentValue:a.includeLastObservation})},deriveReadOnlyObserver(i){return Nr(this,i,t)}}}var vn=class{constructor(e,t,r,i){this._src=e,this._contentId=t,this._messageSender=r,this._cancelSignal=i}getCurrentTime(){}getReadyState(){}getIsPaused(){}getReference(){return this._src}setPlaybackRate(e){this._messageSender({type:\"update-playback-rate\",contentId:this._contentId,value:e})}getPlaybackRate(){}listen(e,t){this._cancelSignal.isCancelled()||t.clearSignal.isCancelled()||this._src.onUpdate(e,{clearSignal:t.clearSignal,emitCurrentValue:t.includeLastObservation})}deriveReadOnlyObserver(e){return Nr(this,e,this._cancelSignal)}};function ot(n,e){if(e.length===0)return n;let t,r=\"\",i=n.indexOf(\"#\"),a=n;i>=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;u<e.length;u++){let d=e[u];d[1]===null?s+=d[0]:s+=`${d[0]}=${d[1]}`,u<e.length-1&&(s+=\"&\")}return r.length>0&&(s+=r),s}function ta(n,e){return(t,r,i)=>new Promise((a,o)=>{let s=Date.now()-L(),u=!1,c={reject:h=>{var P,_;if(u||i.isCancelled())return;u=!0,i.deregister(p);let b=h,y=(P=b==null?void 0:b.message)!=null?P:\"Unknown error when fetching the Manifest through a custom manifestLoader.\",E=new je(y,(_=b==null?void 0:b.canRetry)!=null?_:!1,b==null?void 0:b.xhr);o(E)},resolve:h=>{if(u||i.isCancelled())return;u=!0,i.deregister(p);let b=h.receivingTime!==void 0?h.receivingTime-s:void 0,y=h.sendingTime!==void 0?h.sendingTime-s:void 0;a({responseData:h.data,size:h.size,requestDuration:h.duration,url:h.url,receivedTime:b,sendingTime:y})},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},c);i.register(p);function p(h){u||(u=!0,typeof g==\"function\"&&g(),o(h))}})}function il(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\"?ot(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 he({url:a,headers:o,responseType:\"arraybuffer\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"text\":return he({url:a,headers:o,responseType:\"text\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"document\":return he({url:a,headers:o,responseType:\"document\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});default:ze(n)}}}function na({customManifestLoader:n},e,t){let r=il(e),i=typeof n!=\"function\"?r:ta(n,r);return t!==null?t(i):i}function ra(n,e){if(e){if(Qe(n,1718909296)<0)throw new Se(\"INTEGRITY_ERROR\",\"Incomplete `ftyp` box\");if(Qe(n,1836019574)<0)throw new Se(\"INTEGRITY_ERROR\",\"Incomplete `moov` box\")}else{if(Qe(n,1836019558)<0)throw new Se(\"INTEGRITY_ERROR\",\"Incomplete `moof` box\");if(Qe(n,1835295092)<0)throw new Se(\"INTEGRITY_ERROR\",\"Incomplete `mdat` box\")}}function He(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 Br(n){return(e,t,r,i,a)=>{return new Promise((s,u)=>{let d=new W,f=d.linkToSignal(i);d.signal.register(u),n(e,t,r,d.signal,oe(ee({},a),{onNewChunk(c){try{o(c),a.onNewChunk(c)}catch(g){l(),d.cancel(),u(g)}}})).then(c=>{if(l(),!d.isUsed()){if(c.resultType===\"segment-loaded\")try{o(c.resultData.responseData)}catch(g){u(g);return}s(c)}},c=>{l(),u(c)});function l(){d.signal.deregister(u),f()}});function o(s){!(s instanceof ArrayBuffer)&&!(s instanceof Uint8Array)||He(t.type,t.mimeType)!==\"mp4\"||ra(new Uint8Array(s),t.segment.isInit)}}}function Ss(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=[\"</\",\"MPD\",\">\"];for(let d=u.length-1;d>=0;d--){let f=u[d];for(;al(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 </MPD>\");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(;ol(u.getUint8(s));)s--;for(let c=l.length-1;c>=0;c--){if(u.getUint8(s)!==l[c])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(!v(ae.Document)&&o instanceof ae.Document&&o.documentElement.nodeName!==\"MPD\")throw new Se(\"INTEGRITY_ERROR\",\"MPD does not end with </MPD>\")}}}function al(n){return n===\" \"||n===\"\t\"||n===\"\\r\"||n===`\n`}function ol(n){return n===32||n===9||n===13||n===10}function ia(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 E;let{responseData:d}=i,f=a.externalClockOffset,l=(E=i.url)!=null?E:a.originalUrl,c=t!=null?t:f,p={unsafelyBaseOnPreviousManifest:a.unsafeMode?a.previousManifest:null,url:l,referenceDateTime:e,externalClockOffset:c},h=Oe.dashParsers;if(h.wasm===null||h.wasm.status===\"uninitialized\"||h.wasm.status===\"failure\")return m.debug(\"DASH: WASM MPD Parser not initialized. Running JS one.\"),b();{let P=fl(d);if(!cl(P))return m.info(\"DASH: MPD doesn't seem to be UTF-8-encoded. Running JS parser instead of the WASM one.\"),b();if(h.wasm.status===\"initialized\"){m.debug(\"DASH: Running WASM MPD Parser.\");let _=h.wasm.runWasmParser(P,p);return y(_)}else return m.debug(\"DASH: Awaiting WASM initialization before parsing the MPD.\"),h.wasm.waitForInitialization().catch(()=>{}).then(()=>{if(h.wasm===null||h.wasm.status!==\"initialized\")return m.warn(\"DASH: WASM MPD parser initialization failed. Running JS parser instead\"),b();m.debug(\"DASH: Running WASM MPD Parser.\");let C=h.wasm.runWasmParser(P,p);return y(C)})}function b(){if(h.fastJs!==null){let P=dl(d),_=h.fastJs(P,p);return y(_)}else if(h.native!==null){let P=ll(d),_=h.native(P,p);return y(_)}else throw new Error(\"No MPD parser is imported\")}function y(P){if(P.type===\"done\"){if(P.value.warnings.length>0&&o(P.value.warnings),s.isCancelled())return Promise.reject(s.cancellationError);let R=[];return{manifest:new Lt(P.value.parsed,n,R),url:l,warnings:R}}let{value:_}=P,C=_.urls.map(R=>u(()=>{let M=F.getCurrent().DEFAULT_REQUEST_TIMEOUT,A=F.getCurrent().DEFAULT_CONNECTION_TIMEOUT;return _.format===\"string\"?he({url:R,responseType:\"text\",timeout:M,connectionTimeout:A,cancelSignal:s}):he({url:R,responseType:\"arraybuffer\",timeout:M,connectionTimeout:A,cancelSignal:s})}).then(M=>{if(_.format===\"string\"){if(typeof M.responseData!=\"string\")throw new Error(\"External DASH resources should have been a string\");return G(M,{responseData:{success:!0,data:M.responseData}})}else{if(!(M.responseData instanceof ArrayBuffer))throw new Error(\"External DASH resources should have been ArrayBuffers\");return G(M,{responseData:{success:!0,data:M.responseData}})}},M=>{let A=ye(M,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"An unknown error occured when parsing ressources.\"});return G({},{size:void 0,requestDuration:void 0,responseData:{success:!1,error:A}})}));return Promise.all(C).then(R=>_.format===\"string\"?(sl(R),y(_.continue(R))):(ul(R),y(_.continue(R))))}}}function sl(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 ul(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 dl(n){if(n instanceof ArrayBuffer)return Ne(new Uint8Array(n));if(typeof n==\"string\")return n;if(n instanceof Document)return n.documentElement.outerHTML;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function ll(n){if(n instanceof ArrayBuffer)return new DOMParser().parseFromString(Ne(new Uint8Array(n)),\"text/xml\");if(typeof n==\"string\")return new DOMParser().parseFromString(n,\"text/xml\");if(n instanceof Document)return n;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function fl(n){if(n instanceof ArrayBuffer)return n;if(typeof n==\"string\")return on(n).buffer;if(n instanceof Document)return on(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 Xe([n,e]){return e===1/0?`bytes=${n}-`:`bytes=${n}-${e}`}function Cn(n,e){return n===null?null:e.url===null?n.baseUrl:yn(n.baseUrl,e.url)}function An(n,e,t,r,i){var d,f;let a=n;((d=t.cmcdPayload)==null?void 0:d.type)===\"query\"&&(a=ot(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 he({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 he({url:a,headers:oe(ee({},o),{Range:Xe(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 he({url:a,headers:oe(ee({},o),{Range:Xe([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=he({url:a,headers:oe(ee({},o),{Range:Xe(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}),u=he({url:a,headers:oe(ee({},o),{Range:Xe(e.indexRange)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress});return Promise.all([s,u]).then(([l,c])=>{let g=_t(new Uint8Array(l.responseData),new Uint8Array(c.responseData)),p=Math.min(l.sendingTime,c.sendingTime),h=Math.max(l.receivedTime,c.receivedTime);return{resultType:\"segment-loaded\",resultData:{url:a,responseData:g,size:l.size+c.size,requestDuration:h-p,sendingTime:p,receivedTime:h}}})}async function xn(n,e,t,r){let i=null;function a(s){let u=new Uint8Array(s.chunk),d=i!==null?_t(i,u):u,f=br(d),l=f[0];i=f[1],!(l!==null&&(l.forEach(c=>{t.onNewChunk(c)}),r.isCancelled()))&&(t.onProgress({duration:s.duration,size:s.size,totalSize:s.totalSize}),r.isCancelled())}return{resultType:\"chunk-complete\",resultData:await lr({url:n,headers:e.headers,onData:a,timeout:e.timeout,connectionTimeout:e.connectionTimeout,cancelSignal:r})}}async function ys(n,e,t,r,i,a){var c,g;if(e.segment.isInit)return An(n,e.segment,r,a,i);let o=((c=r.cmcdPayload)==null?void 0:c.type)===\"query\"?ot(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=oe(ee({},s),{Range:Xe(u.range)}):s!==void 0&&(d=s);let f=He(e.type,e.mimeType);if(t&&(f===\"mp4\"||f===void 0)){if(Jt())return xn(o,{headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout},i,a);et(\"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 he({url:o,responseType:\"arraybuffer\",headers:d,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:a,onProgress:i.onProgress})}}function aa({lowLatencyMode:n,segmentLoader:e,checkMediaSegmentIntegrity:t}){return t!==!0?r:Br(r);function r(i,a,o,s,u){let d=Cn(i,a.segment);return d===null?Promise.resolve({resultType:\"segment-created\",resultData:null}):n||e===void 0?ys(d,a,n,o,u,s):new Promise((f,l)=>{let c=!1,y={reject:R=>{var x,O;if(c||s.isCancelled())return;c=!0,s.deregister(C);let M=R,A=(x=M==null?void 0:M.message)!=null?x:\"Unknown error when fetching a DASH segment through a custom segmentLoader.\",T=new je(A,(O=M==null?void 0:M.canRetry)!=null?O:!1,M==null?void 0:M.xhr);l(T)},resolve:R=>{c||s.isCancelled()||(c=!0,s.deregister(C),f({resultType:\"segment-loaded\",resultData:{responseData:R.data,size:R.size,requestDuration:R.duration}}))},progress:R=>{c||s.isCancelled()||u.onProgress({duration:R.duration,size:R.size,totalSize:R.totalSize})},fallback:()=>{c||s.isCancelled()||(c=!0,s.deregister(C),ys(d,a,n,o,u,s).then(f,l))}},E;a.segment.range!==void 0&&(E=[a.segment.range],a.segment.indexRange!==void 0&&E.push(a.segment.indexRange));let P={isInit:a.segment.isInit,timeout:o.timeout,byteRanges:E,trackType:a.type,url:d,cmcdPayload:o.cmcdPayload},_=e(P,y);s.register(C);function C(R){c||(c=!0,typeof _==\"function\"&&_(),l(R))}})}}var sa=408125543,Ts=357149030,ml=2807729,pl=17545,gl=475249515,hl=187,Il=179,bl=183,Sl=241;function bt(n,e,t,[r,i]){let a=r;for(;a<i;){let o=Tl(t,a);if(o===null)return null;let{value:s,length:u}=o,d=a+u,f=El(t,d);if(f===null)return null;let{length:l,value:c}=f,g=d+l,p=g+c;if(s===n)return[g,p];if(e.length>0){for(let h=0;h<e.length;h++)if(s===e[h]){let b=e.slice(h+1,e.length);return bt(n,b,t,[g,p])}}a=p}return null}function Ur(n,e){let t=bt(ml,[sa,Ts],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return 1e9/oa(n,t[0],r)}function yl(n,e){let t=bt(pl,[sa,Ts],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return r===4?_l(n,t[0]):r===8?Rl(n,t[0]):null}function ua(n,e){let t=bt(sa,[],n,[e,n.length]);if(t===null)return null;let[r,i]=t,a=Ur(n,r);if(a===null)return null;let o=yl(n,r);if(o===null)return null;let s=bt(gl,[],n,[r,i]);if(s===null)return null;let u=[],d=s[0];for(;d<s[1];){let l=bt(hl,[],n,[d,s[1]]);if(l===null)break;let c=bt(Il,[],n,[l[0],l[1]]);if(c===null)return null;let g=oa(n,c[0],c[1]-c[0]),p=bt(Sl,[bl],n,[l[0],l[1]]);if(p===null)return null;let h=oa(n,p[0],p[1]-p[0])+r;u.push({time:g,rangeStart:h}),d=l[1]}let f=[];for(let l=0;l<u.length;l++){let c=u[l];l===u.length-1?f.push({time:c.time,timescale:a,duration:l===0?o:o-c.time,range:[c.rangeStart,1/0]}):f.push({time:c.time,timescale:a,duration:u[l+1].time-c.time,range:[c.rangeStart,u[l+1].rangeStart-1]})}return f}function Es(n,e){for(let t=1;t<=8;t++)if(n[e]>=Math.pow(2,8-t))return t}function Tl(n,e){let t=Es(n,e);if(t===void 0)return m.warn(\"webm: unrepresentable length\"),null;if(e+t>n.length)return m.warn(\"webm: impossible length\"),null;let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function El(n,e){let t=Es(n,e);if(t===void 0)return m.warn(\"webm: unrepresentable length\"),null;if(e+t>n.length)return m.warn(\"webm: impossible length\"),null;let r=(n[e]&(1<<8-t)-1)*Math.pow(2,(t-1)*8);for(let i=1;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function _l(n,e){return new DataView(n.buffer).getFloat32(e)}function Rl(n,e){return new DataView(n.buffer).getFloat64(e)}function oa(n,e,t){let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return r}function kn(n,e,t,r){let i=bi(n);if(i===void 0||r===void 0)return null;let a=t.timestampOffset!==void 0?i+t.timestampOffset*r:i,o=Si(n);if(a<0&&(o!==void 0&&(o+=a),a=0),e||!t.complete)return o===void 0&&m.warn(\"DASH: Chunked segments should indicate a duration through their trun boxes\"),{time:a/r,duration:o!==void 0?o/r:void 0};let s,u=t.duration*r,d=Math.min(r*.9,u/4);return o!==void 0&&Math.abs(o-u)<=d&&(s=o),{time:a/r,duration:s!==void 0?s/r:s}}function Pl(n,e){if(n.length<=0)return!1;let t=n.length;for(let r=0;r<t;r++){let i=n[r],a=e,{messageData:o}=i,s=Ne(o),u=Date.parse(s);if(a===void 0||u===void 0||isNaN(u)||u>=a)return!0}return!1}function da(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:Pl(t,e);return{inbandEvents:i,needsManifestRefresh:a}}function la({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var P,_;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=u instanceof Uint8Array?u:new Uint8Array(u),c=He(r.type,r.mimeType),g=c===\"mp4\"||c===void 0,p=[];if(g){let C=Sr(l),R;a.isInit&&(R=(P=Oo(l))!=null?P:void 0),(C.length>0||R!==void 0)&&p.push({initDataType:\"cenc\",keyId:R,initData:C})}if(!a.isInit){let C=g?kn(l,d,a,i):null,R=(_=a.timestampOffset)!=null?_:0;if(g){let M=Mo(l);if(M!==void 0){let A=M.filter(x=>a.privateInfos===void 0||a.privateInfos.isEMSGWhitelisted===void 0?!1:a.privateInfos.isEMSGWhitelisted(x)),T=da(A,r.manifestPublishTime);if(T!==void 0){let{needsManifestRefresh:x,inbandEvents:O}=T;return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:R,appendWindow:f,inbandEvents:O,protectionData:p,needsManifestRefresh:x}}}}return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:R,protectionData:p,appendWindow:f}}let{indexRange:h}=a,b;if(c===\"webm\")b=ua(l,0);else if(g&&(b=un(l,Array.isArray(h)?h[0]:0),n===!0&&b!==null&&b.length>0)){let C=b[b.length-1];Array.isArray(C.range)&&(C.range[1]=1/0)}let y;g?y=dn(l):c===\"webm\"&&(y=Ur(l,0));let E=v(y)?void 0:y;return{segmentType:\"init\",initializationData:l,initializationDataSize:l.length,protectionData:p,initTimescale:E,segmentList:b!=null?b:void 0}}}function fa({lowLatencyMode:n,checkMediaSegmentIntegrity:e}){return e!==!0?t:Br(t);async function t(r,i,a,o,s){var b,y;let{segment:u}=i,d=Cn(r,u);if(d===null)return Promise.resolve({resultType:\"segment-created\",resultData:null});if(u.isInit)return An(d,u,a,o,s);let f=((b=a.cmcdPayload)==null?void 0:b.type)===\"query\"?ot(d,a.cmcdPayload.value):d,l=((y=a.cmcdPayload)==null?void 0:y.type)===\"headers\"?a.cmcdPayload.value:void 0,c;u.range!==void 0?c=oe(ee({},l),{Range:Xe(u.range)}):l!==void 0&&(c=l);let g=He(i.type,i.mimeType),p=g===\"mp4\"||g===void 0;if(n&&p){if(Jt())return xn(f,{headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout},s,o);et(\"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 h;return p?h=await he({url:f,responseType:\"arraybuffer\",headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}):h=await he({url:f,responseType:\"text\",headers:c,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}),{resultType:\"segment-loaded\",resultData:h}}}function vl(n){let e=hi(n);return e===null?\"\":Ne(e)}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 _s({segment:n,language:e,codecs:t},r,i,a){if(n.isInit)return null;let o,s;i===null?a?(o=n.time,s=n.end):m.warn(\"Transport: Unavailable time data for current text track.\"):(o=i.time,i.duration!==void 0?s=o+i.duration:!a&&n.complete&&(s=o+n.duration));let u=Cl(t);return{data:vl(r),type:u,language:e,start:o,end:s}}function Rs(n,e,t){let{segment:r}=n;if(r.isInit)return null;let i,a;t?m.warn(\"Transport: Unavailable time data for current text track.\"):(i=r.time,r.complete&&(a=r.time+r.duration));let o=Al(n.codecs,n.mimeType);return{data:e,type:o,language:n.language,start:i,end:a}}function xl(n,e,t,r,i){var c;let{segment:a}=t,{isInit:o,indexRange:s}=a,u;if(typeof n==\"string\"?u=on(n):n instanceof Uint8Array?u=n:u=new Uint8Array(n),o){let g=un(u,Array.isArray(s)?s[0]:0);if(i===!0&&g!==null&&g.length>0){let h=g[g.length-1];Array.isArray(h.range)&&(h.range[1]=1/0)}let p=dn(u);return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:p,segmentList:g!=null?g:void 0}}let d=kn(u,e,a,r),f=_s(t,u,d,e),l=(c=a.timestampOffset)!=null?c:0;return{segmentType:\"media\",chunkData:f,chunkSize:u.length,chunkInfos:d,chunkOffset:l,protectionData:[],appendWindow:[t.periodStart,t.periodEnd]}}function kl(n,e,t){let{periodStart:r,periodEnd:i,segment:a}=t,{timestampOffset:o=0}=a;if(a.isInit)return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};let s,u;if(typeof n!=\"string\"){let f=n instanceof Uint8Array?n:new Uint8Array(n);s=Ne(f),u=f.length}else s=n;return{segmentType:\"media\",chunkData:Rs(t,s,e),chunkSize:u,chunkInfos:null,chunkOffset:o,protectionData:[],appendWindow:[r,i]}}function ca({__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=He(r.type,r.mimeType);if(f===\"webm\")throw new Error(\"Text tracks with a WEBM container are not yet handled.\");return f===\"mp4\"?xl(u,d,r,i,n):kl(u,d,r)}}function Ps(n){let e=na({customManifestLoader:n.manifestLoader},Ml()?\"text\":\"arraybuffer\",n.checkManifestIntegrity===!0?Ss:null),t=ia(n),r=aa(n),i=la(n),a=fa(n),o=ca(n);return{transportName:\"dash\",manifest:{loadManifest:e,parseManifest:t},audio:{loadSegment:r,parseSegment:i},video:{loadSegment:r,parseSegment:i},text:{loadSegment:a,parseSegment:o}}}function Ml(){return Oe.dashParsers.wasm!==null&&(Oe.dashParsers.wasm.status===\"initialized\"||Oe.dashParsers.wasm.status===\"initializing\")}var vs=Ps;var kt=typeof queueMicrotask==\"function\"?queueMicrotask:function(e){Promise.resolve().then(e,()=>e())};var Mt=class{constructor(e){this._array=[],this._sortingFn=e}add(...e){e.sort(this._sortingFn);let t=0;for(let r=0;r<e.length;r++){let i=e[r],a=!1;for(;!a&&t<this._array.length;)this._sortingFn(i,this._array[t])<0?(this._array.splice(t,0,i),a=!0):t++;a||this._array.push(i)}}length(){return this._array.length}get(e){if(e<0||e>=this._array.length)throw new Error(\"Invalid index.\");return this._array[e]}toArray(){return this._array.slice()}findFirst(e){return Q(this._array,e)}has(e){return ge(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 Mn=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 Cs(n,e){return Math.abs(n-e)<Ol}function xs(n,e){let t=Math.min(n.start,e.start),r=Math.max(n.end,e.end);return{start:t,end:r}}function wl(n){for(let e=0;e<n.length;e++){let t=n[e];t.start===t.end&&n.splice(e--,1)}return n}function Dl(n){for(let e=1;e<n.length;e++){let t=n[e-1],r=n[e];if(Ms(t,r)){let i=xs(t,r);n.splice(--e,2,i)}}return n}function ma(n,e){return n.end<=e.start}function As({start:n,end:e},t){return n<=t&&t<e}function ks(n,e){return As(n,e.start)||n.start<e.end&&e.end<n.end||As(e,n.start)}function Ms(n,e){return Cs(e.start,n.end)||Cs(e.end,n.start)}function pa(n){let e=[];for(let t=0;t<n.length;t++)e.push({start:n.start(t),end:n.end(t)});return e}function Nl(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t].start;if(e>=r){let i=n[t].end;if(e<i)return n[t]}}return null}function Os(n,e){let t=null,r=[];for(let i=0;i<n.length;i++){let a=n[i].start,o=n[i].end;e<a||e>=o?r.push({start:a,end:o}):t={start:a,end:o}}return{outerRanges:r,innerRange:t}}function Lr(n,e){let t=Nl(n,e);return t!==null?t.end-e:1/0}function Ht(n,e){if(e.start===e.end)return n;let t=e,r=0;for(;r<n.length;r++){let i=n[r],a=ks(t,i),o=Ms(t,i);if(a||o)t=xs(t,i),n.splice(r--,1);else if(r===0){if(ma(t,n[0]))break}else if(ma(n[r-1],t)&&ma(t,i))break}return n.splice(r,0,t),Dl(wl(n))}function Bl(n,e){let t=[];for(let r=0;r<e.length;r++)ks(n,e[r])&&t.push(e[r]);return t}function Fr(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],a=[],o=Bl(i,e);if(o.length>0)for(let s=0;s<o.length;s++){let u=o[s];a.push({start:Math.max(i.start,u.start),end:Math.min(i.end,u.end)})}if(a.length===0)t.push(i);else{let s=i.start;for(let u=0;u<a.length;u++)a[u].start>s&&t.push({start:s,end:a[u].start}),s=a[u].end;s<i.end&&t.push({start:s,end:i.end})}}return t}function zr({segmentSink:n,playbackObserver:e,maxBufferBehind:t,maxBufferAhead:r},i){let a,o=[];e.listen(u=>{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=>{let d=u instanceof Error?u.message:\"Unknown error\";m.error(\"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}=Os(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-r<l.end&&o.push({start:l.start,end:e-r});v(s)||e-r>s.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+i<l.end&&e+i>l.start&&o.push({start:e+i,end:l.end});v(s)||e+i<s.end&&o.push({start:e+i,end:s.end})}};d(),f();for(let l of o)if(l.start<l.end){if(m.debug(\"GC: cleaning range from SegmentSink\",l.start,l.end),a.cancellationError!==null)throw a.cancellationError;await n.removeBuffer(l.start,l.end)}}var On=class{constructor(e,t){this._history=[],this._lifetime=e,this._maxHistoryLength=t}addBufferedSegment(e,t){let r=L();this._history.push({date:r,buffered:t,context:e}),this._cleanHistory(r)}getHistoryFor(e){return this._history.filter(t=>Je(t.context,e))}_cleanHistory(e){let t=e-this._lifetime,r=0;for(let i of this._history)if(i.date<t)r++;else break;if(r>0&&(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 wn=class{constructor(){let{BUFFERED_HISTORY_RETENTION_TIME:e,BUFFERED_HISTORY_MAXIMUM_ENTRIES:t}=F.getCurrent();this._inventory=[],this._bufferedHistory=new On(e,t)}reset(){this._inventory.length=0}synchronizeBuffered(e){var u,d,f,l,c,g,p;let t=this._inventory,r=0,i=t[0],{MINIMUM_SEGMENT_SIZE:a}=F.getCurrent(),o=i==null?void 0:i.infos.adaptation.type;if(m.hasLevel(\"DEBUG\")){let h=e.map(b=>`${b.start}-${b.end}`).join(\",\");m.debug(`SI: synchronizing ${o!=null?o:\"unknown\"} buffered ranges:`,h)}let s=e.length;for(let h=0;h<s;h++){if(i===void 0)return;let b=e[h].start,y=e[h].end;if(y-b<a){m.warn(\"SI: skipped range when synchronizing because it was too small\",o,b,y);continue}let E=r;for(;i!==void 0&&((u=i.bufferedEnd)!=null?u:i.end)-b<a;)i=t[++r];let P=null,_=r-E;if(_>0){let R=t[E+_-1];P={end:(d=R.bufferedEnd)!=null?d:R.end,precizeEnd:R.precizeEnd},m.debug(`SI: ${_} segments GCed.`,o);let M=t.splice(E,_);for(let A of M)A.bufferedStart===void 0&&A.bufferedEnd===void 0&&A.status!==2&&this._bufferedHistory.addBufferedSegment(A.infos,null);r=E}if(i===void 0)return;if(y-((f=i.bufferedStart)!=null?f:i.start)>=a){if(Ll(i,b,P,o),r===t.length-1){Ds(i,y,o);return}i=t[++r];let R=(l=i.bufferedStart)!=null?l:i.start,M=(c=i.bufferedEnd)!=null?c:i.end,A=h<s-1?e[h+1].start:void 0;for(;i!==void 0&&!(y<R||y-R<a&&M-y>=a||A!==void 0&&y-R<M-A);){let T=t[r-1];T.bufferedEnd===void 0&&(i.precizeStart?T.bufferedEnd=i.start:T.infos.segment.complete?T.bufferedEnd=T.end:T.bufferedEnd=i.start,m.debug(\"SI: calculating buffered end of contiguous segment\",o,T.bufferedEnd,T.end)),i.bufferedStart=T.bufferedEnd,i=t[++r],i!==void 0&&(R=(g=i.bufferedStart)!=null?g:i.start,M=(p=i.bufferedEnd)!=null?p:i.end)}}let C=t[r-1];C!==void 0&&Ds(C,y,o)}if(!v(i)){let{SEGMENT_SYNCHRONIZATION_DELAY:h}=F.getCurrent(),b=L();for(let y=r;y<t.length;y++){let E=t[y];b-E.insertionTs>=h&&(m.debug(\"SI: A segment at the end has been completely GCed\",o,`${E.start}-${E.end}`),E.bufferedStart===void 0&&E.bufferedEnd===void 0&&E.status!==2&&this._bufferedHistory.addBufferedSegment(E.infos,null),t.splice(y,1),y--)}}o!==void 0&&m.hasLevel(\"DEBUG\")&&m.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){m.warn(\"SI: Invalid chunked inserted: starts before it ends\",f,o,s);return}let l=this._inventory,c={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 h=l[p];if(h.start<=o)if(h.end<=o){for(m.debug(\"SI: Pushing segment strictly after previous one.\",f,o,h.end),this._inventory.splice(p+1,0,c),p+=2;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else if(h.start===o)if(h.end<=s){for(m.debug(\"SI: Segment pushed replace another one\",f,o,s,h.end),this._inventory.splice(p,1,c),p+=1;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.debug(\"SI: Segment pushed ends before another with the same start\",f,o,s,h.end),l.splice(p,0,c),h.start=c.end,h.bufferedStart=void 0,h.precizeStart=h.precizeStart&&c.precizeEnd;return}else if(h.end<=c.end){for(m.debug(\"SI: Segment pushed updates end of previous one\",f,o,s,h.start,h.end),this._inventory.splice(p+1,0,c),h.end=c.start,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&c.precizeStart,p+=2;p<l.length&&l[p].start<c.end;){if(l[p].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[p].start),l[p].start=c.end,l[p].bufferedStart=void 0,l[p].precizeStart=l[p].precizeStart&&c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[p].start,l[p].end),l.splice(p,1)}return}else{m.warn(\"SI: Segment pushed is contained in a previous one\",f,o,s,h.start,h.end);let b={status:h.status,insertionTs:h.insertionTs,chunkSize:h.chunkSize,splitted:!0,start:c.end,end:h.end,precizeStart:h.precizeStart&&h.precizeEnd&&c.precizeEnd,precizeEnd:h.precizeEnd,bufferedStart:void 0,bufferedEnd:h.end,infos:h.infos};h.end=c.start,h.splitted=!0,h.bufferedEnd=void 0,h.precizeEnd=h.precizeEnd&&c.precizeStart,l.splice(p+1,0,c),l.splice(p+2,0,b);return}}let g=this._inventory[0];if(g===void 0){m.debug(\"SI: first segment pushed\",f,o,s),this._inventory.push(c);return}if(g.start>=s)m.debug(\"SI: Segment pushed comes before all previous ones\",f,o,s,g.start),this._inventory.splice(0,0,c);else if(g.end<=s){for(m.debug(\"SI: Segment pushed starts before and completely recovers the previous first one\",f,o,s,g.start,g.end),this._inventory.splice(0,1,c);l.length>1&&l[1].start<c.end;){if(l[1].end>c.end){m.debug(\"SI: Segment pushed updates the start of the next one\",f,c.end,l[1].start),l[1].start=c.end,l[1].bufferedStart=void 0,l[1].precizeStart=c.precizeEnd;return}m.debug(\"SI: Segment pushed removes the next one\",f,o,s,l[1].start,l[1].end),l.splice(1,1)}return}else{m.debug(\"SI: Segment pushed start of the next one\",f,o,s,g.start,g.end),g.start=s,g.bufferedStart=void 0,g.precizeStart=c.precizeEnd,this._inventory.splice(0,0,c);return}}completeSegment(e){if(e.segment.isInit)return;let t=this._inventory,r=[];for(let i=0;i<t.length;i++)if(Je(t[i].infos,e)){let a=!1;r.length>0&&(a=!0,r.length===1&&(m.warn(\"SI: Completed Segment is splitted.\",e.segment.id,e.segment.time,e.segment.end),r[0].splitted=!0));let o=i,s=t[i].chunkSize;for(i+=1;i<t.length&&Je(t[i].infos,e);){let c=t[i].chunkSize;s!==void 0&&c!==void 0&&(s+=c),i++}let u=i-1,d=u-o,f=t[u].end,l=t[u].bufferedEnd;d>0&&(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)m.warn(\"SI: Completed Segment not found\",e.segment.id,e.segment.time);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}):m.debug(\"SI: buffered range not known after sync. Skipping history.\",i.start,i.end)}getInventory(){return this._inventory}getHistoryFor(e){return this._bufferedHistory.getHistoryFor(e)}};function ga(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}=F.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 ws(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}=F.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}=F.getCurrent();if(n.bufferedStart!==void 0)n.bufferedStart<e&&(m.debug(\"SI: Segment partially GCed at the start\",r,n.bufferedStart,e),n.bufferedStart=e),!n.precizeStart&&ga(n)&&(n.start=n.bufferedStart,n.precizeStart=!0);else if(n.precizeStart)m.debug(\"SI: buffered start is precize start\",r,n.start),n.bufferedStart=n.start;else if(t!==null&&t.end>e&&(t.precizeEnd||n.start-t.end<=i))m.debug(\"SI: buffered start is end of previous segment\",r,e,n.start,t.end),n.bufferedStart=t.end,ga(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<o){m.debug(\"SI: Ignored bufferedStart synchronization\",r,e,n.start,s-n.insertionTs);return}m.debug(\"SI: found true buffered start\",r,e,n.start),n.bufferedStart=e,ga(n)&&(n.start=e,n.precizeStart=!0)}else if(e<n.start)m.debug(\"SI: range start too far from expected start\",r,e,n.start),n.bufferedStart=n.start;else{let s=L();if(n.start-e>=a&&s-n.insertionTs<o){m.debug(\"SI: Ignored bufferedStart synchronization\",r,e,n.start,s-n.insertionTs);return}m.debug(\"SI: Segment appears immediately garbage collected at the start\",r,e,n.start),n.bufferedStart=e}}function Ds(n,e,t){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:r,MISSING_DATA_TRIGGER_SYNC_DELAY:i,SEGMENT_SYNCHRONIZATION_DELAY:a}=F.getCurrent();if(n.bufferedEnd!==void 0)n.bufferedEnd>e&&(m.debug(\"SI: Segment partially GCed at the end\",t,n.bufferedEnd,e),n.bufferedEnd=e),!n.precizeEnd&&e-n.end<=r&&ws(n)&&(n.precizeEnd=!0,n.end=e);else if(n.precizeEnd)m.debug(\"SI: buffered end is precize end\",t,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.insertionTs<a){m.debug(\"SI: Ignored bufferedEnd synchronization\",t,e,n.end,o-n.insertionTs);return}m.debug(\"SI: found true buffered end\",t,e,n.end),n.bufferedEnd=e,ws(n)&&(n.end=e,n.precizeEnd=!0)}else if(e>n.end)m.debug(\"SI: range end too far from expected end\",t,e,n.end),n.bufferedEnd=n.end;else{let o=L();if(e-n.end>=i&&o-n.insertionTs<a){m.debug(\"SI: Ignored bufferedEnd synchronization\",t,e,n.end,o-n.insertionTs);return}m.debug(\"SI: Segment appears immediately garbage collected at the end\",t,n.bufferedEnd,e),n.bufferedEnd=e}}function Fl(n){let e=.016666666666666666,t={},r=[],i=null,a=null;function o(u){let d=String.fromCharCode(r.length+65);return r.push({letter:d,periodId:u.period.id,representationId:u.representation.id,bitrate:u.representation.bitrate}),d}let s=\"\";for(let u of n)if(u.bufferedStart!==void 0&&u.bufferedEnd!==void 0){let d=u.infos.period.id,f=u.infos.representation.id,l=t[d],c;if(l===void 0)c=o(u.infos),t[d]={[f]:c};else{let g=l[f];g===void 0?(c=o(u.infos),l[f]=c):c=g}i===null?s+=`${u.bufferedStart.toFixed(2)}|${c}|`:a===c?i.bufferedEnd+e<u.bufferedStart&&(s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${c}|`):s+=`${i.bufferedEnd.toFixed(2)} ~ ${u.bufferedStart.toFixed(2)}|${c}|`,i=u,a=c}return i!==null&&(s+=String(i.end.toFixed(2))),r.forEach(u=>{var d;s+=`\n[${u.letter}] P: ${u.periodId} || R: ${u.representationId}(${(d=u.bitrate)!=null?d:\"unknown bitrate\"})`}),s}function Gt(n,e){for(let t=0;t<n.length;t++)if(n[t].infos.period.start>=e.start)return t>0?n[t-1]:null;return n.length>0?n[n.length-1]:null}function Kt(n,e){for(let t of n)if(t.infos.period.start>e.start)return t;return null}var Ns=wn;var jt=class{constructor(){this._segmentInventory=new Ns}synchronizeInventory(e){this._segmentInventory.synchronizeBuffered(e)}getLastKnownInventory(){return this._segmentInventory.getInventory()}getSegmentHistory(e){return this._segmentInventory.getHistoryFor(e)}};var Dn=class extends jt{constructor(e,t,r){super(),m.info(\"AVSB: calling `mediaSource.addSourceBuffer`\",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){Bs(t),this._initSegmentsMap.set(e,t)}freeInitSegment(e){this._initSegmentsMap.delete(e)}async pushChunk(e){Bs(e.data.chunk),m.debug(\"AVSB: receiving order to push data to the SourceBuffer\",this.bufferType,Tt(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 m.debug(\"AVSB: pushing segment\",this.bufferType,Tt(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){m.debug(\"AVSB: receiving order to remove data from the SourceBuffer\",this.bufferType,e,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{m.debug(\"AVSB: Calling `dispose` on the SourceBufferInterface\"),this._sourceBuffer.dispose()}catch(e){m.debug(`AVSB: Failed to dispose a ${this.bufferType} SourceBufferInterface:`,e instanceof Error?e:\"\")}}_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 Bs(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 Vr=Dn;var Nn=class extends jt{constructor(e){m.debug(\"HTSB: Creating TextSegmentSink\"),super(),this.bufferType=\"text\",this._sender=e,this._pendingOperations=[],this._sender.reset()}declareInitSegment(e){m.warn(\"HTSB: Declaring initialization segment for Text SegmentSink\",e)}freeInitSegment(e){m.warn(\"HTSB: Freeing initialization segment for Text SegmentSink\",e)}async pushChunk(e){let{data:t}=e;Wl(t.chunk);let r=this._sender.pushTextData(oe(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(){m.debug(\"HTSB: 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&&(typeof n!=\"object\"||n===null||typeof n.data!=\"string\"||typeof n.type!=\"string\"||n.language!==void 0&&typeof n.language!=\"string\"||n.start!==void 0&&typeof n.start!=\"number\"||n.end!==void 0&&typeof n.end!=\"number\"))throw new Error(\"Invalid format given to a TextSegmentSink\")}I.CURRENT_ENV===I.DEV&&(Vl=function(e){function t(r){}});var Vl;var Us=Nn;var ql=[\"audio\",\"video\",\"text\"],Bn=class n{static isNative(e){return Ls(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():Et(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){m.warn(`SBS: 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(Ls(e)){if(!v(r))return r instanceof Vr&&r.codec!==t?m.warn(\"SB: Reusing native SegmentSink with codec\",r.codec,\"for codec\",t):m.info(\"SB: Reusing native SegmentSink with codec\",t),r;m.info(\"SB: Adding native SegmentSink with codec\",t);let a=e===\"audio\"?\"audio\":\"video\",o=new Vr(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 m.info(\"SB: Reusing a previous custom SegmentSink for the type\",e),r;let i;if(e===\"text\"){if(m.info(\"SB: Creating a new text SegmentSink\"),this._textInterface===null)throw new Error(\"HTML Text track feature not activated\");return i=new Us(this._textInterface),this._initializedSegmentSinks.text=i,i}throw m.error(\"SB: Unknown buffer type:\",e),new $(\"BUFFER_TYPE_UNKNOWN\",\"The player wants to create a SegmentSink of an unknown type.\")}disposeSegmentSink(e){let t=this._initializedSegmentSinks[e];if(v(t)){m.warn(\"SB: Trying to dispose a SegmentSink that does not exist\");return}m.info(\"SB: Aborting SegmentSink\",e),t.dispose(),delete this._initializedSegmentSinks[e]}disposeAll(){ql.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=>oe(ee({},o),{infos:Hl(o.infos)}))}}getSegmentSinksMetrics(){return{segmentSinks:{audio:this.createSegmentSinkMetricsForType(\"audio\"),video:this.createSegmentSinkMetricsForType(\"video\"),text:this.createSegmentSinkMetricsForType(\"text\")}}}};function Ls(n){return n===\"audio\"||n===\"video\"}function Hl(n){return{adaptation:n.adaptation.getMetadataSnapshot(),period:n.period.getMetadataSnapshot(),representation:n.representation.getMetadataSnapshot()}}var St=Bn;function ha(n,e,t,r,i){let{period:a,adaptation:o,representation:s}=n,u=Gl(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:(m.debug(\"RS: current discontinuity encountered\",o.type,d.bufferedStart),{start:void 0,end:l})}let f=Kl(i,e,u+1);if(f!==null){let l=i[f-1],c=i[f];if(t===null||c.infos.segment.end<=t){if(!r&&s.index.awaitSegmentBetween(l.infos.segment.end,c.infos.segment.time)!==!1)return null;let g=l.bufferedEnd,p=c.bufferedStart;return m.debug(\"RS: future discontinuity encountered\",o.type,g,p),{start:g,end:p}}}if(t===null){if(r&&a.end!==void 0){if(e.end<a.end)return null;let l=jl(i,a.end);if(l!==null){let c=i[l];if(c.bufferedEnd!==void 0&&c.bufferedEnd<a.end)return m.debug(\"RS: discontinuity encountered at the end of the current period\",o.type,c.bufferedEnd,a.end),{start:c.bufferedEnd,end:null}}}if(a.end!==void 0&&e.end>=a.end)return null;for(let l=i.length-1;l>=0;l--){let c=i[l];if(c.bufferedStart===void 0)break;if(c.bufferedStart<e.end){if(c.bufferedEnd!==void 0&&c.bufferedEnd<e.end){let g=s.index.checkDiscontinuity(e.end);if(g!==null)return{start:c.bufferedEnd,end:g}}return null}}}return null}function Gl(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.bufferedStart===void 0||r.bufferedEnd===void 0||r.bufferedStart>=e.end)return null;if(r.bufferedEnd>e.start)return t}return null}function Kl(n,e,t){if(t<=0)return m.error(\"RS: Asked to check a discontinuity before the first chunk.\"),null;for(let r=t;r<n.length;r++){let i=n[r],a=n[r-1];if(i.bufferedStart===void 0||a.bufferedEnd===void 0||i.bufferedStart>=e.end)return null;if(i.bufferedStart-a.bufferedEnd>0)return r}return null}function jl(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<e)return t}return null}function Ia({bufferedSegments:n,content:e,currentPlaybackTime:t,fastSwitchThreshold:r,getBufferedHistory:i,neededRange:a,segmentsBeingPushed:o,maxBufferSize:s}){let{adaptation:u,representation:d}=e,f=Yl(n,o,s),l=d.index.getSegments(a.start,a.end-a.start),c=n.filter(C=>!Fs(C.infos,e,t,r)),g=tf(c,a,i),{MINIMUM_SEGMENT_SIZE:p,MIN_BUFFER_AHEAD:h}=F.getCurrent(),b=!1,y=Math.min(1/60,p),E=!1,P=[];return{segmentsToLoad:l.filter(C=>{let R=G({segment:C},e);if(o.length>0&&o.some(B=>Je(R,B)))return!1;let{duration:M,time:A,end:T}=C;if(C.isInit)return!0;if(b)return P.push(C),!1;if(C.complete&&M<p||o.length>0&&o.some(B=>{if(B.period.id!==e.period.id||B.adaptation.id!==e.adaptation.id)return!1;let{segment:k}=B;if(k.time-y>A)return!1;if(k.complete){if(k.end+y<T)return!1}else if(Math.abs(A-k.time)>A)return!1;return!Fs(B,R,t,r)}))return!1;for(let w of g){let B=w.infos.period.id===e.period.id;if(w.status===1&&B){let k=w.infos.segment;if(A-k.time>-y){if(k.complete){if(k.end-T>-y)return!1}else if(Math.abs(A-k.time)<y)return!1}}}let x=M*e.representation.bitrate;if(f-x<0&&(E=!0,A>a.start+h))return b=!0,P.push(C),!1;let O=i(R);if(O.length>1){let w=O[O.length-1],B=O[O.length-2];if(w.buffered===null&&B.buffered===null)return m.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.\"+u.type,d.id,C.time),!1}for(let w=0;w<g.length;w++){let B=g[w];if(B.end+y>A){let k=B.start>A+y||Ql(g,w).end<T-y;return k&&(f-=x),k}}return f-=x,!0}),segmentsOnHold:P,isBufferFull:E}}function Yl(n,e,t){let r=t*8e3;return r-=e.reduce((i,a)=>{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 Ql(n,e){let t=e+1,{MINIMUM_SEGMENT_SIZE:r}=F.getCurrent(),i=Math.min(1/60,r);for(;t<n.length-1&&n[t-1].end+i>n[t].start;)t++;return t--,n[t]}function Fs(n,e,t,r){let{CONTENT_REPLACEMENT_PADDING:i}=F.getCurrent();if(n.period.id!==e.period.id)return!1;let{segment:a}=n;return a.time<t+i?!1:n.adaptation.id!==e.adaptation.id?!0:$l(n.representation,e.representation,r)}function $l(n,e,t){let r=n.bitrate,{BITRATE_REBUFFERING_RATIO:i}=F.getCurrent();if(t===void 0){let a=r*i;return e.bitrate>a}return r<t&&e.bitrate>r}function Xl(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=F.getCurrent();return n.bufferedStart===void 0||e!==null&&e.bufferedEnd!==void 0&&n.bufferedStart-e.bufferedEnd<.1?!1:t<n.bufferedStart&&n.bufferedStart-n.start>r?(m.info(\"Stream: The start of the wanted segment has been garbage collected\",n.start,n.bufferedStart),!0):!1}function Zl(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=F.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?(m.info(\"Stream: The end of the wanted segment has been garbage collected\",n.end,n.bufferedEnd),!0):!1}function Jl(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 ef(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 tf(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(Xl(r,o,e.start)){if(u=t(r.infos),Jl(u,r.bufferedStart))return!1;m.debug(\"Stream: skipping segment gc-ed at the start\",r.start,r.bufferedStart)}if(Zl(r,s,e.end)){if(u=u!=null?u:t(r.infos),ef(u,r.bufferedEnd))return!1;m.debug(\"Stream: skipping segment gc-ed at the end\",r.end,r.bufferedEnd)}return!0})}function Un(n,e){let t=n-e,{SEGMENT_PRIORITIES_STEPS:r}=F.getCurrent();for(let i=0;i<r.length;i++)if(t<r[i])return i;return r.length}function ba(n,e,t,r,i,a,o){var A,T,x;let{representation:s}=n,u=(T=(A=t.getIsPaused())!=null?A:t.getReference().getValue().paused.pending)!=null?T:t.getReference().getValue().paused.last,d=(x=t.getPlaybackRate())!=null?x:t.getReference().getValue().speed,f=e;(u===void 0||d===void 0||u||d<=0)&&(f-=.1);let l=nf(n,f,i),c=s.index.shouldRefresh(l.start,l.end),g=o.getPendingOperations().filter(O=>O.type===2).map(O=>O.value),p=o.getLastKnownInventory(),h=t.getCurrentTime();h===void 0&&(h=t.getReference().getValue().position.getWanted());let b=o.getSegmentHistory.bind(o),{segmentsToLoad:y,segmentsOnHold:E,isBufferFull:P}=Ia({content:n,bufferedSegments:p,currentPlaybackTime:h,fastSwitchThreshold:r,getBufferedHistory:b,neededRange:l,segmentsBeingPushed:g,maxBufferSize:a}),_=y.map(O=>({priority:Un(O.time,f),segment:O})),C=s.index.isInitialized()&&!s.index.isStillAwaitingFutureSegments()&&l.hasReachedPeriodEnd&&_.length===0&&E.length===0,R=null;return g.length>0&&(R=Math.min(...g.map(O=>O.segment.time))),E.length>0&&(R=R!==null?Math.min(R,E[0].time):E[0].time),_.length>0&&(R=R!==null?Math.min(R,_[0].segment.time):_[0].segment.time),{imminentDiscontinuity:ha(n,l,R,C,p),hasFinishedLoading:C,neededSegments:_,isBufferFull:P,shouldRefreshManifest:c}}function nf(n,e,t){var l;let r,{manifest:i,period:a,representation:o}=n,s=o.index.getLastAvailablePosition(),u=o.index;!v(s)&&St.isNative(n.adaptation.type)&&e>=s&&u.isInitialized()&&!u.isStillAwaitingFutureSegments()&&rf(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 rf(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 Ln(n,e,t,r,i){try{return await e.pushChunk(t)}catch(a){if(i.isCancelled()&&a instanceof ue)throw a;if(!(a instanceof Ce)||!a.isBufferFull){let u=a instanceof Error?a.toString():\"An unknown error happened when pushing content\";throw new $(\"BUFFER_APPEND_ERROR\",u,{tracks:[lt(t.inventoryInfos.adaptation)]})}let{position:o}=n.getReference().getValue(),s=o.getWanted();try{m.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<Number.MAX_VALUE&&await e.removeBuffer(d,Number.MAX_VALUE),await di(200),i.cancellationError!==null)throw i.cancellationError;return await e.pushChunk(t)}catch(u){if(u instanceof ue)throw u;let d=u instanceof Error?u.toString():\"Could not clean the buffer\";throw new $(\"BUFFER_FULL_ERROR\",d,{tracks:[lt(t.inventoryInfos.adaptation)]})}}}async function Sa({playbackObserver:n,content:e,initSegmentUniqueId:t,segment:r,segmentSink:i,bufferGoal:a},o){if(o.cancellationError!==null)throw o.cancellationError;let s=e.representation.getMimeTypeString(),u={initSegmentUniqueId:t,chunk:null,timestampOffset:0,appendWindow:[void 0,void 0],codec:s},d=G({segment:r,chunkSize:void 0,start:0,end:0},e),f=await Ln(n,i,{data:u,inventoryInfos:d},a,o);return{content:e,segment:r,buffered:f}}async function ya({playbackObserver:n,bufferGoal:e,content:t,initSegmentUniqueId:r,parsedSegment:i,segment:a,segmentSink:o},s){var R,M;if(i.chunkData===null)return null;if(s.cancellationError!==null)throw s.cancellationError;let{chunkData:u,chunkInfos:d,chunkOffset:f,chunkSize:l,appendWindow:c}=i,g=t.representation.getMimeTypeString(),{APPEND_WINDOW_SECURITIES:p}=F.getCurrent(),h=[c[0]!==void 0?Math.max(0,c[0]-p.START):void 0,c[1]!==void 0?c[1]+p.END:void 0],b={initSegmentUniqueId:r,chunk:u,timestampOffset:f,appendWindow:h,codec:g},y=(R=d==null?void 0:d.time)!=null?R:a.time,E=(M=d==null?void 0:d.duration)!=null?M:a.duration,P=y+E;h[0]!==void 0&&(y=Math.max(y,h[0])),h[1]!==void 0&&(P=Math.min(P,h[1]));let _=G({segment:a,chunkSize:l,start:y,end:P},t),C=await Ln(n,o,{data:b,inventoryInfos:_},e,s);return{content:t,segment:a,buffered:C}}function Ta({content:n,options:e,playbackObserver:t,segmentSink:r,segmentQueue:i,terminate:a},o,s){m.debug(\"Stream: Creating RepresentationStream\",n.adaptation.type,n.representation.bitrate);let{period:u,adaptation:d,representation:f}=n,{bufferGoal:l,maxBufferSize:c,drmSystemId:g,fastSwitchThreshold:p}=e,h=d.type,b=new W;b.linkToSignal(s);let y=new W;y.linkToSignal(b.signal);let E={segment:f.index.getInitSegment(),uniqueId:null,isLoaded:!1};b.signal.register(()=>{E.uniqueId!==null&&r.freeInitSegment(E.uniqueId)});let P=E.segment!==null;P||(E.isLoaded=!0);let _=!1;if(g!==void 0){let T=f.getEncryptionData(g);if(T.length>0&&T.every(x=>x.keyIds!==void 0)&&(_=!0,o.encryptionDataEncountered(T.map(x=>G({content:n},x))),b.isUsed()))return}i.addEventListener(\"error\",T=>{y.signal.isCancelled()||(b.cancel(),o.error(T))}),i.addEventListener(\"parsedInitSegment\",M,y.signal),i.addEventListener(\"parsedMediaSegment\",M,y.signal),i.addEventListener(\"emptyQueue\",R,y.signal),i.addEventListener(\"requestRetry\",T=>{if(o.warning(T.error),y.signal.isCancelled())return;let x=T.segment,{index:O}=f;O.isSegmentStillAvailable(x)===!1?R():O.canBeOutOfSyncError(T.error,x)&&o.manifestMightBeOufOfSync()},y.signal),i.addEventListener(\"fullyLoadedSegment\",T=>{r.signalSegmentComplete(G({segment:T},n)).catch(A)},y.signal);let C=i.resetForContent(n,P);y.signal.register(()=>{i.stop()}),t.listen(R,{includeLastObservation:!1,clearSignal:y.signal}),n.manifest.addEventListener(\"manifestUpdate\",R,y.signal),l.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),c.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),a.onUpdate(R,{emitCurrentValue:!1,clearSignal:y.signal}),R();return;function R(){if(y.isUsed())return;let T=t.getReference().getValue(),x=T.position.getWanted(),O=ba(n,x,t,p.getValue(),l.getValue(),c.getValue(),r),{neededSegments:w}=O,B=null;if(f.index.isInitialized()){if(w.length>0&&!E.isLoaded&&E.segment!==null){let U=w[0].priority;B={segment:E.segment,priority:U}}}else if(E.segment===null)m.warn(\"Stream: Uninitialized index without an initialization segment\");else if(E.isLoaded)m.warn(\"Stream: Uninitialized index with an already loaded initialization segment\");else{let U=T.position.getWanted();B={segment:E.segment,priority:Un(u.start,U)}}let k=a.getValue();if(k===null)C.setValue({initSegment:B,segmentQueue:w});else if(k.urgent){m.debug(\"Stream: Urgent switch, terminate now.\",h),C.setValue({initSegment:null,segmentQueue:[]}),C.finish(),y.cancel(),o.terminating();return}else{let U=w[0],V=i.getRequestedInitSegment(),Z=i.getRequestedMediaSegment(),Y=Z===null||U===void 0||Z.id!==U.segment.id?[]:[U],H=V===null?null:B;if(C.setValue({initSegment:H,segmentQueue:Y}),Y.length===0&&H===null){m.debug(\"Stream: No request left, terminate\",h),C.finish(),y.cancel(),o.terminating();return}}if(o.streamStatusUpdate({period:u,position:T.position.getWanted(),bufferType:h,imminentDiscontinuity:O.imminentDiscontinuity,isEmptyStream:!1,hasFinishedLoading:O.hasFinishedLoading,neededSegments:O.neededSegments}),y.signal.isCancelled())return;let{UPTO_CURRENT_POSITION_CLEANUP:N}=F.getCurrent();if(O.isBufferFull){let U=Math.max(0,x-N);U>0&&r.removeBuffer(0,U).catch(A)}O.shouldRefreshManifest&&o.needsManifestRefresh()}function M(T){if(!b.isUsed()){for(let x of T.protectionData)f.addProtectionData(x.initDataType,x.keyId,x.initData);if(!_){let x=f.getAllEncryptionData();if(x.length>0&&(o.encryptionDataEncountered(x.map(O=>G({content:n},O))),_=!0,b.isUsed()))return}if(T.segmentType===\"init\"){if(!f.index.isInitialized()&&T.segmentList!==void 0&&f.index.initialize(T.segmentList),E.isLoaded=!0,T.initializationData!==null){let x=f.uniqueId;E.uniqueId=x,r.declareInitSegment(x,T.initializationData),Sa({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:x,segment:T.segment,segmentData:T.initializationData,segmentSink:r},b.signal).then(O=>{O!==null&&o.addedSegment(O)}).catch(A)}R();return}else{let{inbandEvents:x,predictedSegments:O,needsManifestRefresh:w}=T;if(O!==void 0&&f.index.addPredictedSegments(O,T.segment),w===!0&&(o.needsManifestRefresh(),b.isUsed())||x!==void 0&&x.length>0&&(o.inbandEvent(x),b.isUsed()))return;let B=E.uniqueId;ya({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:B,parsedSegment:T,segment:T.segment,segmentSink:r},b.signal).then(k=>{k!==null&&o.addedSegment(k)}).catch(A)}}}function A(T){b.isUsed()&&T instanceof ue||(m.warn(\"Stream: Received fatal buffer error\",d.type,f.bitrate,T instanceof Error?T:null),b.cancel(),o.error(T))}}var zs=Ta;function Ea(n,e,t,r,i){var c,g,p,h;if(t.switchingMode===\"lazy\")return{type:\"continue\",value:void 0};let a=r.getLastKnownInventory(),o=[];for(let b of a)b.infos.period.id===n.id&&(b.infos.adaptation.id!==e.id||!ge(t.representationIds,b.infos.representation.id))&&Ht(o,{start:(c=b.bufferedStart)!=null?c:b.start,end:(g=b.bufferedEnd)!=null?g:b.end});let s=r.getPendingOperations();for(let b of s)if(b.type===0){let y=b.value.inventoryInfos;if(y.period.id===n.id&&(y.adaptation.id!==e.id||!ge(t.representationIds,y.representation.id))){let E=y.segment.time,P=E+y.segment.duration;Ht(o,{start:E,end:P})}}if(o.length===0)return{type:\"continue\",value:void 0};if(t.switchingMode===\"reload\"){let b=i.getReadyState();if(b===void 0||b>1)return{type:\"needs-reload\",value:void 0}}let u=t.switchingMode===\"direct\",d=[],f=Gt(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:b}=F.getCurrent(),y=e.type,E=(p=b[y].before)!=null?p:0,P=(h=b[y].after)!=null?h:0,_=i.getCurrentTime();_===void 0&&(_=i.getReference().getValue().position.getPolled()),d.push({start:_-E,end:_+P})}if(n.end!==void 0){let b=Kt(a,n);b!==null&&(b.bufferedStart===void 0||b.bufferedStart-n.end<1)&&d.push({start:n.end-1,end:Number.MAX_VALUE})}let l=Fr(o,d);return l.length===0?{type:\"continue\",value:void 0}:u?{type:\"flush-buffer\",value:l}:{type:\"clean-buffer\",value:l}}function _a({playbackObserver:n,content:e,options:t,representationEstimator:r,segmentSink:i,segmentQueueCreator:a,wantedBufferAhead:o,maxVideoBufferSize:s},u,d){let{manifest:f,period:l,adaptation:c}=e,g=new W;g.linkToSignal(d);let p=new Map,h=new j(null,g.signal),b,y=e.representations.getValue().representationIds,E=e.adaptation.representations.filter(k=>ge(y,k.id)&&k.isPlayable()!==!1),P=new j(E,g.signal),{estimates:_,callbacks:C}=r({manifest:f,period:l,adaptation:c},h,P,n,g.signal),R=new j(!1);n.listen(k=>{var U;let N=(U=k.canStream)!=null?U:!0;R.getValue()===N&&(m.debug(\"Stream: isMediaSegmentQueueInterrupted updated to\",!N),R.setValue(!N))},{clearSignal:g.signal});let M=a.createSegmentQueue(c.type,{onRequestBegin:C.requestBegin,onRequestEnd:C.requestEnd,onProgress:C.requestProgress,onMetrics:C.metrics},R),A=new j(0);_.onUpdate(({bitrate:k,knownStableBitrate:N})=>{t.enableFastSwitching&&A.setValueIfChanged(N),!(k===void 0||k===b)&&(b=k,m.debug(`Stream: new ${c.type} bitrate estimate`,k),u.bitrateEstimateChange({type:c.type,bitrate:k}))},{emitCurrentValue:!0,clearSignal:g.signal});let T;e.representations.onUpdate(k=>{T!==void 0&&T.cancel();let N=e.representations.getValue().representationIds,U=e.adaptation.representations.filter(V=>ge(N,V.id));P.setValueIfChanged(U),T=new W,T.linkToSignal(g.signal),x(k,T.signal).catch(V=>{(T==null?void 0:T.isUsed())===!0&&W.isCancellationError(V)||(g.cancel(),u.error(V))})},{clearSignal:g.signal,emitCurrentValue:!0});return;async function x(k,N){let U=Ea(l,c,k,i,n);switch(U.type){case\"continue\":break;case\"needs-reload\":return kt(()=>{n.listen(()=>{if(N.isCancelled())return;let{DELTA_POSITION_AFTER_RELOAD:V}=F.getCurrent(),Z=V.bitrateSwitch;return u.waitingMediaSourceReload({bufferType:c.type,period:l,timeOffset:Z,stayInPeriod:!0})},{includeLastObservation:!0,clearSignal:N})});case\"flush-buffer\":case\"clean-buffer\":for(let V of U.value)if(await i.removeBuffer(V.start,V.end),N.isCancelled())return;if(U.type===\"flush-buffer\"&&(u.needsBufferFlush(),N.isCancelled()))return;break;default:ze(U)}O(N)}function O(k){let N=new W;N.linkToSignal(k);let{representation:U}=_.getValue();if(U===null)return;let V=new j(null,N.signal);_.onUpdate(H=>{if(!(H.representation===null||H.representation.id===U.id))return H.urgent?(m.info(\"Stream: urgent Representation switch\",c.type),V.setValue({urgent:!0})):(m.info(\"Stream: slow Representation switch\",c.type),V.setValue({urgent:!1}))},{clearSignal:N.signal,emitCurrentValue:!0});let Z={type:c.type,adaptation:c,period:l,representation:U};if(h.setValue(U),k.isCancelled()||(u.representationChange(Z),k.isCancelled()))return;let Y={streamStatusUpdate:u.streamStatusUpdate,encryptionDataEncountered:u.encryptionDataEncountered,manifestMightBeOufOfSync:u.manifestMightBeOufOfSync,needsManifestRefresh:u.needsManifestRefresh,inbandEvent:u.inbandEvent,warning:u.warning,error(H){g.cancel(),u.error(H)},addedSegment(H){C.addedSegment(H)},terminating(){if(!N.isUsed())return N.cancel(),O(k)}};w(U,V,Y,k)}function w(k,N,U,V){let Z=!1,Y=new W;Y.linkToSignal(V);let H=Xt(o,de=>B(k,de),Y.signal),q=c.type===\"video\"?s:new j(1/0);m.info(\"Stream: changing representation\",c.type,k.id,k.bitrate);let J=G({},U,{error(de){var ie;if(Z){m.warn(\"Stream: Ignoring RepresentationStream error\",de);return}Z=!0;let me=ye(de,{defaultCode:\"NONE\",defaultReason:\"Unknown `RepresentationStream` error\"});if(me.code!==\"BUFFER_FULL_ERROR\")U.error(de);else{m.warn(\"Stream: received BUFFER_FULL_ERROR\",c.type,k.bitrate);let Ge=o.getValue(),fe=((ie=p.get(k.id))!=null?ie:1)*.7;if(p.set(k.id,fe),fe<=.05||B(k,Ge)<=2){U.error(me);return}an(4e3,V).then(()=>w(k,N,U,V)).catch(D)}},terminating(){Y.cancel(),U.terminating()}});zs({playbackObserver:n,content:{representation:k,adaptation:c,period:l,manifest:f},segmentSink:i,segmentQueue:M,terminate:N,options:{bufferGoal:H,maxBufferSize:q,drmSystemId:t.drmSystemId,fastSwitchThreshold:A}},J,V),f.addEventListener(\"manifestUpdate\",de=>{for(let me of de.updatedPeriods)if(me.period.id===l.id){for(let ie of me.result.updatedAdaptations)if(ie.adaptation===c.id){for(let Ge of ie.removedRepresentations)if(Ge===k.id)return V.isCancelled()?void 0:u.waitingMediaSourceReload({bufferType:c.type,period:l,timeOffset:0,stayInPeriod:!0})}}else if(me.period.start>l.start)break},V)}function B(k,N){let U=p.get(k.id),V=U!==void 0?U:1;return U===void 0&&p.set(k.id,V),V<1&&N===1/0?5*60*1e3*V:N*V}}var Ws=_a;function Ra(n,e,t,r,i,a){var g,p,h,b;if(n.codec!==void 0&&a.onCodecSwitch===\"reload\"&&!af(t,n.codec))return{type:\"needs-reload\",value:void 0};let o=n.getLastKnownInventory(),s=[];for(let y of o)y.infos.period.id===e.id&&y.infos.adaptation.id!==t.id&&Ht(s,{start:(g=y.bufferedStart)!=null?g:y.start,end:(p=y.bufferedEnd)!=null?p:y.end});let u=n.getPendingOperations();for(let y of u)if(y.type===0){let E=y.value.inventoryInfos;if(E.period.id===e.id&&E.adaptation.id!==t.id){let P=E.segment.time,_=P+E.segment.duration;Ht(s,{start:P,end:_})}}if(s.length===0)return{type:\"continue\",value:void 0};if(r===\"reload\"){let y=i.getReadyState();if(y===void 0||y>1)return{type:\"needs-reload\",value:void 0}}let d=r===\"direct\",f=[],l=Gt(o,e);if(l!==null&&(l.bufferedEnd===void 0||e.start-l.bufferedEnd<1)&&f.push({start:0,end:e.start+1}),!d){let y=t.type,{ADAP_REP_SWITCH_BUFFER_PADDINGS:E}=F.getCurrent(),P=(h=E[y].before)!=null?h:0,_=(b=E[y].after)!=null?b:0,C=i.getCurrentTime();C===void 0&&(C=i.getReference().getValue().position.getPolled()),f.push({start:C-P,end:C+_})}if(e.end!==void 0){let y=Kt(o,e);y!==null&&(y.bufferedStart===void 0||y.bufferedStart-e.end<1)&&f.push({start:e.end-1,end:Number.MAX_VALUE})}let c=Fr(s,f);return c.length===0?{type:\"continue\",value:void 0}:d&&t.type!==\"text\"?{type:\"flush-buffer\",value:c}:{type:\"clean-buffer\",value:c}}function af(n,e){return n.representations.some(t=>t.isPlayable()===!0&&Do(t.getMimeTypeString(),e))}function Pa({bufferType:n,content:e,garbageCollectors:t,playbackObserver:r,representationEstimator:i,segmentQueueCreator:a,segmentSinksStore:o,options:s,wantedBufferAhead:u,maxVideoBufferSize:d},f,l){let{manifest:c,period:g}=e,p=new j(void 0,l);if(f.periodStreamReady({type:n,manifest:c,period:g,adaptationRef:p}),l.isCancelled())return;let h,b=!0;p.onUpdate(P=>{(async()=>{var B;if(P===void 0)return;let _=new W;if(_.linkToSignal(l),h==null||h.cancel(),h=_,P===null){m.info(`Stream: Set no ${n} Adaptation. P:`,g.start);let k=o.getStatus(n);if(k.type===\"initialized\"){if(m.info(`Stream: Clearing previous ${n} SegmentSink`),St.isNative(n))return E(0,!0,_.signal);{let N=(B=g.end)!=null?B:1/0;if(g.start>N)m.warn(\"Stream: Can't free buffer: period's start is after its end\");else if(await k.value.removeBuffer(g.start,N),_.isUsed())return}}else if(k.type===\"uninitialized\"&&(o.disableSegmentSink(n),_.isUsed()))return;return f.adaptationChange({type:n,adaptation:null,period:g}),_.isUsed()?void 0:Vs(r,u,n,{period:g},f,_.signal)}let C=g.adaptations[n],R=Q(C!=null?C:[],k=>k.id===P.adaptationId);if(R===void 0){h.cancel(),m.warn(\"Stream: Unfound chosen Adaptation choice\",P.adaptationId);return}let{DELTA_POSITION_AFTER_RELOAD:M}=F.getCurrent(),A=!1,T;if(b)T=0;else if(P.relativeResumingPosition!==void 0)T=P.relativeResumingPosition;else switch(A=!0,n){case\"audio\":T=M.trackSwitch.audio;break;case\"video\":T=M.trackSwitch.video;break;default:T=M.trackSwitch.other;break}if(b=!1,St.isNative(n)&&o.getStatus(n).type===\"disabled\")return E(T,!0,_.signal);c.addEventListener(\"manifestUpdate\",k=>{for(let N of k.updatedPeriods)if(N.period.id===g.id){for(let U of N.result.removedAdaptations)if(U.id===R.id)return E(T,!0,_.signal)}else if(N.period.start>g.start)break},h.signal);let{representations:x}=P;if(m.info(`Stream: Updating ${n} adaptation`,`A: ${R.id}`,`P: ${g.start}`),f.adaptationChange({type:n,adaptation:R,period:g}),_.isUsed())return;let O=of(o,n,R),w=Ra(O,g,R,P.switchingMode,r,s);if(w.type===\"needs-reload\")return E(T,!0,_.signal);if(await o.waitForUsableBuffers(_.signal),!_.isUsed()){if(w.type===\"flush-buffer\"||w.type===\"clean-buffer\"){for(let{start:k,end:N}of w.value)if(await O.removeBuffer(k,N),_.isUsed())return;if(w.type===\"flush-buffer\"&&(f.needsBufferFlush({relativeResumingPosition:T,relativePosHasBeenDefaulted:A}),_.isUsed()))return}t.get(O)(_.signal),y(R,x,O,_.signal)}})().catch(_=>{_ instanceof ue||(h==null||h.cancel(),f.error(_))})},{clearSignal:l,emitCurrentValue:!0});function y(P,_,C,R){let M=uf(r,P.type);Ws({content:{manifest:c,period:g,adaptation:P,representations:_},options:s,playbackObserver:M,representationEstimator:i,segmentSink:C,segmentQueueCreator:a,wantedBufferAhead:u,maxVideoBufferSize:d},oe(ee({},f),{error:A}),R);function A(T){if(!St.isNative(n)){m.error(`Stream: ${n} Stream crashed. Aborting it.`,T instanceof Error?T:\"\"),o.disposeSegmentSink(n);let x=ye(T,{defaultCode:\"NONE\",defaultReason:\"Unknown `AdaptationStream` error\"});return f.warning(x),R.isCancelled()?void 0:Vs(r,u,n,{period:g},f,R)}m.error(`Stream: ${n} Stream crashed. Stopping playback.`,T instanceof Error?T:\"\"),f.error(T)}}function E(P,_,C){kt(()=>{r.listen(()=>{C.isCancelled()||f.waitingMediaSourceReload({bufferType:n,period:g,timeOffset:P,stayInPeriod:_})},{includeLastObservation:!0,clearSignal:C})})}}function of(n,e,t){let r=n.getStatus(e);if(r.type===\"initialized\")return m.info(\"Stream: Reusing a previous SegmentSink for the type\",e),r.value;let i=sf(t);return n.createSegmentSink(e,i)}function sf(n){let e=n.representations.filter(t=>t.isPlayable()!==!1);if(e.length===0)throw new $(\"NO_PLAYABLE_REPRESENTATION\",\"No Representation in the chosen \"+n.type+\" Adaptation can be played\",{tracks:[lt(n)]});return e[0].getMimeTypeString()}function uf(n,e){return n.deriveReadOnlyObserver(function(r,i){let a=new j(o(),i);return r.onUpdate(s,{clearSignal:i,emitCurrentValue:!1}),a;function o(){let u=r.getValue(),d=u.buffered[e],f=d!==null?Lr(d,u.position.getWanted()):0;return G({},u,{bufferGap:f,buffered:d})}function s(){a.setValue(o())}})}function Vs(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&&(m.debug('Stream: full \"empty\" AdaptationStream',t),s=!0),i.streamStatusUpdate({period:o,bufferType:t,imminentDiscontinuity:null,position:l,isEmptyStream:!0,hasFinishedLoading:s,neededSegments:[]})}}var qs=Pa;function qr(n,e){if(e.length===0)return[];let t=[],r=n.getLastKnownInventory();for(let i of r)if(e.some(o=>i.infos.period.id===o.period.id&&i.infos.adaptation.id===o.adaptation.id&&i.infos.representation.id===o.representation.id)){let{bufferedStart:o,bufferedEnd:s}=i;if(o===void 0||s===void 0)return m.warn(\"SO: No buffered start or end found from a segment.\"),[{start:0,end:Number.MAX_VALUE}];let u=t[t.length-1];u!==void 0&&u.end===o?u.end=s:t.push({start:o,end:s})}return t}function va(n,e,t,r,i,a,o,s){let{manifest:u,initialPeriod:d}=n,{maxBufferAhead:f,maxBufferBehind:l,wantedBufferAhead:c,maxVideoBufferSize:g}=a,{MINIMUM_MAX_BUFFER_AHEAD:p,MAXIMUM_MAX_BUFFER_AHEAD:h,MAXIMUM_MAX_BUFFER_BEHIND:b}=F.getCurrent(),y=new Mn(_=>{var A,T;let{bufferType:C}=_,R=(A=b[C])!=null?A:1/0,M=(T=h[C])!=null?T:1/0;return x=>{zr({segmentSink:_,playbackObserver:e,maxBufferBehind:Xt(l,O=>Math.min(O,R),x),maxBufferAhead:Xt(f,O=>{var B;let w=Math.max(O,(B=p[C])!=null?B:0);return Math.min(w,M)},x)},x)}});for(let _ of r.getBufferTypes())E(_,d);function E(_,C){let R=new Mt((w,B)=>w.start-B.start),M=!1,A=new W;return A.linkToSignal(s),e.listen(({position:w})=>{var N;let B=w.getWanted();if(!M||!x(B))return;for(m.info(\"Stream: Destroying all PeriodStreams due to out of bounds situation\",_,B),M=!1;R.length()>0;){let U=R.get(R.length()-1);R.removeElement(U),o.periodStreamCleared({type:_,manifest:u,period:U})}A.cancel(),A=new W,A.linkToSignal(s);let k=(N=u.getPeriodForTime(B))!=null?N:u.getNextPeriod(B);if(k===void 0){m.warn(\"Stream: The wanted position is not found in the Manifest.\"),M=!0;return}T(k)},{clearSignal:s,includeLastObservation:!0}),u.addEventListener(\"decipherabilityUpdate\",w=>{s.isCancelled()||O(w).catch(B=>{s.isCancelled()||(A.cancel(),o.error(B))})},s),T(C);function T(w){let B=oe(ee({},o),{waitingMediaSourceReload(k){let N=R.head();N===void 0||N.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,R.add(k.period),o.periodStreamReady(k)},periodStreamCleared(k){R.removeElement(k.period),o.periodStreamCleared(k)},error(k){A.cancel(),o.error(k)}});P(_,w,B,A.signal)}function x(w){let B=R.head(),k=R.last();return B===void 0||k===void 0?!0:B.start>w||(v(k.end)?1/0:k.end)<w}async function O(w){let B=r.getStatus(_),k=w.filter(H=>H.adaptation.type===_);if(k.length===0||B.type!==\"initialized\"||k.every(H=>H.representation.decipherable===!0))return;let N=B.value,U=k.filter(H=>H.representation.decipherable===void 0),V=k.filter(H=>H.representation.decipherable===!1),Z=qr(N,V),Y=qr(N,U);for(M=!1,m.info(\"Stream: Destroying all PeriodStreams for decipherability matters\",_);R.length()>0;){let H=R.get(R.length()-1);R.removeElement(H),o.periodStreamCleared({type:_,manifest:u,period:H})}A.cancel(),A=new W,A.linkToSignal(s);for(let{start:H,end:q}of[...Z,...Y]){if(s.isCancelled())return;if(H<q){if(s.isCancelled())return;await N.removeBuffer(H,q)}}kt(()=>{if(s.isCancelled())return;let H=e.getReference().getValue();if(Hs(H,Z)){if(o.needsDecipherabilityFlush(),s.isCancelled())return}else if(Hs(H,Y)&&(o.needsBufferFlush(),s.isCancelled()))return;let q=H.position.getWanted(),J=u.getPeriodForTime(q);if(J===void 0){o.error(new $(\"MEDIA_TIME_NOT_FOUND\",\"The wanted position is not found in the Manifest.\"));return}T(J)})}}function P(_,C,R,M){m.info(\"Stream: Creating new Stream for\",_,C.start);let A=null,T=new W;T.linkToSignal(M),e.listen(({position:k},N)=>{if(C.end!==void 0&&k.getWanted()>=C.end){let U=u.getPeriodAfter(C);if(C.containsTime(k.getWanted(),U))return;m.info(\"Stream: Destroying PeriodStream as the current playhead moved above it\",_,C.start,k.getWanted(),C.end),N(),R.periodStreamCleared({type:_,manifest:u,period:C}),T.cancel()}},{clearSignal:M,includeLastObservation:!0});let x={bufferType:_,content:{manifest:u,period:C},garbageCollectors:y,maxVideoBufferSize:g,segmentQueueCreator:i,segmentSinksStore:r,options:a,playbackObserver:e,representationEstimator:t,wantedBufferAhead:c},O=oe(ee({},R),{streamStatusUpdate(k){if(k.hasFinishedLoading){let N=u.getPeriodAfter(C);N!==null&&w(N)}else A!==null&&(m.info(\"Stream: Destroying next PeriodStream due to current one being active\",_,A.period.start),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel(),A=null);R.streamStatusUpdate(k)},error(k){A!==null&&(A.canceller.cancel(),A=null),T.cancel(),R.error(k)}});qs(x,O,T.signal),B(T.signal);function w(k){if(A!==null){if(A.period.id===k.id)return;m.warn(\"Stream: Creating next `PeriodStream` while one was already created.\",_,k.id,A.period.id),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel()}let N=new W;N.linkToSignal(M),A={canceller:N,period:k},P(_,k,R,A.canceller.signal)}function B(k){u.addEventListener(\"manifestUpdate\",N=>{for(let U of N.removedPeriods)if(U.id===C.id){if(u.periods.length>0&&u.periods[0].start<=U.start)return kt(()=>{if(!k.isCancelled())return o.needsMediaSourceReload({timeOffset:0,minimumPosition:void 0,maximumPosition:void 0})})}else if(U.start>C.start)break;if(N.addedPeriods.length>0&&A!==null){let U=u.getPeriodAfter(C);(U===null||A.period.id!==U.id)&&(m.warn(\"Stream: Destroying next PeriodStream due to new one being added\",_,A.period.start),R.periodStreamCleared({type:_,manifest:u,period:A.period}),A.canceller.cancel(),A=null)}},k)}}}function Hs(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 Gs=va;var Ks=Gs;var Fn=class extends le{constructor(e,t,r){super(),this._canceller=new W,this._manifest=e,this._activeStreams=new Map,this._allBufferTypes=r,this._lastCurrentPeriodId=null;let i=new Ca(e);this._maximumPositionCalculator=i;let a=this._canceller.signal;t.listen(({position:o})=>{let s=o.getWanted();if(s<e.getMinimumSafePosition()){let u=new $(\"MEDIA_TIME_BEFORE_MANIFEST\",\"The current position is behind the earliest time announced in the Manifest.\");this.trigger(\"warning\",u)}else if(s>i.getMaximumAvailablePosition()){let u=new $(\"MEDIA_TIME_AFTER_MANIFEST\",\"The current position is after the latest time announced in the Manifest.\");this.trigger(\"warning\",u)}},{includeLastObservation:!0,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 Mt((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)}},Ca=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=Hr(this._lastVideoAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}}else if(this._lastVideoAdaptation===null){let e=Hr(this._lastAudioAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}else{let e=Hr(this._lastAudioAdaptation),t=Hr(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=Gr(this._lastVideoAdaptation))!=null?e:void 0;if(this._lastVideoAdaptation===null)return(t=Gr(this._lastAudioAdaptation))!=null?t:void 0;{let r=Gr(this._lastAudioAdaptation),i=Gr(this._lastVideoAdaptation);return typeof r!=\"number\"||typeof i!=\"number\"?void 0:Math.min(r,i)}}}};function Hr(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 Gr(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 Aa(n,e,t,r,i,a){a.register(()=>{e.interruptDurationSetting()});let o=new Fn(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\",()=>{m.debug(\"Init: end-of-stream order received.\"),e.maintainEndOfStream()}),o.addEventListener(\"resumeStream\",()=>{e.stopEndOfStream()});let s=o.getCurrentEndingTime();return e.setDuration(s.endingPosition,s.isEnd),o}function xa(n,e){let t={audio:null,video:null,text:null};if(e!==null&&(t.text=e.getBufferedRanges()),n===null)return t;let r=Q(n.sourceBuffers,s=>s.type===\"audio\"),i=Q(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}function ka(n,e){if(typeof n.changeType==\"function\"){try{n.changeType(e)}catch(t){return m.warn(\"Could not call 'changeType' on the given SourceBuffer:\",t instanceof Error?t:\"\"),!1}return!0}return!1}function df(n){let e=[];for(let t=0;t<n.length;t++){let r=n[t];r.updating&&e.push(r)}return e}function zn(n,e){if(m.debug(\"Init: Trying to call endOfStream\"),n.readyState!==\"open\"){m.debug(\"Init: MediaSource not open, cancel endOfStream\");return}let{sourceBuffers:t}=n,r=df(t);if(r.length===0){m.info(\"Init: Triggering end of stream\");try{n.endOfStream()}catch(a){m.error(\"Unable to call endOfStream\",a instanceof Error?a:new Error(\"Unknown error\"))}return}m.debug(\"Init: Waiting SourceBuffers to be updated before calling endOfStream.\");let i=new W;i.linkToSignal(e);for(let a of r)To(a,()=>{i.cancel(),zn(n,e)},i.signal);Eo(t,()=>{i.cancel(),zn(n,e)},i.signal)}function js(n,e){let t=new W;t.linkToSignal(e),Bt(n,()=>{m.debug(\"Init: MediaSource re-opened while end-of-stream is active\"),t.cancel(),t=new W,t.linkToSignal(e),zn(n,t.signal)},e),zn(n,t.signal)}function Ma(){return ui}var lf=365*24*3600,Wn=class{constructor(e){this._mediaSource=e,this._currentMediaSourceDurationUpdateCanceller=null}updateDuration(e,t){this._currentMediaSourceDurationUpdateCanceller!==null&&this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=new W;let r=this._mediaSource,i=this._currentMediaSourceDurationUpdateCanceller.signal,a=mf(r,i),o=new W;o.linkToSignal(i),a.onUpdate(s,{emitCurrentValue:!0,clearSignal:i});function s(){if(o.cancel(),!a.getValue())return;o=new W,o.linkToSignal(i);let u=cf(r.sourceBuffers,o.signal),d=new W;return d.linkToSignal(o.signal),u.onUpdate(f=>{d.cancel(),d=new W,d.linkToSignal(o.signal),!f&&Qs(r,e,t,d.signal)},{clearSignal:o.signal,emitCurrentValue:!0})}}stopUpdating(){this._currentMediaSourceDurationUpdateCanceller!==null&&(this._currentMediaSourceDurationUpdateCanceller.cancel(),this._currentMediaSourceDurationUpdateCanceller=null)}};function ff(n,e,t){let r=e;t||(r=Ma()?1/0:Ys(e));let i=0;for(let a=0;a<n.sourceBuffers.length;a++){let o=n.sourceBuffers[a],s=o.buffered.length;s>0&&(i=Math.max(o.buffered.end(s-1)))}if(r===n.duration)return\"success\";if(i>r){if(i<n.duration)try{m.info(\"Init: Updating duration to what is currently buffered\",i),n.duration=i}catch(a){return m.warn(\"Duration Updater: Can't update duration on the MediaSource.\",a instanceof Error?a:\"\"),\"failed\"}return\"partial\"}else{let a=n.duration;try{if(m.info(\"Init: Updating duration\",r),n.duration=r,n.readyState===\"open\"&&!isFinite(r)){let s=Ys(e);m.info(\"Init: calling `mediaSource.setLiveSeekableRange`\",s),n.setLiveSeekableRange(0,s)}}catch(s){return m.warn(\"Duration Updater: Can't update duration on the MediaSource.\",s instanceof Error?s:\"\"),\"failed\"}let o=Math.abs(n.duration-r);if(o>=.1){let s=Math.abs(n.duration-a);return o<s?\"partial\":\"failed\"}return\"success\"}}function cf(n,e){if(n.length===0){let i=new j(!1);return i.finish(),i}let t=new j(!1,e);r();for(let i=0;i<n.length;i++){let a=n[i];a.addEventListener(\"updatestart\",r),a.addEventListener(\"update\",r),e.register(()=>{a.removeEventListener(\"updatestart\",r),a.removeEventListener(\"update\",r)})}return t;function r(){for(let i=0;i<n.length;i++)if(n[i].updating){t.setValueIfChanged(!0);return}t.setValueIfChanged(!1)}}function mf(n,e){let t=new j(n.readyState===\"open\",e);return Bt(n,()=>{m.debug(\"Init: Reacting to MediaSource open in duration updater\"),t.setValueIfChanged(!0)},e),gr(n,()=>{m.debug(\"Init: Reacting to MediaSource ended in duration updater\"),t.setValueIfChanged(!1)},e),pr(n,()=>{m.debug(\"Init: Reacting to MediaSource close in duration updater\"),t.setValueIfChanged(!1)},e),t}function Qs(n,e,t,r){if(ff(n,e,t)===\"success\")return;let a=setTimeout(()=>{o(),Qs(n,e,t,r)},2e3),o=r.register(()=>{clearTimeout(a)})}function Ys(n){return Math.max(Math.pow(2,32),n+lf)}var Vn=class extends le{constructor(e){if(super(),this.id=e,this.sourceBuffers=[],this._canceller=new W,v(rn))throw new $(\"MEDIA_SOURCE_NOT_SUPPORTED\",\"No MediaSource Object was found in the current browser.\");m.info(\"Init: Creating MediaSource\");let t=new rn,r=t.handle;this.handle=v(r)?{type:\"media-source\",value:t}:{type:\"handle\",value:r},this._mediaSource=t,this.readyState=t.readyState,this._durationUpdater=new Wn(t),this._endOfStreamCanceller=null,Bt(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceOpen\",null)},this._canceller.signal),gr(t,()=>{this.readyState=t.readyState,this.trigger(\"mediaSourceEnded\",null)},this._canceller.signal),pr(t,()=>{this.readyState=t.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 Oa(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 W,this._endOfStreamCanceller.linkToSignal(this._canceller.signal),m.debug(\"Init: end-of-stream order received.\"),js(this._mediaSource,this._endOfStreamCanceller.signal))}stopEndOfStream(){this._endOfStreamCanceller!==null&&(m.debug(\"Init: resume-stream order received.\"),this._endOfStreamCanceller.cancel(),this._endOfStreamCanceller=null)}dispose(){this.sourceBuffers.forEach(e=>e.dispose()),this._canceller.cancel(),pf(this._mediaSource)}},Oa=class{constructor(e,t,r){this.type=e,this.codec=t,this._canceller=new W,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 m.debug(\"SBI: receiving order to push data to the SourceBuffer\",this.type),this._addToQueue({operationName:0,params:e})}remove(e,t){return m.debug(\"SBI: receiving order to remove data from the SourceBuffer\",this.type,e,t),this._addToQueue({operationName:1,params:[e,t]})}getBuffered(){try{return pa(this._sourceBuffer.buffered)}catch(e){return m.error(\"Failed to get buffered time range of SourceBuffer\",this.type,e instanceof Error?e:null),[]}}abort(){try{this._sourceBuffer.abort()}catch(e){m.debug(\"Init: Failed to abort SourceBuffer:\",e instanceof Error?e:null)}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)m.error(\"SBI: error for an unknown operation\",t);else{let i=new Ce(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(pa(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=G({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 c=this._operationQueue[0],g=(r=u.appendWindow)!=null?r:[void 0,void 0],p=(i=c.params[1].appendWindow)!=null?i:[void 0,void 0],h=(a=u.timestampOffset)!=null?a:0,b=(o=c.params[1].timestampOffset)!=null?o:0;if(g[0]===p[0]&&g[1]===p[1]&&u.codec===c.params[1].codec&&h===b){let y=c.params[0],E;y instanceof ArrayBuffer?E=new Uint8Array(y):y instanceof Uint8Array?E=y:E=new Uint8Array(y.buffer),l.push(E),this._operationQueue.splice(0,1),this._currentOperations.push({operationName:0,resolve:c.resolve,reject:c.reject})}else break}l.length>1&&(m.info(`MMSI: Merging ${l.length} segments together for perf`,this.type),d=_t(...l))}try{this._appendBufferNow(d,u)}catch(f){let l=f instanceof Error?new Ce(f.name,f.message,f.name===\"QuotaExceededError\"):new Ce(\"Error\",\"Unknown SourceBuffer Error during appendBuffer\",!1);this._currentOperations.forEach(c=>{c.reject(l)}),this._currentOperations=[],this._performNextOperation()}}else{this._currentOperations=[e];let[s,u]=e.params;m.debug(\"SBI: removing data from SourceBuffer\",this.type,s,u);try{this._sourceBuffer.remove(s,u)}catch(d){let f=d instanceof Error?new Ce(d.name,d.message,!1):new Ce(\"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&&(m.debug(\"SBI: updating codec\",i),ka(r,i)?this.codec=i:m.debug(\"SBI: could not update codec\",i,this.codec)),a!==void 0&&r.timestampOffset!==a){let s=a;m.debug(\"SBI: updating timestampOffset\",i,r.timestampOffset,s),r.timestampOffset=s}if(o[0]===void 0)r.appendWindowStart>0&&(m.debug(\"SBI: re-setting `appendWindowStart` to `0`\"),r.appendWindowStart=0);else if(o[0]!==r.appendWindowStart){if(o[0]>=r.appendWindowEnd){let s=o[0]+1;m.debug(\"SBI: pre-updating `appendWindowEnd`\",s),r.appendWindowEnd=s}m.debug(\"SBI: setting `appendWindowStart`\",o[0]),r.appendWindowStart=o[0]}o[1]===void 0?r.appendWindowEnd!==1/0&&(m.debug(\"SBI: re-setting `appendWindowEnd` to `Infinity`\"),r.appendWindowEnd=1/0):o[1]!==r.appendWindowEnd&&(m.debug(\"SBI: setting `appendWindowEnd`\",o[1]),r.appendWindowEnd=o[1]),m.debug(\"SBI: pushing segment\",this.type),r.appendBuffer(e)}};function pf(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\"){m.info(\"Init: Aborting SourceBuffer before removing\");try{i.abort()}catch(a){}}m.info(\"Init: Removing SourceBuffer from mediaSource\"),n.removeSourceBuffer(i)}catch(a){}}t.length>0&&m.info(\"Init: Not all SourceBuffers could have been removed.\")}}var gf=Ae(),Kr=Ae(),$s=1/0,qn=class extends le{constructor(e,t,r){super(),this.id=e,this.sourceBuffers=[],this._canceller=new W,this.readyState=\"closed\",this._messageSender=r;let i=gf();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 W,this._mediaSourceId=r,this._queuedOperations=[],this._pendingOperations=new Map,this._messageSender=i}onOperationSuccess(e,t){let r=this._pendingOperations.get(e);r===void 0?m.warn(\"SBI: unknown SourceBuffer operation succeeded\"):(this._pendingOperations.delete(e),r.resolve(t)),this._performNextQueuedOperationIfItExists()}onOperationFailure(e,t){let r=t.errorName===\"CancellationError\"?new ue:new Ce(t.errorName,t.message,t.isBufferFull),i=this._pendingOperations.get(e);i===void 0?m.info(\"SBI: 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>=$s){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=Kr();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>=$s){this._queuedOperations.push({operationName:1,params:[e,t],resolve:r,reject:i});return}try{let a=Kr();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=Kr();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=Kr();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 Da(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 Le=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 Hn=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 Le(5),o.addSample(t,i),this._currentRepresentationData={representation:e,ewma:o,loadedDuration:r,loadedSegments:0}),o.getEstimate()>1&&this._lastRepresentationWithGoodScore!==e&&(m.debug(\"ABR: New last stable representation\",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 Xs=6e3,hf=15e3,If=3e3,bf=1e3,Sf=9e3,Gn=class{constructor(e){this._levelsMap=Da(e).map(t=>t+4),this._bitrates=e,this._lastUnsuitableQualityTimestamp=void 0,this._blockRaiseDelay=Xs,m.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;p<r.length;p++){let h=r[p];if(h===a)u=p;else if(h>a)break}if(u<0||r.length!==t.length){m.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(f<t[u]||d!==void 0&&d<1&&(o==null?void 0:o.confidenceLevel)===1){if((this._lastUnsuitableQualityTimestamp===void 0?-1:l-this._lastUnsuitableQualityTimestamp)<this._blockRaiseDelay+Sf){let b=this._blockRaiseDelay+If;this._blockRaiseDelay=Math.min(b,hf),m.debug(\"ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality\",this._blockRaiseDelay)}else{let b=this._blockRaiseDelay-bf;this._blockRaiseDelay=Math.max(Xs,b),m.debug(\"ABR: Lowering quality in BufferBasedChooser\",this._blockRaiseDelay)}this._lastUnsuitableQualityTimestamp=l;let h=re(r,b=>b===a);for(let b=h-1;b>=0;b--)if(f>=t[b]){this._currentEstimate=r[b];return}this._currentEstimate=r[0];return}if(this._lastUnsuitableQualityTimestamp!==void 0&&l-this._lastUnsuitableQualityTimestamp<this._blockRaiseDelay||d===void 0||d<1.15||(o==null?void 0:o.confidenceLevel)!==1){this._currentEstimate=a;return}let c=t[u],g=(()=>{for(let p=u+1;p<t.length;p++)if(t[p]>c)return p})();if(g!==void 0){let p=t[g];if(i>=p){m.debug(\"ABR: Raising quality in BufferBasedChooser\",r[g]),this._currentEstimate=r[g];return}}this._currentEstimate=a}getLastEstimate(){return this._currentEstimate}};function yf(n,e){let t=-1;for(let o=0;o<n.length;o++){let{segment:s}=n[o].content;if(s.duration<=0)continue;let u=s.time+s.duration;if(!s.complete&&o===n.length-1&&e-s.time>-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;o<n.length&&n[o].content.segment.time===i;o++)a.push(n[o]);return a}function jr(n){if(n.progress.length<5)return;let e=new Le(2),{progress:t}=n;for(let r=1;r<t.length;r++){let i=t[r].size-t[r-1].size,a=t[r].timestamp-t[r-1].timestamp,o=i*8/(a/1e3);e.addSample(a/1e3,o)}return e.getEstimate()}function Zs(n,e){let t=(n.totalSize-n.size)*8;return Math.max(t/e,0)}function Tf(n,e,t,r,i){if(r)return;let{bufferGap:a,speed:o,position:s}=e,u=isFinite(a)?a:0,d=s.getWanted()+u,f=yf(n,d);if(f.length!==1)return;let l=f[0],c=L(),g=l.content.segment.duration*1.5;if(g=Math.min(g,3e3),g=Math.max(g,12e3),c-l.requestTimestamp<g)return;let p=l.progress.length>0?l.progress[l.progress.length-1]:void 0,h=jr(l);if(p!==void 0&&h!==void 0){let C=Zs(p,h);if((c-p.timestamp)/1e3<=C&&C-u/o>2500)return h}if(!l.content.segment.complete)return;let b=l.content.segment.duration,y=(c-l.requestTimestamp)/1e3,E=y<=(b*1.5+2)/o;if(v(t)||E)return;let P=b/y,_=t.bitrate*Math.min(.7,P);if(i===void 0||_<i)return _}function Ef(n,e,t){if(t)return!0;let r=isFinite(n.bufferGap)?n.bufferGap:0,i=n.position.getWanted()+r,a=Q(e,({content:l})=>l.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=Zs(s,u);return(o-s.timestamp)/1e3>d*1.2?!0:d-r/n.speed>-1.5}var Kn=class{constructor(e,t){let{ABR_STARVATION_GAP:r,OUT_OF_STARVATION_GAP:i,ABR_STARVATION_FACTOR:a,ABR_REGULAR_FACTOR:o}=F.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,c=isFinite(d)?d:0,{ABR_STARVATION_DURATION_DELTA:g}=F.getCurrent();return isNaN(l)||c+f.getWanted()<l-g?!this._inStarvationMode&&c<=u.starvationGap?(m.info(\"ABR: enter starvation mode.\"),this._inStarvationMode=!0):this._inStarvationMode&&c>=u.outOfStarvationGap&&(m.info(\"ABR: exit starvation mode.\"),this._inStarvationMode=!1):this._inStarvationMode&&(m.info(\"ABR: exit starvation mode.\"),this._inStarvationMode=!1),this._inStarvationMode&&(s=Tf(i,e,r,this._lowLatencyMode,a),s!==void 0&&(m.info(\"ABR: starvation mode emergency estimate:\",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:Ef(i,r,this._lowLatencyMode)}};var jn=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 Yn=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=Js(e,r);if(l!==null)return l}return null}if(this._isLastGuessValidated(u,i,d)&&(m.debug(\"ABR: Guessed Representation validated\",u.bitrate),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),_f(e,r);if(d===void 0)return r;if(this._canGuessHigher(o,s,d)){let l=Js(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&&d<e.bitrate*.8)return!0}}}return!1}_isLastGuessValidated(e,t,r){return r!==void 0&&r.confidenceLevel===1&&r.score>1.5?!0:t>=e.bitrate&&(this._lastMaintanableBitrate===null||this._lastMaintanableBitrate<e.bitrate)}};function Js(n,e){let t=n.length,r=re(n,({id:i})=>i===e.id);if(r<0)return m.error(\"ABR: Current Representation not found.\"),null;for(;++r<t;)if(n[r].bitrate>e.bitrate)return n[r];return null}function _f(n,e){let t=re(n,({id:r})=>r===e.id);if(t<0)return m.error(\"ABR: Current Representation not found.\"),null;for(;--t>=0;)if(n[t].bitrate<e.bitrate)return n[t];return null}var Qn=class{constructor(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=F.getCurrent();this._fastEWMA=new Le(e),this._slowEWMA=new Le(t),this._bytesSampled=0}addSample(e,t){let{ABR_MINIMUM_CHUNK_SIZE:r}=F.getCurrent();if(t<r)return;let i=t*8e3/e,a=e/1e3;this._bytesSampled+=t,this._fastEWMA.addSample(a,i),this._slowEWMA.addSample(a,i)}getEstimate(){let{ABR_MINIMUM_TOTAL_BYTES:e}=F.getCurrent();if(!(this._bytesSampled<e))return Math.min(this._fastEWMA.getEstimate(),this._slowEWMA.getEstimate())}reset(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=F.getCurrent();this._fastEWMA=new Le(e),this._slowEWMA=new Le(t),this._bytesSampled=0}};function Na(n,e){if(n.length===0)return[];n.sort((a,o)=>a.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 Ba(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=Q(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 $n=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\");m.warn(\"ABR: progress for a request not added\");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\");m.warn(\"ABR: can't remove unknown request\")}delete this._currentRequests[e]}getRequests(){return cr(this._currentRequests).filter(e=>!v(e)).sort((e,t)=>e.content.segment.time-t.content.segment.time)}};function Yr(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 eu=new j(void 0);eu.finish();var tu=new j(1/0);tu.finish();function Ua(n){let e={},{initialBitrates:t,throttlers:r,lowLatencyMode:i}=n;return function(s,u,d,f,l){var b,y,E;let{type:c}=s.adaptation,g=a(c),p=(b=t[c])!=null?b:0,h={limitResolution:(y=r.limitResolution[c])!=null?y:eu,throttleBitrate:(E=r.throttleBitrate[c])!=null?E:tu};return Rf({bandwidthEstimator:g,context:s,currentRepresentation:u,filters:h,initialBitrate:p,playbackObserver:f,representations:d,lowLatencyMode:i},l)};function a(o){let s=e[o];if(v(s)){m.debug(\"ABR: Creating new BandwidthEstimator for \",o);let u=new Qn;return e[o]=u,u}return s}}function Rf({bandwidthEstimator:n,context:e,currentRepresentation:t,filters:r,initialBitrate:i,lowLatencyMode:a,playbackObserver:o,representations:s},u){let d=new Hn,f=new Kn(i!=null?i:0,a),l=new $n,c=D,g={metrics:E,requestBegin:P,requestProgress:_,requestEnd:C,addedSegment(R){c(R)}},p=new W;p.linkToSignal(u);let h=b(s.getValue(),p.signal);return s.onUpdate(y,{clearSignal:u}),{estimates:h,callbacks:g};function b(R,M){if(R.length<=1)return new j({bitrate:void 0,representation:R[0],urgent:!0,knownStableBitrate:void 0});let A=!1,T=R.sort((V,Z)=>V.bitrate-Z.bitrate),x=new Gn(T.map(V=>V.bitrate)),O=new jn,w=new Yn(d,O),B=o.getReference().getValue(),k=new j(U());return o.listen(V=>{B=V,N()},{includeLastObservation:!1,clearSignal:M}),c=function(V){if(B===null)return;let{position:Z,speed:Y}=B,H=V.buffered,q=Lr(H,Z.getWanted()),{representation:J}=V.content,de=d.getEstimate(J),me=J.bitrate,ie={bufferGap:q,currentBitrate:me,currentScore:de,speed:Y};x.onAddedSegment(ie),N()},M.register(()=>{c=D}),r.throttleBitrate.onUpdate(N,{clearSignal:M}),r.limitResolution.onUpdate(N,{clearSignal:M}),k;function N(){k.setValue(U())}function U(){let{bufferGap:V,position:Z,maximumPosition:Y}=B,H=r.limitResolution.getValue(),q=r.throttleBitrate.getValue(),J=t.getValue(),de=Pf(T,H,q),me=l.getRequests(),{bandwidthEstimate:ie,bitrateChosen:Ge}=f.getBandwidthEstimate(B,n,J,me,O.bandwidth),ke=d.getLastStableRepresentation(),fe=ke===null?void 0:ke.bitrate/(B.speed>0?B.speed:1),{ABR_ENTER_BUFFER_BASED_ALGO:Te,ABR_EXIT_BUFFER_BASED_ALGO:Qt}=F.getCurrent();A&&V<=Qt?A=!1:!A&&isFinite(V)&&V>=Te&&(A=!0);let Ke=Yr(de,Ge),Me=x.getLastEstimate(),Ot=Ke.bitrate,ut=null;A&&Me!==void 0&&Me>Ot&&(ut=Yr(de,Me),Ot=ut.bitrate);let dt=null;return a&&J!==null&&e.manifest.isDynamic&&Y-Z.getWanted()<40&&(dt=w.getGuess(T,B,J,Ot,me)),dt!==null&&dt.bitrate>Ot?(m.debug(\"ABR: Choosing representation with guess-based estimation.\",dt.bitrate,dt.id),O.update(dt,ie,2),{bitrate:ie,representation:dt,urgent:J===null||dt.bitrate<J.bitrate,knownStableBitrate:fe}):ut!==null?(m.debug(\"ABR: Choosing representation with buffer-based estimation.\",ut.bitrate,ut.id),O.update(ut,ie,0),{bitrate:ie,representation:ut,urgent:f.isUrgent(ut.bitrate,J,me,B),knownStableBitrate:fe}):(m.debug(\"ABR: Choosing representation with bandwidth estimation.\",Ke.bitrate,Ke.id),O.update(Ke,ie,1),{bitrate:ie,representation:Ke,urgent:f.isUrgent(Ke.bitrate,J,me,B),knownStableBitrate:fe})}}function y(){let R=s.getValue();p.cancel(),p=new W,p.linkToSignal(u),b(R,p.signal).onUpdate(function(T){h.setValue(T)},{clearSignal:p.signal,emitCurrentValue:!0})}function E(R){let{requestDuration:M,segmentDuration:A,size:T,content:x}=R;if(n.addSample(M,T),!x.segment.isInit){let{segment:O,representation:w}=x;if(A===void 0&&!O.complete)return;let B=A!=null?A:O.duration;d.addSample(w,M/1e3,B)}}function P(R){l.add(R)}function _(R){l.addProgress(R)}function C(R){l.remove(R.id)}}function Pf(n,e,t){let r=n;return t!==void 0&&t<1/0&&(r=Na(r,t)),e!==void 0&&(r=Ba(r,e)),r}var nu=Ua;function Qr(){var t;if(typeof((t=ae.crypto)==null?void 0:t.randomUUID)==\"function\")return ae.crypto.randomUUID();let n=new Date().getTime(),e=L();return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(r){let i=Math.random()*16;return n>0?(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 vf=4,Xn=class{constructor(e){var t,r;this._sessionId=(t=e.sessionId)!=null?t:Qr(),this._contentId=(r=e.contentId)!=null?r:Qr(),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 W,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,c=jo(f,l);c!==null&&(c!==\".\"&&(r.nor=encodeURIComponent(c)),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 c of f)if(l>=c.start&&l<c.end){i=(c.end-l)*1e3,r.bl=Math.floor(Math.round(i/100)*100);break}}}let a=i===void 0||t===void 0?void 0:i/t.speed;if(r.dl=a===void 0?void 0:Math.floor(Math.round(a/100)*100),a!==void 0){let l=e.representation.bitrate*e.segment.duration/1e3/(a/1e3);r.rtp=Math.floor(Math.round(l*vf/100)*100)}switch(e.manifest.transport){case\"dash\":r.sf=\"d\";break;case\"smooth\":r.sf=\"s\";break;default:r.sf=\"o\";break}return r.st=e.manifest.isDynamic?\"l\":\"v\",r.tb=e.adaptation.representations.reduce((f,l)=>l.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 c=`${d}=${String(l)},`;i(c,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 c=`prop=${l},`;i(c,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)),m.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),m.debug(\"CMCD: proposing query string payload\",r),{type:\"query\",value:[[\"CMCD\",r]]})}};var ru=Xn;function st(n){return n instanceof se?new Ye(\"PIPELINE_LOAD_ERROR\",n):ye(n,{defaultCode:\"PIPELINE_LOAD_ERROR\",defaultReason:\"Unknown error when fetching the Manifest\"})}function Cf(n){return n instanceof se?n.type===yt.ERROR_HTTP_CODE?n.status>=500||n.status===404||n.status===415||n.status===412:n.type===yt.TIMEOUT||n.type===yt.ERROR_EVENT:n instanceof je?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:Dt(n)&&n.code===\"INTEGRITY_ERROR\"}async function La(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&&m.warn(\"Fetchers: no CDN given to `scheduleRequestWithCdns`.\");let d=new Map,f=l();if(f===void 0)throw new Error(\"No CDN to request\");return c(f);function l(){if(n===null){let b=d.get(null);return b!==void 0&&b.isBlacklisted?void 0:null}else{if(e===null)return h(n);{let b=e.getCdnPreferenceForResource(n);return h(b)}}}async function c(b){try{return await t(b,i)}catch(y){if(W.isCancellationError(y))throw y;b!==null&&e!==null&&e.downgradeCdn(b);let E=d.get(b);if(E===void 0?(E={errorCounter:1,blockedUntil:void 0,isBlacklisted:!1},d.set(b,E)):E.errorCounter++,!Cf(y))return E.blockedUntil=void 0,E.isBlacklisted=!0,g(y);if(E.errorCounter>s)E.blockedUntil=void 0,E.isBlacklisted=!0;else{let P=E.errorCounter,_=Math.min(a*Math.pow(2,P-1),o),C=Ti(_);E.blockedUntil=L()+C}return g(y)}}async function g(b){let y=l();if(i.isCancelled())throw i.cancellationError;if(y===void 0)throw b;if(u(b),i.isCancelled())throw i.cancellationError;return p(y,b)}function p(b,y){let E=d.get(b);if(E===void 0||E.blockedUntil===void 0)return c(b);let P=L(),_=E.blockedUntil-P;if(_<=0)return c(b);let C=new W,R=C.linkToSignal(i);return new Promise((M,A)=>{e==null||e.addEventListener(\"priorityChange\",()=>{let O=l();if(i.isCancelled())throw i.cancellationError;if(O===void 0)return x(y);O!==b&&(C.cancel(),p(O,y).then(T,x))},C.signal),an(_,C.signal).then(()=>c(b).then(T,x),D);function T(O){R(),M(O)}function x(O){R(),A(O)}})}function h(b){var E;if(d.size===0)return b[0];let y=L();return(E=b.filter(P=>{var _;return((_=d.get(P))==null?void 0:_.isBlacklisted)!==!0}).reduce((P,_)=>{var R;let C=(R=d.get(_))==null?void 0:R.blockedUntil;return C!==void 0&&C<=y&&(C=void 0),P===void 0?[_,C]:P[1]===void 0?P:C===void 0?[_,void 0]:C<P[1]?[_,C]:P},void 0))==null?void 0:E[0]}}function Fa(n,e,t){return La(null,null,n,e,t)}var Zn=class extends le{constructor(e,t,r){super(),this.scheduleManualRefresh=D,this._manifestUrls=e,this._pipelines=t.manifest,this._transportName=t.transportName,this._settings=r,this._canceller=new W,this._isStarted=!1,this._isRefreshPending=!1,this._consecutiveUnsafeMode=0,this._prioritizedContentUrl=null}dispose(){this._canceller.cancel(),this.removeEventListener()}start(){if(this._isStarted)return;this._isStarted=!0;let e,t=this._settings.initialManifest;t instanceof Lt?e=Promise.resolve({manifest:t}):t!==void 0?e=this.parse(t,{previousManifest:null,unsafeMode:!1},void 0):e=this._fetchManifest(void 0).then(r=>r.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\",st(f))});try{let f=await u(o);return{parse:l=>this._parseLoadedManifest(f,l,o)}}catch(f){throw st(f)}function u(f){var b;let{loadManifest:l}=a,c=r.requestTimeout===void 0?F.getCurrent().DEFAULT_REQUEST_TIMEOUT:r.requestTimeout,g=r.connectionTimeout===void 0?F.getCurrent().DEFAULT_CONNECTION_TIMEOUT:r.connectionTimeout;c<0&&(c=void 0),g<0&&(g=void 0);let p={timeout:c,connectionTimeout:g,cmcdPayload:(b=r.cmcdDataBuilder)==null?void 0:b.getCmcdDataForManifest(i)};return Fa(()=>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 h;let i=L(),a=this._canceller.signal,o=this.trigger.bind(this),{sendingTime:s,receivedTime:u}=e,d=this._getBackoffSetting(b=>{this.trigger(\"warning\",st(b))}),f=r!=null?r:(h=this._manifestUrls)==null?void 0:h[0],l={externalClockOffset:t.externalClockOffset,unsafeMode:t.unsafeMode,previousManifest:t.previousManifest,originalUrl:f};try{let b=this._pipelines.parseManifest(e,l,g,a,c);if(Af(b)){let{manifest:y,warnings:E}=await b;return p(y,E)}else return p(b.manifest,b.warnings)}catch(b){throw ye(b,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"})}async function c(b){try{return await Fa(b,d,a)}catch(y){throw st(y)}}function g(b){for(let y of b){if(a.isCancelled())return;let E=ye(y,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"});o(\"warning\",E)}}function p(b,y){g(y);let E=L()-i;return m.info(`MF: Manifest parsed in ${E}ms`),{manifest:b,sendingTime:s,receivedTime:u,parsingTime:E}}}_getBackoffSetting(e){let{DEFAULT_MAX_MANIFEST_REQUEST_RETRY:t,INITIAL_BACKOFF_DELAY_BASE:r,MAX_BACKOFF_DELAY_BASE:i}=F.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}=F.getCurrent(),s=r!==void 0?r+(i!=null?i:0):void 0,u=!1;this._consecutiveUnsafeMode>0?u=this._consecutiveUnsafeMode<a:s!==void 0&&(u=s>=o);let d=t===void 0?0:L()-t,f=Math.max(this._settings.minimumManifestUpdateInterval-d,0),l=new W;if(l.linkToSignal(this._canceller.signal),this.scheduleManualRefresh=c=>{let{enablePartialRefresh:g,delay:p,canUseUnsafeMode:h}=c,b=h&&u,y=t===void 0?0:L()-t,E=Math.max(this._settings.minimumManifestUpdateInterval-y,0),P=setTimeout(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:g,unsafeMode:b})},Math.max((p!=null?p:0)-y,E));l.signal.register(()=>{clearTimeout(P)})},e.expired!==null){let c=setTimeout(()=>{var g;(g=e.expired)==null||g.then(()=>{l.cancel(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:u})},D)},f);l.signal.register(()=>{clearTimeout(c)})}if(e.lifetime!==void 0&&e.lifetime>=0){let c=e.lifetime*1e3-d,g;s===void 0?g=c:e.lifetime<3&&s>=100?(g=Math.min(Math.max(3e3-d,Math.max(c,0)+s),c*6),m.info(\"MUS: Manifest update rythm is too frequent. Postponing next request.\",c,g)):s>=e.lifetime*1e3/10?(g=Math.min(Math.max(c,0)+s,c*6),m.info(\"MUS: Manifest took too long to parse. Postponing next request\",g,g)):g=c;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,m.info('Init: Refreshing the Manifest in \"unsafeMode\" for the '+String(this._consecutiveUnsafeMode)+\" consecutive time.\")):this._consecutiveUnsafeMode>0&&(m.info('Init: 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,c=L();if(a)e.replace(d);else try{e.update(d)}catch(p){let h=p instanceof Error?p.message:\"unknown error\";m.warn(`MUS: Attempt to update Manifest failed: ${h}`,\"Re-downloading the Manifest fully\");let{FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:b}=F.getCurrent(),y=f===void 0?0:L()-f,E=Math.max(this._settings.minimumManifestUpdateInterval-y,0),P=D,_=setTimeout(()=>{P(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:!1})},Math.max(b-y,E));P=this._canceller.signal.register(()=>{clearTimeout(_)});return}let g=L()-c;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 Af(n){return n instanceof Promise}var za=Zn;var Jn=class extends le{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}=F.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 Wa(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){m.warn(\"Fetchers: Cannot update the priority of a request: task not found.\");return}n.updatePriority(a,i)}}}var Va=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}},au=Va;var xf=Ae();function qa({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=ge([\"audio\",\"video\"],n)?new au:void 0,{loadSegment:d,parseSegment:f}=e;return async function(c,g,p){var Z,Y,H;let{segment:h,adaptation:b,representation:y,manifest:E,period:P}=c,_=Tt(c),C=xf(),R,M=[],A=0,T=!1,x={segment:h,type:b.type,language:b.language,isLive:E.isLive,periodStart:P.start,periodEnd:P.end,mimeType:y.mimeType,codecs:y.codecs[0],manifestPublishTime:E.publishTime},O={onProgress(q){var J;R===void 0&&q.totalSize!==void 0&&q.size<q.totalSize&&((J=i.onProgress)==null||J.call(i,{duration:q.duration,size:q.size,totalSize:q.totalSize,timestamp:L(),id:C}))},onNewChunk(q){g.onChunk(N(q,!0))}},w=u!==void 0?u.get(c):null;if(w!==null)return m.debug(\"SF: Found wanted segment in cache\",_),g.onChunk(N(w,!1)),Promise.resolve();m.debug(\"SF: Beginning request\",_),(Z=i.onRequestBegin)==null||Z.call(i,{requestTimestamp:L(),id:C,content:c}),p.register(B);try{let q=await La(c.representation.cdnMetadata,t,k,G({onRetry:U},a),p);if(q.resultType===\"segment-loaded\"){let J=q.resultData.responseData;u!==void 0&&u.add(c,q.resultData.responseData),g.onChunk(N(J,!1))}else q.resultType===\"segment-created\"&&g.onChunk(N(q.resultData,!1));m.debug(\"SF: Segment request ended with success\",_),g.onAllChunksReceived(),q.resultType!==\"segment-created\"?(R=q.resultData,V()):R=null,p.isCancelled()||(Y=i.onRequestEnd)==null||Y.call(i,{id:C}),p.deregister(B)}catch(q){throw p.deregister(B),R=null,q instanceof ue?(m.debug(\"SF: Segment request aborted\",_),q):(m.debug(\"SF: Segment request failed\",_),(H=i.onRequestEnd)==null||H.call(i,{id:C}),st(q))}function B(){var q;R===void 0&&(m.debug(\"SF: Segment request cancelled\",_),R=null,(q=i.onRequestEnd)==null||q.call(i,{id:C}))}function k(q){return s.cmcdPayload=r==null?void 0:r.getCmcdDataForSegmentRequest(c),d(q,x,s,p,O)}function N(q,J){M.push(!1);let de=M.length-1;return function(ie){let Ge={data:q,isChunked:J};try{let ke=f(Ge,x,ie);return M[de]||(A=A!==void 0&&ke.segmentType===\"media\"&&ke.chunkInfos!==null&&ke.chunkInfos.duration!==void 0?A+ke.chunkInfos.duration:void 0,M[de]=!0,V()),ke}catch(ke){throw ye(ke,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown parsing error\"})}}}function U(q){g.onRetry(st(q))}function V(){var q;T||!v(R)&&R.size!==void 0&&R.requestDuration!==void 0&&M.length>0&&M.every(J=>J)&&(T=!0,(q=i.onMetrics)==null||q.call(i,{size:R.size,requestDuration:R.requestDuration,content:c,segmentDuration:A}))}}}function ou({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}=F.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 er=class extends le{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 j({initSegment:null,segmentQueue:[]}),i=new W;i.signal.register(()=>{r.finish()});let a={content:e,downloadQueue:r,initSegmentInfoRef:t?new j(void 0):new j(null),currentCanceller:i,initSegmentRequest:null,mediaSegmentRequest:null,mediaSegmentAwaitingInitMetadata:null};return this._currentContentInfo=a,this.isMediaSegmentQueueInterrupted.onUpdate(s=>{s||(m.debug(\"SQ: Media segment can be loaded again, restarting queue.\",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;m.debug(\"SQ: no more media segment to request. Cancelling queue.\",e.adaptation.type),this._restartMediaSegmentDownloadingQueue(a);return}else if(d===null){m.debug(\"SQ: Media segments now need to be requested. Starting queue.\",e.adaptation.type,u.length),this._restartMediaSegmentDownloadingQueue(a);return}else{let f=u[0];if(d.segment.id!==f.segment.id){m.debug(\"SQ: Next media segment changed, cancelling previous\",e.adaptation.type),this._restartMediaSegmentDownloadingQueue(a);return}d.priority!==f.priority&&(m.debug(\"SQ: Priority of next media segment changed, updating\",e.adaptation.type,d.priority,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&&m.debug(\"SQ: no more init segment to request. Cancelling queue.\",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()){m.debug(\"SQ: 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 W,f=a===null?D:d.linkToSignal(a.signal),{segment:l,priority:c}=u,g=G({segment:l,nextSegment:(P=s[1])==null?void 0:P.segment},r),p=!1,h=!1;d.signal.register(()=>{e.mediaSegmentRequest=null,!p&&(e.mediaSegmentAwaitingInitMetadata===l.id&&(e.mediaSegmentAwaitingInitMetadata=null),p=!0,h=!1)});let b=_=>{ce(_.segmentType===\"media\",\"Should have loaded a media segment.\"),this.trigger(\"parsedMediaSegment\",G({},_,{segment:l}))},y=()=>{let _=t.getValue().segmentQueue;if(_.length===0){p=!0,this.trigger(\"emptyQueue\",null);return}else _[0].segment.id===l.id&&_.shift();p=!0,o()},E=this._segmentFetcher.createRequest(g,c,{onRetry:_=>{this.trigger(\"requestRetry\",{segment:l,error:_})},beforeInterrupted(){m.info(\"SQ: segment request interrupted temporarly.\",l.id,l.time)},onChunk:_=>{let C=i.getValue();C!==void 0?b(_(C!=null?C:void 0)):(h=!0,i.waitUntilDefined(R=>{b(_(R!=null?R:void 0))},{clearSignal:d.signal}))},onAllChunksReceived:()=>{h?(e.mediaSegmentAwaitingInitMetadata=l.id,i.waitUntilDefined(()=>{e.mediaSegmentAwaitingInitMetadata=null,h=!1,this.trigger(\"fullyLoadedSegment\",l)},{clearSignal:d.signal})):this.trigger(\"fullyLoadedSegment\",l)},beforeEnded:()=>{f(),e.mediaSegmentRequest=null,h?i.waitUntilDefined(y,{clearSignal:d.signal}):y()}},d.signal);E.catch(_=>{f(),p||(p=!0,this.stop(),this.trigger(\"error\",_))}),e.mediaSegmentRequest={segment:l,priority:c,request:E,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 W,o=e.currentCanceller===null?D:a.linkToSignal(e.currentCanceller.signal),{segment:s,priority:u}=t,d=G({segment:s,nextSegment:void 0},r),f=!1,l=this._segmentFetcher.createRequest(d,u,{onRetry:c=>{this.trigger(\"requestRetry\",{segment:s,error:c})},beforeInterrupted:()=>{m.info(\"SQ: init segment request interrupted temporarly.\",s.id)},beforeEnded:()=>{o(),e.initSegmentRequest=null,f=!0},onChunk:c=>{var p;let g=c(void 0);ce(g.segmentType===\"init\",\"Should have loaded an init segment.\"),this.trigger(\"parsedInitSegment\",G({},g,{segment:s})),g.segmentType===\"init\"&&i.setValue((p=g.initTimescale)!=null?p:null)},onAllChunksReceived:()=>{this.trigger(\"fullyLoadedSegment\",s)}},a.signal);l.catch(c=>{o(),f||(f=!0,this.stop(),this.trigger(\"error\",c))}),a.signal.register(()=>{e.initSegmentRequest=null,!f&&(f=!0)}),e.initSegmentRequest={segment:s,priority:u,request:l,canceller:a}}};var nr=class{constructor({prioritySteps:e}){if(this._minPendingPriority=null,this._waitingQueue=[],this._pendingTasks=[],this._prioritySteps=e,this._prioritySteps.high>=this._prioritySteps.low)throw new Error(\"TP: the max high level priority should be given a lowerpriority number than the min low priority.\")}create(e,t,r,i){let a;return Et(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)},c=new W,g=c.linkToSignal(i);a.interrupter=c,c.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(c.signal).then(f).catch(p=>{!i.isCancelled()&&c.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=tr(e.taskFn,this._waitingQueue);if(t>=0)this._waitingQueue.splice(t,1);else{let r=tr(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=tr(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=tr(e,this._pendingTasks);if(i<0){m.warn(\"TP: 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||t<this._minPendingPriority?this._minPendingPriority=t:this._minPendingPriority===o&&(this._pendingTasks.length===1?this._minPendingPriority=t:this._minPendingPriority=Math.min(...this._pendingTasks.map(s=>s.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<e))for(let t=0;t<this._waitingQueue.length;t++){let r=this._minPendingPriority===null?e:Math.min(this._minPendingPriority,e);this._waitingQueue[t].priority<=r&&(this._findAndRunWaitingQueueTask(t),t--)}}_interruptCancellableTasks(){for(let e of this._pendingTasks)if(e.priority>=this._prioritySteps.low)return this._interruptPendingTask(e),this._interruptCancellableTasks()}_findAndRunWaitingQueueTask(e){return e>=this._waitingQueue.length||e<0?(m.warn(\"TP : Tried to start a non existing task\"),!1):(this._waitingQueue.splice(e,1)[0].trigger(),!0)}_interruptPendingTask(e){var r;let t=tr(e.taskFn,this._pendingTasks);if(t<0){m.warn(\"TP: 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 tr(n,e){return re(e,t=>t.taskFn===n)}var rr=class{constructor(e,t,r,i){let a=new Jn(i),{MIN_CANCELABLE_PRIORITY:o,MAX_HIGH_PRIORITY_LEVEL:s}=F.getCurrent();this._transport=e,this._prioritizer=new nr({prioritySteps:{high:s,low:o}}),this._cdnPrioritizer=a,this._backoffOptions=r,this._cmcdDataBuilder=t}createSegmentQueue(e,t,r){let i=ou(this._backoffOptions),a=this._transport[e],o=qa({bufferType:e,pipeline:a,cdnPrioritizer:this._cdnPrioritizer,cmcdDataBuilder:this._cmcdDataBuilder,eventListeners:t,requestOptions:i}),s=Wa(this._prioritizer,o);return new er(s,r)}};var Ha=rr;var ir=class{constructor(e){this._segmentSinksStore=e,this._currentFreezeTimestamp=null}needToReload(e){let{readyState:t,rebuffering:r,freezing:i}=e;if((e.bufferGap!==void 0&&isFinite(e.bufferGap)?e.bufferGap:0)<6||r===null&&i===null||t>1)return this._currentFreezeTimestamp=null,!1;let o=L();this._currentFreezeTimestamp===null&&(this._currentFreezeTimestamp=o);let s=r!==null&&o-r.timestamp>4e3,u=i!==null&&o-i.timestamp>4e3;if((s||u)&&L()-this._currentFreezeTimestamp>4e3){let d=this._segmentSinksStore.getStatus(\"audio\"),f=this._segmentSinksStore.getStatus(\"video\"),l=!0,c=!0;for(let g of[d,f])if(g.type===\"initialized\")for(let p of g.value.getLastKnownInventory()){let{representation:h}=p.infos;if(h.decipherable===!1)return m.warn(\"Init: we have undecipherable segments left in the buffer, reloading\"),this._currentFreezeTimestamp=null,!0;h.contentProtections!==void 0&&(c=!1,h.decipherable!==!0&&(l=!1))}if(!c&&l)return m.warn(\"Init: we are frozen despite only having decipherable segments left in the buffer, reloading\"),this._currentFreezeTimestamp=null,!0}return!1}};var{DEFAULT_WANTED_BUFFER_AHEAD:kf,DEFAULT_MAX_VIDEO_BUFFER_SIZE:Mf,DEFAULT_MAX_BUFFER_AHEAD:Of,DEFAULT_MAX_BUFFER_BEHIND:wf}=F.getCurrent(),Ga=new j(kf),Ka=new j(Mf),ja=new j(Of),Ya=new j(wf),$r=new j({height:void 0,width:void 0,pixelRatio:1}),Xr=new j(1/0);function X(n,e){m.debug(\"<--- Sending to Main:\",n.type),e===void 0?postMessage(n):postMessage(n,e)}function De(n){return ye(n,{defaultCode:\"NONE\",defaultReason:\"An unknown error stopped content playback.\"}).serialize()}var ar=class{constructor(){this._refs=new Map}reset(){var e,t,r,i,a,o,s,u,d,f,l,c;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(),(c=(l=this._refs.get(g))==null?void 0:l.text)==null||c.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&&(m.warn(\"WP: Track for periodId already declared\",e,t),(s=i[t])==null||s.trackReference.finish(),(u=i[t])==null||u.representations.finish());let a=r.getValue(),o;v(a)?o=new j({representationIds:[],switchingMode:\"lazy\"}):(o=new j(a.representations.getValue()),r.setValue(G({},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?(m.debug(\"WP: Setting track for inexistent periodId\",e,t),!1):(v(r)?(i.representations=new j({representationIds:[],switchingMode:\"lazy\"}),i.trackReference.setValue(r)):(i.representations=new j(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 m.debug(\"WP: Setting track for inexistent periodId\",e,r),!1;let o=a.trackReference.getValue();return v(o)||o.adaptationId!==t?(m.debug(\"WP: Desynchronized Adaptation id\",o==null?void 0:o.adaptationId,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?(m.debug(\"WP: Removing track setter for inexistent periodId\",e,t),!1):(i.trackReference.finish(),i.representations.finish(),delete r[t],Object.keys(r).length===0&&this._refs.delete(e),!0)}};var or=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){m.error(\"WMS: pushTextData success for inexistant operation\");return}t.resolve(e)}onPushedTrackError(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData error for inexistant operation\");return}t.reject(e)}onRemoveSuccess(e){let t=this._queues.remove.shift();if(t===void 0){m.error(\"WMS: remove success for inexistant operation\");return}t.resolve(e)}onRemoveError(e){let t=this._queues.pushTextData.shift();if(t===void 0){m.error(\"WMS: pushTextData error for inexistant operation\");return}t.reject(e)}};var su=Ae(),Yt=class{constructor({hasMseInWorker:e,hasVideo:t}){this._currentContent=null,this._currentMediaSourceCanceller=new W,this._hasVideo=t,this._hasMseInWorker=e;let r=new W;this._contentCanceller=r}initializeNewContent(e){return new Promise((t,r)=>{var A,T;this.disposeCurrentContent();let i=this._contentCanceller,a=new W;this._currentMediaSourceCanceller=a,a.linkToSignal(i.signal);let{contentId:o,url:s,hasText:u,transportOptions:d}=e,f=null;ce(Oe.transports.dash!==void 0,\"Multithread RxPlayer should have access to the DASH feature\");let l=typeof d.representationFilter==\"string\"?po(d.representationFilter):void 0,c=Oe.transports.dash(oe(ee({},d),{representationFilter:l})),g=e.cmcd===void 0?null:new ru(e.cmcd),p=new za(s===void 0?void 0:[s],c,ee({cmcdDataBuilder:g},e.manifestRetryOptions)),h=nu({initialBitrates:{audio:(A=e.initialAudioBitrate)!=null?A:0,video:(T=e.initialVideoBitrate)!=null?T:0},lowLatencyMode:d.lowLatencyMode,throttlers:{limitResolution:{video:$r},throttleBitrate:{video:Xr}}}),b=a.signal.register(x=>{r(x)}),y=new Ha(c,g,e.segmentRetryOptions,i.signal),E=new ar,[P,_,C]=uu(o,{hasMseInWorker:this._hasMseInWorker,hasVideo:this._hasVideo,hasText:u},a.signal),R=new ir(_);this._currentContent={cmcdDataBuilder:g,contentId:o,decipherabilityFreezeDetector:R,mediaSource:P,manifest:null,manifestFetcher:p,representationEstimator:h,segmentSinksStore:_,segmentQueueCreator:y,workerTextSender:C,trackChoiceSetter:E},P.addEventListener(\"mediaSourceOpen\",function(){M()},a.signal),i.signal.register(()=>{p.dispose()}),p.addEventListener(\"warning\",x=>{X({type:\"warning\",contentId:o,value:De(x)})},i.signal),p.addEventListener(\"manifestReady\",x=>{if(f!==null){m.warn(\"WP: Multiple `manifestReady` events, ignoring\");return}f=x,this._currentContent!==null&&(this._currentContent.manifest=f),M()},a.signal),p.addEventListener(\"error\",x=>{r(x)},i.signal),p.start();function M(){if(f===null||P.readyState===\"closed\"||a.isUsed())return;let x=f.getMetadataSnapshot();f.addEventListener(\"manifestUpdate\",O=>{if(f===null)return;let w=G(f.getMetadataSnapshot(),{periods:[]});X({type:\"manifest-update\",contentId:o,value:{manifest:w,updates:O}})},i.signal),b(),t(x)}})}getCurrentContent(){return this._currentContent}scheduleManifestRefresh(e){var t;(t=this._currentContent)==null||t.manifestFetcher.scheduleManualRefresh(e)}reloadMediaSource(e){if(this._currentMediaSourceCanceller.cancel(),this._currentContent===null)return Promise.reject(new Error(\"CP: No content anymore\"));this._currentContent.trackChoiceSetter.reset(),this._currentMediaSourceCanceller=new W,X({type:\"reloading-media-source\",contentId:this._currentContent.contentId,value:e},[]);let[t,r,i]=uu(this._currentContent.contentId,{hasMseInWorker:this._hasMseInWorker,hasVideo:this._hasVideo,hasText:this._currentContent.workerTextSender!==null},this._currentMediaSourceCanceller.signal);return this._currentContent.mediaSource=t,this._currentContent.segmentSinksStore=r,this._currentContent.workerTextSender=i,new Promise((a,o)=>{t.addEventListener(\"mediaSourceOpen\",function(){a()},this._currentMediaSourceCanceller.signal),t.addEventListener(\"mediaSourceClose\",function(){o(new Error(\"MediaSource ReadyState changed to close during init.\"))},this._currentMediaSourceCanceller.signal),this._currentMediaSourceCanceller.signal.register(s=>{o(s)})})}disposeCurrentContent(){this._contentCanceller.cancel(),this._contentCanceller=new W}};function uu(n,e,t){let r;if(e.hasMseInWorker){let s=new Vn(su());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)})}X({type:\"attach-media-source\",contentId:n,value:u,mediaSourceId:r.id},[d.value])}else r=new qn(su(),n,X);let i=e.hasText?new or(n,X):null,{hasVideo:a}=e,o=new St(r,a,i);return t.register(()=>{o.disposeAll(),i==null||i.stop(),r.dispose()}),[r,o,i]}function Qa(){let n=!1,e=new Yt({hasMseInWorker:!1,hasVideo:!0}),t=null,r=new bs;Oe.dashParsers.wasm=r,Oe.dashParsers.fastJs=is,Oe.transports.dash=vs;let i=null;ae.onmessageerror=a=>{m.error(\"MTCI: Error when receiving message from main thread.\")},onmessage=function(a){var s,u;m.debug(\"Worker: received message\",a.data.type);let o=a.data;switch(o.type){case\"init\":ce(!n),n=!0,eo(o.value),du(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\";m.error(\"Worker: Could not initialize DASH_WASM parser\",f)}),(!o.value.hasVideo||o.value.hasMseInWorker)&&(e.disposeCurrentContent(),e=new Yt({hasMseInWorker:o.value.hasMseInWorker,hasVideo:o.value.hasVideo})),X({type:\"init-success\",value:null});break;case\"log-level-update\":du(o.value.logLevel,o.value.logFormat,o.value.sendBackLogs);break;case\"prepare\":Df(e,o.value);break;case\"start\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;t!==null&&(t.cancel(),t=null);let f=new W,l=new j(G(o.value.initialObservation,{position:new xt(...o.value.initialObservation.position)}));i=l,t=f,t.signal.register(()=>{l.finish()}),lu(o.value,e,l,f.signal);break}case\"observation\":{let d=e.getCurrentContent();if(o.contentId!==(d==null?void 0:d.contentId))return;let f=o.value,{buffered:l}=f,c=xa(d.mediaSource,null);c.audio!==null&&(l.audio=c.audio),c.video!==null&&(l.video=c.video),i==null||i.setValue(G(f,{position:new xt(...o.value.position)}));break}case\"ref-update\":Nf(o);break;case\"stop\":if(o.contentId!==((s=e.getCurrentContent())==null?void 0:s.contentId))return;e.disposeCurrentContent(),t!==null&&(t.cancel(),t=null);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=Q(f,c=>c.type===o.sourceBufferType);if(l===void 0){m.info(\"WP: Success for an unknown SourceBuffer\",o.sourceBufferType);return}if(l.onOperationSuccess===void 0){m.warn(\"WP: A SourceBufferInterface with MSE performed a cross-thread operation\",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=Q(f,c=>c.type===o.sourceBufferType);if(l===void 0){m.info(\"WP: Error for an unknown SourceBuffer\",o.sourceBufferType);return}if(l.onOperationFailure===void 0){m.warn(\"WP: A SourceBufferInterface with MSE performed a cross-thread operation\",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){m.warn(\"WP: 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 c of f)if(l.representation.uniqueId===c.representationUniqueId)return c.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&&X({type:\"warning\",contentId:d.contentId,value:De(l)})}catch(l){X({type:\"error\",contentId:d.contentId,value:De(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){m.error(\"WP: 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){m.error(\"WP: 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){m.error(\"WP: 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){m.error(\"WP: 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\":{Bf(e,o.value.messageId);break}case\"config-update\":{F.update(o.value);break}default:ze(o)}}}function Df(n,e){n.initializeNewContent(e).then(t=>{X({type:\"manifest-ready\",contentId:e.contentId,value:{manifest:t}})},t=>{X({type:\"error\",contentId:e.contentId,value:De(t)})})}function Nf(n){switch(n.value.name){case\"wantedBufferAhead\":Ga.setValueIfChanged(n.value.newVal);break;case\"maxVideoBufferSize\":Ka.setValueIfChanged(n.value.newVal);break;case\"maxBufferBehind\":Ya.setValueIfChanged(n.value.newVal);break;case\"maxBufferAhead\":ja.setValueIfChanged(n.value.newVal);break;case\"limitVideoResolution\":$r.setValueIfChanged(n.value.newVal);break;case\"throttleVideoBitrate\":Xr.setValueIfChanged(n.value.newVal);break;default:ze(n.value)}}function lu(n,e,t,r){var A;let i=new W;i.linkToSignal(r);let a=new Map,o=e.getCurrentContent();if(o===null||o.manifest===null){let T=new Se(\"NONE\",\"Loading content when none is prepared\");X({type:\"error\",contentId:void 0,value:De(T)});return}let{contentId:s,cmcdDataBuilder:u,manifest:d,mediaSource:f,representationEstimator:l,segmentSinksStore:c,segmentQueueCreator:g}=o,{drmSystemId:p,enableFastSwitching:h,initialTime:b,onCodecSwitch:y}=n;t.onUpdate(T=>{o.decipherabilityFreezeDetector.needToReload(T)&&M({timeOffset:0,minimumPosition:0,maximumPosition:1/0}),[\"video\",\"audio\",\"text\"].forEach(x=>{var w;let O=c.getStatus(x);O.type===\"initialized\"&&O.value.synchronizeInventory((w=T.buffered[x])!=null?w:[])})},{clearSignal:i.signal});let E=(A=d.getPeriodForTime(b))!=null?A:d.getNextPeriod(b);if(E===void 0){let T=new $(\"MEDIA_STARTING_TIME_NOT_FOUND\",\"Wanted starting time not found in the Manifest.\");X({type:\"error\",contentId:s,value:De(T)});return}let P=new vn(t,s,X,i.signal);u==null||u.startMonitoringPlayback(P),i.signal.register(()=>{u==null||u.stopMonitoringPlayback()});let _=Aa(d,f,P,c,{onWarning:T=>X({type:\"warning\",contentId:s,value:De(T)}),onPeriodChanged:T=>{X({type:\"active-period-changed\",contentId:s,value:{periodId:T.id}})}},i.signal);Ks({initialPeriod:E,manifest:d},P,l,c,g,{wantedBufferAhead:Ga,maxVideoBufferSize:Ka,maxBufferAhead:ja,maxBufferBehind:Ya,drmSystemId:p,enableFastSwitching:h,onCodecSwitch:y},C(),i.signal);function C(){return{needsBufferFlush(T){X({type:\"needs-buffer-flush\",contentId:s,value:T})},streamStatusUpdate(T){R(T),d.isLastPeriodKnown&&T.period.id===d.periods[d.periods.length-1].id&&(T.hasFinishedLoading||T.isEmptyStream?_.onLastSegmentFinishedLoading(T.bufferType):_.onLastSegmentLoadingResume(T.bufferType))},needsManifestRefresh(){e.scheduleManifestRefresh({enablePartialRefresh:!0,canUseUnsafeMode:!0})},manifestMightBeOufOfSync(){let{OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:T}=F.getCurrent();e.scheduleManifestRefresh({enablePartialRefresh:!1,canUseUnsafeMode:!1,delay:T})},lockedStream(T){X({type:\"locked-stream\",contentId:s,value:{periodId:T.period.id,bufferType:T.bufferType}})},adaptationChange(T){var x,O;_.onAdaptationChange(T.type,T.period,T.adaptation),!i.signal.isCancelled()&&X({type:\"adaptation-changed\",contentId:s,value:{adaptationId:(O=(x=T.adaptation)==null?void 0:x.id)!=null?O:null,periodId:T.period.id,type:T.type}})},representationChange(T){var x,O;_.onRepresentationChange(T.type,T.period),!i.signal.isCancelled()&&X({type:\"representation-changed\",contentId:s,value:{adaptationId:T.adaptation.id,representationId:(O=(x=T.representation)==null?void 0:x.id)!=null?O:null,periodId:T.period.id,type:T.type}})},inbandEvent(T){X({type:\"inband-event\",contentId:s,value:T})},warning(T){X({type:\"warning\",contentId:s,value:De(T)})},periodStreamReady(T){o!==null&&(o.trackChoiceSetter.addTrackSetter(T.period.id,T.type,T.adaptationRef),X({type:\"period-stream-ready\",contentId:s,value:{periodId:T.period.id,bufferType:T.type}}))},periodStreamCleared(T){if(o===null)return;let x=a.get(T.period);x!==void 0&&(x.delete(T.type),x.size===0&&a.delete(T.period)),_.onPeriodCleared(T.type,T.period),o.trackChoiceSetter.removeTrackSetter(T.period.id,T.type),X({type:\"period-stream-cleared\",contentId:s,value:{periodId:T.period.id,bufferType:T.type}})},bitrateEstimateChange(T){var x;o!==null&&((x=o.cmcdDataBuilder)==null||x.updateThroughput(T.type,T.bitrate)),X({type:\"bitrate-estimate-change\",contentId:s,value:{bitrate:T.bitrate,bufferType:T.type}})},needsMediaSourceReload(T){M(T)},needsDecipherabilityFlush(){X({type:\"needs-decipherability-flush\",contentId:s,value:null})},encryptionDataEncountered(T){for(let x of T){let O=x.content,w=ee({},O);w.manifest instanceof Lt&&(w.manifest=w.manifest.getMetadataSnapshot()),w.period instanceof mt&&(w.period=w.period.getMetadataSnapshot()),w.adaptation instanceof ft&&(w.adaptation=w.adaptation.getMetadataSnapshot()),w.representation instanceof nn&&(w.representation=w.representation.getMetadataSnapshot()),X({type:\"encryption-data-encountered\",contentId:s,value:{keyIds:x.keyIds,values:x.values,content:w,type:x.type}})}},error(T){X({type:\"error\",contentId:s,value:De(T)})}}}function R(T){let{imminentDiscontinuity:x}=T,O=a.get(T.period),w=O==null?void 0:O.get(T.bufferType);if(w!==void 0){if(w.discontinuity===null){if(x===null)return}else if(x!==null&&w.discontinuity.start===x.start&&w.discontinuity.end===x.end)return}O===void 0&&(O=new Map,a.set(T.period,O));let B={periodId:T.period.id,bufferType:T.bufferType,discontinuity:T.imminentDiscontinuity,position:T.position};O.set(T.bufferType,B),X({type:\"discontinuity-update\",contentId:s,value:B})}function M(T){let O=t.getValue().position.getWanted();i!==null&&i.cancel(),e.reloadMediaSource(T).then(()=>{lu({initialTime:O,drmSystemId:n.drmSystemId,enableFastSwitching:n.enableFastSwitching,onCodecSwitch:n.onCodecSwitch},e,t,r)},w=>{if(W.isCancellationError(w)){m.info(\"WP: A reloading operation was cancelled\");return}X({type:\"error\",contentId:s,value:De(w)})})}}function du(n,e,t){t?m.setLevel(n,\"standard\",(r,i)=>{let a=i.map(o=>o instanceof Error?De(o):o);postMessage({type:\"log\",value:{logLevel:r,logs:a}})}):m.setLevel(n,e)}function Bf(n,e){let t=n.getCurrentContent();if(t===null)return;let r=t.segmentSinksStore.getSegmentSinksMetrics();X({type:\"segment-sink-store-update\",contentId:t.contentId,value:{segmentSinkMetrics:r,messageId:e}})}var fu=Qa;fu();})();\n" + "})()"], { type: "application/javascript" });
|
|
5
5
|
exports.EMBEDDED_WORKER = blob;
|
|
6
6
|
exports.default = blob;
|