@bitmovin/player-web-x 10.0.0-beta.12 → 10.0.0-beta.13

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.
Files changed (41) hide show
  1. package/bundles/playerx-bitmovin-v8-core.js +3 -3
  2. package/bundles/playerx-bitmovin-v8.js +3 -3
  3. package/bundles/playerx-core.js +3 -3
  4. package/bundles/playerx-dash.js +3 -3
  5. package/bundles/playerx-hls.js +3 -3
  6. package/bundles/playerx-playlist.js +3 -3
  7. package/bundles/playerx-tv.js +3 -3
  8. package/package.json +1 -1
  9. package/packages/playerx-adaptation.package.js +3 -3
  10. package/packages/playerx-bitmovin-source-api.package.js +2 -2
  11. package/packages/playerx-bitmovin-ui.package.js +2 -2
  12. package/packages/playerx-bitmovin-v8-core.package.js +2 -2
  13. package/packages/playerx-bitmovin-v8-static-api.package.js +2 -2
  14. package/packages/playerx-bitmovin-video-element-utils.package.js +2 -2
  15. package/packages/playerx-capabilities.package.js +2 -2
  16. package/packages/playerx-container-mp4.package.js +3 -3
  17. package/packages/playerx-container-ts.package.js +2 -2
  18. package/packages/playerx-core.package.js +3 -3
  19. package/packages/playerx-dash-parsing.package.js +2 -2
  20. package/packages/playerx-dash-translation.package.js +2 -2
  21. package/packages/playerx-dash.package.js +2 -2
  22. package/packages/playerx-data.package.js +3 -3
  23. package/packages/playerx-hls-parsing.package.js +2 -2
  24. package/packages/playerx-hls-translation.package.js +3 -3
  25. package/packages/playerx-hls.package.js +2 -2
  26. package/packages/playerx-network.package.js +2 -2
  27. package/packages/playerx-playback-state.package.js +2 -2
  28. package/packages/playerx-playlist.package.js +2 -2
  29. package/packages/playerx-presentation.package.js +2 -2
  30. package/packages/playerx-resize-tracker.package.js +2 -2
  31. package/packages/playerx-segment-processing.package.js +2 -2
  32. package/packages/playerx-source-api.package.js +2 -2
  33. package/packages/playerx-source.package.js +2 -2
  34. package/packages/playerx-sources-api.package.js +2 -2
  35. package/packages/playerx-trick-play.package.js +2 -2
  36. package/packages/playerx-ts-transmuxer.package.js +2 -2
  37. package/packages/playerx-tv.package.js +2 -2
  38. package/playerx-framework-utils.js +2 -2
  39. package/types/framework/core/core/Core.package.d.ts +2 -1
  40. package/types/framework/core/core/state/selection-group/SelectionGroupAtom.d.ts +4 -2
  41. package/types/framework/core/core/state/track/TrackTypeGuards.d.ts +2 -1
@@ -1,10 +1,10 @@
1
1
  /*******************************************************************************
2
2
  * This source code is the proprietary property of Bitmovin, Inc. Unauthorized
3
3
  * copying, distribution, or use of this code, or any portion thereof, is
4
- * strictly prohibited. © 2023 Bitmovin, Inc. All rights reserved. This
4
+ * strictly prohibited. © 2024 Bitmovin, Inc. All rights reserved. This
5
5
  * source code is subject to the terms and conditions of the accompanying
6
6
  * license agreement.
7
7
  *
8
- * Bitmovin Player X Version 10.0.0-beta.12
8
+ * Bitmovin Player X Version 10.0.0-beta.13
9
9
  *******************************************************************************/
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["hls-translation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["hls-translation"]=t())}(self,(()=>(()=>{"use strict";var e={3898:(e,t)=>{function n(e,t,n){const r=t;return r._name=e,{onAdd:r,dependencies:n}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=n},8465:(e,t)=>{function n(e,t){const n=t;return n._name=e,n}function r(e){return(...t)=>{const[r,s]=e(...t);return n(r,s)}}Object.defineProperty(t,"__esModule",{value:!0}),t.createTaskClosure=t.createTask=void 0,t.createTask=n,t.createTaskClosure=r},9062:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentName=void 0,function(e){e.Logger="logger",e.Constants="constants",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.SourceState="source-state",e.StreamTimeline="stream-timeline",e.Utils="utils",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms",e.NetworkAtom="network-atom",e.SourceThread="source-thread",e.VideoElementUtils="video-element-utils",e.Metrics="metrics",e.AdaptationTask="adaptation-task",e.PlayerConfig="player-config"}(t.ComponentName||(t.ComponentName={}))},5185:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MediaTypeValues=t.Codec=t.MediaType=void 0,function(e){e.Audio="audio",e.Video="video",e.Muxed="muxed",e.Subtitle="subtitle",e.Thumbnail="thumbnail",e.Unknown="unknown"}(n=t.MediaType||(t.MediaType={})),function(e){e.Mp4a="mp4a",e.AVC="avc1",e.HEVC="hvc1",e.ADTS="adts",e.Unknown="unknown"}(t.Codec||(t.Codec={})),t.MediaTypeValues=Object.values(n)},7048:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkError=void 0;class n extends Error{constructor(e){super(e),this.name="FrameworkError"}}t.FrameworkError=n},605:(e,t)=>{function n(e,t){return e.length===t.length&&e.every(((e,n)=>e===t[n]))}function r(e,...t){return 0!==t.length&&(e.push(...t),!0)}function s(e,...t){const n=e.length;for(const n of t)e.includes(n)||e.push(n);return n===e.length}function a(e,t,...n){return 0!==n.length&&(e.splice(t,0,...n),!0)}function i(e,t,n){let r=0,s=e.length;for(;r<s;){const a=r+s>>>1;n(e[a])<n(t)?r=a+1:s=a}return r}function o(e,t,...n){const r=e.length;if(0===n.length)return!1;if(0===e.length)return e.push(...n.sort(((e,n)=>t(e)-t(n)))),!0;for(const r of n){const n=t(r),s=t(e[0]);if(t(e[e.length-1])<=n)e.push(r);else if(n<=s)e.unshift(r);else{const n=i(e,r,t);e.splice(n,0,r)}}return e.length!==r}function c(e,...t){let n=!1;for(const r of t){const t=e.indexOf(r);t<0||(n=!0,e.splice(t,1))}return n}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function l(e,t){if(n(e,t))return!1;const r=u(e);return t.forEach((t=>e.push(t))),r||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const d=(e,t=[])=>{const n={add:r,insert:a,insertSorted:o,remove:c,clear:u,set:l,addIfNew:s};return e.effects.state.create(t,n)};t.createArrayAtom=d},99:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createMapStateAtom=void 0;const n=(e,t,n)=>(e.set(t,n),!0),r=(e,t)=>!!e.has(t)&&(e.delete(t),!0),s=e=>!!Array.from(e.keys()).length&&(e.clear(),!0),a=e=>{const t=new Map,a={add:n,remove:r,reset:s};return e.effects.state.create(t,a)};t.createMapStateAtom=a},5054:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createPrimitiveAtom=void 0;const n=e=>({value:e});function r(e,t){return e.value!==t&&(e.value=t,!0)}function s(e,t){return e.effects.state.create(n(t),{setValue:r})}t.createPrimitiveAtom=s},8992:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.copyCodecs=t.addCodecs=t.createCodecMapAtom=void 0;const r=n(9062);function s(e){const{createMapStateAtom:t}=e.registry.get(r.ComponentName.CoreStateAtoms);return t(e)}function a(e,t,n,r){var s;const{state:a}=e.effects,i=[...null!==(s=t.get(n))&&void 0!==s?s:[]];let o=!t.has(n);for(const e of r){const t=i.map((e=>e.toLowerCase()));t.includes(e.toLowerCase())||(o=!0,i.push(e))}return a.dispatch(t.add,n,i),o}function i(e,t){const{state:n}=e.effects,{createCodecMapAtom:s}=e.registry.get(r.ComponentName.CoreStateAtoms).CodecMap,a=s(e);for(const[e,r]of t)n.dispatch(a.add,e,r);return a}t.createCodecMapAtom=s,t.addCodecs=a,t.copyCodecs=i},5266:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function s(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function i(e){try{c(r.next(e))}catch(e){a(e)}}function o(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):s(e.value).then(i,o)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createDataStreamAtom=t.DataStreamClearedError=t.DataStreamClosedError=void 0;const s=n(4),{createTransient:a}=s.default;class i extends Error{constructor(){super("Cannot perform operation: DataStream is closed"),this.name="DataStreamClosedError"}}t.DataStreamClosedError=i;class o extends Error{constructor(){super("Cannot perform operation: DataStream was cleared"),this.name="DataStreamClearedError"}}function c(e){const t=(e=s.error)=>{if(e)for(const{reject:t}of n)t(e);else for(const{resolve:e}of n)e()},n=[],s={closed:!1,error:void 0,data:[],cleared:a(e),[Symbol.asyncIterator]:i};function i(){const e={resolve:()=>{},reject:()=>{}};let t=0;const a={next:()=>r(this,void 0,void 0,(function*(){if(s.error)throw s.error;for(;t>=s.data.length&&!s.closed;)yield new Promise(((t,n)=>{e.resolve=t,e.reject=n}));const n=s.data[t++];return!s.closed||t<=s.data.length?{done:!1,value:n}:{done:!0,value:void 0}}))};return n.push(e),a}return{dataStream:s,continuation:t}}function u(e,t){if(t.error)throw t.error;return!t.closed&&(t.closed=!0,e(),!0)}function l(e,t){if(t.error)throw t.error;return!!t.closed&&(t.closed=!1,e(),!0)}function d(e,t,n){const{state:r}=e.effects;return n.error=void 0,n.data.splice(0,n.data.length),n.closed=!1,t(new o),r.dispatch(n.cleared.trigger),!0}function m(e,t,...n){if(t.error)throw t.error;if(t.closed)throw new i;return t.data.push(...n),e(),!0}function g(e,t,n,r){if(n.error)throw r;const{state:s}=e.effects;return n.data.splice(0,n.data.length),n.error=r,n.closed=!0,t(),s.dispatch(n.cleared.trigger),!0}function p(e){const{abortSignal:t,effects:n}=e,{state:r,events:s}=n,{continuation:a,dataStream:i}=c(e),o=r.create(i,{push:(e,...t)=>m(a,e,...t),close:u.bind(null,a),open:l.bind(null,a),clear:d.bind(null,e,a),throw:g.bind(null,e,a)});return s.subscribe(t,"abort",(()=>r.dispatch(o.throw,t.reason))),o}t.DataStreamClearedError=o,t.createDataStreamAtom=p},7041:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getGapToNextSegment=t.getTimeRange=t.getReadableSegmentName=t.createSelfInitSegmentAtom=t.createInitSegmentAtom=t.createDataSegmentAtom=t.SegmentType=void 0;const r=n(5266),s=n(99);var a;!function(e){e.Initialization="initialization",e.SelfInitializing="self-initializing",e.Data="data"}(a=t.SegmentType||(t.SegmentType={}));const i=(e,t)=>e.initSegment!==t&&(e.initSegment=t,!0);function o(e,t,n){var a;return Object.assign(Object.assign({metadata:{},data:(0,r.createDataStreamAtom)(e),byteRange:void 0},n),{type:t,selectionGroup:null!==(a=n.selectionGroup)&&void 0!==a?a:n.track.selectionGroup,codecs:(0,s.createMapStateAtom)(e)})}const c={setMetadata:(e,t)=>e.metadata!==t&&(e.metadata=t,!0),setSelectionGroup:(e,t)=>e.selectionGroup!==t&&(e.selectionGroup=t,!0)},u=(e,t)=>e.effects.state.create(o(e,a.Data,t),Object.assign(Object.assign({},c),{setInitSegment:i}));t.createDataSegmentAtom=u;const l=(e,t)=>e.effects.state.create(o(e,a.Initialization,t),c);t.createInitSegmentAtom=l;const d=(e,t)=>e.effects.state.create(o(e,a.SelfInitializing,t),c);function m(e,t=3){const n=e.url.split("?").shift().split("://").pop().split("#").shift().split("/"),r=Math.max(0,t),s=Math.min(n.length-1,Math.max(0,n.length-r-1));return n.slice(s).join("/")}function g(e){const{segmentTiming:{parsedPlaybackTime:t,parsedDuration:n}}=e;return{start:t,end:t+n}}function p(e,t){if(void 0===t)return;const n=t.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;return n!==r?{start:r,end:n}:void 0}t.createSelfInitSegmentAtom=d,t.getReadableSegmentName=m,t.getTimeRange=g,t.getGapToNextSegment=p},151:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentTiming=t.getDefaultSegmentTiming=void 0;const n=e=>Object.assign({parsedDuration:-1,parsedPlaybackTime:-1,encodedDuration:-1,encodedPlaybackTime:-1,timestampOffset:-1/0},e);function r(e,t,n){return(e.parsedDuration!==t||e.parsedPlaybackTime!==n)&&(e.parsedDuration=t,e.parsedPlaybackTime=n,!0)}function s(e,t,n){return(e.encodedDuration!==t||e.encodedPlaybackTime!==n)&&(e.encodedDuration=t,e.encodedPlaybackTime=n,!0)}function a(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function i(e,n){return e.effects.state.create((0,t.getDefaultSegmentTiming)(n),{manifestParsed:r,dataParsed:s,timestampOffsetChanged:a})}t.getDefaultSegmentTiming=n,t.createSegmentTiming=i},1093:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isInitSegment=t.isDataSegment=t.isDataOrSelfInitSegment=void 0;const r=n(7041);function s(e){return[r.SegmentType.Data,r.SegmentType.SelfInitializing].includes(e.type)}function a(e){return[r.SegmentType.Data].includes(e.type)}function i(e){return e.type===r.SegmentType.Initialization}t.isDataOrSelfInitSegment=s,t.isDataSegment=a,t.isInitSegment=i},5783:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createUnknownSelectionGroupAtom=t.createSubtitleSelectionGroupAtom=t.createAudioSelectionGroupAtom=t.createVideoSelectionGroupAtom=void 0;const r=n(9062),s=n(8992),a=(e,t,n,r)=>(0,s.addCodecs)(e,t.codecs,n,r),i=(e,t)=>e.language!==t&&(e.language=t,!0),o=(e,t)=>e.sequenceNumber!==t&&(e.sequenceNumber=t,!0);function c(e){return{setSequenceNumber:o,setCodecs:a.bind(void 0,e)}}const u=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),s=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${n.Video}:TODO-FIX-ME`});return T(e,s),e.effects.state.create(s,c(e))};function l(e){return{setCodecs:a.bind(void 0,e),setLanguage:i,setSequenceNumber:o}}t.createVideoSelectionGroupAtom=u;const d=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),s=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${n.Audio}:${t.language}:TODO-FIX-ME`});return T(e,s),e.effects.state.create(s,l(e))};t.createAudioSelectionGroupAtom=d;const m={setSequenceNumber:o,setLanguage:i},g=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),s=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${n.Subtitle}:${t.language}`});return T(e,s),e.effects.state.create(s,m)};t.createSubtitleSelectionGroupAtom=g;const p={setSequenceNumber:o},f=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),s=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${n.Unknown}`});return T(e,s),e.effects.state.create(s,p)};function T(e,t){const{deriveFrom:n}=e.registry.get(r.ComponentName.Utils).State;n(t,"timeRange",(()=>{const e={start:1/0,end:-1/0};for(const n of t.tracks){const{start:t,end:r}=n.timeRange;(t<e.start||!isFinite(e.start))&&(e.start=t),(r>e.end||!isFinite(e.end))&&(e.end=r)}return e}))}t.createUnknownSelectionGroupAtom=f},4528:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMediaSelectionGroup=t.isAudioSelectionGroup=t.isVideoSelectionGroup=void 0;const r=n(5185);function s(e,t){const n=e.codecs;for(const[e,r]of n)if(e===t)return!0;return!1}function a(e){return o(e)&&s(e,r.MediaType.Video)}function i(e){return o(e)&&s(e,r.MediaType.Audio)}function o(e){return"codecs"in e}t.isVideoSelectionGroup=a,t.isAudioSelectionGroup=i,t.isMediaSelectionGroup=o},2161:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createStreamAtom=t.StreamType=void 0;const r=n(4),s=n(605),a=n(5054),{createTransient:i}=r.default;function o(e,t){return e.type!==t&&(e.type=t,!0)}!function(e){e.Live="live",e.VoD="vod"}(t.StreamType||(t.StreamType={}));const c=(e,t)=>e.effects.state.create({tracks:(0,s.createArrayAtom)(e,[]),selectionGroups:(0,s.createArrayAtom)(e,[]),type:t,duration:(0,a.createPrimitiveAtom)(e,1/0),onPlaybackTimeMismatch:i(e),onDurationMismatch:i(e)},{setType:o});t.createStreamAtom=c},7831:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createUnknownTrackAtom=t.createSubtitleTrackAtom=t.createMuxedTrackAtom=t.createVideoTrackAtom=t.createAudioTrackAtom=void 0;const r=n(9062),s=n(605),a=n(8992),i=n(1093),o=(e,t)=>e.segments!==t&&(e.segments=t,!0),c=(e,t,n,r)=>(0,a.addCodecs)(e,t.codecs,n,r),u=(e,t)=>e.sequenceNumber!==t&&(e.sequenceNumber=t,!0),l=({effects:{state:e}},t,n)=>{if(t.selectionGroup===n)return!1;for(const r of"segments"in t?t.segments:[])e.dispatch(r.setSelectionGroup,n),(0,i.isDataSegment)(r)&&r.initSegment.selectionGroup!==n&&e.dispatch(r.initSegment.setSelectionGroup,n);return t.selectionGroup=n,!0};function d(e){return{setSegments:o,setSequenceNumber:u,setSelectionGroup:(t,n)=>l(e,t,n)}}function m(e){return Object.assign(Object.assign({},d(e)),{setCodecs:c.bind(void 0,e)})}const g=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Audio},t);return y(e,a),e.effects.state.create(a,m(e))};t.createAudioTrackAtom=g;const p=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Video},t);return y(e,a),e.effects.state.create(a,m(e))};t.createVideoTrackAtom=p;const f=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Muxed},t);return y(e,a),e.effects.state.create(a,m(e))};t.createMuxedTrackAtom=f;const T=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Subtitle},t);return y(e,a),e.effects.state.create(a,d(e))};t.createSubtitleTrackAtom=T;const h=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Unknown},t);return y(e,a),e.effects.state.create(a,d(e))};function y(e,t){const{deriveFrom:n}=e.registry.get(r.ComponentName.Utils).State;n(t,"timeRange",(()=>{var e,n,r;if(t.sequenceNumber===1/0)return{start:-1/0,end:1/0};const s=null===(e=t.segments[0])||void 0===e?void 0:e.segmentTiming,a=null===(n=t.segments[t.segments.length-1])||void 0===n?void 0:n.segmentTiming;return{start:null!==(r=null==s?void 0:s.parsedPlaybackTime)&&void 0!==r?r:1/0,end:a?a.parsedPlaybackTime+a.parsedDuration:-1/0}}))}t.createUnknownTrackAtom=h},3219:(e,t)=>{function n(e){return"audio"===e.type}function r(e){return n(e)||s(e)}function s(e){return"video"===e.type}function a(e){return"muxed"===e.type}Object.defineProperty(t,"__esModule",{value:!0}),t.isMuxedTrack=t.isVideoTrack=t.isMediaTrack=t.isAudioTrack=void 0,t.isAudioTrack=n,t.isMediaTrack=r,t.isVideoTrack=s,t.isMuxedTrack=a},4:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function s(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function i(e){try{c(r.next(e))}catch(e){a(e)}}function o(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):s(e.value).then(i,o)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const s=n(8465),a=n(9062);class i extends Error{constructor(){super("Aborted from map-subscribe"),this.name="MapUnsubscribedError"}}const o=(e,t,n)=>(0,s.createTask)(`map-subscribe-${n.name}`,((r,s)=>{var a;const o=Array.from(t.keys()),c=o.filter((e=>!r.includes(e))),u=r.filter((e=>!o.includes(e)));for(const e of c)null===(a=t.get(e))||void 0===a||a.abort(new i),t.delete(e);for(const r of u){const s=e.fork(n,r);t.set(r,s),s.finally((()=>t.delete(r))).catch((()=>{}))}}));function c(e,t,n){const r=new Map,s=o(e,r,n),a=e.effects.state.subscribe(e,t,s,(e=>e instanceof i));return()=>{a();for(const[e,t]of r)t.abort(new i)}}function u(e,t){const n=[],a=[];let i=!1;const o=(0,s.createTask)("sequence-task",t);function c(){return r(this,void 0,void 0,(function*(){if(i)return;const t=n.shift();void 0!==t&&(i=!0,yield e.fork(o,t).catch((()=>{})),i=!1,a.push(t),c().catch((()=>{})))}))}return{addToQueue:e=>{a.includes(e)||n.includes(e)||(n.push(e),c().catch((()=>{})))}}}function l(e,t,n){Object.defineProperty(e,t,{get:()=>n(e)})}function d(e,t,n,a=(()=>!1)){let o;const c=e=>a(e)||e instanceof i,u=(0,s.createTask)(`subscribe-${n.name}-once`,((e,t)=>r(this,void 0,void 0,(function*(){t.fork(n,e,c),o(!1)}))));return o=e.effects.state.subscribe(e,t,u,c)}function m(e){const{state:t}=e.effects,n=(e,t)=>(e.value=t,!0);return t.create({value:void 0},{trigger:n})}function g(e,t){let n=()=>{};const{abortable:r}=e.effects,{subscribeOnce:i}=e.registry.get(a.ComponentName.Utils).State,o=r((e=>n=e)),c=(0,s.createTask)("wait-for-transient",(({value:e},t)=>n(e)));return o.unsubscribe=i(e,t,c),o}t.default={mapSubscribe:c,subscribeOnce:d,waitFor:g,deriveFrom:l,createTransient:m,sequencererere:u}},2255:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingM3uTagError=t.HlsParsingError=void 0;const r=n(7048);class s extends r.FrameworkError{constructor(e){super(e)}}t.HlsParsingError=s;class a extends s{constructor(){super("HLS Manifest parsing failed: missing #EXTM3U tag")}}t.MissingM3uTagError=a},8859:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingFunctions=void 0;const r=n(9062),s=n(2255),a=n(3509),i=n(5340);function o(e){return"playlists"in e}function c(e){return!o(e)}function u(e,{registry:t}){return[new i.TranslatorStream(t.get(r.ComponentName.Logger),t.get(r.ComponentName.Utils)),e]}function l([e,t]){return e.addTagParsers(a.DefaultTagParsers),[e,t]}function d([e,t]){try{const n=e.translate(t);if(!n.hasM3u)throw new s.MissingM3uTagError;if("playlists"in n){const e=n.playlists.map((e=>({name:"stream-inf",value:e.uri,attributes:e.attributes})));n.tags=n.tags.concat(e)}return"playlistType"in n&&"EVENT"===n.playlistType&&(n.discontinuitySequence=n.discontinuitySequence||0),e.dispose(),n}finally{e.dispose()}}t.HlsParsingFunctions={isMultivariantPlaylist:o,isMediaPlaylist:c,createTranslator:u,addDefaultTagParsers:l,parsePlaylist:d}},1756:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingExportNames=t.PlaylistType=t.TagType=t.MetadataType=t.HlsEncryptionMethod=void 0,function(e){e.NONE="NONE",e.AES_128="AES-128",e.SAMPLE_AES="SAMPLE-AES"}(t.HlsEncryptionMethod||(t.HlsEncryptionMethod={})),function(e){e.CUETAG="CUETAG",e.DATERANGE="DATERANGE",e.CUSTOM="CUSTOM",e.SCTE="SCTE",e.ID3="ID3",e.EMSG="EMSG"}(t.MetadataType||(t.MetadataType={})),function(e){e.M3u="m3u",e.AllowCache="allow-cache",e.ByteRange="byterange",e.EndList="endlist",e.Inf="inf",e.Key="key",e.MediaSequence="media-sequence",e.DiscontinuitySequence="discontinuity-sequence",e.PlaylistType="playlist-type",e.StreamInf="stream-inf",e.IframeStreamInf="i-frame-stream-inf",e.Media="media",e.Start="start",e.Discontinuity="discontinuity",e.DateTime="date-time",e.TargetDuration="targetduration",e.Map="map",e.IndependentSegments="independent-segments",e.SessionData="session-data",e.SessionKey="session-key",e.CueOut="cue-out",e.CueOutCont="cue-out-cont",e.CueIn="cue-in",e.Scte35="scte35",e.DateRange="daterange",e.Version="version",e.Uri="uri",e.Unknown="unknown"}(t.TagType||(t.TagType={})),function(e){e.Vod="VOD",e.Event="EVENT"}(t.PlaylistType||(t.PlaylistType={})),function(e){e.ParsingTask="hls-parsing-task",e.ParsingFunctions="hls-parsing-functions",e.Errors="hls-parsing-errors"}(t.HlsParsingExportNames||(t.HlsParsingExportNames={}))},5650:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Stream=void 0;class n{constructor(){this.on=(e,t)=>{this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},this.trigger=(e,t)=>{this.listeners[e]&&this.listeners[e].forEach((e=>e(t)))},this.listeners={}}pipe(e){this.on("data",(t=>e.push(t)))}dispose(){this.listeners={}}}t.Stream=n},6765:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parseAttributes=void 0;const n=new RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))');function r(e){var t,r;const s=e.split(n);let a=s.length;const i={};for(;a--;){if(""===s[a])continue;const e=null!==(r=null===(t=/([^=]*)=(.*)/.exec(s[a]))||void 0===t?void 0:t.slice(1))&&void 0!==r?r:[];e[0]=e[0].replace(/^\s+|\s+$/g,""),e[1]=e[1].replace(/^\s+|\s+$/g,""),e[1]=e[1].replace(/^['"](.*)['"]$/g,"$1"),i[e[0]]=e[1]}return i}t.parseAttributes=r},3509:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultTagParsers=void 0;const r=n(1756),s=n(6765),a="#EXT-X-";function i(e){return RegExp(`^${a}${e}`)}const o={matcher:/^[^#].+$/,process:e=>({tagType:r.TagType.Uri,uri:e[0]})},c={matcher:/^#EXTM3U/,process:()=>({tagType:r.TagType.M3u})},u={matcher:i("INDEPENDENT-SEGMENTS"),process:()=>({tagType:r.TagType.IndependentSegments})},l={matcher:i("MEDIA:(.*)$"),process:e=>({tagType:r.TagType.Media,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},d={matcher:/^#EXTINF:?([0-9.]*)?,?(.*)?$/,process:e=>{var t;return{tagType:r.TagType.Inf,duration:e[1]?parseFloat(e[1]):void 0,title:null!==(t=e[2])&&void 0!==t?t:void 0}}},m={matcher:i("TARGETDURATION:?([0-9.]*)?"),process:e=>({tagType:r.TagType.TargetDuration,duration:e[1]?parseInt(e[1],10):void 0})},g={matcher:i("VERSION:?([0-9.]*)?"),process:e=>({tagType:r.TagType.Version,version:e[1]?parseInt(e[1],10):void 0})},p={matcher:i("START:(.*)$"),process:e=>({tagType:r.TagType.Start,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},f={matcher:i("MEDIA-SEQUENCE:?(\\-?[0-9.]*)?"),process:e=>({tagType:r.TagType.MediaSequence,number:e[1]?parseInt(e[1],10):void 0})},T={matcher:i("DISCONTINUITY-SEQUENCE:?(\\-?[0-9.]*)?"),process:e=>({tagType:r.TagType.DiscontinuitySequence,number:e[1]?parseInt(e[1],10):void 0})},h={matcher:i("PLAYLIST-TYPE:?(.*)?$"),process:e=>({tagType:r.TagType.PlaylistType,playlistType:Object.values(r.PlaylistType).includes(e[1])?e[1]:r.PlaylistType.Vod})},y={matcher:i("BYTERANGE:?([0-9.]*)?@?([0-9.]*)?"),process:e=>({tagType:r.TagType.ByteRange,length:e[1]?parseInt(e[1],10):void 0,offset:e[2]?parseInt(e[2],10):void 0})},b={matcher:i("ALLOW-CACHE:?(YES|NO)?"),process:e=>({tagType:r.TagType.AllowCache,allowed:e[1]?!/NO/.test(e[1]):void 0})},S={matcher:i("SESSION-DATA:?(.*)$"),process:e=>({tagType:r.TagType.SessionData,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},v={matcher:i("SESSION-KEY:?(.*)$"),process:e=>({tagType:r.TagType.SessionKey,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},A={matcher:i("STREAM-INF:?(.*)$"),process:e=>({tagType:r.TagType.StreamInf,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},O={matcher:i("I-FRAME-STREAM-INF:?(.*)$"),process:e=>({tagType:r.TagType.IframeStreamInf,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},k={matcher:i("ENDLIST"),process:()=>({tagType:r.TagType.EndList})},C={matcher:i("DISCONTINUITY"),process:()=>({tagType:r.TagType.Discontinuity})},M={matcher:i("KEY:?(.*)$"),process:e=>({tagType:r.TagType.Key,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},N={matcher:i("MAP:?(.*)$"),process:e=>({tagType:r.TagType.Map,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},E={matcher:i("PROGRAM-DATE-TIME:?(.*)$"),process:e=>({tagType:r.TagType.DateTime,dateTime:e[1]?new Date(e[1]):void 0})},D={matcher:i("CUE-OUT-CONT:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.CueOutCont,data:null!==(t=e[1])&&void 0!==t?t:""}}},I={matcher:i("CUE-OUT:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.CueOut,data:null!==(t=e[1])&&void 0!==t?t:""}}},P={matcher:i("CUE-IN:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.CueIn,data:null!==(t=e[1])&&void 0!==t?t:""}}},U={matcher:i("SCTE35:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.Scte35,data:null!==(t=e[1])&&void 0!==t?t:""}}},j={matcher:i("DATERANGE:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.DateRange,data:null!==(t=e[1])&&void 0!==t?t:""}}};t.DefaultTagParsers=[o,c,u,l,d,m,g,p,f,T,h,y,b,S,v,A,O,k,C,M,N,E,D,I,P,U,j]},7840:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LineStream=void 0;const r=n(5650);class s extends r.Stream{constructor(){super(),this.buffer=""}push(e){this.buffer+=e;let t=this.buffer.indexOf("\n");for(;t>-1;t=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)}}t.LineStream=s},7407:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ParserStream=void 0;const r=n(1756),s=n(5650);class a extends s.Stream{constructor(){super(),this.tagParsers=[]}addTagParser(e){this.tagParsers.push(e)}parseLine(e){for(let t=0;t<this.tagParsers.length;t++){const{matcher:n,process:r}=this.tagParsers[t],s=n.exec(e);if(s)return void this.trigger("data",r(s))}this.trigger("data",{tagType:r.TagType.Unknown,data:e.slice(0,e.length)})}push(e){const t=o(i(e));0!==t.length&&this.parseLine(t)}}function i(e){return e.replace(/^[\0\s]+|[\0\s]+$/g,"")}function o(e){return e.replace("\r","")}t.ParserStream=a},5340:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TranslatorStream=void 0;const r=n(1756),s=n(5650),a=n(6765),i=n(7840),o=n(7407);class c extends s.Stream{constructor(e,t){super(),this.logger=e,this.utils=t,this.translateM3u=e=>{this.manifestObj.hasM3u=!0},this.translateEndList=e=>{this.manifestObj.endList=!0},this.translateDiscontinuity=e=>{var t,n,r;const s=null!==(n=null===(t=this.manifestObj.segments)||void 0===t?void 0:t.length)&&void 0!==n&&n?1:0;this.currentDiscontinuitySequence=this.currentDiscontinuitySequence+s,this.currentUri.discontinuity=!0,null===(r=this.manifestObj.discontinuityStarts)||void 0===r||r.push(this.uris.length)},this.translateIndependentSegments=e=>{var t;this.manifestObj.independentSegments=!0,null===(t=this.manifestObj.tags)||void 0===t||t.push({name:"independent-segments"})},this.onData=e=>{this.translateTag(e)},this.uris=[],this.currentUri={},this.keys=[],this.keysInUse=!1,this.cueTag=void 0,this.scte35=[],this.customTags=[],this.dateRange=[],this.lineStream=new i.LineStream,this.parseStream=new o.ParserStream,this.lineStream.pipe(this.parseStream),this.currentDiscontinuitySequence=0,this.manifestObj={allowCache:!0,discontinuityStarts:[],discontinuitySequence:0,endList:!1,media:[],segments:[],totalDuration:0,tags:[],version:1,hasM3u:!1},this.parseStream.on("data",this.onData)}addTagParsers(e){e.forEach((e=>this.parseStream.addTagParser(e)))}get manifest(){return this.manifestObj}getCustomTag(e){try{e=this.utils.String.forceReallocation(e);const t=/^#([^:=]*)(:|=)?(.*)$/.exec(e);if(null==t?void 0:t[1]){const e={name:t[1]};let n="";if("="===t[2]&&t[3])n=t[3];else if(":"===t[2]&&t[3]){const r=/^([^:="]*)(:|=)?(.*)$/.exec(t[3]);"="===(null==r?void 0:r[2])&&(null==r?void 0:r[3])?e.attributes=(0,a.parseAttributes)(t[3]):n=t[3]}return n&&(e.value=n.replace(/^['"](.*)['"]$/g,"$1")),e}return}catch(t){return void this.logger.error(`Error occurred while parsing custom HLS tag: ${e}`)}}translateAllowCache(e){var t;this.manifestObj.allowCache=null===(t=e.allowed)||void 0===t||t}translateByteRange(e){void 0!==e.length&&(this.currentUri.byterange={length:e.length,offset:e.offset})}translateInf(e){"mediaSequence"in this.manifest||(this.manifestObj.mediaSequence=0,this.logger.debug("defaulting media sequence to zero")),void 0!==e.duration&&e.duration>=0&&(this.currentUri.duration=e.duration),this.manifestObj.segments=this.uris}translateKey(e){if(!e.attributes)return this.logger.warn("ignoring key declaration without attribute list");if("NONE"===e.attributes.METHOD)return void(this.keys=[]);if(!e.attributes.URI)return this.logger.warn("ignoring key declaration without URI");if(!e.attributes.METHOD)return this.logger.warn("defaulting key method to AES-128");this.keysInUse&&(this.keys=[],this.keysInUse=!1);const t={method:this.utils.String.forceReallocation(e.attributes.METHOD)||r.HlsEncryptionMethod.AES_128,uri:this.utils.String.forceReallocation(e.attributes.URI)};if(void 0!==e.attributes.IV){const n=e.attributes.IV.toLowerCase(),r="0x"===n.substring(0,2)?n.substring(2):n;t.iv=new Uint8Array(this.utils.String.hexStringToUint8Array(r)).buffer}e.attributes.KEYFORMAT&&(t.keyformat=this.utils.String.forceReallocation(e.attributes.KEYFORMAT)),e.attributes.KEYFORMATVERSIONS&&(t.keyformatversions=this.utils.String.forceReallocation(e.attributes.KEYFORMATVERSIONS)),e.attributes.KEYID&&(t.keyid=this.utils.String.forceReallocation(e.attributes.KEYID)),this.keys.push(t)}translateMediaSequence(e){var t;if(!isFinite(null!==(t=e.number)&&void 0!==t?t:1/0))return this.logger.warn("ignoring invalid media sequence: "+e.number);this.manifestObj.mediaSequence=e.number}translateDiscontinuitySequence(e){var t,n;if(!isFinite(null!==(t=e.number)&&void 0!==t?t:1/0))return this.logger.warn("ignoring invalid discontinuity sequence: "+e.number);this.manifestObj.discontinuitySequence=e.number,this.currentDiscontinuitySequence=null!==(n=e.number)&&void 0!==n?n:0}translatePlaylistType(e){var t;if(!/VOD|EVENT/.test(null!==(t=e.playlistType)&&void 0!==t?t:""))return this.logger.warn("ignoring unknown playlist type: "+e.playlistType);this.manifestObj.playlistType=e.playlistType}translateStreamInf(e){if(this.manifestObj.playlists=this.uris,!e.attributes)return this.logger.warn("ignoring empty stream-inf attributes");const t=Object.assign(Object.assign({},e.attributes),this.currentUri.attributes);if(e.attributes.RESOLUTION){const n=u(e.attributes.RESOLUTION);n&&void 0!==n.height&&void 0!==n.width&&(t.RESOLUTION=n)}e.attributes.BANDWIDTH&&(t.BANDWIDTH=parseInt(e.attributes.BANDWIDTH,10)),e.attributes["AVERAGE-BANDWIDTH"]&&(t["AVERAGE-BANDWIDTH"]=parseInt(e.attributes["AVERAGE-BANDWIDTH"],10)),e.attributes["PROGRAM-ID"]&&(t["PROGRAM-ID"]=parseInt(e.attributes["PROGRAM-ID"],10)),this.currentUri.attributes||(this.currentUri.attributes={}),this.currentUri.attributes=t}translateIframeStreamInf(e){var t;const n={name:"i-frame-stream-inf"};e.attributes&&(n.attributes=Object.assign(Object.assign({},e.attributes),{BANDWIDTH:e.attributes.BANDWIDTH?parseInt(e.attributes.BANDWIDTH,10):void 0,RESOLUTION:e.attributes.RESOLUTION?u(e.attributes.RESOLUTION):void 0,"AVERAGE-BANDWIDTH":e.attributes["AVERAGE-BANDWIDTH"]?parseInt(e.attributes["AVERAGE-BANDWIDTH"],10):void 0})),null===(t=this.manifestObj.tags)||void 0===t||t.push(n)}translateMedia(e){var t,n;null===(t=this.manifestObj.media)||void 0===t||t.push({attributes:e.attributes});const r={name:"media"};e.attributes&&(r.attributes=e.attributes),null===(n=this.manifestObj.tags)||void 0===n||n.push(r)}translateStart(e){var t,n,r;const s={};void 0!==(null===(t=e.attributes)||void 0===t?void 0:t["TIME-OFFSET"])&&(s.timeOffset=null!==(n=Number(e.attributes["TIME-OFFSET"]))&&void 0!==n?n:0,s.precise="YES"===e.attributes.PRECISE,this.manifestObj.start=s);const a={name:"start"};void 0!==s.timeOffset&&(a.attributes={"TIME-OFFSET":s.timeOffset,PRECISE:s.precise}),null===(r=this.manifestObj.tags)||void 0===r||r.push(a)}translateDateTime(e){this.manifestObj.dateTime=e.dateTime}translateTargetDuration(e){var t;if(!isFinite(null!==(t=e.duration)&&void 0!==t?t:1/0)||void 0!==e.duration&&e.duration<0)return this.logger.warn("ignoring invalid target duration: "+e.duration);this.manifestObj.targetDuration=e.duration}translateMap(e){if(e.attributes&&e.attributes.URI&&(this.init={url:this.utils.String.forceReallocation(e.attributes.URI)},e.attributes.BYTERANGE)){const t=e.attributes.BYTERANGE.split("@").map((e=>parseInt(e))),n=t[0],r=isNaN(t[1])?0:t[1];this.init.byteRange={start:r,end:r+n-1}}}translateSessionData(e){var t;const n={name:"session-data"};e.attributes&&(n.attributes=e.attributes),null===(t=this.manifestObj.tags)||void 0===t||t.push(n)}translateSessionKey(e){var t;let n=e.attributes.IV?e.attributes.IV.toLowerCase():void 0;n=n&&"0x"===n.substring(0,2)?n.substring(2):n;const r=n?new Uint8Array(this.utils.String.hexStringToUint8Array(n)).buffer:void 0,s={name:"session-key"};e.attributes&&(s.attributes=e.attributes,s.attributes.IV=r),null===(t=this.manifestObj.tags)||void 0===t||t.push(s)}translateCueOut(e){this.cueTag=d(e,this.utils)}translateCueOutCont(e){this.cueTag=d(e,this.utils)}translateCueIn(e){this.cueTag=d(e,this.utils)}translateScte35(e){var t;this.scte35.push({type:r.MetadataType.SCTE,attributes:(0,a.parseAttributes)(null!==(t=e.data)&&void 0!==t?t:"")})}translateDateRange(e){this.dateRange.push(l(e,this.utils))}translateVersion(e){this.manifestObj.version=void 0!==e.version?e.version:1}translateUnknown(e){var t;this.customTags.push({type:r.MetadataType.CUSTOM,attributes:e.data});const n=e.data?this.getCustomTag(e.data):void 0;n&&(null===(t=this.manifestObj.tags)||void 0===t||t.push(n))}translateTag(e){switch(e.tagType){case r.TagType.M3u:return this.translateM3u(e);case r.TagType.AllowCache:return this.translateAllowCache(e);case r.TagType.ByteRange:return this.translateByteRange(e);case r.TagType.EndList:return this.translateEndList(e);case r.TagType.Inf:return this.translateInf(e);case r.TagType.Key:return this.translateKey(e);case r.TagType.MediaSequence:return this.translateMediaSequence(e);case r.TagType.DiscontinuitySequence:return this.translateDiscontinuitySequence(e);case r.TagType.PlaylistType:return this.translatePlaylistType(e);case r.TagType.StreamInf:return this.translateStreamInf(e);case r.TagType.IframeStreamInf:return this.translateIframeStreamInf(e);case r.TagType.Media:return this.translateMedia(e);case r.TagType.Start:return this.translateStart(e);case r.TagType.Discontinuity:return this.translateDiscontinuity(e);case r.TagType.DateTime:return this.translateDateTime(e);case r.TagType.TargetDuration:return this.translateTargetDuration(e);case r.TagType.Map:return this.translateMap(e);case r.TagType.IndependentSegments:return this.translateIndependentSegments(e);case r.TagType.SessionData:return this.translateSessionData(e);case r.TagType.SessionKey:return this.translateSessionKey(e);case r.TagType.CueOut:return this.translateCueOut(e);case r.TagType.CueOutCont:return this.translateCueOutCont(e);case r.TagType.CueIn:return this.translateCueIn(e);case r.TagType.Scte35:return this.translateScte35(e);case r.TagType.DateRange:return this.translateDateRange(e);case r.TagType.Version:return this.translateVersion(e);case r.TagType.Uri:return this.translateUri(e);case r.TagType.Unknown:default:return this.translateUnknown(e)}}translateUri(e){var t;this.currentUri.uri=e.uri?this.utils.String.forceReallocation(e.uri):"",this.manifestObj.targetDuration&&!("duration"in this.currentUri)&&(this.logger.warn("defaulting segment duration to the target duration"),this.currentUri.duration=this.manifestObj.targetDuration),this.keys.length>0&&(this.currentUri.keys=this.keys,this.keysInUse=!0),this.init&&(this.currentUri.init=this.init),this.cueTag&&(this.currentUri.cueTag=this.cueTag,this.cueTag=void 0),this.scte35.length>0&&(this.currentUri.scte35=this.scte35,this.scte35=[]),this.dateRange.length>0&&(this.currentUri.dateRange=this.dateRange,this.dateRange=[]),this.customTags.length>0&&(this.currentUri.customTags=this.customTags,this.customTags=[]),this.manifestObj.dateTime&&(this.currentUri.dateTime=this.manifestObj.dateTime,delete this.manifestObj.dateTime),this.uris.push(this.currentUri),this.currentUri.duration&&(this.currentUri.discontinuitySequenceNumber=this.currentDiscontinuitySequence,this.manifestObj.totalDuration=(null!==(t=this.manifestObj.totalDuration)&&void 0!==t?t:0)+this.currentUri.duration),this.currentUri={}}push(e){this.lineStream.push(e)}translate(e){return this.push(e),this.push("\n"),this.manifest}dispose(){super.dispose(),this.parseStream.dispose(),this.lineStream.dispose()}}function u(e){const t=e.split("x");return{width:t[0]?parseInt(t[0],10):void 0,height:t[0]?parseInt(t[1],10):void 0}}function l(e,t){const n={type:r.MetadataType.DATERANGE};if(e.data){const r=(0,a.parseAttributes)(e.data);n.clientAttributes={};for(const e in r)void 0!==r[e]&&(0===e.indexOf("X-")?n.clientAttributes[t.String.kebabCaseToCamelCase(e.substr(2))]=r[e]:n[t.String.kebabCaseToCamelCase(e)]=r[e])}return n.duration&&(n.duration=Number(n.duration)),n.plannedDuration&&(n.plannedDuration=Number(n.plannedDuration)),n.endOnNext&&(n.endOnNext=!0),n}function d(e,t){return{type:e.tagType.toUpperCase(),attributes:e.data?t.String.forceReallocation(e.data).split(",").map((e=>e.trim())):[]}}t.TranslatorStream=c},8622:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTranslationPackage=void 0;const r=n(3898),s=n(9062),a=n(167),i=n(8048),o=n(5756);t.HlsTranslationPackage=(0,r.createPackage)("hls-translation-package",((e,t)=>{t.registry.maybeSet(o.HlsTranslationExportNames.HlsVariantTranslator,i.HlsVariantTranslationTask),t.registry.maybeSet(o.HlsTranslationExportNames.HlsMultivariantTranslator,a.HlsMultivariantPlaylistTranslatorTask)}),[s.ComponentName.Utils,s.ComponentName.CoreEffects,s.ComponentName.CoreStateAtoms]),t.default=t.HlsTranslationPackage},5756:(e,t)=>{function n(e){return void 0!==e.attributes.URI}function r(e){return e.attributes.AUDIO}function s(e){return e.attributes.VIDEO}Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTranslationExportNames=t.getReferencedVideoGroupId=t.getReferencedAudioGroupId=t.isMediaTagWithUri=void 0,t.isMediaTagWithUri=n,t.getReferencedAudioGroupId=r,t.getReferencedVideoGroupId=s,function(e){e.HlsMultivariantTranslator="hls-multivariant-translator",e.HlsVariantTranslator="hls-variant-translator"}(t.HlsTranslationExportNames||(t.HlsTranslationExportNames={}))},167:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsMultivariantPlaylistTranslatorTask=void 0;const r=n(8465),s=n(9062),a=n(605),i=n(8262),o=n(3012),c=n(7977),u=n(5756);function l(e,t,n,r,a,i){var o;const c=e.registry.get(s.ComponentName.Constants).MediaType,u=t.codecs;if(u.get(i)){const e=n.media.filter((e=>e.attributes["GROUP-ID"]===r&&void 0===e.attributes.CODECS));e.forEach((e=>{var t;return e.attributes.CODECS=null===(t=u.get(i))||void 0===t?void 0:t.join(",")})),e.length>0&&a.push(r)}if(a.includes(r)){const n=null!==(o=u.get(i))&&void 0!==o?o:[];e.effects.state.dispatch(t.setCodecs,c.Audio,n)}}t.HlsMultivariantPlaylistTranslatorTask=(0,r.createTask)(u.HlsTranslationExportNames.HlsMultivariantTranslator,(function([e,t,n],r){var d;const{state:m}=r.effects,g=r.registry.get(s.ComponentName.Constants).MediaType,p=r.registry.get(s.ComponentName.CoreStateAtoms).Tracks.isMediaTrack,f=(0,a.createArrayAtom)(r,[]),T=[],h=[],y=new Map,b=new Map;e.playlists.forEach((n=>{var s,a;const i=(0,c.variantToTrack)(r,n,t,f.length+1),o=(0,u.getReferencedAudioGroupId)(n),d=(0,u.getReferencedVideoGroupId)(n);if(p(i)){if(void 0!==o){const t=null!==(s=y.get(o))&&void 0!==s?s:[];t.push(i),y.set(o,t),l(r,i,e,o,T,g.Audio)}if(void 0!==d){const t=null!==(a=y.get(d))&&void 0!==a?a:[];t.push(i),y.set(d,t),l(r,i,e,d,h,g.Video)}}r.effects.state.dispatch(f.add,i)})),e.media.forEach((e=>{var n;const s=(0,i.mediaToTrack)(r,e,t,f.length+1),a=e.attributes["GROUP-ID"];if(void 0!==a){const e=null!==(n=b.get(a))&&void 0!==n?n:[];e.push(s),b.set(a,e)}r.effects.state.dispatch(f.add,s)}));for(const[e,t]of b){const n=t.filter(p);if(0===n.length)continue;const r=n.flatMap((e=>Array.from(e.codecs.keys()))),s=null!==(d=y.get(e))&&void 0!==d?d:[];for(const e of s)if(p(e))for(const t of r)m.dispatch(e.codecs.remove,t)}const S=(0,o.tracksToSelectionGroups)(r,f);r.effects.state.dispatch(n.tracks.set,f.slice()),r.effects.state.dispatch(n.selectionGroups.set,S.slice())}))},8048:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsVariantTranslationTask=void 0;const r=n(8465),s=n(2161),a=n(8859),i=n(5164),o=n(1784),c=n(5756);t.HlsVariantTranslationTask=(0,r.createTask)(c.HlsTranslationExportNames.HlsVariantTranslator,(function([e,t,n,r,c],u){if(!a.HlsParsingFunctions.isMediaPlaylist(e))throw new Error("Provided playlist is not a variant playlist");const l=e.endList?s.StreamType.VoD:s.StreamType.Live;u.effects.state.dispatch(r.setType,l),l===s.StreamType.VoD?(0,o.extractVodSegments)(u,e.segments,t,n,r):(0,i.extractLiveSegments)(u,e.segments,t,n,r,c)}))},5164:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extractLiveSegments=void 0;const r=n(9062),s=n(6003),a=n(7813),i=n(2565);function o(e,t,n,s,o){const c=e.registry.get(r.ComponentName.Utils);n.uri=(0,a.buildAbsoluteSegmentUrl)(s,o,n.uri,c);const u=[];for(const e of t.segments){if((0,i.isMatchingSegment)(e,n))break;u.push(e)}return u}function c(e,t,n){const r=e.effects.state,s=[t],a=n.selectionGroups.find((e=>e.tracks.includes(t)));if(a){const e=e=>0===e.segments.length,t=a.tracks.filter(e);s.push(...t),r.dispatch(a.tracks.remove,...s)}r.dispatch(n.tracks.remove,...s)}function u(e,t,n){const r=e.effects.state;for(const e of n)r.dispatch(t.segments.remove,e)}function l(e,t,n,r,s,a){for(const i of n){if(i.sequenceNumber===1/0)continue;const n=o(e,i,t,s,a);if(n.length!==i.segments.length){u(e,i,n);break}u(e,i,i.segments),c(e,i,r)}}function d(e,t){const{state:n}=e.effects,r=[];for(const e of t.selectionGroups)0===e.tracks.length&&r.push(e);n.dispatch(t.selectionGroups.remove,...r)}function m(e,t,n){const{createArrayAtom:s}=e.registry.get(r.ComponentName.CoreStateAtoms),a=e.effects.state,o=new Map,c=s(e,n.selectionGroups.slice());for(const n of t){const t=(0,i.findOrCreateSelectionGroup)(e,n,c);a.dispatch(n.setSelectionGroup,t),o.set(t,n),c.includes(t)||a.dispatch(c.insertSorted,(e=>e.sequenceNumber),t)}for(const[e,t]of o)a.dispatch(e.tracks.addIfNew,t);a.dispatch(n.selectionGroups.set,c.slice()),a.dispatch(n.tracks.insertSorted,(e=>e.sequenceNumber),...t)}function g(e,t,n,r,a,o){if(!t.length)return;const c=(0,i.findTracksOfVariant)(e,a,n),u=(0,s.processSegmentEntries)(e,t,r,n,a,c,o);l(e,t[0],c,a,r,n),m(e,u,a),d(e,a)}t.extractLiveSegments=g},6003:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.processSegmentEntries=void 0;const r=n(9062),s=n(7813),a=n(2565);function i(e,t,n,r,a,i,o){const c=(0,s.maybeCreateInitSegment)(e,t,n,r,a,o),u=(0,s.createSegment)(e,t,-1,o,c);i[0][1].unshift(u)}function o(e,t,n){const r=t.segmentTiming,{state:s}=e.effects;let a=r.parsedPlaybackTime+r.parsedDuration;for(const[e,t]of n){const n=[];for(const e of t)s.dispatch(e.segmentTiming.manifestParsed,e.segmentTiming.parsedDuration,a),s.dispatch(e.segmentTiming.timestampOffsetChanged,r.timestampOffset),n.push(e),a+=e.segmentTiming.parsedDuration;s.dispatch(e.segments.add,...n)}}function c(e,t){const{state:n}=e.effects;let r=Date.now()/1e3;for(let e=t.length-1;e>=0;e--){const[s,a]=t[e];for(let e=a.length-1;e>=0;e--){const t=a[e];r-=t.segmentTiming.parsedDuration,n.dispatch(t.segmentTiming.manifestParsed,t.segmentTiming.parsedDuration,r)}n.dispatch(s.segments.set,a)}}function u(e,t,n,u,l,d,m){const g=[],p=[],f=e.registry.get(r.ComponentName.Utils),{isDataOrSelfInitSegment:T}=e.registry.get(r.ComponentName.CoreStateAtoms).Segments;let h,y=-1;for(let r=t.length-1;r>=0;r--){const c=t[r],b=y!==c.discontinuitySequenceNumber;c.uri=(0,s.buildAbsoluteSegmentUrl)(n,u,c.uri,f),y=c.discontinuitySequenceNumber,h=b?d.find((e=>e.sequenceNumber===c.discontinuitySequenceNumber)):h,h||(h=(0,a.createTrack)(e,u,l,c.discontinuitySequenceNumber,d[0]),g.push(h)),b&&p.unshift([h,[]]);const S=h.segments[h.segments.length-1];if(S&&T(S)&&(0,a.isMatchingSegment)(S,c))return o(e,S,p),g;i(e,c,m,n,u,p,h)}return c(e,p),g}t.processSegmentEntries=u},7813:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.buildAbsoluteSegmentUrl=t.createSegment=t.maybeCreateInitSegment=void 0;const r=n(9062),s=n(7041),a=n(151);function i(e,t,n,a,i){const o=e.registry.get(r.ComponentName.Utils),c=t.byteRange?{start:-1,end:-1}:void 0,{createDataStreamAtom:l}=e.registry.get(r.ComponentName.CoreStateAtoms).DataStream,d=l(e);return(0,s.createInitSegmentAtom)(e,{type:s.SegmentType.Initialization,url:u(n,a,t.url,o),byteRange:c,data:d,metadata:{},track:i,selectionGroup:i.selectionGroup})}function o(e,t,n,r,s,a){if(!t.init)return;const o=n.get(t.init.url);if(o)return o;const c=i(e,t.init,r,s,a);return n.set(t.init.url,c),c}function c(e,t,n,i,o){const{createDataStreamAtom:c}=e.registry.get(r.ComponentName.CoreStateAtoms).DataStream,u=t.byterange?{start:-1,end:-1}:void 0,l=c(e),d={url:t.uri,byteRange:u,data:l,metadata:{},segmentTiming:(0,a.createSegmentTiming)(e,{parsedDuration:t.duration,parsedPlaybackTime:n,encodedDuration:-1,encodedPlaybackTime:-1,timestampOffset:-1/0})};return o?(0,s.createDataSegmentAtom)(e,Object.assign(Object.assign({},d),{initSegment:o,track:i})):(0,s.createSelfInitSegmentAtom)(e,Object.assign(Object.assign({},d),{track:i}))}function u(e,t,n,r){const{Url:{removeLastPathPart:s,getDomainUrl:a,buildAbsoluteUrl:i,getBaseUrl:o}}=r,c=o(s(e),t);return i(c,a(c),n)}t.maybeCreateInitSegment=o,t.createSegment=c,t.buildAbsoluteSegmentUrl=u},2565:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMatchingSegment=t.hasSegment=t.findOrCreateTrack=t.findTracksOfVariant=t.createTrack=t.findOrCreateSelectionGroup=t.createSelectionGroup=void 0;const r=n(9062),s=n(4528),a=n(3219);function i(e,t){const{Tracks:{isVideoTrack:n,isAudioTrack:s},SelectionGroups:{createAudioSelectionGroupAtom:a,createVideoSelectionGroupAtom:i,createUnknownSelectionGroupAtom:o},CodecMap:{copyCodecs:c},createArrayAtom:u}=e.registry.get(r.ComponentName.CoreStateAtoms),l=t.sequenceNumber;return n(t)?i(e,{codecs:c(e,t.codecs),tracks:u(e,[]),sequenceNumber:l}):s(t)?a(e,{codecs:c(e,t.codecs),language:t.language,tracks:u(e,[]),sequenceNumber:l}):o(e,{tracks:u(e,[]),sequenceNumber:l})}function o(e,t,n){const i=e.registry.get(r.ComponentName.CoreStateAtoms),{isAudioSelectionGroup:o,isVideoSelectionGroup:c}=i.SelectionGroups,{isVideoTrack:u,isAudioTrack:l}=i.Tracks,{findIndex:d,findIndexWithPivot:m}=e.registry.get(r.ComponentName.Utils).Arrays.Sorted,g=e=>e.sequenceNumber,p=e=>l(t)&&o(e)?t.language===e.language:!(!u(t)||!c(e))||!(0,a.isMediaTrack)(t)&&!(0,s.isMediaSelectionGroup)(e),f=d(n,t.sequenceNumber,g);if(f>-1&&p(n[f]))return n[f];const T=m(n,f,t.sequenceNumber,g,p);return T>-1?n[T]:void 0}function c(e,t,n){var r;return null!==(r=o(e,t,n))&&void 0!==r?r:i(e,t)}function u(e,t,n,s,i=l(e,n,t)[0]){const{Tracks:{createUnknownTrackAtom:o,createAudioTrackAtom:c,createVideoTrackAtom:u,isAudioTrack:d},CodecMap:{copyCodecs:m},createArrayAtom:g}=e.registry.get(r.ComponentName.CoreStateAtoms);return i&&(0,a.isMediaTrack)(i)?d(i)?c(e,{id:i.id,uri:t,sequenceNumber:s,codecs:m(e,i.codecs),language:i.language,segments:g(e,[]),bitrate:i.bitrate}):u(e,{id:i.id,uri:t,resolution:i.resolution,sequenceNumber:s,codecs:m(e,i.codecs),segments:g(e,[]),bitrate:i.bitrate}):o(e,{id:"-1",sequenceNumber:s})}function l(e,t,n){const{Tracks:{isMediaTrack:s}}=e.registry.get(r.ComponentName.CoreStateAtoms);return t.tracks.filter((e=>s(e)&&e.uri===n))}function d(e,t,n,r,s=l(e,r,t)[0]){var a;return null!==(a=m(e,t,n,r))&&void 0!==a?a:u(e,t,r,n.discontinuitySequenceNumber,s)}function m(e,t,n,s){const{Tracks:{isMediaTrack:a}}=e.registry.get(r.ComponentName.CoreStateAtoms);return s.tracks.find((e=>e.sequenceNumber===n.discontinuitySequenceNumber&&a(e)&&e.uri===t))}function g(e,t){return e.segments.some((e=>e.url===t.uri))}function p(e,t){var n;if(void 0===e.byteRange||void 0===t.byterange)return!0;const r=null!==(n=t.byterange.offset)&&void 0!==n?n:0,s=e.byteRange.start===r,a=e.byteRange.end===r+t.byterange.length;return s&&a}function f(e,t){return e===t}function T(e,t){return f(e.url,t.uri)&&p(e,t)}t.createSelectionGroup=i,t.findOrCreateSelectionGroup=c,t.createTrack=u,t.findTracksOfVariant=l,t.findOrCreateTrack=d,t.hasSegment=g,t.isMatchingSegment=T},1784:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignSelectionGroups=t.removeInfinityTrack=t.extractVodSegments=void 0;const r=n(9062),s=n(4528),a=n(3219),i=n(7813),o=n(2565);function c(e,t,n,s,a){const c=e.registry.get(r.ComponentName.Utils),d=new Map;let m=0,g=-1;const p=[],f=[],T=[];let h;for(let r=0;r<t.length;r++){const u=t[r];if(g!==u.discontinuitySequenceNumber||!h){g=u.discontinuitySequenceNumber;const t=(0,o.findOrCreateTrack)(e,n,u,a);h=t,a.tracks.includes(t)||p.push(t)}const l=h;if(u.uri=(0,i.buildAbsoluteSegmentUrl)(s,n,u.uri,c),!(0,o.hasSegment)(l,u)){const t=(0,i.maybeCreateInitSegment)(e,u,d,s,n,l),r=(0,i.createSegment)(e,u,m,l,t);m+=u.duration,e.effects.state.dispatch(l.segments.addIfNew,r)}}l(e,p,f,T,a);const y=e=>e.sequenceNumber;e.effects.state.dispatch(a.tracks.insertSorted,y,...p),e.effects.state.dispatch(a.selectionGroups.insertSorted,y,...T),e.effects.state.dispatch(a.duration.setValue,m),u(e,a,n)}function u(e,t,n){const{isMediaTrack:s}=e.registry.get(r.ComponentName.CoreStateAtoms).Tracks,a=t.tracks.filter((e=>s(e)&&e.uri===n&&e.sequenceNumber===1/0)),{state:i}=e.effects;for(const e of a)i.dispatch(e.selectionGroup.tracks.remove,e),i.dispatch(t.tracks.remove,e),0===e.selectionGroup.tracks.length&&i.dispatch(t.selectionGroups.remove,e.selectionGroup)}function l(e,t,n,r,i){for(const c of t){const t=(0,o.findOrCreateSelectionGroup)(e,c,i.selectionGroups);if(e.effects.state.dispatch(t.tracks.addIfNew,c),e.effects.state.dispatch(c.setSelectionGroup,t),(0,s.isMediaSelectionGroup)(t)&&(0,a.isMediaTrack)(c))for(const[n,r]of c.codecs)e.effects.state.dispatch(t.setCodecs,n,r);n.includes(t)||n.push(t),i.selectionGroups.includes(t)||r.push(t)}}t.extractVodSegments=c,t.removeInfinityTrack=u,t.assignSelectionGroups=l},8262:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.mediaToTrack=void 0;const r=n(9062),s=n(605),a=n(7831),i=n(5756);function o(e,t,n,s){const a=e.registry.get(r.ComponentName.Utils);return"AUDIO"===t.attributes.TYPE&&(0,i.isMediaTagWithUri)(t)?c(e,t,n,s,a):u(e,s)}function c(e,t,n,r,i){var o;const{Url:{removeLastPathPart:c,concatUrlParts:u},Codecs:{extractCodecMap:l}}=i,d=c(n);return(0,a.createAudioTrackAtom)(e,{id:String(r),sequenceNumber:1/0,uri:u(d,t.attributes.URI),segments:(0,s.createArrayAtom)(e,[]),codecs:l(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),language:t.attributes.LANGUAGE||"unknown",bitrate:-1})}function u(e,t){return(0,a.createUnknownTrackAtom)(e,{id:String(t),sequenceNumber:1/0,segments:(0,s.createArrayAtom)(e,[])})}t.mediaToTrack=o},3012:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.tracksToSelectionGroups=void 0;const r=n(9062),s=n(605),a=n(5783);function i(e,t){const n=(0,s.createArrayAtom)(e,[]);for(const r of t)o(e,r,n);return n}function o(e,t,n){const{state:i}=e.effects,{Tracks:{isMediaTrack:o}}=e.registry.get(r.ComponentName.CoreStateAtoms);if(!o(t)){const r=(0,s.createArrayAtom)(e,[t]),o=(0,a.createUnknownSelectionGroupAtom)(e,{tracks:r,sequenceNumber:1/0});return i.dispatch(n.add,o),void i.dispatch(t.setSelectionGroup,o)}l(e,t,n)}function c(e,t,n){const{state:r}=e.effects;r.dispatch(n.tracks.add,t),g(e,n.codecs,t.codecs),r.dispatch(t.setSelectionGroup,n)}function u(e,t,n){const{state:r}=e.effects,s=d(e,t);r.dispatch(n.add,s),r.dispatch(t.setSelectionGroup,s)}function l(e,t,n){const r=m(e,t,n);r?c(e,t,r):u(e,t,n)}function d(e,t){const{Tracks:{isVideoTrack:n},CodecMap:{copyCodecs:i}}=e.registry.get(r.ComponentName.CoreStateAtoms),o=(0,s.createArrayAtom)(e,[t]);return n(t)?(0,a.createVideoSelectionGroupAtom)(e,{codecs:i(e,t.codecs),tracks:o,sequenceNumber:1/0}):(0,a.createAudioSelectionGroupAtom)(e,{codecs:i(e,t.codecs),tracks:o,language:t.language,sequenceNumber:1/0})}function m(e,t,n){const{Tracks:{isVideoTrack:s,isAudioTrack:a},SelectionGroups:{isVideoSelectionGroup:i,isAudioSelectionGroup:o}}=e.registry.get(r.ComponentName.CoreStateAtoms),c=[[s,i],[a,o]];for(const[e,r]of c)if(e(t))for(const t of n)if(r(t)&&t.tracks.every(e))return t}function g(e,t,n){const{addCodecs:s}=e.registry.get(r.ComponentName.CoreStateAtoms).CodecMap;for(const[r,a]of n)s(e,t,r,a)}t.tracksToSelectionGroups=i},7977:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.variantToTrack=void 0;const r=n(9062),s=n(605),a=n(7831);function i(e,t,n,r){return t.attributes.AUDIO||t.attributes.RESOLUTION?o(e,t,n,r):c(e,t,r)}function o(e,t,n,i){var o,c;const{extractCodecMap:u}=e.registry.get(r.ComponentName.Utils).Codecs,{Url:{removeLastPathPart:l,concatUrlParts:d}}=e.registry.get(r.ComponentName.Utils),m=l(n);return(0,a.createVideoTrackAtom)(e,{id:String(i),sequenceNumber:1/0,uri:d(m,t.uri),segments:(0,s.createArrayAtom)(e,[]),codecs:u(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),bitrate:t.attributes.BANDWIDTH,resolution:null!==(c=t.attributes.RESOLUTION)&&void 0!==c?c:{width:-1,height:-1}})}function c(e,t,n){return(0,a.createUnknownTrackAtom)(e,{id:String(n),sequenceNumber:1/0,segments:(0,s.createArrayAtom)(e,[])})}t.variantToTrack=i}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,n),a.exports}return n(8622)})()));
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["hls-translation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["hls-translation"]=t())}(self,(()=>(()=>{"use strict";var e={3898:(e,t)=>{function n(e,t,n){const r=t;return r._name=e,{onAdd:r,dependencies:n}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=n},8465:(e,t)=>{function n(e,t){const n=t;return n._name=e,n}function r(e){return(...t)=>{const[r,s]=e(...t);return n(r,s)}}Object.defineProperty(t,"__esModule",{value:!0}),t.createTaskClosure=t.createTask=void 0,t.createTask=n,t.createTaskClosure=r},9062:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentName=void 0,function(e){e.Logger="logger",e.Constants="constants",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.SourceState="source-state",e.StreamTimeline="stream-timeline",e.Utils="utils",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms",e.NetworkAtom="network-atom",e.SourceThread="source-thread",e.VideoElementUtils="video-element-utils",e.Metrics="metrics",e.AdaptationTask="adaptation-task",e.PlayerConfig="player-config"}(t.ComponentName||(t.ComponentName={}))},5185:(e,t)=>{var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MediaTypeValues=t.Codec=t.MediaType=void 0,function(e){e.Audio="audio",e.Video="video",e.Muxed="muxed",e.Subtitle="subtitle",e.Thumbnail="thumbnail",e.Unknown="unknown"}(n=t.MediaType||(t.MediaType={})),function(e){e.Mp4a="mp4a",e.AVC="avc1",e.HEVC="hvc1",e.ADTS="adts",e.Unknown="unknown"}(t.Codec||(t.Codec={})),t.MediaTypeValues=Object.values(n)},7048:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkError=void 0;class n extends Error{constructor(e){super(e),this.name="FrameworkError"}}t.FrameworkError=n},605:(e,t)=>{function n(e,t){return e.length===t.length&&e.every(((e,n)=>e===t[n]))}function r(e,...t){return 0!==t.length&&(e.push(...t),!0)}function s(e,...t){const n=e.length;for(const n of t)e.includes(n)||e.push(n);return n===e.length}function a(e,t,...n){return 0!==n.length&&(e.splice(t,0,...n),!0)}function i(e,t,n){let r=0,s=e.length;for(;r<s;){const a=r+s>>>1;n(e[a])<n(t)?r=a+1:s=a}return r}function o(e,t,...n){const r=e.length;if(0===n.length)return!1;if(0===e.length)return e.push(...n.sort(((e,n)=>t(e)-t(n)))),!0;for(const r of n){const n=t(r),s=t(e[0]);if(t(e[e.length-1])<=n)e.push(r);else if(n<=s)e.unshift(r);else{const n=i(e,r,t);e.splice(n,0,r)}}return e.length!==r}function c(e,...t){let n=!1;for(const r of t){const t=e.indexOf(r);t<0||(n=!0,e.splice(t,1))}return n}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function l(e,t){if(n(e,t))return!1;const r=u(e);return t.forEach((t=>e.push(t))),r||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const d=(e,t=[])=>{const n={add:r,insert:a,insertSorted:o,remove:c,clear:u,set:l,addIfNew:s};return e.effects.state.create(t,n)};t.createArrayAtom=d},99:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createMapStateAtom=void 0;const n=(e,t,n)=>(e.set(t,n),!0),r=(e,t)=>!!e.has(t)&&(e.delete(t),!0),s=e=>!!Array.from(e.keys()).length&&(e.clear(),!0),a=e=>{const t=new Map,a={add:n,remove:r,reset:s};return e.effects.state.create(t,a)};t.createMapStateAtom=a},5054:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createPrimitiveAtom=void 0;const n=e=>({value:e});function r(e,t){return e.value!==t&&(e.value=t,!0)}function s(e,t){return e.effects.state.create(n(t),{setValue:r})}t.createPrimitiveAtom=s},8992:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.copyCodecs=t.addCodecs=t.createCodecMapAtom=void 0;const r=n(9062);function s(e){const{createMapStateAtom:t}=e.registry.get(r.ComponentName.CoreStateAtoms);return t(e)}function a(e,t,n,r){var s;const{state:a}=e.effects,i=[...null!==(s=t.get(n))&&void 0!==s?s:[]];let o=!t.has(n);for(const e of r){const t=i.map((e=>e.toLowerCase()));t.includes(e.toLowerCase())||(o=!0,i.push(e))}return a.dispatch(t.add,n,i),o}function i(e,t){const{state:n}=e.effects,{createCodecMapAtom:s}=e.registry.get(r.ComponentName.CoreStateAtoms).CodecMap,a=s(e);for(const[e,r]of t)n.dispatch(a.add,e,r);return a}t.createCodecMapAtom=s,t.addCodecs=a,t.copyCodecs=i},5266:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function s(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function i(e){try{c(r.next(e))}catch(e){a(e)}}function o(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):s(e.value).then(i,o)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createDataStreamAtom=t.DataStreamClearedError=t.DataStreamClosedError=void 0;const s=n(4),{createTransient:a}=s.default;class i extends Error{constructor(){super("Cannot perform operation: DataStream is closed"),this.name="DataStreamClosedError"}}t.DataStreamClosedError=i;class o extends Error{constructor(){super("Cannot perform operation: DataStream was cleared"),this.name="DataStreamClearedError"}}function c(e){const t=(e=s.error)=>{if(e)for(const{reject:t}of n)t(e);else for(const{resolve:e}of n)e()},n=[],s={closed:!1,error:void 0,data:[],cleared:a(e),[Symbol.asyncIterator]:i};function i(){const e={resolve:()=>{},reject:()=>{}};let t=0;const a={next:()=>r(this,void 0,void 0,(function*(){if(s.error)throw s.error;for(;t>=s.data.length&&!s.closed;)yield new Promise(((t,n)=>{e.resolve=t,e.reject=n}));const n=s.data[t++];return!s.closed||t<=s.data.length?{done:!1,value:n}:{done:!0,value:void 0}}))};return n.push(e),a}return{dataStream:s,continuation:t}}function u(e,t){if(t.error)throw t.error;return!t.closed&&(t.closed=!0,e(),!0)}function l(e,t){if(t.error)throw t.error;return!!t.closed&&(t.closed=!1,e(),!0)}function d(e,t,n){const{state:r}=e.effects;return n.error=void 0,n.data.splice(0,n.data.length),n.closed=!1,t(new o),r.dispatch(n.cleared.trigger),!0}function m(e,t,...n){if(t.error)throw t.error;if(t.closed)throw new i;return t.data.push(...n),e(),!0}function g(e,t,n,r){if(n.error)throw r;const{state:s}=e.effects;return n.data.splice(0,n.data.length),n.error=r,n.closed=!0,t(),s.dispatch(n.cleared.trigger),!0}function p(e){const{abortSignal:t,effects:n}=e,{state:r,events:s}=n,{continuation:a,dataStream:i}=c(e),o=r.create(i,{push:(e,...t)=>m(a,e,...t),close:u.bind(null,a),open:l.bind(null,a),clear:d.bind(null,e,a),throw:g.bind(null,e,a)});return s.subscribe(t,"abort",(()=>r.dispatch(o.throw,t.reason))),o}t.DataStreamClearedError=o,t.createDataStreamAtom=p},7041:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getGapToNextSegment=t.getTimeRange=t.getReadableSegmentName=t.createSelfInitSegmentAtom=t.createInitSegmentAtom=t.createDataSegmentAtom=t.SegmentType=void 0;const r=n(5266),s=n(99);var a;!function(e){e.Initialization="initialization",e.SelfInitializing="self-initializing",e.Data="data"}(a=t.SegmentType||(t.SegmentType={}));const i=(e,t)=>e.initSegment!==t&&(e.initSegment=t,!0);function o(e,t,n){var a;return Object.assign(Object.assign({metadata:{},data:(0,r.createDataStreamAtom)(e),byteRange:void 0},n),{type:t,selectionGroup:null!==(a=n.selectionGroup)&&void 0!==a?a:n.track.selectionGroup,codecs:(0,s.createMapStateAtom)(e)})}const c={setMetadata:(e,t)=>e.metadata!==t&&(e.metadata=t,!0),setSelectionGroup:(e,t)=>e.selectionGroup!==t&&(e.selectionGroup=t,!0)},u=(e,t)=>e.effects.state.create(o(e,a.Data,t),Object.assign(Object.assign({},c),{setInitSegment:i}));t.createDataSegmentAtom=u;const l=(e,t)=>e.effects.state.create(o(e,a.Initialization,t),c);t.createInitSegmentAtom=l;const d=(e,t)=>e.effects.state.create(o(e,a.SelfInitializing,t),c);function m(e,t=3){const n=e.url.split("?").shift().split("://").pop().split("#").shift().split("/"),r=Math.max(0,t),s=Math.min(n.length-1,Math.max(0,n.length-r-1));return n.slice(s).join("/")}function g(e){const{segmentTiming:{parsedPlaybackTime:t,parsedDuration:n}}=e;return{start:t,end:t+n}}function p(e,t){if(void 0===t)return;const n=t.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;return n!==r?{start:r,end:n}:void 0}t.createSelfInitSegmentAtom=d,t.getReadableSegmentName=m,t.getTimeRange=g,t.getGapToNextSegment=p},151:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentTiming=t.getDefaultSegmentTiming=void 0;const n=e=>Object.assign({parsedDuration:-1,parsedPlaybackTime:-1,encodedDuration:-1,encodedPlaybackTime:-1,timestampOffset:-1/0},e);function r(e,t,n){return(e.parsedDuration!==t||e.parsedPlaybackTime!==n)&&(e.parsedDuration=t,e.parsedPlaybackTime=n,!0)}function s(e,t,n){return(e.encodedDuration!==t||e.encodedPlaybackTime!==n)&&(e.encodedDuration=t,e.encodedPlaybackTime=n,!0)}function a(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function i(e,n){return e.effects.state.create((0,t.getDefaultSegmentTiming)(n),{manifestParsed:r,dataParsed:s,timestampOffsetChanged:a})}t.getDefaultSegmentTiming=n,t.createSegmentTiming=i},1093:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isInitSegment=t.isDataSegment=t.isDataOrSelfInitSegment=void 0;const r=n(7041);function s(e){return[r.SegmentType.Data,r.SegmentType.SelfInitializing].includes(e.type)}function a(e){return[r.SegmentType.Data].includes(e.type)}function i(e){return e.type===r.SegmentType.Initialization}t.isDataOrSelfInitSegment=s,t.isDataSegment=a,t.isInitSegment=i},5783:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createUnknownSelectionGroupAtom=t.createSubtitleSelectionGroupAtom=t.createAudioSelectionGroupAtom=t.createVideoSelectionGroupAtom=void 0;const r=n(9062),s=n(8992),a=(e,t,n,r)=>(0,s.addCodecs)(e,t.codecs,n,r),i=(e,t)=>e.language!==t&&(e.language=t,!0),o=(e,t)=>e.sequenceNumber!==t&&(e.sequenceNumber=t,!0);function c(e){return{setSequenceNumber:o,setCodecs:a.bind(void 0,e)}}const u=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),s=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${n.Video}:TODO-FIX-ME`});return T(e,s),e.effects.state.create(s,c(e))};function l(e){return{setCodecs:a.bind(void 0,e),setLanguage:i,setSequenceNumber:o}}t.createVideoSelectionGroupAtom=u;const d=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),s=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${n.Audio}:${t.language}:TODO-FIX-ME`});return T(e,s),e.effects.state.create(s,l(e))};t.createAudioSelectionGroupAtom=d;const m={setSequenceNumber:o,setLanguage:i},g=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),s=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${n.Subtitle}:${t.language}`});return T(e,s),e.effects.state.create(s,m)};t.createSubtitleSelectionGroupAtom=g;const p={setSequenceNumber:o},f=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),s=Object.assign(Object.assign({sequenceNumber:1/0},t),{mediaId:`${n.Unknown}`});return T(e,s),e.effects.state.create(s,p)};function T(e,t){const{deriveFrom:n}=e.registry.get(r.ComponentName.Utils).State;n(t,"timeRange",(()=>{const e={start:1/0,end:-1/0};for(const n of t.tracks){const{start:t,end:r}=n.timeRange;(t<e.start||!isFinite(e.start))&&(e.start=t),(r>e.end||!isFinite(e.end))&&(e.end=r)}return e}))}t.createUnknownSelectionGroupAtom=f},4528:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMediaSelectionGroup=t.isAudioSelectionGroup=t.isVideoSelectionGroup=void 0;const r=n(5185);function s(e,t){const n=e.codecs;for(const[e,r]of n)if(e===t)return!0;return!1}function a(e){return o(e)&&s(e,r.MediaType.Video)}function i(e){return o(e)&&s(e,r.MediaType.Audio)}function o(e){return"codecs"in e}t.isVideoSelectionGroup=a,t.isAudioSelectionGroup=i,t.isMediaSelectionGroup=o},2161:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createStreamAtom=t.StreamType=void 0;const r=n(4),s=n(605),a=n(5054),{createTransient:i}=r.default;function o(e,t){return e.type!==t&&(e.type=t,!0)}!function(e){e.Live="live",e.VoD="vod"}(t.StreamType||(t.StreamType={}));const c=(e,t)=>e.effects.state.create({tracks:(0,s.createArrayAtom)(e,[]),selectionGroups:(0,s.createArrayAtom)(e,[]),type:t,duration:(0,a.createPrimitiveAtom)(e,1/0),onPlaybackTimeMismatch:i(e),onDurationMismatch:i(e)},{setType:o});t.createStreamAtom=c},7831:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createUnknownTrackAtom=t.createSubtitleTrackAtom=t.createMuxedTrackAtom=t.createVideoTrackAtom=t.createAudioTrackAtom=void 0;const r=n(9062),s=n(605),a=n(8992),i=n(1093),o=(e,t)=>e.segments!==t&&(e.segments=t,!0),c=(e,t,n,r)=>(0,a.addCodecs)(e,t.codecs,n,r),u=(e,t)=>e.sequenceNumber!==t&&(e.sequenceNumber=t,!0),l=({effects:{state:e}},t,n)=>{if(t.selectionGroup===n)return!1;for(const r of"segments"in t?t.segments:[])e.dispatch(r.setSelectionGroup,n),(0,i.isDataSegment)(r)&&r.initSegment.selectionGroup!==n&&e.dispatch(r.initSegment.setSelectionGroup,n);return t.selectionGroup=n,!0};function d(e){return{setSegments:o,setSequenceNumber:u,setSelectionGroup:(t,n)=>l(e,t,n)}}function m(e){return Object.assign(Object.assign({},d(e)),{setCodecs:c.bind(void 0,e)})}const g=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Audio},t);return y(e,a),e.effects.state.create(a,m(e))};t.createAudioTrackAtom=g;const p=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Video},t);return y(e,a),e.effects.state.create(a,m(e))};t.createVideoTrackAtom=p;const f=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Muxed},t);return y(e,a),e.effects.state.create(a,m(e))};t.createMuxedTrackAtom=f;const T=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Subtitle},t);return y(e,a),e.effects.state.create(a,d(e))};t.createSubtitleTrackAtom=T;const h=(e,t)=>{const{MediaType:n}=e.registry.get(r.ComponentName.Constants),a=Object.assign({segments:(0,s.createArrayAtom)(e,[]),sequenceNumber:1/0,type:n.Unknown},t);return y(e,a),e.effects.state.create(a,d(e))};function y(e,t){const{deriveFrom:n}=e.registry.get(r.ComponentName.Utils).State;n(t,"timeRange",(()=>{var e,n,r;if(t.sequenceNumber===1/0)return{start:-1/0,end:1/0};const s=null===(e=t.segments[0])||void 0===e?void 0:e.segmentTiming,a=null===(n=t.segments[t.segments.length-1])||void 0===n?void 0:n.segmentTiming;return{start:null!==(r=null==s?void 0:s.parsedPlaybackTime)&&void 0!==r?r:1/0,end:a?a.parsedPlaybackTime+a.parsedDuration:-1/0}}))}t.createUnknownTrackAtom=h},3219:(e,t)=>{function n(e){return"audio"===e.type}function r(e){return n(e)||a(e)}function s(e){return"subtitle"===e.type}function a(e){return"video"===e.type}function i(e){return"muxed"===e.type}Object.defineProperty(t,"__esModule",{value:!0}),t.isMuxedTrack=t.isVideoTrack=t.isSubtitleTrack=t.isMediaTrack=t.isAudioTrack=void 0,t.isAudioTrack=n,t.isMediaTrack=r,t.isSubtitleTrack=s,t.isVideoTrack=a,t.isMuxedTrack=i},4:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function s(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function i(e){try{c(r.next(e))}catch(e){a(e)}}function o(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):s(e.value).then(i,o)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const s=n(8465),a=n(9062);class i extends Error{constructor(){super("Aborted from map-subscribe"),this.name="MapUnsubscribedError"}}const o=(e,t,n)=>(0,s.createTask)(`map-subscribe-${n.name}`,((r,s)=>{var a;const o=Array.from(t.keys()),c=o.filter((e=>!r.includes(e))),u=r.filter((e=>!o.includes(e)));for(const e of c)null===(a=t.get(e))||void 0===a||a.abort(new i),t.delete(e);for(const r of u){const s=e.fork(n,r);t.set(r,s),s.finally((()=>t.delete(r))).catch((()=>{}))}}));function c(e,t,n){const r=new Map,s=o(e,r,n),a=e.effects.state.subscribe(e,t,s,(e=>e instanceof i));return()=>{a();for(const[e,t]of r)t.abort(new i)}}function u(e,t){const n=[],a=[];let i=!1;const o=(0,s.createTask)("sequence-task",t);function c(){return r(this,void 0,void 0,(function*(){if(i)return;const t=n.shift();void 0!==t&&(i=!0,yield e.fork(o,t).catch((()=>{})),i=!1,a.push(t),c().catch((()=>{})))}))}return{addToQueue:e=>{a.includes(e)||n.includes(e)||(n.push(e),c().catch((()=>{})))}}}function l(e,t,n){Object.defineProperty(e,t,{get:()=>n(e)})}function d(e,t,n,a=(()=>!1)){let o;const c=e=>a(e)||e instanceof i,u=(0,s.createTask)(`subscribe-${n.name}-once`,((e,t)=>r(this,void 0,void 0,(function*(){t.fork(n,e,c),o(!1)}))));return o=e.effects.state.subscribe(e,t,u,c)}function m(e){const{state:t}=e.effects,n=(e,t)=>(e.value=t,!0);return t.create({value:void 0},{trigger:n})}function g(e,t){let n=()=>{};const{abortable:r}=e.effects,{subscribeOnce:i}=e.registry.get(a.ComponentName.Utils).State,o=r((e=>n=e)),c=(0,s.createTask)("wait-for-transient",(({value:e},t)=>n(e)));return o.unsubscribe=i(e,t,c),o}t.default={mapSubscribe:c,subscribeOnce:d,waitFor:g,deriveFrom:l,createTransient:m,sequencererere:u}},2255:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingM3uTagError=t.HlsParsingError=void 0;const r=n(7048);class s extends r.FrameworkError{constructor(e){super(e)}}t.HlsParsingError=s;class a extends s{constructor(){super("HLS Manifest parsing failed: missing #EXTM3U tag")}}t.MissingM3uTagError=a},8859:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingFunctions=void 0;const r=n(9062),s=n(2255),a=n(3509),i=n(5340);function o(e){return"playlists"in e}function c(e){return!o(e)}function u(e,{registry:t}){return[new i.TranslatorStream(t.get(r.ComponentName.Logger),t.get(r.ComponentName.Utils)),e]}function l([e,t]){return e.addTagParsers(a.DefaultTagParsers),[e,t]}function d([e,t]){try{const n=e.translate(t);if(!n.hasM3u)throw new s.MissingM3uTagError;if("playlists"in n){const e=n.playlists.map((e=>({name:"stream-inf",value:e.uri,attributes:e.attributes})));n.tags=n.tags.concat(e)}return"playlistType"in n&&"EVENT"===n.playlistType&&(n.discontinuitySequence=n.discontinuitySequence||0),e.dispose(),n}finally{e.dispose()}}t.HlsParsingFunctions={isMultivariantPlaylist:o,isMediaPlaylist:c,createTranslator:u,addDefaultTagParsers:l,parsePlaylist:d}},1756:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingExportNames=t.PlaylistType=t.TagType=t.MetadataType=t.HlsEncryptionMethod=void 0,function(e){e.NONE="NONE",e.AES_128="AES-128",e.SAMPLE_AES="SAMPLE-AES"}(t.HlsEncryptionMethod||(t.HlsEncryptionMethod={})),function(e){e.CUETAG="CUETAG",e.DATERANGE="DATERANGE",e.CUSTOM="CUSTOM",e.SCTE="SCTE",e.ID3="ID3",e.EMSG="EMSG"}(t.MetadataType||(t.MetadataType={})),function(e){e.M3u="m3u",e.AllowCache="allow-cache",e.ByteRange="byterange",e.EndList="endlist",e.Inf="inf",e.Key="key",e.MediaSequence="media-sequence",e.DiscontinuitySequence="discontinuity-sequence",e.PlaylistType="playlist-type",e.StreamInf="stream-inf",e.IframeStreamInf="i-frame-stream-inf",e.Media="media",e.Start="start",e.Discontinuity="discontinuity",e.DateTime="date-time",e.TargetDuration="targetduration",e.Map="map",e.IndependentSegments="independent-segments",e.SessionData="session-data",e.SessionKey="session-key",e.CueOut="cue-out",e.CueOutCont="cue-out-cont",e.CueIn="cue-in",e.Scte35="scte35",e.DateRange="daterange",e.Version="version",e.Uri="uri",e.Unknown="unknown"}(t.TagType||(t.TagType={})),function(e){e.Vod="VOD",e.Event="EVENT"}(t.PlaylistType||(t.PlaylistType={})),function(e){e.ParsingTask="hls-parsing-task",e.ParsingFunctions="hls-parsing-functions",e.Errors="hls-parsing-errors"}(t.HlsParsingExportNames||(t.HlsParsingExportNames={}))},5650:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Stream=void 0;class n{constructor(){this.on=(e,t)=>{this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},this.trigger=(e,t)=>{this.listeners[e]&&this.listeners[e].forEach((e=>e(t)))},this.listeners={}}pipe(e){this.on("data",(t=>e.push(t)))}dispose(){this.listeners={}}}t.Stream=n},6765:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parseAttributes=void 0;const n=new RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))');function r(e){var t,r;const s=e.split(n);let a=s.length;const i={};for(;a--;){if(""===s[a])continue;const e=null!==(r=null===(t=/([^=]*)=(.*)/.exec(s[a]))||void 0===t?void 0:t.slice(1))&&void 0!==r?r:[];e[0]=e[0].replace(/^\s+|\s+$/g,""),e[1]=e[1].replace(/^\s+|\s+$/g,""),e[1]=e[1].replace(/^['"](.*)['"]$/g,"$1"),i[e[0]]=e[1]}return i}t.parseAttributes=r},3509:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultTagParsers=void 0;const r=n(1756),s=n(6765),a="#EXT-X-";function i(e){return RegExp(`^${a}${e}`)}const o={matcher:/^[^#].+$/,process:e=>({tagType:r.TagType.Uri,uri:e[0]})},c={matcher:/^#EXTM3U/,process:()=>({tagType:r.TagType.M3u})},u={matcher:i("INDEPENDENT-SEGMENTS"),process:()=>({tagType:r.TagType.IndependentSegments})},l={matcher:i("MEDIA:(.*)$"),process:e=>({tagType:r.TagType.Media,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},d={matcher:/^#EXTINF:?([0-9.]*)?,?(.*)?$/,process:e=>{var t;return{tagType:r.TagType.Inf,duration:e[1]?parseFloat(e[1]):void 0,title:null!==(t=e[2])&&void 0!==t?t:void 0}}},m={matcher:i("TARGETDURATION:?([0-9.]*)?"),process:e=>({tagType:r.TagType.TargetDuration,duration:e[1]?parseInt(e[1],10):void 0})},g={matcher:i("VERSION:?([0-9.]*)?"),process:e=>({tagType:r.TagType.Version,version:e[1]?parseInt(e[1],10):void 0})},p={matcher:i("START:(.*)$"),process:e=>({tagType:r.TagType.Start,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},f={matcher:i("MEDIA-SEQUENCE:?(\\-?[0-9.]*)?"),process:e=>({tagType:r.TagType.MediaSequence,number:e[1]?parseInt(e[1],10):void 0})},T={matcher:i("DISCONTINUITY-SEQUENCE:?(\\-?[0-9.]*)?"),process:e=>({tagType:r.TagType.DiscontinuitySequence,number:e[1]?parseInt(e[1],10):void 0})},h={matcher:i("PLAYLIST-TYPE:?(.*)?$"),process:e=>({tagType:r.TagType.PlaylistType,playlistType:Object.values(r.PlaylistType).includes(e[1])?e[1]:r.PlaylistType.Vod})},y={matcher:i("BYTERANGE:?([0-9.]*)?@?([0-9.]*)?"),process:e=>({tagType:r.TagType.ByteRange,length:e[1]?parseInt(e[1],10):void 0,offset:e[2]?parseInt(e[2],10):void 0})},b={matcher:i("ALLOW-CACHE:?(YES|NO)?"),process:e=>({tagType:r.TagType.AllowCache,allowed:e[1]?!/NO/.test(e[1]):void 0})},S={matcher:i("SESSION-DATA:?(.*)$"),process:e=>({tagType:r.TagType.SessionData,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},v={matcher:i("SESSION-KEY:?(.*)$"),process:e=>({tagType:r.TagType.SessionKey,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},A={matcher:i("STREAM-INF:?(.*)$"),process:e=>({tagType:r.TagType.StreamInf,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},k={matcher:i("I-FRAME-STREAM-INF:?(.*)$"),process:e=>({tagType:r.TagType.IframeStreamInf,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},O={matcher:i("ENDLIST"),process:()=>({tagType:r.TagType.EndList})},C={matcher:i("DISCONTINUITY"),process:()=>({tagType:r.TagType.Discontinuity})},M={matcher:i("KEY:?(.*)$"),process:e=>({tagType:r.TagType.Key,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},N={matcher:i("MAP:?(.*)$"),process:e=>({tagType:r.TagType.Map,attributes:e[1]?(0,s.parseAttributes)(e[1]):{}})},E={matcher:i("PROGRAM-DATE-TIME:?(.*)$"),process:e=>({tagType:r.TagType.DateTime,dateTime:e[1]?new Date(e[1]):void 0})},D={matcher:i("CUE-OUT-CONT:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.CueOutCont,data:null!==(t=e[1])&&void 0!==t?t:""}}},I={matcher:i("CUE-OUT:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.CueOut,data:null!==(t=e[1])&&void 0!==t?t:""}}},P={matcher:i("CUE-IN:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.CueIn,data:null!==(t=e[1])&&void 0!==t?t:""}}},U={matcher:i("SCTE35:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.Scte35,data:null!==(t=e[1])&&void 0!==t?t:""}}},j={matcher:i("DATERANGE:?(.*)?$"),process:e=>{var t;return{tagType:r.TagType.DateRange,data:null!==(t=e[1])&&void 0!==t?t:""}}};t.DefaultTagParsers=[o,c,u,l,d,m,g,p,f,T,h,y,b,S,v,A,k,O,C,M,N,E,D,I,P,U,j]},7840:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LineStream=void 0;const r=n(5650);class s extends r.Stream{constructor(){super(),this.buffer=""}push(e){this.buffer+=e;let t=this.buffer.indexOf("\n");for(;t>-1;t=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)}}t.LineStream=s},7407:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ParserStream=void 0;const r=n(1756),s=n(5650);class a extends s.Stream{constructor(){super(),this.tagParsers=[]}addTagParser(e){this.tagParsers.push(e)}parseLine(e){for(let t=0;t<this.tagParsers.length;t++){const{matcher:n,process:r}=this.tagParsers[t],s=n.exec(e);if(s)return void this.trigger("data",r(s))}this.trigger("data",{tagType:r.TagType.Unknown,data:e.slice(0,e.length)})}push(e){const t=o(i(e));0!==t.length&&this.parseLine(t)}}function i(e){return e.replace(/^[\0\s]+|[\0\s]+$/g,"")}function o(e){return e.replace("\r","")}t.ParserStream=a},5340:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TranslatorStream=void 0;const r=n(1756),s=n(5650),a=n(6765),i=n(7840),o=n(7407);class c extends s.Stream{constructor(e,t){super(),this.logger=e,this.utils=t,this.translateM3u=e=>{this.manifestObj.hasM3u=!0},this.translateEndList=e=>{this.manifestObj.endList=!0},this.translateDiscontinuity=e=>{var t,n,r;const s=null!==(n=null===(t=this.manifestObj.segments)||void 0===t?void 0:t.length)&&void 0!==n&&n?1:0;this.currentDiscontinuitySequence=this.currentDiscontinuitySequence+s,this.currentUri.discontinuity=!0,null===(r=this.manifestObj.discontinuityStarts)||void 0===r||r.push(this.uris.length)},this.translateIndependentSegments=e=>{var t;this.manifestObj.independentSegments=!0,null===(t=this.manifestObj.tags)||void 0===t||t.push({name:"independent-segments"})},this.onData=e=>{this.translateTag(e)},this.uris=[],this.currentUri={},this.keys=[],this.keysInUse=!1,this.cueTag=void 0,this.scte35=[],this.customTags=[],this.dateRange=[],this.lineStream=new i.LineStream,this.parseStream=new o.ParserStream,this.lineStream.pipe(this.parseStream),this.currentDiscontinuitySequence=0,this.manifestObj={allowCache:!0,discontinuityStarts:[],discontinuitySequence:0,endList:!1,media:[],segments:[],totalDuration:0,tags:[],version:1,hasM3u:!1},this.parseStream.on("data",this.onData)}addTagParsers(e){e.forEach((e=>this.parseStream.addTagParser(e)))}get manifest(){return this.manifestObj}getCustomTag(e){try{e=this.utils.String.forceReallocation(e);const t=/^#([^:=]*)(:|=)?(.*)$/.exec(e);if(null==t?void 0:t[1]){const e={name:t[1]};let n="";if("="===t[2]&&t[3])n=t[3];else if(":"===t[2]&&t[3]){const r=/^([^:="]*)(:|=)?(.*)$/.exec(t[3]);"="===(null==r?void 0:r[2])&&(null==r?void 0:r[3])?e.attributes=(0,a.parseAttributes)(t[3]):n=t[3]}return n&&(e.value=n.replace(/^['"](.*)['"]$/g,"$1")),e}return}catch(t){return void this.logger.error(`Error occurred while parsing custom HLS tag: ${e}`)}}translateAllowCache(e){var t;this.manifestObj.allowCache=null===(t=e.allowed)||void 0===t||t}translateByteRange(e){void 0!==e.length&&(this.currentUri.byterange={length:e.length,offset:e.offset})}translateInf(e){"mediaSequence"in this.manifest||(this.manifestObj.mediaSequence=0,this.logger.debug("defaulting media sequence to zero")),void 0!==e.duration&&e.duration>=0&&(this.currentUri.duration=e.duration),this.manifestObj.segments=this.uris}translateKey(e){if(!e.attributes)return this.logger.warn("ignoring key declaration without attribute list");if("NONE"===e.attributes.METHOD)return void(this.keys=[]);if(!e.attributes.URI)return this.logger.warn("ignoring key declaration without URI");if(!e.attributes.METHOD)return this.logger.warn("defaulting key method to AES-128");this.keysInUse&&(this.keys=[],this.keysInUse=!1);const t={method:this.utils.String.forceReallocation(e.attributes.METHOD)||r.HlsEncryptionMethod.AES_128,uri:this.utils.String.forceReallocation(e.attributes.URI)};if(void 0!==e.attributes.IV){const n=e.attributes.IV.toLowerCase(),r="0x"===n.substring(0,2)?n.substring(2):n;t.iv=new Uint8Array(this.utils.String.hexStringToUint8Array(r)).buffer}e.attributes.KEYFORMAT&&(t.keyformat=this.utils.String.forceReallocation(e.attributes.KEYFORMAT)),e.attributes.KEYFORMATVERSIONS&&(t.keyformatversions=this.utils.String.forceReallocation(e.attributes.KEYFORMATVERSIONS)),e.attributes.KEYID&&(t.keyid=this.utils.String.forceReallocation(e.attributes.KEYID)),this.keys.push(t)}translateMediaSequence(e){var t;if(!isFinite(null!==(t=e.number)&&void 0!==t?t:1/0))return this.logger.warn("ignoring invalid media sequence: "+e.number);this.manifestObj.mediaSequence=e.number}translateDiscontinuitySequence(e){var t,n;if(!isFinite(null!==(t=e.number)&&void 0!==t?t:1/0))return this.logger.warn("ignoring invalid discontinuity sequence: "+e.number);this.manifestObj.discontinuitySequence=e.number,this.currentDiscontinuitySequence=null!==(n=e.number)&&void 0!==n?n:0}translatePlaylistType(e){var t;if(!/VOD|EVENT/.test(null!==(t=e.playlistType)&&void 0!==t?t:""))return this.logger.warn("ignoring unknown playlist type: "+e.playlistType);this.manifestObj.playlistType=e.playlistType}translateStreamInf(e){if(this.manifestObj.playlists=this.uris,!e.attributes)return this.logger.warn("ignoring empty stream-inf attributes");const t=Object.assign(Object.assign({},e.attributes),this.currentUri.attributes);if(e.attributes.RESOLUTION){const n=u(e.attributes.RESOLUTION);n&&void 0!==n.height&&void 0!==n.width&&(t.RESOLUTION=n)}e.attributes.BANDWIDTH&&(t.BANDWIDTH=parseInt(e.attributes.BANDWIDTH,10)),e.attributes["AVERAGE-BANDWIDTH"]&&(t["AVERAGE-BANDWIDTH"]=parseInt(e.attributes["AVERAGE-BANDWIDTH"],10)),e.attributes["PROGRAM-ID"]&&(t["PROGRAM-ID"]=parseInt(e.attributes["PROGRAM-ID"],10)),this.currentUri.attributes||(this.currentUri.attributes={}),this.currentUri.attributes=t}translateIframeStreamInf(e){var t;const n={name:"i-frame-stream-inf"};e.attributes&&(n.attributes=Object.assign(Object.assign({},e.attributes),{BANDWIDTH:e.attributes.BANDWIDTH?parseInt(e.attributes.BANDWIDTH,10):void 0,RESOLUTION:e.attributes.RESOLUTION?u(e.attributes.RESOLUTION):void 0,"AVERAGE-BANDWIDTH":e.attributes["AVERAGE-BANDWIDTH"]?parseInt(e.attributes["AVERAGE-BANDWIDTH"],10):void 0})),null===(t=this.manifestObj.tags)||void 0===t||t.push(n)}translateMedia(e){var t,n;null===(t=this.manifestObj.media)||void 0===t||t.push({attributes:e.attributes});const r={name:"media"};e.attributes&&(r.attributes=e.attributes),null===(n=this.manifestObj.tags)||void 0===n||n.push(r)}translateStart(e){var t,n,r;const s={};void 0!==(null===(t=e.attributes)||void 0===t?void 0:t["TIME-OFFSET"])&&(s.timeOffset=null!==(n=Number(e.attributes["TIME-OFFSET"]))&&void 0!==n?n:0,s.precise="YES"===e.attributes.PRECISE,this.manifestObj.start=s);const a={name:"start"};void 0!==s.timeOffset&&(a.attributes={"TIME-OFFSET":s.timeOffset,PRECISE:s.precise}),null===(r=this.manifestObj.tags)||void 0===r||r.push(a)}translateDateTime(e){this.manifestObj.dateTime=e.dateTime}translateTargetDuration(e){var t;if(!isFinite(null!==(t=e.duration)&&void 0!==t?t:1/0)||void 0!==e.duration&&e.duration<0)return this.logger.warn("ignoring invalid target duration: "+e.duration);this.manifestObj.targetDuration=e.duration}translateMap(e){if(e.attributes&&e.attributes.URI&&(this.init={url:this.utils.String.forceReallocation(e.attributes.URI)},e.attributes.BYTERANGE)){const t=e.attributes.BYTERANGE.split("@").map((e=>parseInt(e))),n=t[0],r=isNaN(t[1])?0:t[1];this.init.byteRange={start:r,end:r+n-1}}}translateSessionData(e){var t;const n={name:"session-data"};e.attributes&&(n.attributes=e.attributes),null===(t=this.manifestObj.tags)||void 0===t||t.push(n)}translateSessionKey(e){var t;let n=e.attributes.IV?e.attributes.IV.toLowerCase():void 0;n=n&&"0x"===n.substring(0,2)?n.substring(2):n;const r=n?new Uint8Array(this.utils.String.hexStringToUint8Array(n)).buffer:void 0,s={name:"session-key"};e.attributes&&(s.attributes=e.attributes,s.attributes.IV=r),null===(t=this.manifestObj.tags)||void 0===t||t.push(s)}translateCueOut(e){this.cueTag=d(e,this.utils)}translateCueOutCont(e){this.cueTag=d(e,this.utils)}translateCueIn(e){this.cueTag=d(e,this.utils)}translateScte35(e){var t;this.scte35.push({type:r.MetadataType.SCTE,attributes:(0,a.parseAttributes)(null!==(t=e.data)&&void 0!==t?t:"")})}translateDateRange(e){this.dateRange.push(l(e,this.utils))}translateVersion(e){this.manifestObj.version=void 0!==e.version?e.version:1}translateUnknown(e){var t;this.customTags.push({type:r.MetadataType.CUSTOM,attributes:e.data});const n=e.data?this.getCustomTag(e.data):void 0;n&&(null===(t=this.manifestObj.tags)||void 0===t||t.push(n))}translateTag(e){switch(e.tagType){case r.TagType.M3u:return this.translateM3u(e);case r.TagType.AllowCache:return this.translateAllowCache(e);case r.TagType.ByteRange:return this.translateByteRange(e);case r.TagType.EndList:return this.translateEndList(e);case r.TagType.Inf:return this.translateInf(e);case r.TagType.Key:return this.translateKey(e);case r.TagType.MediaSequence:return this.translateMediaSequence(e);case r.TagType.DiscontinuitySequence:return this.translateDiscontinuitySequence(e);case r.TagType.PlaylistType:return this.translatePlaylistType(e);case r.TagType.StreamInf:return this.translateStreamInf(e);case r.TagType.IframeStreamInf:return this.translateIframeStreamInf(e);case r.TagType.Media:return this.translateMedia(e);case r.TagType.Start:return this.translateStart(e);case r.TagType.Discontinuity:return this.translateDiscontinuity(e);case r.TagType.DateTime:return this.translateDateTime(e);case r.TagType.TargetDuration:return this.translateTargetDuration(e);case r.TagType.Map:return this.translateMap(e);case r.TagType.IndependentSegments:return this.translateIndependentSegments(e);case r.TagType.SessionData:return this.translateSessionData(e);case r.TagType.SessionKey:return this.translateSessionKey(e);case r.TagType.CueOut:return this.translateCueOut(e);case r.TagType.CueOutCont:return this.translateCueOutCont(e);case r.TagType.CueIn:return this.translateCueIn(e);case r.TagType.Scte35:return this.translateScte35(e);case r.TagType.DateRange:return this.translateDateRange(e);case r.TagType.Version:return this.translateVersion(e);case r.TagType.Uri:return this.translateUri(e);case r.TagType.Unknown:default:return this.translateUnknown(e)}}translateUri(e){var t;this.currentUri.uri=e.uri?this.utils.String.forceReallocation(e.uri):"",this.manifestObj.targetDuration&&!("duration"in this.currentUri)&&(this.logger.warn("defaulting segment duration to the target duration"),this.currentUri.duration=this.manifestObj.targetDuration),this.keys.length>0&&(this.currentUri.keys=this.keys,this.keysInUse=!0),this.init&&(this.currentUri.init=this.init),this.cueTag&&(this.currentUri.cueTag=this.cueTag,this.cueTag=void 0),this.scte35.length>0&&(this.currentUri.scte35=this.scte35,this.scte35=[]),this.dateRange.length>0&&(this.currentUri.dateRange=this.dateRange,this.dateRange=[]),this.customTags.length>0&&(this.currentUri.customTags=this.customTags,this.customTags=[]),this.manifestObj.dateTime&&(this.currentUri.dateTime=this.manifestObj.dateTime,delete this.manifestObj.dateTime),this.uris.push(this.currentUri),this.currentUri.duration&&(this.currentUri.discontinuitySequenceNumber=this.currentDiscontinuitySequence,this.manifestObj.totalDuration=(null!==(t=this.manifestObj.totalDuration)&&void 0!==t?t:0)+this.currentUri.duration),this.currentUri={}}push(e){this.lineStream.push(e)}translate(e){return this.push(e),this.push("\n"),this.manifest}dispose(){super.dispose(),this.parseStream.dispose(),this.lineStream.dispose()}}function u(e){const t=e.split("x");return{width:t[0]?parseInt(t[0],10):void 0,height:t[0]?parseInt(t[1],10):void 0}}function l(e,t){const n={type:r.MetadataType.DATERANGE};if(e.data){const r=(0,a.parseAttributes)(e.data);n.clientAttributes={};for(const e in r)void 0!==r[e]&&(0===e.indexOf("X-")?n.clientAttributes[t.String.kebabCaseToCamelCase(e.substr(2))]=r[e]:n[t.String.kebabCaseToCamelCase(e)]=r[e])}return n.duration&&(n.duration=Number(n.duration)),n.plannedDuration&&(n.plannedDuration=Number(n.plannedDuration)),n.endOnNext&&(n.endOnNext=!0),n}function d(e,t){return{type:e.tagType.toUpperCase(),attributes:e.data?t.String.forceReallocation(e.data).split(",").map((e=>e.trim())):[]}}t.TranslatorStream=c},8622:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTranslationPackage=void 0;const r=n(3898),s=n(9062),a=n(167),i=n(8048),o=n(5756);t.HlsTranslationPackage=(0,r.createPackage)("hls-translation-package",((e,t)=>{t.registry.maybeSet(o.HlsTranslationExportNames.HlsVariantTranslator,i.HlsVariantTranslationTask),t.registry.maybeSet(o.HlsTranslationExportNames.HlsMultivariantTranslator,a.HlsMultivariantPlaylistTranslatorTask)}),[s.ComponentName.Utils,s.ComponentName.CoreEffects,s.ComponentName.CoreStateAtoms]),t.default=t.HlsTranslationPackage},5756:(e,t)=>{function n(e){return void 0!==e.attributes.URI}function r(e){return e.attributes.AUDIO}function s(e){return e.attributes.VIDEO}Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTranslationExportNames=t.getReferencedVideoGroupId=t.getReferencedAudioGroupId=t.isMediaTagWithUri=void 0,t.isMediaTagWithUri=n,t.getReferencedAudioGroupId=r,t.getReferencedVideoGroupId=s,function(e){e.HlsMultivariantTranslator="hls-multivariant-translator",e.HlsVariantTranslator="hls-variant-translator"}(t.HlsTranslationExportNames||(t.HlsTranslationExportNames={}))},167:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsMultivariantPlaylistTranslatorTask=void 0;const r=n(8465),s=n(9062),a=n(605),i=n(8262),o=n(3012),c=n(7977),u=n(5756);function l(e,t,n,r,a,i){var o;const c=e.registry.get(s.ComponentName.Constants).MediaType,u=t.codecs;if(u.get(i)){const e=n.media.filter((e=>e.attributes["GROUP-ID"]===r&&void 0===e.attributes.CODECS));e.forEach((e=>{var t;return e.attributes.CODECS=null===(t=u.get(i))||void 0===t?void 0:t.join(",")})),e.length>0&&a.push(r)}if(a.includes(r)){const n=null!==(o=u.get(i))&&void 0!==o?o:[];e.effects.state.dispatch(t.setCodecs,c.Audio,n)}}t.HlsMultivariantPlaylistTranslatorTask=(0,r.createTask)(u.HlsTranslationExportNames.HlsMultivariantTranslator,(function([e,t,n],r){var d;const{state:m}=r.effects,g=r.registry.get(s.ComponentName.Constants).MediaType,p=r.registry.get(s.ComponentName.CoreStateAtoms).Tracks.isMediaTrack,f=(0,a.createArrayAtom)(r,[]),T=[],h=[],y=new Map,b=new Map;e.playlists.forEach((n=>{var s,a;const i=(0,c.variantToTrack)(r,n,t,f.length+1),o=(0,u.getReferencedAudioGroupId)(n),d=(0,u.getReferencedVideoGroupId)(n);if(p(i)){if(void 0!==o){const t=null!==(s=y.get(o))&&void 0!==s?s:[];t.push(i),y.set(o,t),l(r,i,e,o,T,g.Audio)}if(void 0!==d){const t=null!==(a=y.get(d))&&void 0!==a?a:[];t.push(i),y.set(d,t),l(r,i,e,d,h,g.Video)}}r.effects.state.dispatch(f.add,i)})),e.media.forEach((e=>{var n;const s=(0,i.mediaToTrack)(r,e,t,f.length+1),a=e.attributes["GROUP-ID"];if(void 0!==a){const e=null!==(n=b.get(a))&&void 0!==n?n:[];e.push(s),b.set(a,e)}r.effects.state.dispatch(f.add,s)}));for(const[e,t]of b){const n=t.filter(p);if(0===n.length)continue;const r=n.flatMap((e=>Array.from(e.codecs.keys()))),s=null!==(d=y.get(e))&&void 0!==d?d:[];for(const e of s)if(p(e))for(const t of r)m.dispatch(e.codecs.remove,t)}const S=(0,o.tracksToSelectionGroups)(r,f);r.effects.state.dispatch(n.tracks.set,f.slice()),r.effects.state.dispatch(n.selectionGroups.set,S.slice())}))},8048:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsVariantTranslationTask=void 0;const r=n(8465),s=n(2161),a=n(8859),i=n(5164),o=n(1784),c=n(5756);t.HlsVariantTranslationTask=(0,r.createTask)(c.HlsTranslationExportNames.HlsVariantTranslator,(function([e,t,n,r,c],u){if(!a.HlsParsingFunctions.isMediaPlaylist(e))throw new Error("Provided playlist is not a variant playlist");const l=e.endList?s.StreamType.VoD:s.StreamType.Live;u.effects.state.dispatch(r.setType,l),l===s.StreamType.VoD?(0,o.extractVodSegments)(u,e.segments,t,n,r):(0,i.extractLiveSegments)(u,e.segments,t,n,r,c)}))},5164:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extractLiveSegments=void 0;const r=n(9062),s=n(6003),a=n(7813),i=n(2565);function o(e,t,n,s,o){const c=e.registry.get(r.ComponentName.Utils);n.uri=(0,a.buildAbsoluteSegmentUrl)(s,o,n.uri,c);const u=[];for(const e of t.segments){if((0,i.isMatchingSegment)(e,n))break;u.push(e)}return u}function c(e,t,n){const r=e.effects.state,s=[t],a=n.selectionGroups.find((e=>e.tracks.includes(t)));if(a){const e=e=>0===e.segments.length,t=a.tracks.filter(e);s.push(...t),r.dispatch(a.tracks.remove,...s)}r.dispatch(n.tracks.remove,...s)}function u(e,t,n){const r=e.effects.state;for(const e of n)r.dispatch(t.segments.remove,e)}function l(e,t,n,r,s,a){for(const i of n){if(i.sequenceNumber===1/0)continue;const n=o(e,i,t,s,a);if(n.length!==i.segments.length){u(e,i,n);break}u(e,i,i.segments),c(e,i,r)}}function d(e,t){const{state:n}=e.effects,r=[];for(const e of t.selectionGroups)0===e.tracks.length&&r.push(e);n.dispatch(t.selectionGroups.remove,...r)}function m(e,t,n){const{createArrayAtom:s}=e.registry.get(r.ComponentName.CoreStateAtoms),a=e.effects.state,o=new Map,c=s(e,n.selectionGroups.slice());for(const n of t){const t=(0,i.findOrCreateSelectionGroup)(e,n,c);a.dispatch(n.setSelectionGroup,t),o.set(t,n),c.includes(t)||a.dispatch(c.insertSorted,(e=>e.sequenceNumber),t)}for(const[e,t]of o)a.dispatch(e.tracks.addIfNew,t);a.dispatch(n.selectionGroups.set,c.slice()),a.dispatch(n.tracks.insertSorted,(e=>e.sequenceNumber),...t)}function g(e,t,n,r,a,o){if(!t.length)return;const c=(0,i.findTracksOfVariant)(e,a,n),u=(0,s.processSegmentEntries)(e,t,r,n,a,c,o);l(e,t[0],c,a,r,n),m(e,u,a),d(e,a)}t.extractLiveSegments=g},6003:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.processSegmentEntries=void 0;const r=n(9062),s=n(7813),a=n(2565);function i(e,t,n,r,a,i,o){const c=(0,s.maybeCreateInitSegment)(e,t,n,r,a,o),u=(0,s.createSegment)(e,t,-1,o,c);i[0][1].unshift(u)}function o(e,t,n){const r=t.segmentTiming,{state:s}=e.effects;let a=r.parsedPlaybackTime+r.parsedDuration;for(const[e,t]of n){const n=[];for(const e of t)s.dispatch(e.segmentTiming.manifestParsed,e.segmentTiming.parsedDuration,a),s.dispatch(e.segmentTiming.timestampOffsetChanged,r.timestampOffset),n.push(e),a+=e.segmentTiming.parsedDuration;s.dispatch(e.segments.add,...n)}}function c(e,t){const{state:n}=e.effects;let r=Date.now()/1e3;for(let e=t.length-1;e>=0;e--){const[s,a]=t[e];for(let e=a.length-1;e>=0;e--){const t=a[e];r-=t.segmentTiming.parsedDuration,n.dispatch(t.segmentTiming.manifestParsed,t.segmentTiming.parsedDuration,r)}n.dispatch(s.segments.set,a)}}function u(e,t,n,u,l,d,m){const g=[],p=[],f=e.registry.get(r.ComponentName.Utils),{isDataOrSelfInitSegment:T}=e.registry.get(r.ComponentName.CoreStateAtoms).Segments;let h,y=-1;for(let r=t.length-1;r>=0;r--){const c=t[r],b=y!==c.discontinuitySequenceNumber;c.uri=(0,s.buildAbsoluteSegmentUrl)(n,u,c.uri,f),y=c.discontinuitySequenceNumber,h=b?d.find((e=>e.sequenceNumber===c.discontinuitySequenceNumber)):h,h||(h=(0,a.createTrack)(e,u,l,c.discontinuitySequenceNumber,d[0]),g.push(h)),b&&p.unshift([h,[]]);const S=h.segments[h.segments.length-1];if(S&&T(S)&&(0,a.isMatchingSegment)(S,c))return o(e,S,p),g;i(e,c,m,n,u,p,h)}return c(e,p),g}t.processSegmentEntries=u},7813:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.buildAbsoluteSegmentUrl=t.createSegment=t.maybeCreateInitSegment=void 0;const r=n(9062),s=n(7041),a=n(151);function i(e,t,n,a,i){const o=e.registry.get(r.ComponentName.Utils),c=t.byteRange?{start:-1,end:-1}:void 0,{createDataStreamAtom:l}=e.registry.get(r.ComponentName.CoreStateAtoms).DataStream,d=l(e);return(0,s.createInitSegmentAtom)(e,{type:s.SegmentType.Initialization,url:u(n,a,t.url,o),byteRange:c,data:d,metadata:{},track:i,selectionGroup:i.selectionGroup})}function o(e,t,n,r,s,a){if(!t.init)return;const o=n.get(t.init.url);if(o)return o;const c=i(e,t.init,r,s,a);return n.set(t.init.url,c),c}function c(e,t,n,i,o){const{createDataStreamAtom:c}=e.registry.get(r.ComponentName.CoreStateAtoms).DataStream,u=t.byterange?{start:-1,end:-1}:void 0,l=c(e),d={url:t.uri,byteRange:u,data:l,metadata:{},segmentTiming:(0,a.createSegmentTiming)(e,{parsedDuration:t.duration,parsedPlaybackTime:n,encodedDuration:-1,encodedPlaybackTime:-1,timestampOffset:-1/0})};return o?(0,s.createDataSegmentAtom)(e,Object.assign(Object.assign({},d),{initSegment:o,track:i})):(0,s.createSelfInitSegmentAtom)(e,Object.assign(Object.assign({},d),{track:i}))}function u(e,t,n,r){const{Url:{removeLastPathPart:s,getDomainUrl:a,buildAbsoluteUrl:i,getBaseUrl:o}}=r,c=o(s(e),t);return i(c,a(c),n)}t.maybeCreateInitSegment=o,t.createSegment=c,t.buildAbsoluteSegmentUrl=u},2565:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMatchingSegment=t.hasSegment=t.findOrCreateTrack=t.findTracksOfVariant=t.createTrack=t.findOrCreateSelectionGroup=t.createSelectionGroup=void 0;const r=n(9062),s=n(4528),a=n(3219);function i(e,t){const{Tracks:{isVideoTrack:n,isAudioTrack:s},SelectionGroups:{createAudioSelectionGroupAtom:a,createVideoSelectionGroupAtom:i,createUnknownSelectionGroupAtom:o},CodecMap:{copyCodecs:c},createArrayAtom:u}=e.registry.get(r.ComponentName.CoreStateAtoms),l=t.sequenceNumber;return n(t)?i(e,{codecs:c(e,t.codecs),tracks:u(e,[]),sequenceNumber:l}):s(t)?a(e,{codecs:c(e,t.codecs),language:t.language,tracks:u(e,[]),sequenceNumber:l}):o(e,{tracks:u(e,[]),sequenceNumber:l})}function o(e,t,n){const i=e.registry.get(r.ComponentName.CoreStateAtoms),{isAudioSelectionGroup:o,isVideoSelectionGroup:c}=i.SelectionGroups,{isVideoTrack:u,isAudioTrack:l}=i.Tracks,{findIndex:d,findIndexWithPivot:m}=e.registry.get(r.ComponentName.Utils).Arrays.Sorted,g=e=>e.sequenceNumber,p=e=>l(t)&&o(e)?t.language===e.language:!(!u(t)||!c(e))||!(0,a.isMediaTrack)(t)&&!(0,s.isMediaSelectionGroup)(e),f=d(n,t.sequenceNumber,g);if(f>-1&&p(n[f]))return n[f];const T=m(n,f,t.sequenceNumber,g,p);return T>-1?n[T]:void 0}function c(e,t,n){var r;return null!==(r=o(e,t,n))&&void 0!==r?r:i(e,t)}function u(e,t,n,s,i=l(e,n,t)[0]){const{Tracks:{createUnknownTrackAtom:o,createAudioTrackAtom:c,createVideoTrackAtom:u,isAudioTrack:d},CodecMap:{copyCodecs:m},createArrayAtom:g}=e.registry.get(r.ComponentName.CoreStateAtoms);return i&&(0,a.isMediaTrack)(i)?d(i)?c(e,{id:i.id,uri:t,sequenceNumber:s,codecs:m(e,i.codecs),language:i.language,segments:g(e,[]),bitrate:i.bitrate}):u(e,{id:i.id,uri:t,resolution:i.resolution,sequenceNumber:s,codecs:m(e,i.codecs),segments:g(e,[]),bitrate:i.bitrate}):o(e,{id:"-1",sequenceNumber:s})}function l(e,t,n){const{Tracks:{isMediaTrack:s}}=e.registry.get(r.ComponentName.CoreStateAtoms);return t.tracks.filter((e=>s(e)&&e.uri===n))}function d(e,t,n,r,s=l(e,r,t)[0]){var a;return null!==(a=m(e,t,n,r))&&void 0!==a?a:u(e,t,r,n.discontinuitySequenceNumber,s)}function m(e,t,n,s){const{Tracks:{isMediaTrack:a}}=e.registry.get(r.ComponentName.CoreStateAtoms);return s.tracks.find((e=>e.sequenceNumber===n.discontinuitySequenceNumber&&a(e)&&e.uri===t))}function g(e,t){return e.segments.some((e=>e.url===t.uri))}function p(e,t){var n;if(void 0===e.byteRange||void 0===t.byterange)return!0;const r=null!==(n=t.byterange.offset)&&void 0!==n?n:0,s=e.byteRange.start===r,a=e.byteRange.end===r+t.byterange.length;return s&&a}function f(e,t){return e===t}function T(e,t){return f(e.url,t.uri)&&p(e,t)}t.createSelectionGroup=i,t.findOrCreateSelectionGroup=c,t.createTrack=u,t.findTracksOfVariant=l,t.findOrCreateTrack=d,t.hasSegment=g,t.isMatchingSegment=T},1784:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignSelectionGroups=t.removeInfinityTrack=t.extractVodSegments=void 0;const r=n(9062),s=n(4528),a=n(3219),i=n(7813),o=n(2565);function c(e,t,n,s,a){const c=e.registry.get(r.ComponentName.Utils),d=new Map;let m=0,g=-1;const p=[],f=[],T=[];let h;for(let r=0;r<t.length;r++){const u=t[r];if(g!==u.discontinuitySequenceNumber||!h){g=u.discontinuitySequenceNumber;const t=(0,o.findOrCreateTrack)(e,n,u,a);h=t,a.tracks.includes(t)||p.push(t)}const l=h;if(u.uri=(0,i.buildAbsoluteSegmentUrl)(s,n,u.uri,c),!(0,o.hasSegment)(l,u)){const t=(0,i.maybeCreateInitSegment)(e,u,d,s,n,l),r=(0,i.createSegment)(e,u,m,l,t);m+=u.duration,e.effects.state.dispatch(l.segments.addIfNew,r)}}l(e,p,f,T,a);const y=e=>e.sequenceNumber;e.effects.state.dispatch(a.tracks.insertSorted,y,...p),e.effects.state.dispatch(a.selectionGroups.insertSorted,y,...T),e.effects.state.dispatch(a.duration.setValue,m),u(e,a,n)}function u(e,t,n){const{isMediaTrack:s}=e.registry.get(r.ComponentName.CoreStateAtoms).Tracks,a=t.tracks.filter((e=>s(e)&&e.uri===n&&e.sequenceNumber===1/0)),{state:i}=e.effects;for(const e of a)i.dispatch(e.selectionGroup.tracks.remove,e),i.dispatch(t.tracks.remove,e),0===e.selectionGroup.tracks.length&&i.dispatch(t.selectionGroups.remove,e.selectionGroup)}function l(e,t,n,r,i){for(const c of t){const t=(0,o.findOrCreateSelectionGroup)(e,c,i.selectionGroups);if(e.effects.state.dispatch(t.tracks.addIfNew,c),e.effects.state.dispatch(c.setSelectionGroup,t),(0,s.isMediaSelectionGroup)(t)&&(0,a.isMediaTrack)(c))for(const[n,r]of c.codecs)e.effects.state.dispatch(t.setCodecs,n,r);n.includes(t)||n.push(t),i.selectionGroups.includes(t)||r.push(t)}}t.extractVodSegments=c,t.removeInfinityTrack=u,t.assignSelectionGroups=l},8262:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.mediaToTrack=void 0;const r=n(9062),s=n(605),a=n(7831),i=n(5756);function o(e,t,n,s){const a=e.registry.get(r.ComponentName.Utils);switch(t.attributes.TYPE){case"AUDIO":return(0,i.isMediaTagWithUri)(t)?c(e,t,n,s,a):l(e,s);case"SUBTITLES":return(0,i.isMediaTagWithUri)(t)?u(e,s,t):l(e,s);default:return l(e,s)}}function c(e,t,n,r,i){var o;const{Url:{removeLastPathPart:c,concatUrlParts:u},Codecs:{extractCodecMap:l}}=i,d=c(n);return(0,a.createAudioTrackAtom)(e,{id:String(r),sequenceNumber:1/0,uri:u(d,t.attributes.URI),segments:(0,s.createArrayAtom)(e,[]),codecs:l(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),language:t.attributes.LANGUAGE||"unknown",bitrate:-1})}function u(e,t,n){var r;return(0,a.createSubtitleTrackAtom)(e,{id:String(t),language:null!==(r=n.attributes.LANGUAGE)&&void 0!==r?r:"whatever"})}function l(e,t){return(0,a.createUnknownTrackAtom)(e,{id:String(t),sequenceNumber:1/0,segments:(0,s.createArrayAtom)(e,[])})}t.mediaToTrack=o},3012:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.tracksToSelectionGroups=void 0;const r=n(9062),s=n(605),a=n(5783),i=n(4528),o=n(3219);function c(e,t){const n=(0,s.createArrayAtom)(e,[]);for(const r of t)u(e,r,n);return n}function u(e,t,n){const{state:i}=e.effects,{Tracks:{isMediaTrack:o,isSubtitleTrack:c}}=e.registry.get(r.ComponentName.CoreStateAtoms);if(!o(t)&&!c(t)){const r=(0,s.createArrayAtom)(e,[t]),o=(0,a.createUnknownSelectionGroupAtom)(e,{tracks:r,sequenceNumber:1/0});return i.dispatch(n.add,o),void i.dispatch(t.setSelectionGroup,o)}m(e,t,n)}function l(e,t,n){const{state:r}=e.effects;r.dispatch(n.tracks.add,t),(0,o.isMediaTrack)(t)&&(0,i.isMediaSelectionGroup)(n)&&f(e,n.codecs,t.codecs),r.dispatch(t.setSelectionGroup,n)}function d(e,t,n){const{state:r}=e.effects,s=g(e,t);r.dispatch(n.add,s),r.dispatch(t.setSelectionGroup,s)}function m(e,t,n){const r=p(e,t,n);r?l(e,t,r):d(e,t,n)}function g(e,t){const{Tracks:{isVideoTrack:n,isAudioTrack:i},CodecMap:{copyCodecs:o}}=e.registry.get(r.ComponentName.CoreStateAtoms),c=(0,s.createArrayAtom)(e,[t]);return n(t)?(0,a.createVideoSelectionGroupAtom)(e,{codecs:o(e,t.codecs),tracks:c,sequenceNumber:1/0}):i(t)?(0,a.createAudioSelectionGroupAtom)(e,{codecs:o(e,t.codecs),tracks:c,language:t.language,sequenceNumber:1/0}):(0,a.createSubtitleSelectionGroupAtom)(e,{tracks:c,language:t.language})}function p(e,t,n){const{Tracks:{isVideoTrack:s,isAudioTrack:a},SelectionGroups:{isVideoSelectionGroup:i,isAudioSelectionGroup:o}}=e.registry.get(r.ComponentName.CoreStateAtoms),c=[[s,i],[a,o]];for(const[e,r]of c)if(e(t))for(const t of n)if(r(t)&&t.tracks.every(e))return t}function f(e,t,n){const{addCodecs:s}=e.registry.get(r.ComponentName.CoreStateAtoms).CodecMap;for(const[r,a]of n)s(e,t,r,a)}t.tracksToSelectionGroups=c},7977:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.variantToTrack=void 0;const r=n(9062),s=n(605),a=n(7831);function i(e,t,n,r){return t.attributes.AUDIO||t.attributes.RESOLUTION?o(e,t,n,r):c(e,t,r)}function o(e,t,n,i){var o,c;const{extractCodecMap:u}=e.registry.get(r.ComponentName.Utils).Codecs,{Url:{removeLastPathPart:l,concatUrlParts:d}}=e.registry.get(r.ComponentName.Utils),m=l(n);return(0,a.createVideoTrackAtom)(e,{id:String(i),sequenceNumber:1/0,uri:d(m,t.uri),segments:(0,s.createArrayAtom)(e,[]),codecs:u(e,null!==(o=t.attributes.CODECS)&&void 0!==o?o:""),bitrate:t.attributes.BANDWIDTH,resolution:null!==(c=t.attributes.RESOLUTION)&&void 0!==c?c:{width:-1,height:-1}})}function c(e,t,n){return(0,a.createUnknownTrackAtom)(e,{id:String(n),sequenceNumber:1/0,segments:(0,s.createArrayAtom)(e,[])})}t.variantToTrack=i}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,n),a.exports}return n(8622)})()));
@@ -1,10 +1,10 @@
1
1
  /*******************************************************************************
2
2
  * This source code is the proprietary property of Bitmovin, Inc. Unauthorized
3
3
  * copying, distribution, or use of this code, or any portion thereof, is
4
- * strictly prohibited. © 2023 Bitmovin, Inc. All rights reserved. This
4
+ * strictly prohibited. © 2024 Bitmovin, Inc. All rights reserved. This
5
5
  * source code is subject to the terms and conditions of the accompanying
6
6
  * license agreement.
7
7
  *
8
- * Bitmovin Player X Version 10.0.0-beta.12
8
+ * Bitmovin Player X Version 10.0.0-beta.13
9
9
  *******************************************************************************/
10
10
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.hls=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx.hls=t())}(self,(()=>(()=>{"use strict";var e={3898:(e,t)=>{function n(e,t,n){const r=t;return r._name=e,{onAdd:r,dependencies:n}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=n},8465:(e,t)=>{function n(e,t){const n=t;return n._name=e,n}function r(e){return(...t)=>{const[r,a]=e(...t);return n(r,a)}}Object.defineProperty(t,"__esModule",{value:!0}),t.createTaskClosure=t.createTask=void 0,t.createTask=n,t.createTaskClosure=r},9062:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentName=void 0,function(e){e.Logger="logger",e.Constants="constants",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.SourceState="source-state",e.StreamTimeline="stream-timeline",e.Utils="utils",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms",e.NetworkAtom="network-atom",e.SourceThread="source-thread",e.VideoElementUtils="video-element-utils",e.Metrics="metrics",e.AdaptationTask="adaptation-task",e.PlayerConfig="player-config"}(t.ComponentName||(t.ComponentName={}))},605:(e,t)=>{function n(e,t){return e.length===t.length&&e.every(((e,n)=>e===t[n]))}function r(e,...t){return 0!==t.length&&(e.push(...t),!0)}function a(e,...t){const n=e.length;for(const n of t)e.includes(n)||e.push(n);return n===e.length}function s(e,t,...n){return 0!==n.length&&(e.splice(t,0,...n),!0)}function o(e,t,n){let r=0,a=e.length;for(;r<a;){const s=r+a>>>1;n(e[s])<n(t)?r=s+1:a=s}return r}function i(e,t,...n){const r=e.length;if(0===n.length)return!1;if(0===e.length)return e.push(...n.sort(((e,n)=>t(e)-t(n)))),!0;for(const r of n){const n=t(r),a=t(e[0]);if(t(e[e.length-1])<=n)e.push(r);else if(n<=a)e.unshift(r);else{const n=o(e,r,t);e.splice(n,0,r)}}return e.length!==r}function c(e,...t){let n=!1;for(const r of t){const t=e.indexOf(r);t<0||(n=!0,e.splice(t,1))}return n}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function l(e,t){if(n(e,t))return!1;const r=u(e);return t.forEach((t=>e.push(t))),r||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const f=(e,t=[])=>{const n={add:r,insert:s,insertSorted:i,remove:c,clear:u,set:l,addIfNew:a};return e.effects.state.create(t,n)};t.createArrayAtom=f},5054:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createPrimitiveAtom=void 0;const n=e=>({value:e});function r(e,t){return e.value!==t&&(e.value=t,!0)}function a(e,t){return e.effects.state.create(n(t),{setValue:r})}t.createPrimitiveAtom=a},2161:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createStreamAtom=t.StreamType=void 0;const r=n(4),a=n(605),s=n(5054),{createTransient:o}=r.default;function i(e,t){return e.type!==t&&(e.type=t,!0)}!function(e){e.Live="live",e.VoD="vod"}(t.StreamType||(t.StreamType={}));const c=(e,t)=>e.effects.state.create({tracks:(0,a.createArrayAtom)(e,[]),selectionGroups:(0,a.createArrayAtom)(e,[]),type:t,duration:(0,s.createPrimitiveAtom)(e,1/0),onPlaybackTimeMismatch:o(e),onDurationMismatch:o(e)},{setType:i});t.createStreamAtom=c},4:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function a(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function o(e){try{c(r.next(e))}catch(e){s(e)}}function i(e){try{c(r.throw(e))}catch(e){s(e)}}function c(e){e.done?n(e.value):a(e.value).then(o,i)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=n(8465),s=n(9062);class o extends Error{constructor(){super("Aborted from map-subscribe"),this.name="MapUnsubscribedError"}}const i=(e,t,n)=>(0,a.createTask)(`map-subscribe-${n.name}`,((r,a)=>{var s;const i=Array.from(t.keys()),c=i.filter((e=>!r.includes(e))),u=r.filter((e=>!i.includes(e)));for(const e of c)null===(s=t.get(e))||void 0===s||s.abort(new o),t.delete(e);for(const r of u){const a=e.fork(n,r);t.set(r,a),a.finally((()=>t.delete(r))).catch((()=>{}))}}));function c(e,t,n){const r=new Map,a=i(e,r,n),s=e.effects.state.subscribe(e,t,a,(e=>e instanceof o));return()=>{s();for(const[e,t]of r)t.abort(new o)}}function u(e,t){const n=[],s=[];let o=!1;const i=(0,a.createTask)("sequence-task",t);function c(){return r(this,void 0,void 0,(function*(){if(o)return;const t=n.shift();void 0!==t&&(o=!0,yield e.fork(i,t).catch((()=>{})),o=!1,s.push(t),c().catch((()=>{})))}))}return{addToQueue:e=>{s.includes(e)||n.includes(e)||(n.push(e),c().catch((()=>{})))}}}function l(e,t,n){Object.defineProperty(e,t,{get:()=>n(e)})}function f(e,t,n,s=(()=>!1)){let i;const c=e=>s(e)||e instanceof o,u=(0,a.createTask)(`subscribe-${n.name}-once`,((e,t)=>r(this,void 0,void 0,(function*(){t.fork(n,e,c),i(!1)}))));return i=e.effects.state.subscribe(e,t,u,c)}function d(e){const{state:t}=e.effects,n=(e,t)=>(e.value=t,!0);return t.create({value:void 0},{trigger:n})}function m(e,t){let n=()=>{};const{abortable:r}=e.effects,{subscribeOnce:o}=e.registry.get(s.ComponentName.Utils).State,i=r((e=>n=e)),c=(0,a.createTask)("wait-for-transient",(({value:e},t)=>n(e)));return i.unsubscribe=o(e,t,c),i}t.default={mapSubscribe:c,subscribeOnce:f,waitFor:m,deriveFrom:l,createTransient:d,sequencererere:u}},1756:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsParsingExportNames=t.PlaylistType=t.TagType=t.MetadataType=t.HlsEncryptionMethod=void 0,function(e){e.NONE="NONE",e.AES_128="AES-128",e.SAMPLE_AES="SAMPLE-AES"}(t.HlsEncryptionMethod||(t.HlsEncryptionMethod={})),function(e){e.CUETAG="CUETAG",e.DATERANGE="DATERANGE",e.CUSTOM="CUSTOM",e.SCTE="SCTE",e.ID3="ID3",e.EMSG="EMSG"}(t.MetadataType||(t.MetadataType={})),function(e){e.M3u="m3u",e.AllowCache="allow-cache",e.ByteRange="byterange",e.EndList="endlist",e.Inf="inf",e.Key="key",e.MediaSequence="media-sequence",e.DiscontinuitySequence="discontinuity-sequence",e.PlaylistType="playlist-type",e.StreamInf="stream-inf",e.IframeStreamInf="i-frame-stream-inf",e.Media="media",e.Start="start",e.Discontinuity="discontinuity",e.DateTime="date-time",e.TargetDuration="targetduration",e.Map="map",e.IndependentSegments="independent-segments",e.SessionData="session-data",e.SessionKey="session-key",e.CueOut="cue-out",e.CueOutCont="cue-out-cont",e.CueIn="cue-in",e.Scte35="scte35",e.DateRange="daterange",e.Version="version",e.Uri="uri",e.Unknown="unknown"}(t.TagType||(t.TagType={})),function(e){e.Vod="VOD",e.Event="EVENT"}(t.PlaylistType||(t.PlaylistType={})),function(e){e.ParsingTask="hls-parsing-task",e.ParsingFunctions="hls-parsing-functions",e.Errors="hls-parsing-errors"}(t.HlsParsingExportNames||(t.HlsParsingExportNames={}))},9357:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActivePlaylistAtom=void 0;const r=n(9062),a=(e,t)=>{const{createArrayAtom:n}=e.registry.get(r.ComponentName.CoreStateAtoms);return n(e,t)};t.createActivePlaylistAtom=a},1710:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveTrackSubscriber=void 0;const r=n(8465),a=n(9062);t.ActiveTrackSubscriber=(0,r.createTaskClosure)((({activePlaylistsAtom:e})=>["active-track-subscriber",(t,n)=>{const{state:r}=n.effects,{isMediaTrack:s}=n.registry.get(a.ComponentName.CoreStateAtoms).Tracks,o=[];for(const e of t)s(e)&&(void 0===e.uri||o.includes(e.uri)||o.push(e.uri));const i=o.filter((t=>!e.includes(t))),c=e.filter((e=>!o.includes(e)));r.dispatch(e.add,...i),r.dispatch(e.remove,...c)}]))},8679:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function a(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function o(e){try{c(r.next(e))}catch(e){s(e)}}function i(e){try{c(r.throw(e))}catch(e){s(e)}}function c(e){e.done?n(e.value):a(e.value).then(o,i)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.FetchPlaylistTask=void 0;const a=n(8465),s=n(9062),o=n(9266),i=n(1756);t.FetchPlaylistTask=(0,a.createTask)("fetch-playlist",((e,t)=>r(void 0,void 0,void 0,(function*(){const n=t.registry.get(s.ComponentName.NetworkTask),r=t.registry.get(i.HlsParsingExportNames.ParsingTask),a={url:e,method:o.HttpRequestMethod.GET,responseType:o.HttpResponseType.TEXT},c=yield t.fork(n,[a,void 0]);return t.fork(r,c.body)}))))},297:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsPackage=void 0;const r=n(3898),a=n(9062),s=n(1756),o=n(5756),i=n(9357),c=n(1710),u=n(8232),l=n(520),f=n(3202),d=n(8230);t.HlsPackage=(0,r.createPackage)("hls-package",((e,t)=>{const{StateEffectFactory:n,EventListenerEffectFactory:r}=t.registry.get(a.ComponentName.CoreEffects),s=t.using(n).using(r),{state:o}=s.effects,m=s.registry.maybeSetAndGet(d.HlsPackageExportNames.HlsManifestLoadTask,u.ManifestLoadTask),p=t.registry.get(a.ComponentName.SourceState),g=(0,i.createActivePlaylistAtom)(s,[]),y=(0,l.PlaylistUpdaterOrchestrator)(s,new Map,p.url,g);(0,f.setUpSegmentTimingMismatchHandling)(s),s.fork(m,p),o.subscribe(s,p.activeTracks,(0,c.ActiveTrackSubscriber)({activePlaylistsAtom:g})),o.subscribe(s,g,y)}),[a.ComponentName.NetworkTask,a.ComponentName.Utils,a.ComponentName.Logger,a.ComponentName.CoreEffects,a.ComponentName.SourceState,s.HlsParsingExportNames.ParsingFunctions,s.HlsParsingExportNames.ParsingTask,o.HlsTranslationExportNames.HlsVariantTranslator,o.HlsTranslationExportNames.HlsMultivariantTranslator]),t.default=t.HlsPackage},8232:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function a(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function o(e){try{c(r.next(e))}catch(e){s(e)}}function i(e){try{c(r.throw(e))}catch(e){s(e)}}function c(e){e.done?n(e.value):a(e.value).then(o,i)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ManifestLoadTask=void 0;const a=n(8465),s=n(1756),o=n(5756),i=n(8679),c=n(8230);t.ManifestLoadTask=(0,a.createTask)(c.HlsPackageExportNames.HlsManifestLoadTask,((e,t)=>r(void 0,void 0,void 0,(function*(){const{isMultivariantPlaylist:n}=t.registry.get(s.HlsParsingExportNames.ParsingFunctions),r=t.registry.get(o.HlsTranslationExportNames.HlsMultivariantTranslator),a=t.registry.get(o.HlsTranslationExportNames.HlsVariantTranslator),c=e.url,u=yield t.fork(i.FetchPlaylistTask,c);return n(u)?t.fork(r,[u,c,e.stream]):t.fork(a,[u,c,c,e.stream,new Map])}))))},2086:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function a(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function o(e){try{c(r.next(e))}catch(e){s(e)}}function i(e){try{c(r.throw(e))}catch(e){s(e)}}function c(e){e.done?n(e.value):a(e.value).then(o,i)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.PlaylistLoadTask=void 0;const a=n(8465),s=n(9062),o=n(2161),i=n(1756),c=n(5756),u=n(8679);function l(e,t){const n=t.registry.get(s.ComponentName.SourceState).stream,{Tracks:{isMediaTrack:r}}=t.registry.get(s.ComponentName.CoreStateAtoms),a=n.tracks.filter((t=>r(t)&&t.uri===e));if(!a.length)return!1;const i=n.type===o.StreamType.VoD,c=a.some((e=>e.segments.length));return!(i&&c)}function f(e){var t,n;return e.targetDuration?e.targetDuration:null!==(n=null===(t=e.segments[e.segments.length-1])||void 0===t?void 0:t.duration)&&void 0!==n?n:2}t.PlaylistLoadTask=(0,a.createTaskClosure)(((e,t)=>["playlist-loader",(n,a)=>r(void 0,void 0,void 0,(function*(){const r=a.registry.get(s.ComponentName.Logger);if(!l(n,a))return void r.log("Ignoring playlist load request, already loaded");let o;const d=new Map;do{r.log("Loading playlist",n);const{isMediaPlaylist:t}=a.registry.get(i.HlsParsingExportNames.ParsingFunctions),l=a.registry.get(s.ComponentName.SourceState),m=a.registry.get(c.HlsTranslationExportNames.HlsVariantTranslator),p=yield a.fork(u.FetchPlaylistTask,n);if(!t(p))throw new Error("Manifest is not a variant playlist");o=p,yield a.fork(m,[o,n,e,l.stream,d]),o.endList||(yield a.effects.timeout(a.abortSignal,1e3*f(o)))}while(!o.endList&&!a.abortSignal.aborted&&t.includes(n))}))]))},520:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PlaylistUpdaterOrchestrator=void 0;const r=n(8465),a=n(2086);t.PlaylistUpdaterOrchestrator=(0,r.createTaskClosure)(((e,t,n,r)=>["active-playlist-url-subscriber",(s,o)=>{for(const o of s){if(t.has(o))continue;const s=e.fork((0,a.PlaylistLoadTask)(n,r),o);t.set(o,s),s.finally((()=>t.delete(o))).catch((()=>{}))}}]))},3202:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setUpSegmentTimingMismatchHandling=void 0;const r=n(8465),a=n(9062);function s(e,t,n,r){const{state:s}=e.effects,{isDataOrSelfInitSegment:o}=e.registry.get(a.ComponentName.CoreStateAtoms).Segments;for(const e of t.segments){if(!o(e))continue;const t=e.segmentTiming;if(t.parsedPlaybackTime<n)continue;const a=t.parsedPlaybackTime-r;s.dispatch(t.manifestParsed,t.parsedDuration,a)}}function o(e,t,n,r,o){const{state:i}=e.effects,c=e.registry.get(a.ComponentName.SourceState),{isMediaTrack:u}=e.registry.get(a.ComponentName.CoreStateAtoms).Tracks,l=n.segmentTiming,{parsedPlaybackTime:f}=l,d=f-o,m=n.track.segments.findIndex((e=>e===n)),p=n.track.segments[m+1];if(i.dispatch(l.manifestParsed,l.parsedDuration,d),!p)return;const g=p.segmentTiming.parsedPlaybackTime;for(const n of c.stream.tracks)u(n)&&n.uri===t&&!r.includes(n)&&s(e,n,g,o)}const i=(0,r.createTaskClosure)((e=>["playback-time-mismatch-handler",({value:t},n)=>{if(void 0===t)return;const{track:r,expectedTime:s,actualTime:i,segment:c}=t,{isMediaTrack:u}=n.registry.get(a.ComponentName.CoreStateAtoms).Tracks;if(!u(r)||void 0===r.uri)return;const l=i-s;n.registry.get(a.ComponentName.Logger).log(`Encountered playback time mismatch of ${l.toFixed(2)}s, correcting...`),n.effects.state.dispatch(e.add,r),o(n,r.uri,c,e,l)}])),c=(0,r.createTask)("duration-mismatch-handler",(({value:e},t)=>{if(void 0===e)return;const{state:n}=t.effects,r=t.registry.get(a.ComponentName.SourceState),{track:s,segment:o,expectedDuration:i,actualDuration:c}=e;if(c<0)return;const u=i-c,{isMediaTrack:l}=t.registry.get(a.ComponentName.CoreStateAtoms).Tracks;if(!l(s))return;const f=s.uri,d=s.sequenceNumber,m=o.segmentTiming.parsedPlaybackTime,p=e=>e.uri===f,g=[];t.registry.get(a.ComponentName.Logger).log(`Encountered mismatching segment duration (${i} → ${c}), correcting...`);for(const e of r.stream.tracks)!l(e)||!p(e)||e.sequenceNumber<=d||g.push(e);n.dispatch(o.segmentTiming.manifestParsed,c,o.segmentTiming.parsedPlaybackTime);for(const e of s.segments){const{parsedPlaybackTime:t,parsedDuration:r}=e.segmentTiming;if(t<=m)continue;const a=t-u;n.dispatch(e.segmentTiming.manifestParsed,r,a)}for(const e of g)for(const t of e.segments){const{parsedPlaybackTime:e,parsedDuration:r}=t.segmentTiming,a=e-u;n.dispatch(t.segmentTiming.manifestParsed,r,a)}})),u=(0,r.createTaskClosure)((e=>["track-subscriber",(t,n)=>{const r=[];for(const n of e)t.includes(n)||r.push(n);n.effects.state.dispatch(e.remove,...r)}]));function l(e){const{state:t}=e.effects,{createArrayAtom:n}=e.registry.get(a.ComponentName.CoreStateAtoms),r=n(e,[]),s=e.registry.get(a.ComponentName.SourceState);t.subscribe(e,s.stream.onPlaybackTimeMismatch,i(r)),t.subscribe(e,s.stream.onDurationMismatch,c),t.subscribe(e,s.stream.tracks,u(r))}t.setUpSegmentTimingMismatchHandling=l},8230:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HlsPackageExportNames=void 0,function(e){e.HlsManifestLoadTask="hls-manifest-load-task"}(t.HlsPackageExportNames||(t.HlsPackageExportNames={}))},5756:(e,t)=>{function n(e){return void 0!==e.attributes.URI}function r(e){return e.attributes.AUDIO}function a(e){return e.attributes.VIDEO}Object.defineProperty(t,"__esModule",{value:!0}),t.HlsTranslationExportNames=t.getReferencedVideoGroupId=t.getReferencedAudioGroupId=t.isMediaTagWithUri=void 0,t.isMediaTagWithUri=n,t.getReferencedAudioGroupId=r,t.getReferencedVideoGroupId=a,function(e){e.HlsMultivariantTranslator="hls-multivariant-translator",e.HlsVariantTranslator="hls-variant-translator"}(t.HlsTranslationExportNames||(t.HlsTranslationExportNames={}))},9266:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HttpRequestMethod=t.HttpResponseType=t.HttpRequestType=void 0,function(e){e.MANIFEST_HLS_MULTIVARIANT="manifest/hls/multivariant",e.MANIFEST_HLS_VARIANT="manifest/hls/variant",e.MEDIA_AUDIO="media/audio",e.MEDIA_VIDEO="media/video",e.MEDIA_SUBTITLES="media/subtitles",e.MEDIA_THUMBNAILS="media/thumbnails",e.MEDIA_SEGMENTINDEX="media/segmentindex",e.KEY_HLS_AES="key/hls/aes",e.TIME_SYNC="time/sync"}(t.HttpRequestType||(t.HttpRequestType={})),function(e){e.ARRAYBUFFER="arraybuffer",e.BLOB="blob",e.DOCUMENT="document",e.JSON="json",e.TEXT="text"}(t.HttpResponseType||(t.HttpResponseType={})),function(e){e.GET="GET",e.POST="POST",e.HEAD="HEAD"}(t.HttpRequestMethod||(t.HttpRequestMethod={}))}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}return n(297)})()));
@@ -1,10 +1,10 @@
1
1
  /*******************************************************************************
2
2
  * This source code is the proprietary property of Bitmovin, Inc. Unauthorized
3
3
  * copying, distribution, or use of this code, or any portion thereof, is
4
- * strictly prohibited. © 2023 Bitmovin, Inc. All rights reserved. This
4
+ * strictly prohibited. © 2024 Bitmovin, Inc. All rights reserved. This
5
5
  * source code is subject to the terms and conditions of the accompanying
6
6
  * license agreement.
7
7
  *
8
- * Bitmovin Player X Version 10.0.0-beta.12
8
+ * Bitmovin Player X Version 10.0.0-beta.13
9
9
  *******************************************************************************/
10
10
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.network=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx.network=t())}(self,(()=>(()=>{"use strict";var e={5775:function(e,t){var r=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.isAbortable=t.sequence=t.rightCompose=t.race=t.forEach=t.map=t.abortAndWaitForExit=t.waitForExit=t.rejectAfter=t.resolveAfter=t.linkAbortSignal=t.Abortable=void 0;class n{constructor(e,t=new AbortController){this.abortController=t;let r=()=>{};const n=new Promise(((n,o)=>{r=()=>t.signal.removeEventListener("abort",s);const s=()=>{r(),o(t.signal.reason)},i=e=>{t.signal.aborted?o(t.signal.reason):n(e)},a=e=>{t.abort(e),o(e)};t.signal.addEventListener("abort",s);try{const r=e(i,a,t);r instanceof Promise&&r.catch(o)}catch(e){o(e)}}));this.boundThen=n.then.bind(n),this.boundCatch=n.catch.bind(n),this.boundFinally=n.finally.bind(n),this.finally(r).catch((()=>{}))}abort(e){this.abortController.abort(e)}get then(){return this.boundThen}get catch(){return this.boundCatch}get finally(){return this.boundFinally}get[Symbol.toStringTag](){return"Abortable"}static resolve(e){return new n((t=>t(e)))}static reject(e){return new n(((t,r)=>r(e)))}}function o(e,t){const r=()=>{t.removeEventListener("abort",r),e.abort(t.reason)};return t.addEventListener("abort",r),e.finally((()=>t.removeEventListener("abort",r))).catch((()=>{})),e}function s(e,t,r){try{const s=t(r);return o(m(s)?s:n.resolve(s),e)}catch(e){return n.reject(e instanceof Error?e:new Error(String(e)))}}function i(e,t){return new n(((n,s,i)=>{o(e,i.signal).then((e=>r(this,void 0,void 0,(function*(){yield t(),i.signal.aborted?s(i.signal.reason):n(e)})))).catch((e=>s(e)))}))}function a(e,t){const o=new n(((n,o)=>{e.then((e=>n(e))).catch((e=>r(this,void 0,void 0,(function*(){yield t(e),o(e)}))))}));return o.abort=t=>{e.abort(t)},o}function c(e){return e.catch((()=>{})).then((()=>{}))}function u(e,t){return t.abort(e),c(t)}function d(e,t){return new n(((r,n,o)=>{const s=[];let i=Promise.resolve();e.forEach((e=>i=i.then((()=>{o.signal.aborted?n(o.signal.reason):s.push(t(e))})))),i=i.then((()=>r(s))).catch(n)}))}function h(e,t){return new n(((r,n,s)=>{o(d(e,t),s.signal).then((()=>r())).catch(n)}))}function l(e){return new n(((t,r,n)=>Promise.race(e.map((e=>o(e,n.signal)))).then((e=>t(e))).catch((e=>r(e)))))}function f(e,t,s){return o(new n(((e,n,i)=>{o(t,i.signal).then((t=>r(this,void 0,void 0,(function*(){i.signal.aborted?n(i.signal.reason):o(s(t),i.signal).then(e).catch(n)})))).catch(n)})),e)}function p(e,...t){if(1===t.length)return r=>s(e,t[0],r);const[r,...n]=t;return t=>f(e,s(e,r,t),p(e,...n))}function m(e){return Boolean(e)&&"object"==typeof e&&null!==e&&"abort"in e&&"function"==typeof e.abort}t.Abortable=n,t.linkAbortSignal=o,t.resolveAfter=i,t.rejectAfter=a,t.waitForExit=c,t.abortAndWaitForExit=u,t.map=d,t.forEach=h,t.race=l,t.rightCompose=f,t.sequence=p,t.isAbortable=m},8581:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkError=void 0;class r extends Error{constructor(e){super(e),this.name="FrameworkError"}}t.FrameworkError=r},3898:(e,t)=>{function r(e,t,r){const n=t;return n._name=e,{onAdd:n,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},466:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isTask=t.bindTask=void 0;const n=r(5775);function o(e,t){const r=[r=>t(r,e)];return t=>(0,n.sequence)(e.abortSignal,...r)(t)}function s(e){return null!=e&&"function"==typeof e&&"_name"in e}t.bindTask=o,t.isTask=s},8465:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function n(e){return(...t)=>{const[n,o]=e(...t);return r(n,o)}}Object.defineProperty(t,"__esModule",{value:!0}),t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n},2955:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.Thread=t.ThreadState=t.ThreadDisposedError=t.ThreadTerminationError=void 0;const o=r(5775),s=r(8581),i=r(466),a=r(438),c=r(4719),u=r(4081);class d extends s.FrameworkError{constructor(e,t){super(null==e?void 0:e.message),this.name="ThreadTerminationError",this.threadStack=[],this.updateThreadStack(e,t),this.updateStack(e,t)}updateThreadStack(e,t){void 0!==t&&this.threadStack.push(`Task<${t}>`),void 0!==e&&e instanceof d&&this.threadStack.unshift(...e.threadStack)}getTaskStack(e,t){return t&&e?`\nin Task<${t}> with root cause: ${e.stack}`:t?`\nin Task<${t}>`:e?`\nwith root cause: ${e.stack}`:"\nin unknown Task"}updateStack(e,t){var r;this.stack=(null!==(r=this.stack)&&void 0!==r?r:"")+this.getTaskStack(e,t)}}t.ThreadTerminationError=d;class h extends s.FrameworkError{constructor(e){super(e),this.name="ThreadDisposedError"}}var l;t.ThreadDisposedError=h,function(e){e.Idle="idle",e.Disposing="disposing",e.Disposed="disposed"}(l||(t.ThreadState=l={}));class f extends u.ThreadEventBus{constructor(e){super(e),this.waitForChildren=()=>{const e=this.getChildAbortables().map(o.waitForExit);return Promise.all(e).then((()=>{if(0!==this.getChildAbortables().length)return this.waitForChildren()}))},this.handleError=e=>n(this,void 0,void 0,(function*(){var t;e instanceof d||(yield this.abortAndWaitForChildren(e),this.abortController.abort(e),null===(t=this.abortable)||void 0===t||t.abort(e),this.dispose())})),this.abortAndWaitForChildren=(e=new d)=>n(this,void 0,void 0,(function*(){var t;if(this.threadState=l.Disposing,0===this.children.size)return;const r=[];for(const n of this.children){const s=(0,o.abortAndWaitForExit)(e,null!==(t=n.abortable)&&void 0!==t?t:o.Abortable.resolve());s.then((()=>{this.children.delete(n)})),r.push(s)}yield Promise.all(r),yield this.abortAndWaitForChildren(e)})),this.dispose=()=>{this.threadState=l.Disposed,this.children.clear(),this.disposeEventBus()},this.id=(0,c.generateId)(),this.threadState=l.Idle,this.executionDeferred=new a.Deferred,this.children=new Set,this.abortController=new AbortController;const t=()=>this.executionDeferred.reject(this.abortController.signal.reason);this.removeAbortListener=()=>this.abortController.signal.removeEventListener("abort",t),this.abortController.signal.addEventListener("abort",t),this.executionDeferred.promise.finally(this.removeAbortListener).catch((()=>{}))}get onExit(){return this.executionDeferred.promise}get state(){return this.threadState}createChild(e,t=(()=>!1)){if(this.threadState===l.Disposed)throw new h(`Calling fork on already disposed thread for ${e}`);const r=new f(this.eventBus);return this.children.add(r),r.onExit.catch((e=>t(e)?Promise.resolve():this.handleError(e))).finally((()=>this.removeChild(r))),r}getChildAbortables(){return Array.from(this.children).map((e=>{var t;return null!==(t=e.abortable)&&void 0!==t?t:o.Abortable.resolve()}))}abort(e){var t;null===(t=this.abortable)||void 0===t||t.abort(e),this.abortController.abort(e),this.getChildAbortables().forEach((t=>t.abort(e)))}fork(e,t,r){this.eventBus.dispatch(u.ThreadEventType.Bound,{taskName:t._name||t.name,context:e,param:r,task:t});const n=(0,i.bindTask)(e,t),s=()=>this.waitForChildren().finally(this.dispose),a=(0,o.resolveAfter)(n(r),s);return this.abortable=(0,o.rejectAfter)(a,this.abortAndWaitForChildren),this.abortable.catch((e=>{this.abortController.abort(e),this.executionDeferred.reject(e)})).then((()=>this.executionDeferred.resolve())),this.abortable}removeChild(e){this.children.delete(e)}}t.Thread=f},4081:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ThreadEventBus=t.ThreadEventType=void 0,function(e){e.Bound="bound",e.Started="started",e.Finished="finished",e.Aborted="aborted"}(r||(t.ThreadEventType=r={}));class n{constructor(e){this.eventBus=e,this.unsubscribes=[]}attach(e,t){const r=this.eventBus.on(e,t);return this.unsubscribes.push(r),()=>{this.unsubscribes=this.unsubscribes.filter((e=>e!==r)),r()}}disposeEventBus(){for(const e of this.unsubscribes)e();this.unsubscribes=[]}}t.ThreadEventBus=n},438:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Deferred=void 0;class r{constructor(){this._reject=()=>{},this._resolve=()=>{},this.promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}get resolve(){return this._resolve}get reject(){return this._reject}}t.Deferred=r},4719:(e,t)=>{function r(){const e=16,t=Math.pow(1048576,3),r=1;return Date.now().toString(e)+Math.floor((r+Math.random())*t).toString(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.generateId=void 0,t.generateId=r},9062:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentName=void 0,function(e){e.Logger="logger",e.Constants="constants",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.SourceState="source-state",e.StreamTimeline="stream-timeline",e.Utils="utils",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms",e.NetworkAtom="network-atom",e.SourceThread="source-thread",e.VideoElementUtils="video-element-utils",e.Metrics="metrics",e.AdaptationTask="adaptation-task",e.PlayerConfig="player-config"}(t.ComponentName||(t.ComponentName={}))},7048:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkError=void 0;class r extends Error{constructor(e){super(e),this.name="FrameworkError"}}t.FrameworkError=r},9961:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createNetworkAtom=void 0;const n=r(1222);function o(e,t){return e.lastMessage={type:n.NetworkMessageType.RequestOpened,openedTimestamp:t},!0}function s(e,t,r){return e.lastMessage={type:n.NetworkMessageType.HeadersReceived,headersReceivedTimestamp:t,contentLength:r},!0}function i(e,t,r,o,s){return e.lastMessage={type:n.NetworkMessageType.Progress,progressTimestamp:t,chunk:r,loadedBytes:o,elapsedTime:s},!0}function a(e,t){return e.lastMessage={type:n.NetworkMessageType.Error,error:t},!0}function c(e,t){return e.lastMessage={type:n.NetworkMessageType.Done,doneTimestamp:t},!0}function u(e){const t={lastMessage:{type:n.NetworkMessageType.Initial}};return e.effects.state.create(t,{requestOpened:o,headersReceived:s,progress:i,error:a,done:c})}t.createNetworkAtom=u},4980:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnsupportedResponseTypeError=t.FetchFailedError=t.RequestFailedError=t.RequestTimeoutError=void 0;const n=r(7048);class o extends n.FrameworkError{constructor(e){super(`Request timed out after ${e} seconds`),this.name="RequestTimeoutError"}}t.RequestTimeoutError=o;class s extends n.FrameworkError{constructor(e){super(`Request failed: ${e}`),this.name="RequestFailedError"}}t.RequestFailedError=s;class i extends n.FrameworkError{constructor(e,t){super(`Fetch failed ${e}: ${t}`),this.status=e,this.statusText=t,this.name="FetchFailedError"}}t.FetchFailedError=i;class a extends n.FrameworkError{constructor(e){super(`The given response type (${e}) is not supported`),this.name="UnsupportedResponseTypeError"}}t.UnsupportedResponseTypeError=a},9112:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.extractContentLength=t.createChunkReader=t.createHttpResponse=t.typedArrayToHttpResponse=t.mergeChunks=void 0;const o=r(4980),s=r(9266);function i(e,t,r,n){const o=()=>e.removeEventListener(t,s),s=n=>{e.removeEventListener(t,s),r(n)};return e.addEventListener(t,s,n),o}function a(e){const t=new Uint8Array(e.reduce(((e,t)=>e+t.byteLength),0));let r=0;return e.forEach((e=>{t.set(e,r),r+=e.byteLength})),t}function c(e){return(new TextDecoder).decode(e)}function u(e){const t={};return e.headers.forEach(((e,r)=>t[r]=e)),t}function d(e,t){switch(e){case s.HttpResponseType.ARRAYBUFFER:return t.buffer;case s.HttpResponseType.BLOB:return new Blob([t.buffer]);case s.HttpResponseType.JSON:return JSON.parse(c(t));case s.HttpResponseType.TEXT:return c(t);case s.HttpResponseType.DOCUMENT:default:throw new o.UnsupportedResponseTypeError(e)}}function h(e,t,r,n){return{config:e.config,url:e.config.url,headers:u(t),status:t.status,statusText:t.statusText,body:r,length:n,timingInformation:e.timingInformation}}function l({abortSignal:e,effects:{state:t}},r){const s=r.response.body;if(!s)throw new o.RequestFailedError("Response body is not a ReadableStream");const a=s.getReader(),c=i(e,"abort",(()=>{c(),a.cancel(e.reason).catch((()=>{}))}));let u=0;return()=>n(this,void 0,void 0,(function*(){try{const e=yield a.read(),n=e.done;if(void 0!==e.value){const n=Date.now(),o=n-r.timingInformation.openedTimestamp;u+=e.value.byteLength,r.timingInformation.progressTimestamp=n,r.networkAtom&&t.dispatch(r.networkAtom.progress,n,e.value,u,o)}return n&&c(),e}catch(e){throw c(),e}}))}function f(e){const t=e.headers.get("Content-Length");return t?Number(t):-1}t.mergeChunks=a,t.typedArrayToHttpResponse=d,t.createHttpResponse=h,t.createChunkReader=l,t.extractContentLength=f},1491:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.FetchTask=void 0;const o=r(8465),s=r(4980),i=r(9112);function a({networkAtom:e,config:t},r){return n(this,void 0,void 0,(function*(){const{response:n,timingInformation:o}=yield c({networkAtom:e,config:t},r),s=yield u({response:n,timingInformation:o,networkAtom:e,config:t},r);return d({response:n,timingInformation:o,networkAtom:e,config:t,chunks:s},r)}))}function c(e,t){return n(this,void 0,void 0,(function*(){const{effects:{state:r,timeout:n},abortSignal:o}=t,{body:a,url:c,headers:u,method:d,credentials:h,requestTimeout:l}=e.config,f={body:a,credentials:h,method:d,headers:u},p={sendTimestamp:-1,openedTimestamp:-1,headersReceivedTimestamp:-1,progressTimestamp:-1,doneTimestamp:-1},m=n(o,1e3*l),b=m.then((()=>{throw new s.RequestTimeoutError(l)})),v=Date.now();p.openedTimestamp=v,p.sendTimestamp=v,e.networkAtom&&r.dispatch(e.networkAtom.requestOpened,v);const g=yield Promise.race([fetch(c,Object.assign(Object.assign({},f),{signal:o})),b]),y=Date.now();if(m.catch((()=>{})),m.abort(),p.headersReceivedTimestamp=y,e.networkAtom&&r.dispatch(e.networkAtom.headersReceived,y,(0,i.extractContentLength)(g)),!g.ok)throw new s.FetchFailedError(g.status,g.statusText);return{response:g,timingInformation:p}}))}function u(e,t){return n(this,void 0,void 0,(function*(){const r=[],n=(0,i.createChunkReader)(t,e);let o;do{o=yield n(),o.done||r.push(o.value)}while(!o.done);return r}))}function d(e,{effects:{state:t}}){const r=(0,i.mergeChunks)(e.chunks),n=(0,i.typedArrayToHttpResponse)(e.config.responseType,r),o=Date.now();return e.timingInformation.doneTimestamp=o,e.networkAtom&&t.dispatch(e.networkAtom.done,o),(0,i.createHttpResponse)(e,e.response,n,r.byteLength)}t.FetchTask=(0,o.createTask)("fetch-task",a)},4799:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkPackage=void 0;const n=r(3898),o=r(9062),s=r(9961),i=r(1491),a=r(1400);t.NetworkPackage=(0,n.createPackage)("network-package",((e,t)=>{t.registry.set(o.ComponentName.NetworkAtom,s.createNetworkAtom),t.registry.set(o.ComponentName.FetchTask,i.FetchTask),t.registry.set(o.ComponentName.NetworkTask,a.NetworkTask)}),[o.ComponentName.CoreEffects,o.ComponentName.Utils,o.ComponentName.Metrics]),t.default=t.NetworkPackage},1222:(e,t)=>{var r;function n(e){return e.type===r.RequestOpened}function o(e){return e.type===r.HeadersReceived}function s(e){return e.type===r.Progress}function i(e){return e.type===r.Error}function a(e){return e.type===r.Done}Object.defineProperty(t,"__esModule",{value:!0}),t.isDoneMessage=t.isErrorMessage=t.isProgressMessage=t.isHeadersReceivedMessage=t.isRequestOpenedMessage=t.NetworkMessageType=void 0,function(e){e.Initial="initial",e.RequestOpened="request-opened",e.HeadersReceived="headers-received",e.Progress="progress",e.Error="error",e.Done="done"}(r=t.NetworkMessageType||(t.NetworkMessageType={})),t.isRequestOpenedMessage=n,t.isHeadersReceivedMessage=o,t.isProgressMessage=s,t.isErrorMessage=i,t.isDoneMessage=a},1400:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkTask=void 0;const o=r(8465),s=r(2955),i=r(9062),a=r(4980),c=r(9266);function u(e,t){return Object.keys(t).reduce(((r,n)=>{var o;return r[n]=null!==(o=e[n])&&void 0!==o?o:t[n],r}),{})}function d(e,t,r){const n=void 0!==r&&e.disableRetriesForResponseStatus.includes(r),o=t>=e.numRetries;return!n&&!o}function h(e){return{body:void 0,url:"",method:c.HttpRequestMethod.GET,numRetries:3,headers:{},responseType:e,credentials:"omit",retryDelay:1,requestTimeout:100,disableRetriesForResponseStatus:[]}}function l({effects:{state:e}},t,r){t&&e.dispatch(t.error,r)}t.NetworkTask=(0,o.createTask)(i.ComponentName.NetworkTask,(function([e,t],r){return n(this,void 0,void 0,(function*(){const n={config:u(e,h(e.responseType)),networkAtom:t},{timeout:o}=r.effects,{fork:c,registry:f,abortSignal:p}=r,m=f.get(i.ComponentName.FetchTask),{formatError:b}=f.get(i.ComponentName.Utils).Error;if(void 0===m)throw new Error("FetchTask is missing");let v=0;for(;;)try{return yield c(m,n,(()=>!0))}catch(e){const t=b(e),i=t instanceof a.FetchFailedError?t.status:void 0;if(l(r,n.networkAtom,t),e instanceof s.ThreadTerminationError)throw e;if(!d(n.config,++v,i))throw new a.RequestFailedError(`Network request failed: ${t.message}`);yield o(p,1e3*n.config.retryDelay)}}))}))},9266:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HttpRequestMethod=t.HttpResponseType=t.HttpRequestType=void 0,function(e){e.MANIFEST_HLS_MULTIVARIANT="manifest/hls/multivariant",e.MANIFEST_HLS_VARIANT="manifest/hls/variant",e.MEDIA_AUDIO="media/audio",e.MEDIA_VIDEO="media/video",e.MEDIA_SUBTITLES="media/subtitles",e.MEDIA_THUMBNAILS="media/thumbnails",e.MEDIA_SEGMENTINDEX="media/segmentindex",e.KEY_HLS_AES="key/hls/aes",e.TIME_SYNC="time/sync"}(t.HttpRequestType||(t.HttpRequestType={})),function(e){e.ARRAYBUFFER="arraybuffer",e.BLOB="blob",e.DOCUMENT="document",e.JSON="json",e.TEXT="text"}(t.HttpResponseType||(t.HttpResponseType={})),function(e){e.GET="GET",e.POST="POST",e.HEAD="HEAD"}(t.HttpRequestMethod||(t.HttpRequestMethod={}))}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}return r(4799)})()));
@@ -1,10 +1,10 @@
1
1
  /*******************************************************************************
2
2
  * This source code is the proprietary property of Bitmovin, Inc. Unauthorized
3
3
  * copying, distribution, or use of this code, or any portion thereof, is
4
- * strictly prohibited. © 2023 Bitmovin, Inc. All rights reserved. This
4
+ * strictly prohibited. © 2024 Bitmovin, Inc. All rights reserved. This
5
5
  * source code is subject to the terms and conditions of the accompanying
6
6
  * license agreement.
7
7
  *
8
- * Bitmovin Player X Version 10.0.0-beta.12
8
+ * Bitmovin Player X Version 10.0.0-beta.13
9
9
  *******************************************************************************/
10
10
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["playback-state"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["playback-state"]=t())}(self,(()=>(()=>{"use strict";var e={3898:(e,t)=>{function a(e,t,a){const n=t;return n._name=e,{onAdd:n,dependencies:a}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=a},8465:(e,t)=>{function a(e,t){const a=t;return a._name=e,a}function n(e){return(...t)=>{const[n,s]=e(...t);return a(n,s)}}Object.defineProperty(t,"__esModule",{value:!0}),t.createTaskClosure=t.createTask=void 0,t.createTask=a,t.createTaskClosure=n},9062:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentName=void 0,function(e){e.Logger="logger",e.Constants="constants",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.SourceState="source-state",e.StreamTimeline="stream-timeline",e.Utils="utils",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms",e.NetworkAtom="network-atom",e.SourceThread="source-thread",e.VideoElementUtils="video-element-utils",e.Metrics="metrics",e.AdaptationTask="adaptation-task",e.PlayerConfig="player-config"}(t.ComponentName||(t.ComponentName={}))},8140:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackStatePackage=void 0;const n=a(3898),s=a(8465),o=a(9062),c=a(5083),r=a(5289),i=a(9479);t.PlaybackStatePackage=(0,n.createPackage)("playback-state-package",((e,t)=>{const{StateEffectFactory:a,StoreEffectFactory:n,EventListenerEffectFactory:u}=t.registry.get(o.ComponentName.CoreEffects),b=t.using(a).using(u),p=(0,c.createPlaybackStateAtom)(b),y=(0,i.createVideoElementStateAtom)(b),k=b.using(n("playbackState",p)).using(n("videoElementState",y)).using(u),f=t.registry.get(o.ComponentName.SourceState),{state:m}=k.effects;m.subscribe(k,y,d),m.subscribe(k,f,l),k.fork(l,f),k.registry.set(r.PlaybackStateExportNames.PlaybackStateAtom,p),m.subscribe(k,p,(0,s.createTask)("playback-state-subscriber",((e,t)=>{const a=t.registry.get(o.ComponentName.Logger);if(e.state===c.Playback.Suspended)a.log(`[Playback suspended]: ${f.url}`);else{const{playhead:t,duration:n,playbackRate:s,state:o}=e;a.log(`[PlaybackState changed]: ${f.url}`,{state:o,playhead:t,duration:n,playbackRate:s})}})))}),[o.ComponentName.CoreEffects,o.ComponentName.SourceState,o.ComponentName.Logger]);const d=(0,s.createTask)("video-element-subscriber",((e,t)=>{const a=e.element;if(void 0===a)return;const{events:n,state:s,store:o}=t.effects,{playbackState:c}=o,r=()=>!a.paused&&!a.ended;return s.dispatch(c.onPlaybackRateChange,a.playbackRate),n.subscribe(a,"timeupdate",(()=>s.dispatch(c.onTimeupdate,a.currentTime))),n.subscribe(a,"durationchange",(()=>s.dispatch(c.onDurationChange,a.duration))),n.subscribe(a,"ratechange",(()=>s.dispatch(c.onPlaybackRateChange,a.playbackRate))),n.subscribe(a,"seeking",(()=>s.dispatch(c.onSeek))),n.subscribe(a,"seeked",(()=>s.dispatch(c.onSeeked,r()))),n.subscribe(a,"stalled",(()=>s.dispatch(c.onStalled))),n.subscribe(a,"waiting",(()=>s.dispatch(c.onWaiting))),n.subscribe(a,"playing",(()=>s.dispatch(c.onPlaying))),n.subscribe(a,"pause",(()=>s.dispatch(c.onPaused))),n.subscribe(a,"ended",(()=>s.dispatch(c.onEnded))),t.effects.loop(t.abortSignal)})),l=(0,s.createTask)("source-state-change-subscriber",((e,t)=>{const{state:a,store:n}=t.effects,{videoElementState:s,playbackState:o}=n;return a.dispatch(s.set,e.video.element),void 0!==e.video.element?(a.dispatch(o.onResume),a.dispatch(o.onPlaybackRateChange,e.video.element.playbackRate)):a.dispatch(o.onSuspended),t.effects.loop(t.abortSignal)}));t.default=t.PlaybackStatePackage},5083:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createPlaybackStateAtom=t.Playback=void 0;const n=a(7574);var s;function o(){return{state:s.Suspended}}function c(e){if(e.state===s.Suspended)return!1;const t=e,a=e;return delete t.playhead,delete t.duration,delete t.playbackRate,a.state=s.Suspended,!0}function r(e){if(e.state!==s.Suspended)return!1;const t=e;return t.state=s.Paused,t.playhead=-1,t.duration=-1,t.playbackRate=-1,!0}function i(e){return e.effects.state.create(o(),Object.assign({onSuspended:c,onResume:r},n.VideoElementEventListeners))}!function(e){e.Suspended="suspended",e.Paused="paused",e.Playing="playing",e.Seeking="seeking",e.Stalled="stalled",e.Ended="ended"}(s=t.Playback||(t.Playback={})),t.createPlaybackStateAtom=i},5289:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackStateExportNames=void 0,function(e){e.PlaybackStateAtom="playback-state-atom"}(t.PlaybackStateExportNames||(t.PlaybackStateExportNames={}))},7574:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementEventListeners=void 0;const n=a(5083);function s(e,t){return e.state!==n.Playback.Suspended&&e.playhead!==t&&(e.playhead=t,!0)}function o(e,t){return e.state!==n.Playback.Suspended&&e.duration!==t&&(e.duration=t,!0)}function c(e,t){return e.state!==n.Playback.Suspended&&e.playbackRate!==t&&(e.playbackRate=t,!0)}function r(e){return e.state!==n.Playback.Suspended&&e.state!==n.Playback.Seeking&&(e.state=n.Playback.Seeking,!0)}function i(e,t){return e.state!==n.Playback.Suspended&&e.state===n.Playback.Seeking&&(e.state=t?n.Playback.Playing:n.Playback.Paused,!0)}function d(e){return e.state!==n.Playback.Suspended&&e.state!==n.Playback.Stalled&&(e.state=n.Playback.Stalled,!0)}function l(e){return d(e)}function u(e){return e.state!==n.Playback.Suspended&&e.state!==n.Playback.Playing&&(e.state=n.Playback.Playing,!0)}function b(e){return e.state!==n.Playback.Suspended&&e.state!==n.Playback.Paused&&e.state!==n.Playback.Ended&&(e.state=n.Playback.Paused,!0)}function p(e){return e.state!==n.Playback.Suspended&&e.state!==n.Playback.Ended&&(e.state=n.Playback.Ended,!0)}t.VideoElementEventListeners={onTimeupdate:s,onDurationChange:o,onPlaybackRateChange:c,onSeek:r,onSeeked:i,onStalled:d,onWaiting:l,onPlaying:u,onPaused:b,onEnded:p}},9479:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createVideoElementStateAtom=void 0;const a=e=>{const t={element:void 0};return e.effects.state.create(t,{set(e,t){return e.element!==t&&(e.element=t,!0)}})};t.createVideoElementStateAtom=a}},t={};function a(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,a),o.exports}return a(8140)})()));
@@ -1,10 +1,10 @@
1
1
  /*******************************************************************************
2
2
  * This source code is the proprietary property of Bitmovin, Inc. Unauthorized
3
3
  * copying, distribution, or use of this code, or any portion thereof, is
4
- * strictly prohibited. © 2023 Bitmovin, Inc. All rights reserved. This
4
+ * strictly prohibited. © 2024 Bitmovin, Inc. All rights reserved. This
5
5
  * source code is subject to the terms and conditions of the accompanying
6
6
  * license agreement.
7
7
  *
8
- * Bitmovin Player X Version 10.0.0-beta.12
8
+ * Bitmovin Player X Version 10.0.0-beta.13
9
9
  *******************************************************************************/
10
10
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.playlist=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx.playlist=t())}(self,(()=>(()=>{"use strict";var e={3898:(e,t)=>{function o(e,t,o){const a=t;return a._name=e,{onAdd:a,dependencies:o}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=o},8465:(e,t)=>{function o(e,t){const o=t;return o._name=e,o}function a(e){return(...t)=>{const[a,r]=e(...t);return o(a,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.createTaskClosure=t.createTask=void 0,t.createTask=o,t.createTaskClosure=a},9062:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentName=void 0,function(e){e.Logger="logger",e.Constants="constants",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.SourceState="source-state",e.StreamTimeline="stream-timeline",e.Utils="utils",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms",e.NetworkAtom="network-atom",e.SourceThread="source-thread",e.VideoElementUtils="video-element-utils",e.Metrics="metrics",e.AdaptationTask="adaptation-task",e.PlayerConfig="player-config"}(t.ComponentName||(t.ComponentName={}))},698:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceApiExportNames=void 0,function(e){e.SourceList="source-list"}(t.SourceApiExportNames||(t.SourceApiExportNames={}))},6327:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PlaylistPackage=t.PlaylistPackageThreadName=void 0;const a=o(3898),r=o(8465),n=o(698),s=o(9062);t.PlaylistPackageThreadName="playlist-package-thread";const i=(e,t)=>(0,r.createTask)("playlist-source-change-on-end",(function(e,o){const a=()=>{e.video.element&&e.video.element.currentTime>0&&e.video.element.duration>0&&t.playlist.next()};e.video.element&&e.isActive&&e.video.element.addEventListener("ended",a);const r=()=>{var t;null===(t=e.video.element)||void 0===t||t.removeEventListener("ended",a),o.abortSignal.removeEventListener("abort",r)};return o.abortSignal.addEventListener("abort",r),o.effects.loop(o.abortSignal)})),c=e=>(0,r.createTask)(t.PlaylistPackageThreadName,(function(t,o){return t.forEach((a=>{o.effects.state.subscribe(o,a,i(t,e))})),o.effects.loop(o.abortSignal)}));function l(e,t,o){return{next:()=>u(1,t,o),previous:()=>u(-1,t,o),activate:e=>{const a=t.find((t=>t.url===e));a&&o.sources.setActive(a)},onSourcesChange(o){return e.effects.state.subscribe(e,t,(0,r.createTask)("onSourcesChangeAPI",(function(a,n){t.forEach((a=>{e.effects.state.subscribe(e,a,(0,r.createTask)("onSourceChangeAPI",(function(e,a){o(t)})))})),o(a)})))}}}function u(e,t,o){const a=t.find((e=>e.isActive));if(!a)return;const r=t.indexOf(a)+e,n=t[r];n&&o.sources.setActive(n)}t.PlaylistPackage=(0,a.createPackage)("playlist-package",((e,t)=>{const o=t.registry.get(s.ComponentName.Logger),a=t.registry.get(n.SourceApiExportNames.SourceList),{StateEffectFactory:r,EventListenerEffectFactory:i}=t.registry.get(s.ComponentName.CoreEffects),u=t.using(r).using(i);o.log("Using Playlist package"),e.set("playlist",l(u,a,e.api)),u.effects.state.subscribe(u,a,c(e.api))}),[s.ComponentName.Logger,s.ComponentName.CoreStateAtoms,n.SourceApiExportNames.SourceList,s.ComponentName.CoreEffects]),t.default=t.PlaylistPackage}},t={};function o(a){var r=t[a];if(void 0!==r)return r.exports;var n=t[a]={exports:{}};return e[a](n,n.exports,o),n.exports}return o(6327)})()));
@@ -1,10 +1,10 @@
1
1
  /*******************************************************************************
2
2
  * This source code is the proprietary property of Bitmovin, Inc. Unauthorized
3
3
  * copying, distribution, or use of this code, or any portion thereof, is
4
- * strictly prohibited. © 2023 Bitmovin, Inc. All rights reserved. This
4
+ * strictly prohibited. © 2024 Bitmovin, Inc. All rights reserved. This
5
5
  * source code is subject to the terms and conditions of the accompanying
6
6
  * license agreement.
7
7
  *
8
- * Bitmovin Player X Version 10.0.0-beta.12
8
+ * Bitmovin Player X Version 10.0.0-beta.13
9
9
  *******************************************************************************/
10
10
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.presentation=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx.presentation=t())}(self,(()=>(()=>{"use strict";var e={3898:(e,t)=>{function n(e,t,n){const r=t;return r._name=e,{onAdd:r,dependencies:n}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=n},8465:(e,t)=>{function n(e,t){const n=t;return n._name=e,n}function r(e){return(...t)=>{const[r,o]=e(...t);return n(r,o)}}Object.defineProperty(t,"__esModule",{value:!0}),t.createTaskClosure=t.createTask=void 0,t.createTask=n,t.createTaskClosure=r},9062:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentName=void 0,function(e){e.Logger="logger",e.Constants="constants",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.SourceState="source-state",e.StreamTimeline="stream-timeline",e.Utils="utils",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms",e.NetworkAtom="network-atom",e.SourceThread="source-thread",e.VideoElementUtils="video-element-utils",e.Metrics="metrics",e.AdaptationTask="adaptation-task",e.PlayerConfig="player-config"}(t.ComponentName||(t.ComponentName={}))},7643:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},605:(e,t)=>{function n(e,t){return e.length===t.length&&e.every(((e,n)=>e===t[n]))}function r(e,...t){return 0!==t.length&&(e.push(...t),!0)}function o(e,...t){const n=e.length;for(const n of t)e.includes(n)||e.push(n);return n===e.length}function i(e,t,...n){return 0!==n.length&&(e.splice(t,0,...n),!0)}function a(e,t,n){let r=0,o=e.length;for(;r<o;){const i=r+o>>>1;n(e[i])<n(t)?r=i+1:o=i}return r}function s(e,t,...n){const r=e.length;if(0===n.length)return!1;if(0===e.length)return e.push(...n.sort(((e,n)=>t(e)-t(n)))),!0;for(const r of n){const n=t(r),o=t(e[0]);if(t(e[e.length-1])<=n)e.push(r);else if(n<=o)e.unshift(r);else{const n=a(e,r,t);e.splice(n,0,r)}}return e.length!==r}function c(e,...t){let n=!1;for(const r of t){const t=e.indexOf(r);t<0||(n=!0,e.splice(t,1))}return n}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function d(e,t){if(n(e,t))return!1;const r=u(e);return t.forEach((t=>e.push(t))),r||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const f=(e,t=[])=>{const n={add:r,insert:i,insertSorted:s,remove:c,clear:u,set:d,addIfNew:o};return e.effects.state.create(t,n)};t.createArrayAtom=f},3748:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activeSectionUpdaterTask=void 0;const r=n(8465),o=n(9062),i=n(4574);t.activeSectionUpdaterTask=(0,r.createTask)("active-section-update",(([e,t],n)=>{const r=n.registry.get(o.ComponentName.SourceState),i=n.registry.get(o.ComponentName.StreamTimeline),s=a([e,t]);return n.effects.state.subscribe(n,r.playback.playhead,s),n.effects.state.subscribe(n,i,s),n.effects.loop(n.abortSignal)}));const a=(0,r.createTaskClosure)((([e,t])=>["active-section-update",(n,r)=>{if(!u(r)||s(r))return;const o=f(r,t.dataRangeIds.buffered);o&&r.effects.state.dispatch(e.setActiveSection,o)}]));function s(e){const t=e.registry.get(o.ComponentName.SourceState),n=t.playback.playhead.position;return t.stream.duration.value<n||n<0}function c(e){const{MediaType:t}=e.registry.get(o.ComponentName.Constants),n=e=>e!==t.Unknown,r=e.registry.get(o.ComponentName.SourceState).activeMediaTypes;return Array.from(r.keys()).filter(n).length}function u(e){const{isMediaSelectionGroup:t}=e.registry.get(o.ComponentName.CoreStateAtoms).SelectionGroups,n=e.registry.get(o.ComponentName.StreamTimeline),r=c(e);return n.length>0&&n.some((e=>Array.from(e.streamSequenceMap.keys()).filter(t).length===r))}function d(e,t){return e>=t.start&&e<=t.end}function f(e,t){const n=e.registry.get(o.ComponentName.SourceState),r=e.registry.get(o.ComponentName.StreamTimeline),{isEndInRange:a}=e.registry.get(o.ComponentName.Utils).Ranges,s=c(e);return r.find((r=>{const o=g(e,r);if(o.length!==s)return!1;return!!o.every((({mediaType:e,selectionGroup:t})=>{const r=(0,i.getMediaTypeTargetRanges)(n,e);return d(r.start,t.timeRange)||a(r.end,t.timeRange)}))&&o.some((({mediaType:o,mediaId:a,selectionGroup:s})=>{const c=(0,i.getMediaTypeTargetRanges)(n,o),u=l(e,r,o,c),d=n.dataRanges.media[a].ranges,f=s.timeRange.end,g=d.length>0&&d.some((e=>e.start<=f&&f<=e.end)),p=m(e,u,a,t);return!g||!p}))}))}function m(e,t,n,r){var i;const{dataRanges:a}=e.registry.get(o.ComponentName.SourceState),s=null!==(i=a.media[n].source[r])&&void 0!==i?i:[];return t.every((e=>s.includes(e)))}function l(e,t,n,r){const{isVideoSelectionGroup:i,isAudioSelectionGroup:a}=e.registry.get(o.ComponentName.CoreStateAtoms).SelectionGroups,{isEndInRange:s,isStartInRange:c}=e.registry.get(o.ComponentName.Utils).Ranges,u=e.registry.get(o.ComponentName.Constants).MediaType,d=[];for(const[e,o]of t.streamSequenceMap)if(o.length&&(n===u.Audio&&a(e)||n===u.Video&&i(e)))for(const e of o){const t=e.segmentTiming.parsedPlaybackTime,n=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;(c(t,r)||s(n,r))&&d.push(e)}return d}function g(e,t){const{isVideoSelectionGroup:n,isAudioSelectionGroup:r}=e.registry.get(o.ComponentName.CoreStateAtoms).SelectionGroups,i=e.registry.get(o.ComponentName.Constants).MediaType;return Array.from(t.streamSequenceMap.keys()).map((e=>n(e)?{mediaType:i.Video,mediaId:e.mediaId,selectionGroup:e}:r(e)?{mediaType:i.Audio,mediaId:e.mediaId,selectionGroup:e}:void 0)).filter(Boolean)}},9762:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GapHandlingTask=void 0;const r=n(8465),o=n(9062);t.GapHandlingTask=(0,r.createTaskClosure)((e=>["gap-handler",(t,n)=>{const{events:r}=n.effects;let i=!1;const s=()=>{if(i)return;const t=n.registry.get(o.ComponentName.Logger),r=a(n,e);void 0!==r&&(t.log(`Skipping buffer gap (${e.currentTime.toFixed(2)} → ${r.toFixed(2)})`),e.currentTime=r)},c=()=>{i=!0},u=()=>{i=!1},d=()=>{i=!1};return r.subscribe(e,"waiting",s),r.subscribe(e,"seeking",c),r.subscribe(e,"seeked",u),r.subscribe(e,"playing",d),n.effects.loop(n.abortSignal)}]));const i=.1;function a(e,t){const n=t.currentTime,r=t.buffered;for(let e=0;e<r.length;e++){const t=r.start(e),o=r.end(e);if(n>=t&&n<=o&&o-n<i&&e<r.length-1)return r.start(e+1)}}},1045:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.extractMediaInfosForSection=void 0;const o=n(8465),i=n(9062),a=n(7937);function s(e,t){return r(this,void 0,void 0,(function*(){const{state:n,abortable:r}=e.effects,{isMediaSelectionGroup:s}=e.registry.get(i.ComponentName.CoreStateAtoms).SelectionGroups,u=Array.from(t.streamSequenceMap.keys()).filter(s),d=(0,a.createMediaInfoAtom)(e),f=new Error("MediaInfo collection done"),m=r((t=>{const r=(0,o.createTask)("media-info-subscriber",((e,n)=>{e.length===u.length&&(i(!1),l.abort(f),t(d))})),i=n.subscribe(e,d,r)})),l=e.fork(c(d),t,(e=>e===f));return m}))}t.extractMediaInfosForSection=s;const c=(0,o.createTaskClosure)((e=>["media-info-extraction",(t,n)=>{const{fork:o,effects:a}=n,{abortable:s,events:c}=a,{isMediaSelectionGroup:d}=n.registry.get(i.ComponentName.CoreStateAtoms).SelectionGroups;return s(((n,i,a)=>r(void 0,void 0,void 0,(function*(){const r=e=>new Error(e.type+", "+e),s=[];c.subscribe(a.signal,"abort",(e=>{const t=r(e);s.forEach((e=>e.abort(t))),i(t)}));for(const[n,r]of t.streamSequenceMap)d(n)&&s.push(o(u(e),r));yield Promise.all(s),n()}))))}])),u=(0,o.createTaskClosure)((e=>["group-media-info-extraction",(t,n)=>{const{fork:i}=n,{abortable:a,events:s,state:c}=n.effects,u=new Set,d=[],m=new Error("MediaInfo collection done"),l=(0,o.createTask)("segment-observer",((t,n)=>r(void 0,void 0,void 0,(function*(){const r=yield f(n,t);g||(n.effects.state.dispatch(e.add,r),g=!0)}))));let g=!1;return a(((e,r,a)=>{const f=e=>new Error(e.type+", "+e);s.subscribe(a.signal,"abort",(e=>r(f(e))));const g=()=>{y(),d.forEach((e=>e.abort(m))),e()};function p(e,t){for(const t of e){if(u.has(t))continue;const e=i(l,t,(e=>e===m));u.add(t),d.push(e),e.then(g).catch((()=>{}))}}p(t,n);const y=c.subscribe(n,t,(0,o.createTask)("segment-media-info-observer",p))}))}]));function d(e,t){return r(this,void 0,void 0,(function*(){const{fork:n,effects:r}=e,{state:i,abortable:a}=r;if(t.data.closed)return a((e=>e));const s=(0,o.createTask)("segment-data-awaiter-task",((e,n)=>{const{abortable:r}=n.effects;return r(((e,r)=>{const a=(0,o.createTask)("segment-data-awaiter-subscriber",((t,n)=>{t.error?(s(!1),r(t.error)):t.closed&&(s(!1),e())})),s=i.subscribe(n,t.data,a)}))}));return n(s,void 0)}))}function f(e,t){return r(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(i.ComponentName.CoreStateAtoms).Segments,r=n(t)?t.initSegment:t,o=r.data;if(o.closed||(yield d(e,r)),0===r.codecs.size)throw new Error("Could not extract MediaInfo from segment");const a=[];for(const{containerFormat:e}of o.data)a.includes(e)||a.push(e);if(0===a.length)throw new Error("Could not determine ContainerFormat for segment");if(a.length>1)throw new Error("Encountered segment with more than one ContainerFormat");return{container:a[0],codecs:r.codecs}}))}},7515:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.PresentationPackage=void 0;const o=n(3898),i=n(9062),a=n(7643),s=n(7301),c=n(6283),u=n(382);t.PresentationPackage=(0,o.createPackage)("presentation",((e,t)=>r(void 0,void 0,void 0,(function*(){const{StateEffectFactory:e,EventListenerEffectFactory:n}=t.registry.get(i.ComponentName.CoreEffects),r=t.using(e).using(n),{state:o}=r.effects,a=r.registry.get(i.ComponentName.SourceState),d=(0,u.VideoElementSubscriber)((0,c.createPresentationStateAtom)(r),(0,s.createActiveSectionAtom)(r));o.subscribe(r,a.video,d)}))),[i.ComponentName.Utils,i.ComponentName.SourceState,i.ComponentName.StreamTimeline,i.ComponentName.CoreStateAtoms,i.ComponentName.CoreEffects,a.CapabilitiesExportNames.PlatformCapabilities]),t.default=t.PresentationPackage},2397:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveSectionSubscriber=t.EncodedPlaybackTimeUnknownError=void 0;const o=n(8465),i=n(9062),a=n(1045),s=n(7442),c=n(7726),u=n(6308),d=n(4574);function f(e,t,n){const{MediaType:r}=e.registry.get(i.ComponentName.Constants),{getMediaTypeFromCodec:o,canSwitchBetweenAudioCodecs:a,extractCodec:s}=e.registry.get(i.ComponentName.Utils).Codecs,c=e=>n.filter((t=>o(t)===e));for(const e of t){const t=o(e);switch(t){case r.Video:{const n=s(e),r=c(t);if(void 0===n||0===r.length)return!1;if(!r.every((e=>n===s(e))))return!1;break}case r.Audio:{const n=c(t);if(0===n.length)return!1;if(!n.every((t=>a(e,t))))return!1;break}default:return!1}}return!0}function m(e,t,n,r,o){const{equals:a}=e.registry.get(i.ComponentName.Utils).Arrays;return t.find((([t,i,s])=>{const c=n===i,u=a(o,s),d=f(e,r,t);return c&&u&&d}))}function l(e,t,n){if(t.length!==n.length)return!0;for(let r=0;r<t.length;r++){const[o,i,a]=t[r];if(void 0===m(e,n,i,o,a))return!0}return!1}function g(e,t,n){return r(this,void 0,void 0,(function*(){const{events:r,abortable:o}=e.effects;t.close(),yield o((e=>{if(n.ended)e();else{const t=r.subscribe(n,"ended",(()=>{e(),t(!1)}))}}))}))}function p(e){const t=[];if(void 0===e)return t;for(const{containerFormat:n,mediaTypes:r,codecs:o}of e.buffers)t.push([o,n,r]);return t}function y(e,t,n,r){if(n.length!==r.length)return!1;for(const[o,i,a]of n){const n=(0,d.getMatchingBuffer)(e,t.buffers,i,a);if(void 0===n)return!1;const s=m(e,r,i,o,a);if(void 0===s)return!1;const[c,u,f]=s;if(!t.canChangeBuffer(n,c,u))return!1}return!0}function b(e,t,n){return r(this,void 0,void 0,(function*(){n.bind(e);for(const[r,o,i]of t){const t=(0,d.getMatchingBuffer)(e,n.buffers,o,i);if(void 0===t)throw new Error("Could not find matching buffer");yield n.changeBuffer(t,r,o)}return n}))}function v(e,t,n,o){return r(this,void 0,void 0,(function*(){const r=e.registry.get(i.ComponentName.Logger),{waitFor:a}=e.registry.get(i.ComponentName.Utils).State;t&&(r.debug("Waiting for end of buffer before recreating the MSE..."),t.bind(e),yield g(e,t,o),r.debug("End of buffer reached, recreating MSE...")),yield null==t?void 0:t.dispose(),t=(0,s.createRenderer)(e);const c=a(e,t.onOpen);r.log(`Setting video element source to ${t.sourceUrl}`),o.src=t.sourceUrl,o.load(),yield c;for(const[e,r,o]of n)t.addBuffer(e,r,o);const u=e.registry.get(i.ComponentName.SourceState).stream;return yield t.setDuration(u.duration.value),t}))}function S(e,t,n,o,a,s){return r(this,void 0,void 0,(function*(){const r=e.registry.get(i.ComponentName.Logger),u=e.registry.get(i.ComponentName.SourceState).playback.playhead;if(void 0===t)return r.log(`Creating MSE for ${s}`),yield v(e,void 0,s,a);const d=p(t);return l(e,d,s)?y(e,t,d,s)?(r.log(`Changing MSE buffer types for ${s}`),t.bind(e),yield e.fork((0,c.BufferClearingTask)(t,o,n),u),yield b(e,s,t)):(r.log(`Re-creating MSE for ${s}`),yield v(e,t,s,a)):(r.log(`Re-using MSE for ${s}`,e.abortSignal.reason),t.bind(e),yield e.fork((0,c.BufferClearingTask)(t,o,n),u),t)}))}function h(e){return e.data.data.length>0&&e.data.data[0].fragments.data.length>0}class T extends Error{constructor(){super("The encoded playback time could not be extracted from the segment"),this.name="EncodedPlaybackTimeUnknownError"}}function C(e,t){const{abortable:n,state:a}=e.effects,{readToEnd:s}=e.registry.get(i.ComponentName.Utils).Arrays,{isDataSegment:c}=e.registry.get(i.ComponentName.CoreStateAtoms).Segments;return n((n=>{const i=(0,o.createTask)("section-segment-subscriber",((e,t)=>r(this,void 0,void 0,(function*(){const t=e[0];void 0!==t&&(u(!1),c(t)?yield s(t.initSegment.data):h(t)&&(yield s(t.data)),n())})))),u=a.subscribe(e,t,i);e.fork(i,t)}))}function k(e,t){return r(this,void 0,void 0,(function*(){const{isMediaSelectionGroup:n}=e.registry.get(i.ComponentName.CoreStateAtoms).SelectionGroups,r=[];for(const[o,i]of t.streamSequenceMap)n(o)&&r.push(C(e,i));yield Promise.all(r)}))}function A(e,t){const{MediaType:n}=e.registry.get(i.ComponentName.Constants);let r=!1;for(const{codecs:e}of t){const t=Array.from(e.keys()),o=t.includes(n.Muxed),i=t.includes(n.Audio),a=t.includes(n.Video);(o||i&&a)&&(r=!0)}return r}function w(e,t){if(A(e,t))throw new Error("Muxed content is not yet supported");const n=[];for(const{container:e,codecs:r}of t)for(const[t,o]of r)n.push([o.slice(0,1),e,[t]]);return n}t.EncodedPlaybackTimeUnknownError=T;const M=(0,o.createTaskClosure)((e=>["buffer-statistics-printer",(t,n)=>{const r=n.registry.get(i.ComponentName.Logger);try{if(0===e.buffered.length)return void r.verbose(`Buffered for ${e.mediaTypes} is empty`);let t=`Buffered Ranges for ${e.mediaTypes}`;for(let n=0;n<e.buffered.length;n++){const r=e.buffered.start(n),o=e.buffered.end(n);t=`${t}\n\t[${n}] ${r.toFixed(2)} - ${o.toFixed(2)}`}r.verbose(t)}catch(t){r.verbose(`Could not get buffered ranges from ${e.mediaTypes} buffer`)}}])),N=(0,o.createTaskClosure)((e=>["duration-updater",({value:t},n)=>e.setDuration(t)]));t.ActiveSectionSubscriber=(0,o.createTaskClosure)(((e,t)=>["active-section-subscriber",({section:n},o)=>r(void 0,void 0,void 0,(function*(){if(!n)return;const{state:r,events:s,loop:d}=o.effects,f=o.registry.get(i.ComponentName.Logger),{activeRenderer:m,dataRangeIds:l}=e,g=o.registry.get(i.ComponentName.SourceState),p=g.stream,y=g.playback.playhead,b=yield(0,a.extractMediaInfosForSection)(o,n),v=w(o,b);f.log("Preparing playback of section with buffers",v,b),s.subscribe(t,"timeupdate",(()=>{0!==t.currentTime&&r.dispatch(y.setPosition,t.currentTime)})),s.subscribe(t,"seeking",(()=>r.dispatch(y.setPosition,t.currentTime)));const h=yield S(o,m,l,n,t,v);return h.buffers.map((e=>r.subscribe(o,e.onUpdateEnd,M(e)))),r.dispatch(e.setActiveRenderer,h),r.subscribe(o,p.duration,N(h)),yield k(o,n),r.subscribe(o,y,(0,c.BufferClearingTask)(h,n,l)),o.fork(u.SegmentAppendage,{renderer:h,section:n,dataRangeIds:l,video:t}).catch((()=>{})),d(o.abortSignal)}))]))},4574:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getMatchingBuffer=t.getTargetBufferRange=t.getMediaTypeTargetRanges=void 0;const r=n(9062);function o(e,t){const n=e.playback.playhead.position;return{start:n,end:n+e.config.buffer[t].forwardDuration}}function i(e,t){const n=e.playback.playhead.position,r=e.config.buffer[t];return{start:Math.max(0,n-r.backwardDuration),end:n+r.forwardDuration}}function a(e,t,n,o){const{equals:i}=e.registry.get(r.ComponentName.Utils).Arrays;return t.find((e=>i(e.mediaTypes,o)&&e.containerFormat===n))}t.getMediaTypeTargetRanges=o,t.getTargetBufferRange=i,t.getMatchingBuffer=a},9155:(e,t)=>{function n(e,t){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=n},382:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementSubscriber=void 0;const r=n(8465),o=n(9062),i=n(3748),a=n(9762),s=n(2397),c=n(9155);t.VideoElementSubscriber=(0,r.createTaskClosure)(((e,t)=>["video-element-subscriber",(n,r)=>{const{fork:u,registry:d,effects:f,abortSignal:m}=r,{state:l,loop:g,abortable:p}=f,y=d.get(o.ComponentName.Logger);if(void 0===n.element)return y.log("Cannot set up presentation task - no video element"),p((e=>e()));{const d=n.element,f=(0,s.ActiveSectionSubscriber)(e,d);return y.log("Setting up presentation task..."),l.subscribe(r,t,f),void 0!==t.section&&u(f,t),u((0,a.GapHandlingTask)(d),e),u(i.activeSectionUpdaterTask,[t,e],(()=>{var t;const n=null===(t=e.activeRenderer)||void 0===t?void 0:t.sourceUrl,{state:i}=r.effects,a=r.registry.get(o.ComponentName.SourceState).dataRanges;for(const t in a.media)for(const n of Object.values(e.dataRangeIds))i.dispatch(a.deleteSource,t,n);return i.dispatch(e.setActiveRenderer,void 0),void 0!==n&&d.src===n&&(0,c.resetVideoSource)(d,r.registry.get(o.ComponentName.Logger)),!1})),g(m)}}]))},7301:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActiveSectionAtom=void 0;const n=()=>({section:void 0});function r(e,t){return e.section!==t&&(e.section=t,!0)}function o(e){return e.effects.state.create(n(),{setActiveSection:r})}t.createActiveSectionAtom=o},7937:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createMediaInfoAtom=void 0;const r=n(9062);function o(e){const{createArrayAtom:t}=e.registry.get(r.ComponentName.CoreStateAtoms);return t(e,[])}t.createMediaInfoAtom=o},6283:(e,t)=>{function n(){return{activeRenderer:void 0,dataRangeIds:{buffered:"buffered",appending:"appending"}}}function r(e,t){return e.activeRenderer!==t&&(e.activeRenderer=t,!0)}function o(e){return e.effects.state.create(n(),{setActiveRenderer:r})}Object.defineProperty(t,"__esModule",{value:!0}),t.createPresentationStateAtom=void 0,t.createPresentationStateAtom=o},4652:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentAppendageQueueAtom=void 0;const o=n(8465),i=n(9062);function a(e){const{createTransient:t}=e.registry.get(i.ComponentName.Utils).State;return{queue:[],appendSegments:t(e),consumed:t(e)}}const s=(0,o.createTaskClosure)(((e,t,n,o)=>["segment-appendage-queue-subscriber",({value:i},a)=>r(void 0,void 0,void 0,(function*(){if(void 0===i)return;const r=t.queue;r.push(i);try{yield e.fork(n,i.slice(),o)}catch(e){}finally{const n=r.indexOf(i);n>-1&&r.splice(n,1),e.effects.state.dispatch(t.consumed.trigger)}}))]));function c(e,t,n=(()=>!1)){const{state:r}=e.effects,o=e.effects.state.create(a(e),{}),i=s(e,o,t,n);return r.subscribe(e,o.appendSegments,i),o}t.createSegmentAppendageQueueAtom=c},6696:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferActionFailedError=t.SourceBufferActionAbortedError=t.NotSupportedError=void 0;class n extends Error{constructor(e){super(`The operation "${e}" is not supported on this platform`),this.name="NotSupportedError"}}t.NotSupportedError=n;class r extends Error{constructor(){super("SourceBuffer action was aborted"),this.name="SourceBufferActionAbortedError"}}t.SourceBufferActionAbortedError=r;class o extends Error{constructor(e){super(`SourceBuffer action failed: ${e}`),this.name="SourceBufferActionFailedError"}}t.SourceBufferActionFailedError=o},7442:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderer=void 0;const o=n(9062),i=n(7643),a=n(7209),s=n(6080),c=n(1886),u=n(6837);function d(e,t){const{state:n,events:r}=e.effects,{createTransient:i}=e.registry.get(o.ComponentName.Utils).State,a={onOpen:i(e),onClose:i(e),onEnded:i(e),onError:i(e)};return r.subscribe(t,"sourceopen",(()=>n.dispatch(a.onOpen.trigger))),r.subscribe(t,"sourceclose",(()=>n.dispatch(a.onClose.trigger))),r.subscribe(t,"sourceended",(()=>n.dispatch(a.onEnded.trigger))),r.subscribe(t,"error",(e=>n.dispatch(a.onError.trigger,new Error(JSON.stringify(e))))),a}function f(e,t){const n=e.get(t);if(!n)throw new Error("Unexpectedly encountered untracked value");return n}function m(e,t,n,r,o,i,a){const u=(0,s.generateMimeTypeString)(e,a,i,o),d=t.addSourceBuffer(u),f=(0,c.createSourceBufferActionQueue)(e,d),m=(0,s.createRendererBufferAtom)(e,o,a,i,!1,d),g=l(e,m,d);r.set(m,[d,f,g]),e.effects.state.dispatch(n.add,m)}function l(e,t,n){const{events:r,state:o}=e.effects,i=[r.subscribe(n,"updatestart",(()=>o.dispatch(t.onUpdateStart.trigger))),r.subscribe(n,"update",(()=>o.dispatch(t.onUpdate.trigger))),r.subscribe(n,"updateend",(()=>o.dispatch(t.onUpdateEnd.trigger))),r.subscribe(n,"error",(e=>o.dispatch(t.onError.trigger,new Error(e.type)))),r.subscribe(n,"abort",(()=>o.dispatch(t.onAbort.trigger)))];return()=>i.forEach((e=>e()))}function g(e,t,n,r,o,a){const{typeSupported:c}=e.registry.get(i.CapabilitiesExportNames.PlatformCapabilities),u=f(n,r)[0],d=(0,s.generateMimeTypeString)(e,r.mediaTypes,a,o);return"function"==typeof u.changeType&&c(d)}function p(e,t,n,r,o,i){const[a,c]=f(n,r),u=(0,s.generateMimeTypeString)(e,r.mediaTypes,i,o),d=e=>e.changeType(u);return c.execute(d)}function y(e,t,n,o,i){return r(this,void 0,void 0,(function*(){const[r,a]=f(n,i),s=e=>t.removeSourceBuffer(e);yield a.execute(s),n.delete(i),e.effects.state.dispatch(o.remove,i)}))}function b(e,t,n,r,i){const a=e.registry.get(o.ComponentName.Logger),[s,c]=f(n,r),u=e=>{e.timestampOffset=i};return a.log(`Setting timestamp offset to ${i.toFixed(2)} for buffer ${r.mediaTypes}/${r.codecs}`),e.effects.state.dispatch(r.setTimestampOffset,i),c.execute(u)}function v(e,t,n,r,o){const[i,a]=f(n,r),s=e=>e.appendBuffer(o.data.buffer);return a.execute(s)}function S(e,t,n,r,o,i){if(o>=i)return e.effects.abortable((e=>e()));const[a,s]=f(n,r),c=e=>e.remove(o,i);return s.execute(c)}function h(e,t,n){e.readyState===u.MediaSourceReadyState.Open&&e.setLiveSeekableRange(t,n)}function T(e,t,n,r){if(t.readyState===u.MediaSourceReadyState.Open){const e=()=>{t.duration=r};return n.execute(e)}return e.registry.get(o.ComponentName.Logger).log("Unable to set duration, media source not open"),e.effects.abortable((e=>e()))}function C(e,t,n){const r=e.registry.get(o.ComponentName.Logger);if(t.readyState===u.MediaSourceReadyState.Open){const e=()=>{t.endOfStream()};return r.debug("Signaling EoS..."),n.execute(e)}return r.log("Skipping EoS - media source not open"),e.effects.abortable((e=>e()))}function k(e,t){const n=[];try{for(let e=0;e<t.buffered.length;e++)n.push({start:t.buffered.start(e),end:t.buffered.end(e)})}catch(t){e.registry.get(o.ComponentName.Logger).debug("Could not determine buffered ranges for source buffer:",t)}return n}function A(e,t,n,r){const o=new Map;for(const[t,[n]]of r)o.set(t,k(e,n));return o}function w(e){return e.readyState}function M(e,t,n){const r=Array.from(n.entries());if(t.readyState===u.MediaSourceReadyState.Open||0===r.length)return e.effects.abortable((e=>e()));const[[o,[i]]]=r;return b(e,t,n,o,i.timestampOffset)}function N(e,t,n,r){for(const[e,[r]]of n)t.removeSourceBuffer(r);n.clear(),e.effects.state.dispatch(r.clear)}function E(e){const{createArrayAtom:t}=e.registry.get(o.ComponentName.CoreStateAtoms);let n=e;const r=new MediaSource,i=URL.createObjectURL(r),s=d(n,r),c=new Map,u=t(n,[]),f=(0,a.createRendererActionQueue)(n,c);return Object.assign(Object.assign({},s),{sourceUrl:i,buffers:u,addBuffer:m.bind(void 0,n,r,u,c),canChangeBuffer:g.bind(void 0,n,r,c),changeBuffer:p.bind(void 0,n,r,c),removeBuffer:y.bind(void 0,n,r,c,u),setTimestampOffset:b.bind(void 0,n,r,c),getBufferedRanges:A.bind(void 0,n,r,f,c),appendData:v.bind(void 0,n,r,c),removeData:S.bind(void 0,n,r,c),setSeekableRange:h.bind(void 0,r),setDuration:T.bind(void 0,n,r,f),getState:w.bind(void 0,r),close:C.bind(void 0,n,r,f),reopen:M.bind(void 0,n,r,c),dispose:N.bind(void 0,n,r,c,u),bind:e=>{const t=e.registry.get(o.ComponentName.Logger),r=Array.from(c.keys());t.debug("Binding renderer to new context..."),n=e,f.bind(n);for(let t=0;t<r.length;t++){const o=r[t],i=c.get(o);if(!i)continue;const[a,s,u]=i;u(),s.bind(n),i[2]=l(e,o,a)}}})}t.createRenderer=E},7209:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererActionQueue=void 0;function o(e,t,n,i){return r(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const r=n.shift();if(r)try{yield e.fork(i,r)}finally{t.executing=!1,o(e,t,n,i).catch((()=>{}))}else t.executing=!1}))}const i=(0,n(8465).createTaskClosure)((e=>["renderer-action",(t,n)=>r(void 0,void 0,void 0,(function*(){const{abortSignal:r,effects:o}=n,{abortable:i,events:s}=o;let c=()=>{},u=()=>{};const d=i(((e,t)=>{u=e,c=t})),f=[c],[m,l]=t,g=s.subscribe(r,"abort",(()=>{f.forEach((e=>e(r.reason)))}));d.catch((()=>{}));try{const{sourceBufferActionEnteredAbortables:t,sourceBufferActionAbortables:r}=a(n,e,d,f);yield Promise.all(t),yield m(void 0,n),u(),yield Promise.all(r),l()}finally{g()}}))]));function a(e,t,n,o){const i=[],a=[];for(const[s,[c,u]]of t){let t=()=>{};const s=e.effects.abortable(((e,n)=>{t=e,o.push(n)}));s.catch((()=>{}));const c=(e,o)=>r(this,void 0,void 0,(function*(){t(),yield n.catch((()=>{}))}));i.push(s),a.push(u.execute(c))}return{sourceBufferActionEnteredAbortables:i,sourceBufferActionAbortables:a}}function s(e,t){const n=[],r={executing:!1},a=i(t);return{execute:t=>{const{abortable:i}=e.effects;let s=()=>{},c=()=>{};const u=i(((e,t)=>{s=e,c=t}));return n.push([t,s,c]),o(e,r,n,a).catch((()=>{})),u},bind:t=>e=t,abort:()=>{}}}t.createRendererActionQueue=s},6080:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererBufferAtom=t.generateMimeTypeString=void 0;const r=n(9062),o=n(605);function i(e,t,n,i,a){const{createTransient:s}=e.registry.get(r.ComponentName.Utils).State;return{onUpdateStart:s(e),onUpdate:s(e),onUpdateEnd:s(e),onError:s(e),onAbort:s(e),codecs:(0,o.createArrayAtom)(e,t),containerFormat:i,mediaTypes:(0,o.createArrayAtom)(e,n),encrypted:a,mimeType:c(e,n,i,t),timestampOffset:0,initSegment:void 0}}function a(e,t,n){const{MediaType:o}=e.registry.get(r.ComponentName.Constants),{ContainerFormat:i}=e.registry.get(r.ComponentName.CoreStateAtoms).Segments;return t===i.TS?o.Video:n}function s(e,t){return n=>`${a(e,t,n)}/${t}`}function c(e,t,n,r){return`${t.map(s(e,n)).join(";")};codecs="${r.slice(0,1).join(",")}"`}function u(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function d(e,t){return e.initSegment!==t&&(e.initSegment=t,!0)}function f(e,t,n,r,o){const{state:i}=e.effects,a=t.codecs.length===n.length&&t.codecs.every((e=>n.includes(e))),s=t.mediaTypes.length===r.length&&t.mediaTypes.every((e=>r.includes(e)));return(t.containerFormat!==o||!s||!a)&&(t.mimeType=c(e,r,o,n),t.containerFormat=o,i.dispatch(t.codecs.set,n),i.dispatch(t.mediaTypes.set,r),!0)}function m(e,t,n,o,a,s){const{deriveFrom:c}=e.registry.get(r.ComponentName.Utils).State,m=i(e,t,n,o,a);return c(m,"buffered",(()=>s.buffered)),e.effects.state.create(m,{setTimestampOffset:u,setInitSegment:d,updateType:f.bind(void 0,e)})}t.generateMimeTypeString=c,t.createRendererBufferAtom=m},1886:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceBufferActionQueue=void 0;const o=n(8465),i=n(6696),a=(0,o.createTask)("source-buffer-update-awaiter",((e,t)=>{const{events:n,abortable:r}=t.effects;return r(((t,r)=>{e.updating?(n.subscribe(e,"updateend",(()=>t())),n.subscribe(e,"abort",(()=>r(new i.SourceBufferActionAbortedError))),n.subscribe(e,"error",(e=>r(new i.SourceBufferActionFailedError(e))))):t()}))}));function s(e,t,n,o){return r(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const r=n.shift();if(r)try{yield e.fork(o,r,(e=>e instanceof i.SourceBufferActionAbortedError))}finally{t.executing=!1,s(e,t,n,o).catch((()=>{}))}else t.executing=!1}))}const c=(0,o.createTaskClosure)((e=>["source-buffer-action",(t,n)=>r(void 0,void 0,void 0,(function*(){const[r,o,s]=t;let c=()=>{};try{yield n.fork(a,e,(()=>!0)).catch((()=>{}));const t=r(e,n);c=n.effects.events.subscribe(n.abortSignal,"abort",(()=>e.abort())),yield t,yield n.fork(a,e),c(),o()}catch(e){c();s(e instanceof Error?e:e instanceof Event?new i.SourceBufferActionFailedError(e):new Error(""))}}))]));function u(e,t){const n=[],r={executing:!1},o=c(t);let a=()=>{};const u=e=>{n.forEach((([t,r,o])=>{n.shift(),o(e)}))},d=()=>{a(),a=e.effects.events.subscribe(e.abortSignal,"abort",(()=>{u(new i.SourceBufferActionAbortedError)}))};return d(),{execute(t){const{abortable:i}=e.effects;let a=()=>{},c=()=>{};const u=i(((e,t)=>{a=e,c=t}));return u.catch((()=>{})),n.push([t,a,c]),s(e,r,n,o).catch((()=>{})),u},bind:t=>{e=t,d()},abort(e){u(new i.SourceBufferActionAbortedError)}}}t.createSourceBufferActionQueue=u},6837:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferEvent=t.MediaSourceEvent=t.MediaSourceReadyState=void 0,function(e){e.Closed="closed",e.Open="open",e.Ended="ended"}(t.MediaSourceReadyState||(t.MediaSourceReadyState={})),function(e){e.Error="error",e.SourceOpen="sourceopen",e.SourceClose="sourceopen",e.WebkitSourceOpen="webkitsourceopen"}(t.MediaSourceEvent||(t.MediaSourceEvent={})),function(e){e.UpdateStart="updatestart",e.Update="update",e.UpdateEnd="updateend",e.Error="error",e.Abort="abort"}(t.SourceBufferEvent||(t.SourceBufferEvent={}))},7726:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferClearingTask=void 0;const o=n(8465),i=n(9062),a=n(6837),s=n(4574),c=n(1996);function u(e,t,n,o){return r(this,void 0,void 0,(function*(){if(t.getState()!==a.MediaSourceReadyState.Open)return;const r=yield t.getBufferedRanges(),i=[];for(const[n,o]of r){const r=d(e,n),a=[],s=o.filter((e=>e.start>r.end));f(e,o,{start:0,end:r.start})&&(i.push({start:0,end:r.start}),a.push(t.removeData(n,0,r.start))),s.length>0&&(i.push({start:s[0].start,end:1/0}),a.push(t.removeData(n,s[0].start,1/0))),yield Promise.all(a)}m(e,t.buffers,n,o)}))}function d(e,t){const n=e.registry.get(i.ComponentName.SourceState);if(0===t.mediaTypes.length)throw new Error("Renderer Buffer has no media types");return t.mediaTypes.map((e=>(0,s.getTargetBufferRange)(n,e))).reduce(((e,t)=>({start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)})),{start:1/0,end:-1/0})}function f(e,t,n){const{overlaps:r}=e.registry.get(i.ComponentName.Utils).Ranges;let o=!1;for(let e=0;e<t.length;e++){o=r({start:t[e].start,end:t[e].end},n)||o}return o}function m(e,t,n,r){var o,a;const s=e.registry.get(i.ComponentName.SourceState).dataRanges,{isMediaSelectionGroup:u}=e.registry.get(i.ComponentName.CoreStateAtoms).SelectionGroups,{resetData:d}=e.registry.get(i.ComponentName.CoreStateAtoms).Segments,f=e.registry.get(i.ComponentName.Logger);for(const[i]of n.streamSequenceMap){if(!u(i))continue;const n=null!==(a=null===(o=s.media[i.mediaId])||void 0===o?void 0:o.source[r.buffered])&&void 0!==a?a:[];for(const o of n)l(e,o,t)||(e.effects.state.dispatch(s.removeSegment,i.mediaId,r.buffered,o),(0,c.removeSegmentFromStreamTimeline)(e,o),d(o,e,f))}}function l(e,t,n){const{getTimeRange:r}=e.registry.get(i.ComponentName.CoreStateAtoms).Segments,{overlaps:o,isFullyIncluded:a}=e.registry.get(i.ComponentName.Utils).Ranges,s=r(t),c=e.registry.get(i.ComponentName.SourceState).playback.playhead;for(const e of n){const t=e.buffered;for(let e=0;e<t.length;e++){const n={start:t.start(e),end:t.end(e)};if(s.end>=c.position?o(s,n):a(s,n))return!0}}return!1}t.BufferClearingTask=(0,o.createTaskClosure)(((e,t,n)=>["buffer-clearing-task",(o,a)=>r(void 0,void 0,void 0,(function*(){const r=a.registry.get(i.ComponentName.Logger);try{r.debug("Clearing buffers"),yield u(a,e,t,n),r.debug("Done clearing buffers")}catch(e){r.debug("Failed to clear buffers:",e instanceof Error?e.message:e)}}))]))},6308:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentAppendage=void 0;const r=n(8465),o=n(4652),i=n(2397),a=n(1996),s=n(5858);t.SegmentAppendage=(0,r.createTask)("segment-appendage",(({renderer:e,dataRangeIds:t,section:n,video:r},c)=>{const u=(0,o.createSegmentAppendageQueueAtom)(c,(0,a.SegmentAppendageQueueConsumer)(e,t,n,r),(e=>e instanceof i.EncodedPlaybackTimeUnknownError));return c.fork(s.KeepUpdatingSegmentsToAppend,{section:n,segmentAppendageQueue:u,dataRangeIds:t})}))},1996:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.waitForEncodedPlaybackTime=t.removeSegmentFromStreamTimeline=t.SegmentAppendageQueueConsumer=void 0;const o=n(8465),i=n(9062),a=n(6837),s=n(2397),c=n(7026),u=n(7726),d=n(6366);function f(e,t){return r(this,void 0,void 0,(function*(){if(t.getState()===a.MediaSourceReadyState.Open)return;const n=e.registry.get(i.ComponentName.SourceState).stream;yield t.reopen(),yield t.setDuration(n.duration.value)}))}function m(e,t,n,r){var o,a;const s=n.currentTime,c=e.registry.get(i.ComponentName.SourceState).dataRanges;for(const[e,n]of t.streamSequenceMap){const t=n[n.length-1];if(t){const{parsedPlaybackTime:n,parsedDuration:r}=t.segmentTiming,o=n+r;if(e.timeRange.end>o)return!1}for(const e of n){if(e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration<s)continue;if(!(null!==(a=null===(o=c.media[e.selectionGroup.mediaId])||void 0===o?void 0:o.source[r.buffered])&&void 0!==a?a:[]).includes(e))return!1}}return!0}function l(e,t){const n=e.registry.get(i.ComponentName.SourceState).stream,{Type:r}=e.registry.get(i.ComponentName.CoreStateAtoms).Stream;if(n.type===r.Live)return!1;for(const[{sequenceNumber:e,mediaId:r},o]of t.streamSequenceMap)for(let t=n.selectionGroups.length-1;t>=0;t--){const o=n.selectionGroups[t];if(o.sequenceNumber!==1/0&&o.mediaId===r){if(o.sequenceNumber>e)return!1;if(o.sequenceNumber<=e)break}}return!0}function g(e,t,n,r,o){const i=m(e,t,r,o),a=l(e,t);i&&a&&n.close()}function p(e,t){const{state:n}=e.effects,r=e.registry.get(i.ComponentName.SourceState),{parsedDuration:o,encodedDuration:a}=t.segmentTiming,{isMediaTrack:s}=e.registry.get(i.ComponentName.CoreStateAtoms).Tracks;o!==a&&s(t.track)&&n.dispatch(r.stream.onDurationMismatch.trigger,{segment:t,track:t.track,expectedDuration:o,actualDuration:a})}function y(e,t){const n=e.registry.get(i.ComponentName.StreamTimeline),r=t.selectionGroup,{state:o}=e.effects,a=n.find((e=>e.sequenceNumber===r.sequenceNumber));if(a){const e=a.streamSequenceMap.get(r);e&&o.dispatch(e.remove,t)}}function b(e){return Array.from(e.streamSequenceMap.keys())}function v(e,t){return b(e).every((({tracks:e})=>e.every((({timeRange:{start:e,end:n}})=>e<=t&&n>t))))}function S(e,t,n,r){const o=[],a=t.currentTime,s=n.getBufferedRanges(),c=e.registry.get(i.ComponentName.Logger);if(v(r,a))return;for(const[{mimeType:e},t]of s){let n;for(const{start:e,end:r}of t)if(r>a){n={start:e,end:r};break}if(void 0===n)return void c.debug(`Not setting current time yet - "${e}" buffer is empty`);o.push(n)}let u=o[0];for(const{start:e,end:t}of o)u={start:Math.max(u.start,e),end:Math.min(u.end,t)};if(u.start>=u.end)c.debug("Not setting current time yet - buffers don't overlap");else if(a<u.start){const e=u.start;c.log(`Setting currentTime to start of buffer (${a.toFixed(2)} → ${e.toFixed(2)})`),t.currentTime=e}}function h(e,t){return r(this,void 0,void 0,(function*(){if(t.length<1)return;const{state:n}=e.effects,o=e.registry.get(i.ComponentName.Logger),a=e.registry.get(i.ComponentName.SourceState),{Tracks:s,Segments:c}=e.registry.get(i.ComponentName.CoreStateAtoms),{isMediaTrack:u}=s,{getReadableSegmentName:d}=c;yield Promise.all(t.map((t=>r(this,void 0,void 0,(function*(){if(!u(t.track))return;yield T(e,t);const{parsedPlaybackTime:r,encodedPlaybackTime:i,timestampOffset:s}=t.segmentTiming;if(s===-1/0){const e=d(t);return void o.debug(`Cannot verify segment timing - timestampOffset is not set (${e})`)}const c=i+s;r!==c&&n.dispatch(a.stream.onPlaybackTimeMismatch.trigger,{track:t.track,segment:t,expectedTime:c,actualTime:r})})))))}))}function T(e,{segmentTiming:t,data:n}){return r(this,void 0,void 0,(function*(){const{abortable:r,state:i}=e.effects;if(-1!==t.encodedPlaybackTime)return t.encodedPlaybackTime;if(n.closed)throw new s.EncodedPlaybackTimeUnknownError;return r(((r,a)=>{const c=(0,o.createTask)("data-awaiter",((e,t)=>{const{closed:n,error:r}=e;(n||r)&&(m(),a(new s.EncodedPlaybackTimeUnknownError))})),u=(0,o.createTask)("segment-data-cleared-subscriber",((e,t)=>{m(),a(new s.EncodedPlaybackTimeUnknownError)})),d=(0,o.createTask)("encoded-playback-time-awaiter",(({encodedPlaybackTime:e},t)=>{-1!==e&&(m(),r(e))})),f=[i.subscribe(e,t,d),i.subscribe(e,n,c),i.subscribe(e,n.cleared,u)],m=()=>f.forEach((e=>e(!1)))}))}))}t.SegmentAppendageQueueConsumer=(0,o.createTaskClosure)(((e,t,n,o)=>["segment-appendage-queue-consumer",(a,s)=>r(void 0,void 0,void 0,(function*(){const m=s.registry.get(i.ComponentName.SourceState),{state:l}=s.effects;for(const e of a)l.dispatch(m.dataRanges.addSegment,e.selectionGroup.mediaId,t.appending,e);try{yield f(s,e),yield(0,d.maybeUpdateTimestampOffset)(s,e,a),yield h(s,a),yield Promise.all(a.map((n=>r(void 0,void 0,void 0,(function*(){yield(0,c.maybeAppendInitSegment)(s,n,e),yield(0,c.appendSegment)(s,n,e),p(s,n),l.dispatch(m.dataRanges.addSegment,n.selectionGroup.mediaId,t.buffered,n),l.dispatch(m.dataRanges.removeSegment,n.selectionGroup.mediaId,t.appending,n)}))))),S(s,o,e,n),g(s,n,e,o,t),yield s.fork((0,u.BufferClearingTask)(e,n,t),m.playback.playhead)}finally{for(const e of a)l.dispatch(m.dataRanges.removeSegment,e.selectionGroup.mediaId,t.appending,e)}}))])),t.removeSegmentFromStreamTimeline=y,t.waitForEncodedPlaybackTime=T},5858:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KeepUpdatingSegmentsToAppend=void 0;const r=n(8465),o=n(9062),i=n(4574);t.KeepUpdatingSegmentsToAppend=(0,r.createTask)("keep-updating-segments-to-append",(({section:e,dataRangeIds:t,segmentAppendageQueue:n},r)=>{const{loop:i,state:s}=r.effects,{playback:{playhead:c}}=r.registry.get(o.ComponentName.SourceState),u=a(t,e,n);s.subscribe(r,n.consumed,u),s.subscribe(r,c,u),s.subscribe(r,e.streamSequenceMap,u);for(const[t,n]of e.streamSequenceMap)s.subscribe(r,n,u);return r.fork(u,c),i(r.abortSignal)}));const a=(0,r.createTaskClosure)(((e,t,n)=>["select-segments-to-append",(r,i)=>{const{areSegmentsOverlapping:a}=i.registry.get(o.ComponentName.CoreStateAtoms).Segments;let u=c(i,e,t);u=s(u,n),u.length>=1&&!a(u)&&u.splice(1,u.length-1),u.length<1||i.effects.state.dispatch(n.appendSegments.trigger,u)}]));function s(e,t){const n=[];for(const e of t.queue)for(const t of e)n.push(t.selectionGroup.mediaId);return e.filter((e=>!n.includes(e.selectionGroup.mediaId)))}function c(e,t,n){var r,a,s,c;const u=e.registry.get(o.ComponentName.SourceState),d=u.dataRanges,f=[],{isMediaSelectionGroup:m,getMediaType:l}=e.registry.get(o.ComponentName.CoreStateAtoms).SelectionGroups,{overlaps:g}=e.registry.get(o.ComponentName.Utils).Ranges,{getGapToNextSegment:p}=e.registry.get(o.ComponentName.CoreStateAtoms).Segments;for(const[e,o]of n.streamSequenceMap){if(!m(e))continue;const n=l(e),y=(0,i.getMediaTypeTargetRanges)(u,n),b=null!==(a=null===(r=d.media[e.mediaId])||void 0===r?void 0:r.source[t.buffered])&&void 0!==a?a:[],v=null!==(c=null===(s=d.media[e.mediaId])||void 0===s?void 0:s.source[t.appending])&&void 0!==c?c:[];for(let e=0;e<o.length;e++){const t=o[e],{parsedPlaybackTime:n,parsedDuration:r}=t.segmentTiming,i=n+r,a=b.includes(t),s=v.includes(t),c=p(t,o[e+1]),u=void 0!==c&&i===c.start,d=n>=y.start&&n<y.end,m=i>y.start&&i<=y.end;if((d||m||(y.start===i||void 0!==c&&g(y,c))&&u)&&!a&&!s){f.push(t);break}}}return f.sort(((e,t)=>e.segmentTiming.parsedPlaybackTime-t.segmentTiming.parsedPlaybackTime)),f}},6366:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.maybeUpdateTimestampOffset=void 0;const o=n(9062),i=n(1996);function a(e,t,n){return r(this,void 0,void 0,(function*(){const t=[];for(const e of n){const{timestampOffset:n}=e.segmentTiming;n===-1/0&&t.push(e)}0!==t.length&&(yield s(e,t))}))}function s(e,t){return r(this,void 0,void 0,(function*(){const{state:n}=e.effects,a=e.registry.get(o.ComponentName.Logger),s=d(t),u=new Map;yield Promise.all(s.map((t=>r(this,void 0,void 0,(function*(){yield(0,i.waitForEncodedPlaybackTime)(e,t),u.set(t.track,c(e,t))})))));const f=Array.from(u.values()),m=Math.max(...f);if(void 0!==m){a.debug(`Determined timestampOffset to be (${m})`);for(const[e]of u)for(const t of e.segments){const e=t.segmentTiming;e.timestampOffset===-1/0&&n.dispatch(e.timestampOffsetChanged,m)}}else a.debug(`Could not determine timestamp offset (${f})`)}))}function c(e,t){const n=u(e,t);if(void 0!==n)return n;{const{parsedPlaybackTime:e,encodedPlaybackTime:n}=t.segmentTiming;return e-n}}function u(e,t){var n;const r=t.track,i=r.selectionGroup.tracks.filter((e=>e!==r)),{getTimeRange:a}=e.registry.get(o.ComponentName.CoreStateAtoms).Segments,{overlaps:s}=e.registry.get(o.ComponentName.Utils).Ranges,c=a(t);for(const e of i){const t=e.segments.find((e=>s(a(e),c))),{timestampOffset:r}=null!==(n=null==t?void 0:t.segmentTiming)&&void 0!==n?n:{};if(void 0!==r&&r!==-1/0)return r}}function d(e){const t=new Map;for(const n of e){const e=n.track,r=t.get(e);if(void 0!==r){const{parsedPlaybackTime:o}=r.segmentTiming,{parsedPlaybackTime:i}=n.segmentTiming;i<o&&t.set(e,n)}else t.set(e,n)}return Array.from(t.values())}t.maybeUpdateTimestampOffset=a},7026:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?n(e.value):o(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){o(r,i,(t=e[n](t)).done,t.value)}))}}function o(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.appendSegment=t.maybeAppendInitSegment=void 0;const i=n(9062),a=n(4574);function s(e,t,n){var s,u,d,f;return r(this,void 0,void 0,(function*(){const{isDataSegment:r}=e.registry.get(i.ComponentName.CoreStateAtoms).Segments;if(r(t))try{for(var m,l=!0,g=o(t.data);m=yield g.next(),!(s=m.done);){f=m.value,l=!1;try{const r=f,o=(0,a.getMatchingBuffer)(e,n.buffers,r.containerFormat,r.mediaTypes);if(!o)continue;if(o.initSegment===t.initSegment)return;yield c(e,t.initSegment,n),e.effects.state.dispatch(o.setInitSegment,t.initSegment)}finally{l=!0}}}catch(e){u={error:e}}finally{try{l||s||!(d=g.return)||(yield d.call(g))}finally{if(u)throw u.error}}}))}function c(e,t,n){var s,c,u,d,f,m,l,g;return r(this,void 0,void 0,(function*(){const r=e.registry.get(i.ComponentName.Logger),{isDataOrSelfInitSegment:p}=e.registry.get(i.ComponentName.CoreStateAtoms).Segments;r.debug("Appending",t.url);try{for(var y,b=!0,v=o(t.data);y=yield v.next(),!(s=y.done);){d=y.value,b=!1;try{const i=d,s=(0,a.getMatchingBuffer)(e,n.buffers,i.containerFormat,i.mediaTypes);if(!s){r.log(`Can't append "${i.mediaTypes}" data "${t.url}": there is no buffer of the given type`);continue}p(t)&&t.segmentTiming.timestampOffset>-1/0&&(yield n.setTimestampOffset(s,t.segmentTiming.timestampOffset));try{for(var S,h=!0,T=(m=void 0,o(i.fragments));S=yield T.next(),!(f=S.done);){g=S.value,h=!1;try{const e=g;yield n.appendData(s,e)}finally{h=!0}}}catch(e){m={error:e}}finally{try{h||f||!(l=T.return)||(yield l.call(T))}finally{if(m)throw m.error}}}finally{b=!0}}}catch(e){c={error:e}}finally{try{b||s||!(u=v.return)||(yield u.call(v))}finally{if(c)throw c.error}}r.debug("Appended",t.url)}))}t.maybeAppendInitSegment=s,t.appendSegment=c}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}return n(7515)})()));