@bitmovin/player-web-x 10.2.0-beta.13 → 10.2.0-beta.14

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 (193) hide show
  1. package/bundles/playerx-bitmovin-v8-core.js +2 -2
  2. package/bundles/playerx-bitmovin-v8.js +2 -2
  3. package/bundles/playerx-core.js +2 -2
  4. package/bundles/playerx-dash.js +2 -2
  5. package/bundles/playerx-hls-ts-audio.js +2 -2
  6. package/bundles/playerx-hls.js +2 -2
  7. package/bundles/playerx-playback.js +2 -2
  8. package/bundles/playerx-tv.js +2 -2
  9. package/package.json +1 -1
  10. package/packages/playerx-adaptation.package.js +2 -2
  11. package/packages/playerx-advertising-api.package.js +2 -2
  12. package/packages/playerx-advertising-base.package.js +2 -2
  13. package/packages/playerx-advertising-bitmovin.package.js +2 -2
  14. package/packages/playerx-analytics.package.js +1 -1
  15. package/packages/playerx-bitmovin-advertising-bundle.package.js +2 -2
  16. package/packages/playerx-bitmovin-source-api.package.js +2 -2
  17. package/packages/playerx-bitmovin-ui.package.js +2 -2
  18. package/packages/playerx-bitmovin-v8-core.package.js +2 -2
  19. package/packages/playerx-bitmovin-v8-static-api.package.js +2 -2
  20. package/packages/playerx-bitmovin-video-element-utils.package.js +2 -2
  21. package/packages/playerx-capabilities.package.js +2 -2
  22. package/packages/playerx-container-mp4.package.js +2 -2
  23. package/packages/playerx-container-ts.package.js +2 -2
  24. package/packages/playerx-core.package.js +2 -2
  25. package/packages/playerx-dash-manifest-technology.package.js +2 -2
  26. package/packages/playerx-dash-manifest.package.js +2 -2
  27. package/packages/playerx-dash-parsing.package.js +2 -2
  28. package/packages/playerx-dash-translation.package.js +2 -2
  29. package/packages/playerx-dash.package.js +2 -2
  30. package/packages/playerx-data.package.js +2 -2
  31. package/packages/playerx-event-bus.package.js +1 -1
  32. package/packages/playerx-hls-manifest-technology.package.js +2 -2
  33. package/packages/playerx-hls-manifest.package.js +2 -2
  34. package/packages/playerx-hls-parsing.package.js +2 -2
  35. package/packages/playerx-hls-translation.package.js +2 -2
  36. package/packages/playerx-hls.package.js +2 -2
  37. package/packages/playerx-media-state.package.d.ts +1 -0
  38. package/packages/playerx-media-state.package.js +10 -0
  39. package/packages/playerx-mse-playback.package.js +2 -2
  40. package/packages/playerx-mse-presentation.package.js +2 -2
  41. package/packages/playerx-native-playback.package.js +2 -2
  42. package/packages/playerx-native-presentation.package.js +2 -2
  43. package/packages/playerx-network.package.js +2 -2
  44. package/packages/playerx-no-adaptation.package.js +2 -2
  45. package/packages/playerx-playback-api.package.js +2 -2
  46. package/packages/playerx-playback-technology.package.js +2 -2
  47. package/packages/playerx-playback.package.js +2 -2
  48. package/packages/playerx-player-api.package.js +2 -2
  49. package/packages/playerx-segment-processing.package.js +2 -2
  50. package/packages/playerx-source.package.js +2 -2
  51. package/packages/playerx-sources-api.package.js +2 -2
  52. package/packages/playerx-stream-data-structure.package.js +2 -2
  53. package/packages/playerx-streaming.package.js +1 -1
  54. package/packages/playerx-subtitle-api.package.js +2 -2
  55. package/packages/playerx-subtitle-base.package.js +2 -2
  56. package/packages/playerx-subtitle-format-detection.package.js +1 -1
  57. package/packages/playerx-subtitle-native-renderer.package.js +2 -2
  58. package/packages/playerx-subtitles.package.js +2 -2
  59. package/packages/playerx-trick-play.package.js +2 -2
  60. package/packages/playerx-ts-transmuxer.package.js +2 -2
  61. package/packages/playerx-tv.package.js +1 -1
  62. package/packages/playerx-ui.package.js +2 -2
  63. package/packages/playerx-video-element-controller.package.d.ts +1 -0
  64. package/packages/playerx-video-element-controller.package.js +10 -0
  65. package/packages/playerx-view-mode.package.js +2 -2
  66. package/packages/playerx-web-vtt.package.js +2 -2
  67. package/playerx-framework-utils.js +1 -1
  68. package/types/Types.d.ts +3 -0
  69. package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
  70. package/types/bundles/Dash.bundle.d.ts +1 -1
  71. package/types/bundles/Hls.bundle.d.ts +1 -1
  72. package/types/bundles/HlsTsAudio.bundle.d.ts +1 -1
  73. package/types/bundles/Playback.bundle.d.ts +1 -1
  74. package/types/bundles/Tv.bundle.d.ts +1 -1
  75. package/types/packages/adaptation/AdaptationAlgorithm.d.ts +4 -0
  76. package/types/packages/adaptation/StartupQuality.d.ts +5 -0
  77. package/types/packages/adaptation/Types.d.ts +7 -11
  78. package/types/packages/adaptation/WishDataAtom.d.ts +9 -2
  79. package/types/packages/advertising/BitmovinAdvertisingBundle.package.d.ts +1 -1
  80. package/types/packages/advertising/api/AdvertisingApi.package.d.ts +1 -1
  81. package/types/packages/advertising/api/AdvertisingEvents.d.ts +29 -5
  82. package/types/packages/advertising/api/Types.d.ts +24 -6
  83. package/types/packages/advertising/base/AdPosition.d.ts +1 -0
  84. package/types/packages/advertising/base/AdQuartile.d.ts +5 -0
  85. package/types/packages/advertising/base/AdSchedule.d.ts +2 -2
  86. package/types/packages/advertising/base/AdTagAtom.d.ts +1 -1
  87. package/types/packages/advertising/base/AdType.d.ts +4 -0
  88. package/types/packages/advertising/base/BaseAdAtom.d.ts +5 -3
  89. package/types/packages/advertising/base/{BaseAdBreakAtom.d.ts → BaseAdPodAtom.d.ts} +8 -6
  90. package/types/packages/advertising/base/BaseAdPodState.d.ts +7 -0
  91. package/types/packages/advertising/base/BaseAdState.d.ts +7 -0
  92. package/types/packages/advertising/base/Types.d.ts +13 -29
  93. package/types/packages/advertising/bitmovin/Types.d.ts +13 -10
  94. package/types/packages/capabilities/Types.d.ts +1 -1
  95. package/types/packages/container/container-mp4/ContainerMp4.package.d.ts +2 -0
  96. package/types/packages/container/container-ts/ContainerTs.package.d.ts +3 -1
  97. package/types/packages/container/ts-transmuxer/TsTransmuxer.package.d.ts +2 -0
  98. package/types/packages/core/Constants.d.ts +7 -0
  99. package/types/packages/core/Types.d.ts +3 -2
  100. package/types/packages/core/metrics/MetricsAtom.d.ts +1 -1
  101. package/types/packages/{adaptation → core/state}/RingBufferAtom.d.ts +2 -2
  102. package/types/packages/core/state/StateMachineAtom.d.ts +13 -12
  103. package/types/packages/core/state/state-effect/Types.d.ts +2 -2
  104. package/types/packages/core/technology/Types.d.ts +2 -2
  105. package/types/packages/data/Types.d.ts +7 -1
  106. package/types/packages/manifest/dash/parsing/Errors.d.ts +1 -1
  107. package/types/packages/manifest/dash/root/Types.d.ts +3 -1
  108. package/types/packages/manifest/dash/technology/Types.d.ts +2 -1
  109. package/types/packages/manifest/hls/parsing/Constants.d.ts +47 -0
  110. package/types/packages/manifest/hls/parsing/Errors.d.ts +1 -1
  111. package/types/packages/manifest/hls/parsing/Types.d.ts +5 -48
  112. package/types/packages/manifest/hls/root/Hls.package.d.ts +6 -1
  113. package/types/packages/manifest/hls/technology/Types.d.ts +2 -1
  114. package/types/packages/manifest/hls/translation/HlsTranslation.package.d.ts +5 -0
  115. package/types/packages/manifest/hls/translation/Types.d.ts +10 -11
  116. package/types/packages/manifest/hls/translation/segments/StreamHelpers.d.ts +14 -0
  117. package/types/packages/manifest/hls/translation/stream/TracksToSelectionGroups.d.ts +6 -0
  118. package/types/packages/manifest/hls/translation/stream/UnknownTrackToMediaTrackTranslator.d.ts +4 -0
  119. package/types/packages/media-state/MediaInfoAtoms.d.ts +18 -0
  120. package/types/packages/media-state/MediaState.d.ts +10 -0
  121. package/types/packages/media-state/MediaState.package.d.ts +22 -0
  122. package/types/packages/media-state/MediaStateAtom.d.ts +16 -0
  123. package/types/packages/media-state/MediaStateTransitionType.d.ts +11 -0
  124. package/types/packages/media-state/SeekRestrictionAtom.d.ts +2 -0
  125. package/types/packages/media-state/Types.d.ts +48 -0
  126. package/types/packages/media-state/controllers/video-element/Types.d.ts +32 -0
  127. package/types/packages/media-state/controllers/video-element/VideoElementController.package.d.ts +15 -0
  128. package/types/packages/network/HttpRequestMethod.d.ts +5 -0
  129. package/types/packages/network/HttpRequestType.d.ts +11 -0
  130. package/types/packages/network/HttpResponseType.d.ts +7 -0
  131. package/types/packages/network/NetworkAtom.d.ts +15 -0
  132. package/types/packages/network/NetworkTask.d.ts +8 -7
  133. package/types/packages/network/Types.d.ts +17 -26
  134. package/types/packages/playback/play-pause/Types.d.ts +0 -3
  135. package/types/packages/playback/volume/Types.d.ts +2 -4
  136. package/types/packages/playback-api/play-pause-api/Types.d.ts +4 -3
  137. package/types/packages/playback-api/playback-api-events/Types.d.ts +11 -8
  138. package/types/packages/playback-api/time-api/Types.d.ts +4 -5
  139. package/types/packages/playback-technology/PlaybackTechnologyEntryType.d.ts +4 -0
  140. package/types/packages/playback-technology/Types.d.ts +6 -6
  141. package/types/packages/player-api/PlayerApi.package.d.ts +2 -0
  142. package/types/packages/player-api/PlayerEvent.d.ts +3 -0
  143. package/types/packages/player-api/Types.d.ts +4 -4
  144. package/types/packages/presentation/mse/playback-technology/Types.d.ts +2 -1
  145. package/types/packages/presentation/mse/playback-technology/atoms/MsePresentationStateAtom.d.ts +1 -4
  146. package/types/packages/presentation/mse/presentation/MsePresentation.package.d.ts +4 -2
  147. package/types/packages/presentation/mse/presentation/Types.d.ts +6 -0
  148. package/types/packages/presentation/native/Types.d.ts +1 -1
  149. package/types/packages/presentation/native/playback-technology/Types.d.ts +2 -1
  150. package/types/packages/segment-processing/SegmentProcessing.package.d.ts +2 -1
  151. package/types/packages/segment-processing/SegmentProcessorType.d.ts +7 -0
  152. package/types/packages/segment-processing/Types.d.ts +10 -10
  153. package/types/packages/source/SourceReference.d.ts +1 -1
  154. package/types/packages/source/atoms/PlaybackConfigAtom.d.ts +2 -2
  155. package/types/packages/source/atoms/SourceConfigAtom.d.ts +2 -0
  156. package/types/packages/sources-api/SourcesApiEvent.d.ts +7 -0
  157. package/types/packages/sources-api/Types.d.ts +4 -8
  158. package/types/packages/stream-data-structure/Types.d.ts +1 -0
  159. package/types/packages/stream-data-structure/segment/Exports.d.ts +3 -3
  160. package/types/packages/stream-data-structure/segment/SegmentAtom.d.ts +11 -2
  161. package/types/packages/stream-data-structure/segment/SegmentDataAtom.d.ts +1 -7
  162. package/types/packages/stream-data-structure/segment/SegmentUtils.d.ts +3 -2
  163. package/types/packages/stream-data-structure/selection-group/SelectionGroupAtom.d.ts +1 -2
  164. package/types/packages/stream-data-structure/track/Exports.d.ts +6 -1
  165. package/types/packages/stream-data-structure/track/TrackAtom.d.ts +19 -4
  166. package/types/packages/stream-data-structure/track/TrackTypeGuards.d.ts +3 -1
  167. package/types/packages/stream-data-structure/track/TypeDetection.d.ts +25 -0
  168. package/types/packages/stream-data-structure/track/TypeDetectionTypeGuards.d.ts +4 -0
  169. package/types/packages/streaming/Streaming.package.d.ts +2 -2
  170. package/types/packages/streaming/Types.d.ts +3 -2
  171. package/types/packages/subtitles/subtitle-api/SubtitleEvent.d.ts +9 -0
  172. package/types/packages/subtitles/subtitle-api/Types.d.ts +3 -9
  173. package/types/packages/trick-play/TrickPlay.package.d.ts +2 -1
  174. package/types/packages/v8-compat/BitmovinUi.package.d.ts +4 -4
  175. package/types/packages/v8-compat/BitmovinV8Core.package.d.ts +16 -4
  176. package/types/packages/v8-compat/BitmovinV8StaticApi.package.d.ts +8 -5
  177. package/types/packages/v8-compat/apis/SourceApis.d.ts +5 -0
  178. package/types/packages/v8-compat/apis/SubtitleApi.d.ts +5 -0
  179. package/types/packages/v8-compat/enums/AdditionalPlayerExportNames.d.ts +9 -0
  180. package/types/packages/v8-compat/enums/PlayerExports.d.ts +0 -7
  181. package/types/packages/v8-compat/event-handling/EventDispatcher.d.ts +11 -0
  182. package/types/packages/v8-compat/source-api/BitmovinSourceApi.package.d.ts +10 -4
  183. package/types/packages/v8-compat/video-element/BitmovinVideoElementUtils.package.d.ts +4 -4
  184. package/types/packages/view-mode/Types.d.ts +4 -6
  185. package/types/packages/view-mode/ViewMode.d.ts +5 -0
  186. package/types/packages/view-mode/ViewMode.package.d.ts +2 -0
  187. package/types/packages/view-mode/ViewModeAtom.d.ts +1 -1
  188. package/types/packages/core/FrameworkError.d.ts +0 -4
  189. package/types/packages/core/network/NetworkAtom.d.ts +0 -21
  190. package/types/packages/playback/playback-state/Types.d.ts +0 -41
  191. package/types/packages/playback/video-element-state/SeekRestrictionAtom.d.ts +0 -2
  192. package/types/packages/playback/video-element-state/Types.d.ts +0 -32
  193. package/types/packages/playback/video-element-state/VideoElementStateAtom.d.ts +0 -58
@@ -5,6 +5,6 @@
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.2.0-beta.13
8
+ * Bitmovin Player X Version 10.2.0-beta.14
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["mse-presentation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["mse-presentation"]=t())}(self,(()=>(()=>{"use strict";var e={19281:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createEffectFactory=void 0;const r=e=>e;t.createEffectFactory=r},4250:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerEffectFactory=t.LogLevel=void 0;const n=r(19281);var o;!function(e){e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Log=3]="Log",e[e.Debug=4]="Debug",e[e.Verbose=5]="Verbose"}(o||(t.LogLevel=o={}));const a={error:console.error.bind(console),warn:console.warn.bind(console),log:console.log.bind(console),debug:console.info.bind(console),verbose:console.debug.bind(console)},i=()=>{};class s{constructor(e,t){this.logLevel=o.Verbose,this.logProvider=a,this.logCallbacks=[],this.parent=e,this.logMetadata=t}get verbose(){return this.resolveMethod(o.Verbose,this.provider.verbose)}get debug(){return this.resolveMethod(o.Debug,this.provider.debug)}get log(){return this.resolveMethod(o.Log,this.provider.log)}get warn(){return this.resolveMethod(o.Warn,this.provider.warn)}get error(){return this.resolveMethod(o.Error,this.provider.error)}get level(){return this.parent?this.parent.level:this.logLevel}get provider(){return this.parent?this.parent.provider:this.logProvider}get metadata(){var e;return Object.assign(Object.assign({},null===(e=this.parent)||void 0===e?void 0:e.metadata),this.logMetadata)}setLevel(e){this.parent?this.parent.setLevel(e):this.logLevel=e}setProvider(e){this.parent?this.parent.setProvider(e):this.logProvider=e}addOnLogCallback(e){return this.parent?this.parent.addOnLogCallback(e):(this.logCallbacks.push(e),()=>{const t=this.logCallbacks.indexOf(e);t>-1&&this.logCallbacks.splice(t,1)})}get onLogCallbacks(){return this.parent?this.parent.onLogCallbacks:this.logCallbacks}resolveMethod(e,t){const r=this.onLogCallbacks,n=this.level>=e;return 0!==r.length||n?0===r.length?t:(...o)=>{const a=this.metadata;for(const t of r)t(e,a,...o);n&&t(...o)}:i}}function c(e){return e&&"logger"in e.effects&&e.effects.logger instanceof s?e.effects.logger:void 0}const u=e=>(0,n.createEffectFactory)((t=>({effect:{logger:new s(c(t),e)}})));t.LoggerEffectFactory=u},97085:(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},91270:(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)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},47755:(e,t)=>{function r(e,t){return e.length===t.length&&e.every(((e,r)=>e===t[r]))}function n(e,...t){return 0!==t.length&&(e.push(...t),!0)}function o(e,...t){const r=e.length;for(const r of t)e.includes(r)||e.push(r);return r!==e.length}function a(e,t,...r){return 0!==r.length&&(e.splice(t,0,...r),!0)}function i(e,t,r){let n=0,o=e.length;for(;n<o;){const a=n+o>>>1;r(e[a])<r(t)?n=a+1:o=a}return n}function s(e,t,...r){const n=e.length;if(0===r.length)return!1;if(0===e.length)return e.push(...r.sort(((e,r)=>t(e)-t(r)))),!0;for(const n of r){const r=t(n),o=t(e[0]);if(t(e[e.length-1])<=r)e.push(n);else if(r<=o)e.unshift(n);else{const r=i(e,n,t);e.splice(r,0,n)}}return e.length!==n}function c(e,...t){let r=!1;for(const n of t){const t=e.indexOf(n);t<0||(r=!0,e.splice(t,1))}return r}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function f(e,t){if(r(e,t))return!1;const n=u(e);return t.forEach((t=>e.push(t))),n||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const d=(e,t=[])=>{const r={add:n,insert:a,insertSorted:s,remove:c,clear:u,set:f,addIfNew:o};return e.effects.state.create(t,r)};t.createArrayAtom=d},1146:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DataExportNames=void 0,function(e){e.StreamTimeline="stream-timeline"}(t.DataExportNames||(t.DataExportNames={}))},55714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationState=void 0,t.MsePresentationState="mse-presentation-state"},4399:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activeSectionUpdaterTask=void 0;const n=r(91270),o=r(14809),a=r(1146),i=r(7269),s=r(27134),c=r(88425),u=r(8747);t.activeSectionUpdaterTask=(0,n.createTask)("active-section-update",(([e,t],r)=>{const n=r.registry.get(i.SourceExportNames.SourceState),s=r.registry.get(a.DataExportNames.StreamTimeline),{mapSubscribe:c}=r.registry.get(o.CoreExportNames.Utils).State,u=d([e,t]),g=f(u);return r.effects.state.subscribe(r,n.playback.playhead,u),c(r,s,g),r.fork(u,s),r.effects.loop(r.abortSignal)}));const f=(0,n.createTaskClosure)((e=>["stream-timeline-sub",(t,r)=>{const{subscribeAndRun:n}=r.registry.get(o.CoreExportNames.Utils).State;return n(r,t.streamSequenceMap,e),r.effects.loop(r.abortSignal)}])),d=(0,n.createTaskClosure)((([e,t])=>["active-section-update",(r,n)=>{if(!m(n)||g(n))return;const o=S(n,t.dataRangeIds.buffered);o&&n.effects.state.dispatch(e.setActiveSection,o)}]));function g(e){const t=e.registry.get(i.SourceExportNames.SourceState),r=e.registry.get(c.StreamingState),n=t.playback.playhead.position;return r.stream.duration.value<n||n<0}function l(e){const{MediaType:t}=e.registry.get(o.CoreExportNames.Constants),r=e=>e!==t.Unknown&&e!==t.Subtitle,n=e.registry.get(c.StreamingState).activeMediaTypes;return Array.from(n.keys()).filter(r).length}function m(e){const{isMediaSelectionGroup:t}=e.registry.get(s.StreamDataStructureSelectionGroups),r=e.registry.get(a.DataExportNames.StreamTimeline),n=l(e);return r.some((e=>Array.from(e.streamSequenceMap.keys()).filter(t).length===n))}function p(e,t){return e>=t.start&&e<=t.end}function S(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(a.DataExportNames.StreamTimeline),{isEndInRange:s}=e.registry.get(o.CoreExportNames.Utils).Ranges,f=l(e);return n.find((n=>{const o=v(e,n);if(o.length!==f)return!1;return!!o.every((({mediaType:t,selectionGroup:n})=>{const o=e.registry.get(c.StreamingState),a=(0,u.getMediaTypeTargetRanges)(r,o,t);return p(a.start,n.timeRange)||s(a.end,n.timeRange)}))&&o.some((({mediaType:o,mediaId:a,selectionGroup:i})=>{var s,f;const d=e.registry.get(c.StreamingState),g=(0,u.getMediaTypeTargetRanges)(r,d,o),l=b(e,n,o,g),m=null!==(f=null===(s=d.dataRanges.media[a])||void 0===s?void 0:s.ranges)&&void 0!==f?f:[],p=i.timeRange.end,S=m.some((e=>e.start<=p&&p<=e.end)),v=y(e,l,a,t);return!S||!v}))}))}function y(e,t,r,n){var o,a;const i=e.registry.get(c.StreamingState),{dataRanges:s}=i,u=null!==(a=null===(o=s.media[r])||void 0===o?void 0:o.source[n])&&void 0!==a?a:[];return t.every((e=>u.includes(e)))}function b(e,t,r,n){const{isVideoSelectionGroup:a,isAudioSelectionGroup:i}=e.registry.get(s.StreamDataStructureSelectionGroups),{isEndInRange:c,isStartInRange:u}=e.registry.get(o.CoreExportNames.Utils).Ranges,f=e.registry.get(o.CoreExportNames.Constants).MediaType,d=[];for(const[e,o]of t.streamSequenceMap)if(o.length&&(r===f.Audio&&i(e)||r===f.Video&&a(e)))for(const e of o){const t=e.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;(u(t,n)||c(r,n))&&d.push(e)}return d}function v(e,t){const{isVideoSelectionGroup:r,isAudioSelectionGroup:n}=e.registry.get(s.StreamDataStructureSelectionGroups),a=e.registry.get(o.CoreExportNames.Constants).MediaType;return Array.from(t.streamSequenceMap.keys()).map((e=>r(e)?{mediaType:a.Video,mediaId:e.mediaId,selectionGroup:e}:n(e)?{mediaType:a.Audio,mediaId:e.mediaId,selectionGroup:e}:void 0)).filter(Boolean)}},16566:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GapHandlingTask=void 0;const n=r(91270);t.GapHandlingTask=(0,n.createTaskClosure)((e=>["gap-handler",(t,r)=>{const{events:n}=r.effects;let o=!1;const i=()=>{if(o)return;const t=a(r,e);void 0!==t&&(r.effects.logger.log(`Skipping buffer gap (${e.currentTime.toFixed(2)} → ${t.toFixed(2)})`),e.currentTime=t)},s=()=>{o=!0},c=()=>{o=!1},u=()=>{o=!1};return n.subscribe(r,e,"waiting",i),n.subscribe(r,e,"seeking",s),n.subscribe(r,e,"seeked",c),n.subscribe(r,e,"playing",u),r.effects.loop(r.abortSignal)}]));const o=.1;function a(e,t){const r=t.currentTime,n=t.buffered;for(let e=0;e<n.length;e++){const t=n.start(e),a=n.end(e);if(r>=t&&r<=a&&a-r<o&&e<n.length-1)return n.start(e+1)}}},11821: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.awaitMediaInfo=void 0;const o=r(91270),a=r(14809),i=r(27134);function s(e){return e.tracks.some((e=>e.codecs.size>0))}function c(e){return void 0!==e.container.value}function u(e,t,r){return n(this,void 0,void 0,(function*(){const{abortable:n}=e.effects,{subscribeAndRun:i}=e.registry.get(a.CoreExportNames.Utils).State;return n((n=>{const a=(0,o.createTask)("segment-container-format-subscriber",((e,t)=>{r()&&(n(),s())})),s=i(e,t,a)}))}))}function f(e,t){return n(this,void 0,void 0,(function*(){return u(e,t.container,(()=>c(t)))}))}function d(e,t){return n(this,void 0,void 0,(function*(){const{containerFormatMap:r}=e.effects.store;return u(e,r,(()=>void 0!==r.get(t)))}))}function g(e,t){return n(this,void 0,void 0,(function*(){const{abortable:r,state:n}=e.effects,a=[],i=r((r=>{for(const i of t.tracks){const c=(0,o.createTask)("codec-subscriber",((e,n)=>{s(t)&&r()}));a.push(n.subscribe(e,i.codecs,c))}}));return i.finally((()=>a.forEach((e=>e())))).catch((()=>{})),i}))}function l(e,t){return n(this,void 0,void 0,(function*(){const{isMediaSelectionGroup:r}=e.registry.get(i.StreamDataStructureSelectionGroups),{containerFormatMap:n}=e.effects.store;for(const[o]of t.streamSequenceMap)r(o)&&(s(o)||(yield g(e,o)),c(o)||(yield f(e,o)),void 0===n.get(o)&&(yield d(e,o)))}))}t.awaitMediaInfo=l},55388: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationPackage=void 0;const o=r(4250),a=r(97085),i=r(55225),s=r(14809),c=r(1146),u=r(30158),f=r(7269),d=r(78622),g=r(88425),l=r(55714),m=r(17090),p=r(53434),S=r(76410),y=r(79284),b=r(95994),v=r(36912);t.MsePresentationPackage=(0,a.createPackage)("mse-presentation",((e,t)=>n(void 0,void 0,void 0,(function*(){const{createMapStateAtom:e}=t.registry.get(s.CoreExportNames.CoreStateAtoms),{StateEffectFactory:r,EventListenerEffectFactory:n,StoreEffectFactory:a}=t.registry.get(s.CoreExportNames.CoreEffects),i=t.using(r,n,(0,o.LoggerEffectFactory)({package:"MsePresentation"})),c=i.using(a("segmentDataCache",new Map)).using(a("containerFormatMap",e(i)));c.registry.maybeSet(b.MsePresentationExportNames.SelectContainerFormat,S.SelectContainerFormatTask);const{state:u}=c.effects,d=c.registry.get(f.SourceExportNames.SourceState),g=(0,v.VideoElementSubscriber)((0,p.createPresentationStateAtom)(c),(0,m.createActiveSectionAtom)(c));(0,y.startPresentationSegmentProcessing)(c),u.subscribe(c,d.video,g)}))),[s.CoreExportNames.Utils,s.CoreExportNames.Constants,f.SourceExportNames.SourceState,c.DataExportNames.StreamTimeline,s.CoreExportNames.CoreStateAtoms,s.CoreExportNames.CoreEffects,i.CapabilitiesExportNames.PlatformCapabilities,u.SegmentProcessingExportNames.SegmentProcessingComponent,u.SegmentProcessingExportNames.SegmentProcessorErrors,l.MsePresentationState,...d.StreamDataStructureExportNames,g.StreamingState]),t.default=t.MsePresentationPackage},4304: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveSectionSubscriber=t.SegmentCacheMissError=t.EncodedPlaybackTimeUnknownError=void 0;const o=r(91270),a=r(55225),i=r(14809),s=r(7269),c=r(27134),u=r(66895),f=r(88425),d=r(11821),g=r(71185),l=r(61820),m=r(99569),p=r(8747);function S(e,t,r){const{MediaType:n}=e.registry.get(i.CoreExportNames.Constants),{getMediaTypeFromCodec:o,canSwitchBetweenAudioCodecs:a,extractCodec:s}=e.registry.get(i.CoreExportNames.Utils).Codecs,c=e=>r.filter((t=>o(t)===e));for(const e of t){const t=o(e);switch(t){case n.Video:{const r=s(e),n=c(t);if(void 0===r||0===n.length)return!1;if(!n.every((e=>r===s(e))))return!1;break}case n.Audio:{const r=c(t);if(0===r.length)return!1;if(!r.every((t=>a(e,t))))return!1;break}default:return!1}}return!0}function y(e,t,r,n,o){const{equals:a}=e.registry.get(i.CoreExportNames.Utils).Arrays;return t.find((([t,i,s])=>{const c=r===i,u=a(o,s),f=S(e,n,t);return c&&u&&f}))}function b(e,t,r){if(t.length!==r.length)return!0;for(const[n,o,a]of t){if(void 0===y(e,r,o,n,a))return!0}return!1}function v(e,t,r){return n(this,void 0,void 0,(function*(){const{events:n,abortable:o}=e.effects;t.close(),yield o((t=>{if(r.ended)t();else{const o=n.subscribe(e,r,"ended",(()=>{t(),o()}))}}))}))}function h(e){const t=[];if(void 0===e)return t;for(const{containerFormat:r,mediaTypes:n,codecs:o}of e.buffers)t.push([o,r,n]);return t}function T(e,t,r,n){if(r.length!==n.length)return!1;for(const[o,a,i]of r){const r=(0,p.getMatchingBuffer)(e,t.buffers,a,i);if(void 0===r)return!1;const s=y(e,n,a,o,i);if(void 0===s)return!1;const[c,u,f]=s;if(!t.canChangeBuffer(r,c,u))return!1}return!0}function E(e,t,r){return n(this,void 0,void 0,(function*(){r.bind(e);for(const[n,o,a]of t){const t=(0,p.getMatchingBuffer)(e,r.buffers,o,a);if(void 0===t)throw new Error("Could not find matching buffer");yield r.changeBuffer(t,n,o)}return r}))}function k(e,t,r,o){return n(this,void 0,void 0,(function*(){const{waitFor:n}=e.registry.get(i.CoreExportNames.Utils).State,{managedMediaSourceSupported:s}=e.registry.get(a.CapabilitiesExportNames.PlatformCapabilities);t&&(e.effects.logger.debug("Waiting for end of buffer before recreating the MSE..."),t.bind(e),yield v(e,t,o),e.effects.logger.debug("End of buffer reached, recreating MSE...")),null==t||t.dispose(),t=(0,g.createRenderer)(e);const c=n(e,t.onOpen);e.effects.logger.log(`Setting video element source to ${t.sourceUrl}`),o.src=t.sourceUrl,s()&&(o.disableRemotePlayback=!0),o.load(),yield c;for(const[e,n,o]of r)t.addBuffer(e,n,o);const u=e.registry.get(f.StreamingState).stream;return yield t.setDuration(u.duration.value),t}))}function x(e,t,r,o,a,i){return n(this,void 0,void 0,(function*(){const n=e.registry.get(s.SourceExportNames.SourceState).playback.playhead;if(void 0===t)return e.effects.logger.log(`Creating MSE for ${i}`),yield k(e,void 0,i,a);const c=h(t);return b(e,c,i)?T(e,t,c,i)?(e.effects.logger.log(`Changing MSE buffer types for ${i}`),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),n),yield E(e,i,t)):(e.effects.logger.log(`Re-creating MSE for ${i}`),yield k(e,t,i,a)):(e.effects.logger.log(`Re-using MSE for ${i}`,e.abortSignal.reason),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),n),t)}))}class M extends Error{constructor(){super("The encoded playback time could not be extracted from the segment"),this.name="EncodedPlaybackTimeUnknownError"}}t.EncodedPlaybackTimeUnknownError=M;class C extends Error{constructor(){super("Could not retrieve cached segment data for playback time retrieval"),this.name="SegmentCacheMissError"}}function P(e){const t=new Set;for(const r of e.codecs.keys())t.add(r);return t}function w(e,t){const{MediaType:r}=e.registry.get(i.CoreExportNames.Constants),{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups),{isMediaTrack:o}=e.registry.get(u.StreamDataStructureTracks),a=Array.from(t.streamSequenceMap.keys()).filter(n).flatMap((e=>e.tracks)).filter(o);for(const e of a){const t=P(e),n=t.has(r.Muxed),o=t.has(r.Audio),a=t.has(r.Video);if(n||o&&a)return!0}return!1}function A(e,t){const{isMediaTrack:r}=e.registry.get(u.StreamDataStructureTracks);let n,o=-1/0;for(const e of t.tracks){if(!r(e))continue;const{bitrate:t,codecs:a}=e;t>o&&a.size>0&&(o=t,n=a)}return n}function _(e,t){const r=[];for(const[n,o]of e)r.push([o,t,[n]]);return r}function D(e,t){return[[Array.from(e.values()).flat(),t,Array.from(e.keys())]]}function N(e,t,r){const{containerFormatMap:n}=e.effects.store,o=n.get(r),a=w(e,t);if(void 0===o)throw new Error("Container format is unexpectedly undefined");const i=A(e,r);if(void 0===i)throw new Error("Could not determine codec to create buffers with");return a?_(i,o):D(i,o)}function O(e,t){const r=[],{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups);for(const[o]of t.streamSequenceMap){if(!n(o))continue;const a=N(e,t,o);void 0!==a&&r.push(...a)}return r}t.SegmentCacheMissError=C;const R=(0,o.createTaskClosure)((e=>["buffer-statistics-printer",(t,r)=>{try{if(0===e.buffered.length)return void r.effects.logger.verbose(`Buffered for ${e.mediaTypes} is empty`);let t=`Buffered Ranges for ${e.mediaTypes}`;for(let r=0;r<e.buffered.length;r++){const n=e.buffered.start(r),o=e.buffered.end(r);t=`${t}\n\t[${r}] ${n.toFixed(2)} - ${o.toFixed(2)}`}r.effects.logger.verbose(t)}catch(t){r.effects.logger.verbose(`Could not get buffered ranges from ${e.mediaTypes} buffer`)}}])),U=(0,o.createTaskClosure)((e=>["duration-updater",({value:t},r)=>e.setDuration(t)]));t.ActiveSectionSubscriber=(0,o.createTaskClosure)(((e,t)=>["active-section-subscriber",({section:r},o)=>n(void 0,void 0,void 0,(function*(){if(!r)return;const{state:n,events:a,loop:i}=o.effects,{activeRenderer:c,dataRangeIds:u}=e,g=o.registry.get(s.SourceExportNames.SourceState),p=o.registry.get(f.StreamingState).stream,S=g.playback.playhead;yield(0,d.awaitMediaInfo)(o,r);const y=O(o,r);o.effects.logger.log("Preparing playback of section with buffers",y),a.subscribe(o,t,"timeupdate",(()=>{0!==t.currentTime&&n.dispatch(S.setPosition,t.currentTime)})),a.subscribe(o,t,"seeking",(()=>n.dispatch(S.setPosition,t.currentTime)));const b=yield x(o,c,u,r,t,y);return b.buffers.map((e=>n.subscribe(o,e.onUpdateEnd,R(e)))),n.dispatch(e.setActiveRenderer,b),n.subscribe(o,p.duration,U(b)),n.subscribe(o,S,(0,l.BufferClearingTask)(b,r,u)),o.fork(m.SegmentAppendage,{renderer:b,section:r,dataRangeIds:u,video:t}).catch((()=>{})),i(o.abortSignal)}))]))},95994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationExportNames=void 0,function(e){e.SelectContainerFormat="presentation-select-container-format-task"}(t.MsePresentationExportNames||(t.MsePresentationExportNames={}))},8747:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getMatchingBuffer=t.getTargetBufferRange=t.getMediaTypeTargetRanges=void 0;const n=r(14809);function o(e,t,r){const n=e.playback.playhead.position;return{start:n,end:n+t.bufferConfig[r].forwardDuration}}function a(e,t,r){const n=e.playback.playhead.position,o=t.bufferConfig[r];return{start:Math.max(0,n-o.backwardDuration),end:n+o.forwardDuration}}function i(e,t,r,o){const{equals:a}=e.registry.get(n.CoreExportNames.Utils).Arrays;return t.find((e=>a(e.mediaTypes,o)&&e.containerFormat===r))}t.getMediaTypeTargetRanges=o,t.getTargetBufferRange=a,t.getMatchingBuffer=i},3014:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},36912:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementSubscriber=void 0;const n=r(91270),o=r(88425),a=r(4399),i=r(16566),s=r(4304),c=r(3014);t.VideoElementSubscriber=(0,n.createTaskClosure)(((e,t)=>["video-element-subscriber",(r,n)=>{const{fork:u,effects:f,abortSignal:d}=n,{state:g,loop:l,abortable:m}=f,p=n.effects.logger;if(void 0===r.element)return p.log("Cannot set up presentation task - no video element"),m((e=>e()));const S=r.element,y=(0,s.ActiveSectionSubscriber)(e,S);return n.effects.logger.log("Setting up presentation task..."),(0,c.resetVideoSource)(S,p),g.subscribe(n,t,y),void 0!==t.section&&u(y,t),u((0,i.GapHandlingTask)(S),e),u(a.activeSectionUpdaterTask,[t,e],(()=>{var t;const r=null===(t=e.activeRenderer)||void 0===t?void 0:t.sourceUrl,{state:a}=n.effects;if(n.registry.has(o.StreamingState)){const t=n.registry.get(o.StreamingState),{dataRanges:r}=t;for(const t in r.media)for(const n of Object.values(e.dataRangeIds))a.dispatch(r.deleteSource,t,n)}return a.dispatch(e.setActiveRenderer,void 0),void 0!==r&&S.src===r&&(0,c.resetVideoSource)(S,p),!1})),l(d)}]))},17090:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActiveSectionAtom=void 0;const r=()=>({section:void 0});function n(e,t){return e.section!==t&&(e.section=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveSection:n})}t.createActiveSectionAtom=o},53434:(e,t)=>{function r(){return{activeRenderer:void 0,dataRangeIds:{buffered:"buffered",appending:"appending"}}}function n(e,t){return e.activeRenderer!==t&&(e.activeRenderer=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveRenderer:n})}Object.defineProperty(t,"__esModule",{value:!0}),t.createPresentationStateAtom=void 0,t.createPresentationStateAtom=o},88070: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentAppendageQueueAtom=void 0;const o=r(91270),a=r(14809);function i(e){const{createTransient:t}=e.registry.get(a.CoreExportNames.Utils).State;return{queue:[],appendSegments:t(e),consumed:t(e)}}const s=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-subscriber",({value:a},i)=>n(void 0,void 0,void 0,(function*(){if(void 0===a)return;const n=t.queue;n.push(a);try{yield e.fork(r,a.slice(),o)}catch(e){}finally{const r=n.indexOf(a);r>-1&&n.splice(r,1),e.effects.state.dispatch(t.consumed.trigger)}}))]));function c(e,t,r=(()=>!1)){const{state:n}=e.effects,o=e.effects.state.create(i(e),{}),a=s(e,o,t,r);return n.subscribe(e,o.appendSegments,a),o}t.createSegmentAppendageQueueAtom=c},33983:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getOrCreateOutputStream=void 0;const n=r(14809);function o(e,t,r){const{createDataStreamAtom:o}=e.registry.get(n.CoreExportNames.CoreStateAtoms).DataStream,a=o(e);return t.set(r,a),a}function a(e,t,r){var n;return null!==(n=t.get(r))&&void 0!==n?n:o(e,t,r)}t.getOrCreateOutputStream=a},15865:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferActionFailedError=t.SourceBufferActionAbortedError=t.NotSupportedError=void 0;class r extends Error{constructor(e){super(`The operation "${e}" is not supported on this platform`),this.name="NotSupportedError"}}t.NotSupportedError=r;class n extends Error{constructor(){super("SourceBuffer action was aborted"),this.name="SourceBufferActionAbortedError"}}t.SourceBufferActionAbortedError=n;class o extends Error{constructor(e){super(`SourceBuffer action failed: ${e.type}`),this.name="SourceBufferActionFailedError"}}t.SourceBufferActionFailedError=o},71185: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderer=void 0;const o=r(55225),a=r(14809),i=r(32776),s=r(22782),c=r(34175),u=r(50907);function f(e,t){const{state:r,events:n}=e.effects,{createTransient:o}=e.registry.get(a.CoreExportNames.Utils).State,i={onOpen:o(e),onClose:o(e),onEnded:o(e),onError:o(e)};return n.subscribe(e,t,"sourceopen",(()=>r.dispatch(i.onOpen.trigger))),n.subscribe(e,t,"sourceclose",(()=>r.dispatch(i.onClose.trigger))),n.subscribe(e,t,"sourceended",(()=>r.dispatch(i.onEnded.trigger))),n.subscribe(e,t,"error",(e=>r.dispatch(i.onError.trigger,new Error(JSON.stringify(e))))),i}function d(e,t){const r=e.get(t);if(!r)throw new Error("Unexpectedly encountered untracked value");return r}function g(e,t,r,n,o,a,i){const u=(0,s.generateMimeTypeString)(e,i,a,o);e.effects.logger.debug(`Adding source buffer of type "${u}"`);const f=t.addSourceBuffer(u),d=(0,c.createSourceBufferActionQueue)(e,f),g=(0,s.createRendererBufferAtom)(e,o,i,a,!1,f),m=l(e,g,f);n.set(g,[f,d,m]),e.effects.state.dispatch(r.add,g)}function l(e,t,r){const{events:n,state:o}=e.effects,a=[n.subscribe(e,r,"updatestart",(()=>o.dispatch(t.onUpdateStart.trigger))),n.subscribe(e,r,"update",(()=>o.dispatch(t.onUpdate.trigger))),n.subscribe(e,r,"updateend",(()=>o.dispatch(t.onUpdateEnd.trigger))),n.subscribe(e,r,"error",(e=>o.dispatch(t.onError.trigger,new Error(e.type)))),n.subscribe(e,r,"abort",(()=>o.dispatch(t.onAbort.trigger)))];return()=>a.forEach((e=>e()))}function m(e,t,r,n,a,i){const{typeSupported:c}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities),u=d(r,n)[0],f=(0,s.generateMimeTypeString)(e,n.mediaTypes,i,a);return"function"==typeof u.changeType&&c(f)}function p(e,t,r,n,o,a){const[i,c]=d(r,n),u=(0,s.generateMimeTypeString)(e,n.mediaTypes,a,o),f=e=>e.changeType(u);return c.execute(f)}function S(e,t,r,o,a){return n(this,void 0,void 0,(function*(){const[n,i]=d(r,a),s=e=>t.removeSourceBuffer(e);yield i.execute(s),r.delete(a),e.effects.state.dispatch(o.remove,a)}))}function y(e,t,r,n,o){const a=e.effects.logger,[i,s]=d(r,n),c=e=>{e.timestampOffset=o};return a.log(`Setting timestamp offset to ${o.toFixed(2)} for buffer ${n.mediaTypes}/${n.codecs}`),e.effects.state.dispatch(n.setTimestampOffset,o),s.execute(c)}function b(e,t,r,n,o){const[a,i]=d(r,n),s=e=>e.appendBuffer(o.data.buffer);return i.execute(s)}function v(e,t,r,n,o,a){if(o>=a)return e.effects.abortable((e=>e()));const[i,s]=d(r,n),c=e=>e.remove(o,a);return s.execute(c)}function h(e,t,r){e.readyState===u.MediaSourceReadyState.Open&&e.setLiveSeekableRange(t,r)}function T(e,t,r,n){if(t.readyState===u.MediaSourceReadyState.Open){const e=[n,t.duration].filter((e=>!Number.isNaN(e))),o=()=>{t.duration=Math.max(...e)};return r.execute(o)}return e.effects.logger.log("Unable to set duration, media source not open"),e.effects.abortable((e=>e()))}function E(e,t,r){const n=e.effects.logger;if(t.readyState===u.MediaSourceReadyState.Open){const e=()=>{t.endOfStream()};return n.debug("Signaling EoS..."),r.execute(e)}return n.log("Skipping EoS - media source not open"),e.effects.abortable((e=>e()))}function k(e,t){const r=[];try{for(let e=0;e<t.buffered.length;e++)r.push({start:t.buffered.start(e),end:t.buffered.end(e)})}catch(t){e.effects.logger.debug("Could not determine buffered ranges for source buffer:",t)}return r}function x(e,t,r,n){const o=new Map;for(const[t,[r]]of n)o.set(t,k(e,r));return o}function M(e){return e.readyState}function C(e,t,r){const n=Array.from(r.entries());if(t.readyState===u.MediaSourceReadyState.Open||0===n.length)return e.effects.abortable((e=>e()));const[[o,[a]]]=n;return y(e,t,r,o,a.timestampOffset)}function P(e,t,r,n){for(const[e,[n]]of r)t.removeSourceBuffer(n);r.clear(),e.effects.state.dispatch(n.clear)}function w(e){const{createArrayAtom:t}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{managedMediaSourceSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);let n=e;const s=r(),c=s?new ManagedMediaSource:new MediaSource,u=URL.createObjectURL(c);e.effects.logger.log("Created "+(s?"ManagedMediaSource":"MediaSource"));const d=f(n,c),k=new Map,w=t(n,[]),A=(0,i.createRendererActionQueue)(n,k);return Object.assign(Object.assign({},d),{sourceUrl:u,buffers:w,addBuffer:g.bind(void 0,n,c,w,k),canChangeBuffer:m.bind(void 0,n,c,k),changeBuffer:p.bind(void 0,n,c,k),removeBuffer:S.bind(void 0,n,c,k,w),setTimestampOffset:y.bind(void 0,n,c,k),getBufferedRanges:x.bind(void 0,n,c,A,k),appendData:b.bind(void 0,n,c,k),removeData:v.bind(void 0,n,c,k),setSeekableRange:h.bind(void 0,c),setDuration:T.bind(void 0,n,c,A),getState:M.bind(void 0,c),close:E.bind(void 0,n,c,A),reopen:C.bind(void 0,n,c,k),dispose:P.bind(void 0,n,c,k,w),bind:e=>{const t=e.effects.logger,r=Array.from(k.keys());t.debug("Binding renderer to new context..."),n=e,A.bind(n);for(const t of r){const r=k.get(t);if(!r)continue;const[o,a,i]=r;i(),a.bind(n),r[2]=l(e,t,o)}}})}t.createRenderer=w},32776: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererActionQueue=void 0;function o(e,t,r,a){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(a,n)}finally{t.executing=!1,o(e,t,r,a).catch((()=>{}))}else t.executing=!1}))}const a=(0,r(91270).createTaskClosure)((e=>["renderer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const{abortSignal:n,effects:o}=r,{abortable:a,events:s}=o;let c=()=>{},u=()=>{};const f=a(((e,t)=>{u=e,c=t})),d=[c],[g,l]=t,m=s.subscribe(r,n,"abort",(()=>{d.forEach((e=>e(n.reason)))}));f.catch((()=>{}));try{const{sourceBufferActionEnteredAbortables:t,sourceBufferActionAbortables:n}=i(r,e,f,d);yield Promise.all(t),yield g(void 0,r),u(),yield Promise.all(n),l()}finally{m()}}))]));function i(e,t,r,o){const a=[],i=[];for(const[s,[c,u]]of t){let t=()=>{};const s=e.effects.abortable(((e,r)=>{t=e,o.push(r)}));s.catch((()=>{}));const c=(e,o)=>n(this,void 0,void 0,(function*(){t(),yield r.catch((()=>{}))}));a.push(s),i.push(u.execute(c))}return{sourceBufferActionEnteredAbortables:a,sourceBufferActionAbortables:i}}function s(e,t){const r=[],n={executing:!1},i=a(t);return{execute:t=>{const{abortable:a}=e.effects;let s=()=>{},c=()=>{};const u=a(((e,t)=>{s=e,c=t}));return r.push([t,s,c]),o(e,n,r,i).catch((()=>{})),u},bind:t=>e=t,abort:()=>{}}}t.createRendererActionQueue=s},22782:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererBufferAtom=t.generateMimeTypeString=void 0;const n=r(47755),o=r(14809),a=r(24693);function i(e,t,r,a,i){const{createTransient:s}=e.registry.get(o.CoreExportNames.Utils).State;return{onUpdateStart:s(e),onUpdate:s(e),onUpdateEnd:s(e),onError:s(e),onAbort:s(e),codecs:(0,n.createArrayAtom)(e,t),containerFormat:a,mediaTypes:(0,n.createArrayAtom)(e,r),encrypted:i,mimeType:u(e,r,a,t),timestampOffset:0,initSegment:void 0}}function s(e,t,r){const{MediaType:n}=e.registry.get(o.CoreExportNames.Constants),{ContainerFormat:i}=e.registry.get(a.StreamDataStructureSegments);return t===i.TS?n.Video:r}function c(e,t){return r=>`${s(e,t,r)}/${t}`}function u(e,t,r,n){return`${t.map(c(e,r)).join(";")};codecs="${n.join(",")}"`}function f(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function d(e,t){return e.initSegment!==t&&(e.initSegment=t,!0)}function g(e,t,r,n,o){const{state:a}=e.effects,i=t.codecs.length===r.length&&t.codecs.every((e=>r.includes(e))),s=t.mediaTypes.length===n.length&&t.mediaTypes.every((e=>n.includes(e)));return(t.containerFormat!==o||!s||!i)&&(t.mimeType=u(e,n,o,r),t.containerFormat=o,a.dispatch(t.codecs.set,r),a.dispatch(t.mediaTypes.set,n),!0)}function l(e,t,r,n,a,s){const{deriveFrom:c}=e.registry.get(o.CoreExportNames.Utils).State,u=i(e,t,r,n,a);return c(u,"buffered",(()=>s.buffered)),e.effects.state.create(u,{setTimestampOffset:f,setInitSegment:d,updateType:g.bind(void 0,e)})}t.generateMimeTypeString=u,t.createRendererBufferAtom=l},34175: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceBufferActionQueue=void 0;const o=r(91270),a=r(15865),i=(0,o.createTask)("source-buffer-update-awaiter",((e,t)=>{const{events:r,abortable:n}=t.effects;return n(((n,o)=>{e.updating?(r.subscribe(t,e,"updateend",(()=>n())),r.subscribe(t,e,"abort",(()=>o(new a.SourceBufferActionAbortedError))),r.subscribe(t,e,"error",(e=>o(new a.SourceBufferActionFailedError(e))))):n()}))}));function s(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(o,n,(e=>e instanceof a.SourceBufferActionAbortedError))}finally{t.executing=!1,s(e,t,r,o).catch((()=>{}))}else t.executing=!1}))}function c(e){return e instanceof Error?e:e instanceof Event?new a.SourceBufferActionFailedError(e):new Error("SourceBuffer action failed: "+e)}const u=(0,o.createTaskClosure)((e=>["source-buffer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const[n,o,a]=t;let s=()=>{};try{yield r.fork(i,e,(()=>!0)).catch((()=>{}));const t=n(e,r);s=r.effects.events.subscribe(r,r.abortSignal,"abort",(()=>e.abort())),yield t,yield r.fork(i,e),s(),o()}catch(e){s(),a(c(e))}}))]));function f(e,t){const r=[],n={executing:!1},o=u(t);let i=()=>{};const c=e=>{r.forEach((([t,n,o])=>{r.shift(),o(e)}))},f=()=>{i(),i=e.effects.events.subscribe(e,e.abortSignal,"abort",(()=>{c(new a.SourceBufferActionAbortedError)}))};return f(),{execute(t){const{abortable:a}=e.effects;let i=()=>{},c=()=>{};const u=a(((e,t)=>{i=e,c=t}));return u.catch((()=>{})),r.push([t,i,c]),s(e,n,r,o).catch((()=>{})),u},bind:t=>{e=t,f()},abort(e){c(new a.SourceBufferActionAbortedError)}}}t.createSourceBufferActionQueue=f},50907:(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="sourceclose",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={}))},61820: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferClearingTask=void 0;const o=r(91270),a=r(14809),i=r(7269),s=r(24693),c=r(27134),u=r(66895),f=r(88425),d=r(50907),g=r(8747),l=r(5670);function m(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.getState()!==d.MediaSourceReadyState.Open)return;const n=t.getBufferedRanges();for(const[r,o]of n){const n=p(e,r),a=[],i=o.filter((e=>e.start>n.end));S(e,o,{start:0,end:n.start})&&a.push(t.removeData(r,0,n.start)),i.length>0&&a.push(t.removeData(r,i[0].start,1/0)),yield Promise.all(a)}y(e,t.buffers,r,o),v(e,t.buffers)}))}function p(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(f.StreamingState);if(0===t.mediaTypes.length)throw new Error("Renderer Buffer has no media types");return t.mediaTypes.map((e=>(0,g.getTargetBufferRange)(r,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 S(e,t,r){const{overlaps:n}=e.registry.get(a.CoreExportNames.Utils).Ranges;let o=!1;for(const e of t)o=n(e,r)||o;return o}function y(e,t,r,n){var o,a;const i=e.registry.get(f.StreamingState),{dataRanges:u}=i,{isMediaSelectionGroup:d}=e.registry.get(c.StreamDataStructureSelectionGroups),{resetData:g}=e.registry.get(s.StreamDataStructureSegments),{state:m}=e.effects;for(const[i]of r.streamSequenceMap){if(!d(i))continue;const r=null!==(a=null===(o=u.media[i.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[];for(const o of r.slice())b(e,o,t)||(m.dispatch(u.removeSegment,i.mediaId,n.buffered,o),(0,l.removeSegmentFromStreamTimeline)(e,o),g(o,e))}}function b(e,t,r){const{getTimeRange:n}=e.registry.get(s.StreamDataStructureSegments),{overlaps:o,isFullyIncluded:c}=e.registry.get(a.CoreExportNames.Utils).Ranges,u=n(t),f=e.registry.get(i.SourceExportNames.SourceState).playback.playhead;for(const e of r){const t=e.buffered;for(let e=0;e<t.length;e++){const r={start:t.start(e),end:t.end(e)};if(u.end>=f.position?o(u,r):c(u,r))return!0}}return!1}function v(e,t){const r=e.effects.store.segmentDataCache,n=Array.from(r.keys()),{overlaps:o}=e.registry.get(a.CoreExportNames.Utils).Ranges,c=e.registry.get(i.SourceExportNames.SourceState),d=e.registry.get(f.StreamingState),{isDataOrSelfInitSegment:m,isDataSegment:p,getTimeRange:S}=e.registry.get(s.StreamDataStructureSegments),{isMediaTrack:y}=e.registry.get(u.StreamDataStructureTracks),v=new Set,h=[];for(const a of n){if(!y(a.track))continue;if(!m(a)){h.push(a);continue}const n=o(Array.from(a.track.codecs.keys()).reduce(((e,t)=>{const{start:r,end:n}=(0,g.getTargetBufferRange)(c,d,t);return{start:Math.min(e.start,r),end:Math.max(e.end,n)}}),{start:1/0,end:-1/0}),S(a));b(e,a,t)||n?p(a)&&v.add(a.initSegment):(r.delete(a),(0,l.removeSegmentFromStreamTimeline)(e,a))}for(const e of h)v.has(e)||r.delete(e)}t.BufferClearingTask=(0,o.createTaskClosure)(((e,t,r)=>["buffer-clearing-task",(o,a)=>n(void 0,void 0,void 0,(function*(){const n=a.effects.logger;try{n.debug("Clearing buffers"),yield m(a,e,t,r),n.debug("Done clearing buffers")}catch(e){n.debug("Failed to clear buffers:",e instanceof Error?e.message:e)}}))]))},99569:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentAppendage=void 0;const n=r(91270),o=r(14809),a=r(88070),i=r(4304),s=r(5670),c=r(60149);t.SegmentAppendage=(0,n.createTask)("segment-appendage",(({renderer:e,dataRangeIds:t,section:r,video:n},u)=>{const{MapUnsubscribedError:f}=u.registry.get(o.CoreExportNames.Utils).State,{QueueItemRemovedError:d}=u.registry.get(o.CoreExportNames.CoreStateAtoms).Queue,g=e=>e instanceof i.EncodedPlaybackTimeUnknownError||e instanceof f||e instanceof i.SegmentCacheMissError||e instanceof d,l=(0,a.createSegmentAppendageQueueAtom)(u,(0,s.SegmentAppendageQueueConsumer)(e,t,r,n),g);return u.fork(c.KeepUpdatingSegmentsToAppend,{section:r,segmentAppendageQueue:l,dataRangeIds:t})}))},5670: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.waitForEncodedPlaybackTime=t.removeSegmentFromStreamTimeline=t.SegmentAppendageQueueConsumer=void 0;const o=r(91270),a=r(14809),i=r(1146),s=r(7269),c=r(24693),u=r(94503),f=r(66895),d=r(88425),g=r(50907),l=r(4304),m=r(8747),p=r(87436),S=r(61820),y=r(63927);function b(e){const t=e.effects.store.segmentDataCache,r=[];for(const[e,{error:n}]of t.entries())n&&r.push(e);for(const e of r)t.delete(e)}function v(e,t,r){const{state:n}=e.effects,o=e.registry.get(d.StreamingState);n.dispatch(o.dataRanges.addSegment,r.selectionGroup.mediaId,t.buffered,r),n.dispatch(o.dataRanges.removeSegment,r.selectionGroup.mediaId,t.appending,r)}function h(e,t,r,o){return n(this,void 0,void 0,(function*(){yield(0,p.maybeAppendInitSegment)(e,o,r),yield(0,p.appendSegment)(e,o,r),P(e,o),v(e,t,o)}))}function T(e,t){const{isMediaTrack:r}=e.registry.get(f.StreamDataStructureTracks),n=e.registry.get(s.SourceExportNames.SourceState),o=e.registry.get(d.StreamingState);if(!r(t.track))throw new Error("Encountered non-media segment during segment appendage");const a={start:1/0,end:-1/0};for(const e of t.track.codecs.keys()){const{start:t,end:r}=(0,m.getTargetBufferRange)(n,o,e);a.start=Math.min(a.start,t),a.end=Math.max(a.end,r)}return a}function E(e,t){var r;const{store:n}=e.effects,{getTimeRange:o}=e.registry.get(c.StreamDataStructureSegments),{overlaps:i}=e.registry.get(a.CoreExportNames.Utils).Ranges;for(const a of t){const t=T(e,a),s=void 0!==(null===(r=n.segmentDataCache.get(a))||void 0===r?void 0:r.error),c=i(t,o(a));!s&&c||w(e,a)}}function k(e,t){return n(this,void 0,void 0,(function*(){if(t.getState()===g.MediaSourceReadyState.Open)return;const r=e.registry.get(d.StreamingState).stream;yield t.reopen(),yield t.setDuration(r.duration.value)}))}function x(e,t,r,n){var o,a;const i=r.currentTime,s=e.registry.get(d.StreamingState),{dataRanges:c}=s;let u=!1;for(const[e,r]of t.streamSequenceMap){const t=r[r.length-1],s=null==t?void 0:t.segmentTiming,f=void 0===s?1/0:s.parsedPlaybackTime+s.parsedDuration;if(u||(u=r.length>0),e.timeRange.end>f)return!1;for(const e of r){const t=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration,r=null!==(a=null===(o=c.media[e.selectionGroup.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[];if(!(t<i)&&!r.includes(e))return!1}}return u}function M(e,t){const r=e.registry.get(d.StreamingState).stream,{Type:n}=e.registry.get(u.StreamDataStructureStream);if(r.type===n.Live)return!1;for(const[{sequenceNumber:e,mediaId:n},o]of t.streamSequenceMap)for(let t=r.selectionGroups.length-1;t>=0;t--){const o=r.selectionGroups[t];if(o.sequenceNumber!==1/0&&o.mediaId===n){if(o.sequenceNumber>e)return!1;if(o.sequenceNumber<=e)break}}return!0}function C(e,t,r,n,o){const a=x(e,t,n,o),i=M(e,t);a&&i&&r.close()}function P(e,t){const{state:r}=e.effects,n=e.registry.get(d.StreamingState),{parsedDuration:o,encodedDuration:a}=t.segmentTiming,{isMediaTrack:i}=e.registry.get(f.StreamDataStructureTracks);o!==a&&i(t.track)&&r.dispatch(n.stream.onDurationMismatch.trigger,{segment:t,track:t.track,expectedDuration:o,actualDuration:a})}function w(e,t){const r=e.registry.get(i.DataExportNames.StreamTimeline),n=t.selectionGroup,{state:o}=e.effects,a=r.find((e=>e.sequenceNumber===n.sequenceNumber));if(a){const e=a.streamSequenceMap.get(n);e&&o.dispatch(e.remove,t)}}function A(e){return Array.from(e.streamSequenceMap.keys())}function _(e,t){return A(e).every((({tracks:e})=>e.every((({timeRange:{start:e,end:r}})=>e<=t&&r>t))))}function D(e,t){for(const r of t)if(r.end>e)return r}function N(e,t,r){const n=e.effects.logger,o=[];for(const[{mimeType:e},a]of r.getBufferedRanges()){const r=D(t.currentTime,a);if(void 0===r)return void n.debug(`Not setting current time yet - "${e}" buffer is empty`);o.push(r)}return o}function O(e){let t=e[0];for(const{start:r,end:n}of e)t={start:Math.max(t.start,r),end:Math.min(t.end,n)};return t}function R(e,t,r,n){const o=e.registry.get(s.SourceExportNames.SourceState).playback.playhead,a=t.currentTime,i=e.effects.logger;if(_(n,a)&&a>=o.position)return;const c=N(e,t,r);if(void 0===c)return;const u=O(c);if(u.start>=u.end)i.debug("Not setting current time yet - buffers don't overlap");else if(o.position>=u.start&&o.position<=u.end)i.log(`Setting currentTime to saved playhead position (${a.toFixed(2)} → ${o.position.toFixed(2)})`),t.currentTime=o.position;else if(a<u.start){const e=u.start;i.log(`Setting currentTime to start of buffer (${a.toFixed(2)} → ${e.toFixed(2)})`),t.currentTime=e}}function U(e,t){return n(this,void 0,void 0,(function*(){if(t.length<1)return;const{state:r}=e.effects,o=e.effects.logger,a=e.registry.get(d.StreamingState),{isMediaTrack:i}=e.registry.get(f.StreamDataStructureTracks),{getReadableSegmentName:s}=e.registry.get(c.StreamDataStructureSegments);yield Promise.all(t.map((t=>n(this,void 0,void 0,(function*(){if(!i(t.track))return;yield B(e,t);const{parsedPlaybackTime:n,encodedPlaybackTime:c,timestampOffset:u}=t.segmentTiming;if(u===-1/0){const e=s(t);return void o.debug(`Cannot verify segment timing - timestampOffset is not set (${e})`)}const f=c+u;n!==f&&r.dispatch(a.stream.onPlaybackTimeMismatch.trigger,{track:t.track,segment:t,expectedTime:f,actualTime:n})})))))}))}function B(e,t){return n(this,void 0,void 0,(function*(){const{segmentTiming:r}=t,{abortable:n,state:a,store:i}=e.effects,s=i.segmentDataCache.get(t);if(void 0===s)throw new l.SegmentCacheMissError;if(-1!==r.encodedPlaybackTime)return r.encodedPlaybackTime;if(s.closed)throw new l.EncodedPlaybackTimeUnknownError;return n(((t,n)=>{const i=(0,o.createTask)("data-awaiter",((e,t)=>{const{closed:r,error:o}=e;(r||o)&&(d(),n(new l.EncodedPlaybackTimeUnknownError))})),c=(0,o.createTask)("segment-data-cleared-subscriber",((e,t)=>{d(),n(new l.EncodedPlaybackTimeUnknownError)})),u=(0,o.createTask)("encoded-playback-time-awaiter",(({encodedPlaybackTime:e},r)=>{-1!==e&&(d(),t(e))})),f=[a.subscribe(e,r,u),a.subscribe(e,s,i),a.subscribe(e,s.cleared,c)],d=()=>f.forEach((e=>e()))}))}))}t.SegmentAppendageQueueConsumer=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-consumer",(a,i)=>n(void 0,void 0,void 0,(function*(){a=[...a];const n=i.registry.get(s.SourceExportNames.SourceState),c=i.registry.get(d.StreamingState),{state:u}=i.effects;for(const e of a)u.dispatch(c.dataRanges.addSegment,e.selectionGroup.mediaId,t.appending,e);try{yield k(i,e),yield(0,y.maybeUpdateTimestampOffset)(i,e,a),yield U(i,a),yield Promise.all(a.map((r=>h(i,t,e,r)))),R(i,o,e,r),C(i,r,e,o,t),yield i.fork((0,S.BufferClearingTask)(e,r,t),n.playback.playhead)}catch(e){throw E(i,a),e}finally{b(i);for(const e of a)u.dispatch(c.dataRanges.removeSegment,e.selectionGroup.mediaId,t.appending,e)}}))])),t.removeSegmentFromStreamTimeline=w,t.waitForEncodedPlaybackTime=B},60149:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KeepUpdatingSegmentsToAppend=void 0;const n=r(91270),o=r(14809),a=r(7269),i=r(24693),s=r(27134),c=r(88425),u=r(8747);t.KeepUpdatingSegmentsToAppend=(0,n.createTask)("keep-updating-segments-to-append",(({section:e,dataRangeIds:t,segmentAppendageQueue:r},n)=>{const{loop:o,state:i}=n.effects,{playback:{playhead:s}}=n.registry.get(a.SourceExportNames.SourceState),c=f(t,e,r);i.subscribe(n,r.consumed,c),i.subscribe(n,s,c),i.subscribe(n,e.streamSequenceMap,c);for(const[t,r]of e.streamSequenceMap)i.subscribe(n,r,c);return n.fork(c,s),o(n.abortSignal)}));const f=(0,n.createTaskClosure)(((e,t,r)=>["select-segments-to-append",(n,o)=>{const{areSegmentsOverlapping:a}=o.registry.get(i.StreamDataStructureSegments);let s=g(o,e,t);s=d(s,r),s.length>=1&&!a(s)&&s.splice(1,s.length-1),s.length<1||o.effects.state.dispatch(r.appendSegments.trigger,s)}]));function d(e,t){const r=[];for(const e of t.queue)for(const t of e)r.push(t.selectionGroup.mediaId);return e.filter((e=>!r.includes(e.selectionGroup.mediaId)))}function g(e,t,r){var n,f,d,g;const l=e.registry.get(a.SourceExportNames.SourceState),m=e.registry.get(c.StreamingState),{dataRanges:p}=m,S=[],{isMediaSelectionGroup:y,getMediaType:b}=e.registry.get(s.StreamDataStructureSelectionGroups),{overlaps:v}=e.registry.get(o.CoreExportNames.Utils).Ranges,{getGapToNextSegment:h}=e.registry.get(i.StreamDataStructureSegments);for(const[o,a]of r.streamSequenceMap){if(!y(o))continue;const r=b(e,o),i=(0,u.getMediaTypeTargetRanges)(l,m,r),s=null!==(f=null===(n=p.media[o.mediaId])||void 0===n?void 0:n.source[t.buffered])&&void 0!==f?f:[],c=null!==(g=null===(d=p.media[o.mediaId])||void 0===d?void 0:d.source[t.appending])&&void 0!==g?g:[];for(let t=0;t<a.length;t++){const r=a[t],{parsedPlaybackTime:n,parsedDuration:o}=r.segmentTiming,u=n+o,f=s.includes(r),d=c.includes(r),g=h(r,a[t+1]),l=void 0!==g&&u===g.start,m=n>=i.start&&n<i.end,p=u>i.start&&u<=i.end,y=e.effects.store.segmentDataCache.has(r);if((m||p||(i.start===u||void 0!==g&&v(i,g))&&l)&&!f&&!d&&y){S.push(r);break}}}return S.sort(((e,t)=>e.segmentTiming.parsedPlaybackTime-t.segmentTiming.parsedPlaybackTime)),S}},63927: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.maybeUpdateTimestampOffset=void 0;const o=r(14809),a=r(24693),i=r(5670);function s(e,t,r){return n(this,void 0,void 0,(function*(){const t=[];for(const e of r){const{timestampOffset:r}=e.segmentTiming;r===-1/0&&t.push(e)}0!==t.length&&(yield c(e,t))}))}function c(e,t){return n(this,void 0,void 0,(function*(){const{state:r}=e.effects,o=e.effects.logger,a=d(t),s=new Map;yield Promise.all(a.map((t=>n(this,void 0,void 0,(function*(){yield(0,i.waitForEncodedPlaybackTime)(e,t),s.set(t.track,u(e,t))})))));const c=Array.from(s.values()),f=Math.max(...c);if(void 0!==f){o.debug(`Determined timestampOffset to be (${f})`);for(const[e]of s)for(const t of e.segments){const e=t.segmentTiming;e.timestampOffset===-1/0&&r.dispatch(e.timestampOffsetChanged,f)}}else o.debug(`Could not determine timestamp offset (${c})`)}))}function u(e,t){const r=f(e,t);if(void 0===r){const{parsedPlaybackTime:e,encodedPlaybackTime:r}=t.segmentTiming;return e-r}return r}function f(e,t){var r;const n=t.track,i=n.selectionGroup.tracks.filter((e=>e!==n)),{getTimeRange:s}=e.registry.get(a.StreamDataStructureSegments),{overlaps:c}=e.registry.get(o.CoreExportNames.Utils).Ranges,u=s(t);for(const e of i){const t=e.segments.find((e=>c(s(e),u))),{timestampOffset:n}=null!==(r=null==t?void 0:t.segmentTiming)&&void 0!==r?r:{};if(void 0!==n&&n!==-1/0)return n}}function d(e){const t=new Map;for(const r of e){const e=r.track,n=t.get(e);if(void 0===n)t.set(e,r);else{const{parsedPlaybackTime:o}=n.segmentTiming,{parsedPlaybackTime:a}=r.segmentTiming;a<o&&t.set(e,r)}}return Array.from(t.values())}t.maybeUpdateTimestampOffset=s},87436: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,a){o(n,a,(t=e[r](t)).done,t.value)}))}}function o(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.appendSegment=t.maybeAppendInitSegment=void 0;const a=r(24693),i=r(4304),s=r(8747);function c(e,t,r){var i,c,f,d;return n(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(a.StreamDataStructureSegments);if(!n(t))return;const g=e.effects.store.segmentDataCache.get(t);if(!g)throw new Error("Ey yo, wtf");try{for(var l,m=!0,p=o(g);l=yield p.next(),!(i=l.done);){d=l.value,m=!1;try{const n=d,o=(0,s.getMatchingBuffer)(e,r.buffers,n.containerFormat,n.mediaTypes);if(!o)continue;if(o.initSegment===t.initSegment)return;yield u(e,t.initSegment,r),e.effects.state.dispatch(o.setInitSegment,t.initSegment)}finally{m=!0}}}catch(e){c={error:e}}finally{try{m||i||!(f=p.return)||(yield f.call(p))}finally{if(c)throw c.error}}}))}function u(e,t,r){var c,u,f,d,g,l,m,p;return n(this,void 0,void 0,(function*(){const n=e.effects.logger,{isDataOrSelfInitSegment:S}=e.registry.get(a.StreamDataStructureSegments);n.debug("Appending",t.url);const y=e.effects.store.segmentDataCache.get(t);if(!y)throw new i.SegmentCacheMissError;try{for(var b,v=!0,h=o(y);b=yield h.next(),!(c=b.done);){d=b.value,v=!1;try{const a=d,i=(0,s.getMatchingBuffer)(e,r.buffers,a.containerFormat,a.mediaTypes);if(!i){n.log(`Can't append "${a.mediaTypes}" data "${t.url}": there is no buffer of the given type`);continue}S(t)&&t.segmentTiming.timestampOffset>-1/0&&(yield r.setTimestampOffset(i,t.segmentTiming.timestampOffset));try{for(var T,E=!0,k=(l=void 0,o(a.fragments));T=yield k.next(),!(g=T.done);){p=T.value,E=!1;try{const e=p;yield r.appendData(i,e)}finally{E=!0}}}catch(e){l={error:e}}finally{try{E||g||!(m=k.return)||(yield m.call(k))}finally{if(l)throw l.error}}}finally{v=!0}}}catch(e){u={error:e}}finally{try{v||c||!(f=h.return)||(yield f.call(h))}finally{if(u)throw u.error}}n.debug("Appended",t.url)}))}t.maybeAppendInitSegment=c,t.appendSegment=u},10899:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.verifyCodecs=void 0;class r extends Error{constructor(e){super(`MediaType "${e}" is present in track but missing in segment`),this.name="MediaTypeMissingError"}}function n(e,t,r){return void 0===r?`Segment doesn't contain "${e}" codec, but track does`:`"${e}" codecs don't match between track (${t}) and segment (${r})`}function o(e,t,r){const o=t.split(".")[0],a=r.find((e=>o===e.split(".")[0])),i=e.effects.logger;a?t!==a&&i.log(`Codecs don't match between track and segment (${t}, ${a})`):i.warn(n(t))}function a(e,t,a,i){var s;const c=e.effects.logger,[u,f]=null!==(s=i.find((([e])=>e===t)))&&void 0!==s?s:[];if(!f)throw new r(t);if(a.length===f.length)for(const t of a)o(e,t,f);else c.warn(n(t,a,f))}function i(e,t,r){if(t.codecs.size!==r.length)throw new Error(`Detected codec mismatch - track specifies ${t.codecs.size} codecs, but segment contains ${r.length}`);for(const[n,o]of t.codecs)a(e,n,o,r)}t.verifyCodecs=i},76410:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectContainerFormatTask=void 0;const n=r(91270),o=r(55225),a=r(24693);function i(e){const{ContainerFormat:t}=e.registry.get(a.StreamDataStructureSegments),{isContainerSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);return Object.values(t).filter(r)}t.SelectContainerFormatTask=(0,n.createTaskClosure)((e=>["select-container",({availableContainerFormats:t,segment:r},n)=>{const{store:o,state:a}=e.effects,{containerFormatMap:s}=o,c=i(e),u=t.find((e=>c.includes(e))),f=r.selectionGroup;if(void 0===u)throw new Error("Unable to select suitable container format for playback");return a.dispatch(s.add,f,u),u}]))},79284: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.startPresentationSegmentProcessing=void 0;const o=r(91270),a=r(14809),i=r(1146),s=r(69104),c=(0,o.createTask)("timeline-section-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{subscribeAndRun:r}=t.registry.get(a.CoreExportNames.Utils).State;return r(t,e.streamSequenceMap,u),t.effects.loop(t.abortSignal)})))),u=(0,o.createTask)("timeline-sequence-map-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{mapSubscribe:r}=t.registry.get(a.CoreExportNames.Utils).State;for(const[n,o]of e)r(t,o,s.SegmentDataStreamSubscriber);return t.effects.loop(t.abortSignal)}))));function f(e){const t=e.registry.get(i.DataExportNames.StreamTimeline),{mapSubscribe:r}=e.registry.get(a.CoreExportNames.Utils).State;return r(e,t,c),e.effects.loop(e.abortSignal)}t.startPresentationSegmentProcessing=f},69104: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentDataStreamSubscriber=void 0;const o=r(91270),a=r(14809),i=r(30158),s=r(24693),c=r(33983),u=r(76410),f=r(42269);function d(e,t,r){const{createTransient:n}=e.registry.get(a.CoreExportNames.Utils).State;return{input:t.data,segment:t,output:r,codecsExtracted:n(e),playbackTimeExtracted:n(e),durationExtracted:n(e),selectContainerFormat:(0,u.SelectContainerFormatTask)(e)}}function g(e,t){return n(this,void 0,void 0,(function*(){const r=e.effects.store.segmentDataCache;if(r.has(t))return;const{state:n}=e.effects,o=(0,c.getOrCreateOutputStream)(e,r,t),s=d(e,t,o),u=e.registry.get(i.SegmentProcessingExportNames.SegmentProcessingComponent),g=(0,f.subscribeToTransients)(e,s),{DataStreamClearedError:l,DataStreamClosedError:m}=e.registry.get(a.CoreExportNames.CoreStateAtoms).DataStream,{QueueItemRemovedError:p}=e.registry.get(a.CoreExportNames.CoreStateAtoms).Queue,S=e=>[m,l,p].some((t=>e instanceof t));try{yield e.fork(u.process,s,S)}catch(e){const a=e instanceof Error?e:new Error("Failed to fetch segment");if(n.dispatch(o.throw,a),r.delete(t),!S(a))throw a}finally{g()}}))}t.SegmentDataStreamSubscriber=(0,o.createTask)("segment-data-stream-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{isDataSegment:r}=t.registry.get(s.StreamDataStructureSegments),n=r(e)?[e,e.initSegment]:[e];yield Promise.all(n.map((e=>g(t,e))))}))))},42269:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeToTransients=void 0;const n=r(91270),o=r(24693),a=r(66895),i=r(10899);function s(e,{value:t},r){if(void 0===t)throw new Error("CodecMap was unexpectedly undefined");const{isMediaTrack:n}=r.registry.get(a.StreamDataStructureTracks),{track:o}=e;if(!n(o))return;const s=[],c=Object.keys(t);for(const e of c)s.push([e,t[e]]);if(0===o.codecs.size){r.effects.logger.log("Parsed codecs from segment",s),r.effects.state.dispatch(o.codecs.setAll,s)}else(0,i.verifyCodecs)(r,o,s)}function c(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(o.StreamDataStructureSegments),{state:a}=r.effects;if(!n(e)||void 0===t.value||-1!==e.segmentTiming.encodedDuration)return;const{encodedPlaybackTime:i,dataParsed:s}=e.segmentTiming;a.dispatch(s,t.value,i)}function u(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(o.StreamDataStructureSegments),{state:a}=r.effects;if(!n(e)||void 0===t.value)return;const{encodedPlaybackTime:i,encodedDuration:s,dataParsed:c}=e.segmentTiming;-1===i&&a.dispatch(c,s,t.value)}function f(e,t){const r=[e.effects.state.subscribe(e,t.codecsExtracted,(0,n.createTask)("segment-codec-updater",s.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.durationExtracted,(0,n.createTask)("segment-duration-updater",c.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.playbackTimeExtracted,(0,n.createTask)("segment-playback-time-updater",u.bind(void 0,t.segment)))];return()=>{for(const e of r)e()}}t.subscribeToTransients=f},30158:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentProcessorType=t.SegmentProcessingExportNames=void 0,function(e){e.SegmentProcessingComponent="segment-processing-component",e.SegmentProcessorType="segment-processor-type",e.SegmentProcessorErrors="segment-processor-errors"}(t.SegmentProcessingExportNames||(t.SegmentProcessingExportNames={})),function(e){e.Decryptor="decryptor",e.Parser="parser",e.Preprocessor="preprocessor",e.Transmuxer="transmuxer",e.Postprocessor="postprocessor"}(t.SegmentProcessorType||(t.SegmentProcessorType={}))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))},78622:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureExportNames=t.StreamDataStructure=void 0;const n=r(24693),o=r(27134),a=r(94503),i=r(66895);t.StreamDataStructure="stream-data-structure",t.StreamDataStructureExportNames=[n.StreamDataStructureSegments,o.StreamDataStructureSelectionGroups,i.StreamDataStructureTracks,a.StreamDataStructureStream]},24693:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSegments=void 0,t.StreamDataStructureSegments="stream-data-structure-segments"},27134:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSelectionGroups=void 0,t.StreamDataStructureSelectionGroups="stream-data-structure-selection-groups"},94503:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureStream=void 0,t.StreamDataStructureStream="stream-data-structure-stream"},66895:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureTracks=void 0,t.StreamDataStructureTracks="stream-data-structure-tracks"},88425:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CreateStreamingStateAtom=t.StreamingState=void 0,t.StreamingState="streaming-state",t.CreateStreamingStateAtom="create-streaming-state-atom"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}return r(55388)})()));
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["mse-presentation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["mse-presentation"]=t())}(self,(()=>(()=>{"use strict";var e={19281:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createEffectFactory=void 0;const r=e=>e;t.createEffectFactory=r},4250:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerEffectFactory=t.LogLevel=void 0;const n=r(19281);var o;!function(e){e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warn=2]="Warn",e[e.Log=3]="Log",e[e.Debug=4]="Debug",e[e.Verbose=5]="Verbose"}(o||(t.LogLevel=o={}));const a={error:console.error.bind(console),warn:console.warn.bind(console),log:console.log.bind(console),debug:console.info.bind(console),verbose:console.debug.bind(console)},i=()=>{};class s{constructor(e,t){this.logLevel=o.Verbose,this.logProvider=a,this.logCallbacks=[],this.parent=e,this.logMetadata=t}get verbose(){return this.resolveMethod(o.Verbose,this.provider.verbose)}get debug(){return this.resolveMethod(o.Debug,this.provider.debug)}get log(){return this.resolveMethod(o.Log,this.provider.log)}get warn(){return this.resolveMethod(o.Warn,this.provider.warn)}get error(){return this.resolveMethod(o.Error,this.provider.error)}get level(){return this.parent?this.parent.level:this.logLevel}get provider(){return this.parent?this.parent.provider:this.logProvider}get metadata(){var e;return Object.assign(Object.assign({},null===(e=this.parent)||void 0===e?void 0:e.metadata),this.logMetadata)}setLevel(e){this.parent?this.parent.setLevel(e):this.logLevel=e}setProvider(e){this.parent?this.parent.setProvider(e):this.logProvider=e}addOnLogCallback(e){return this.parent?this.parent.addOnLogCallback(e):(this.logCallbacks.push(e),()=>{const t=this.logCallbacks.indexOf(e);t>-1&&this.logCallbacks.splice(t,1)})}get onLogCallbacks(){return this.parent?this.parent.onLogCallbacks:this.logCallbacks}resolveMethod(e,t){const r=this.onLogCallbacks,n=this.level>=e;return 0!==r.length||n?0===r.length?t:(...o)=>{const a=this.metadata;for(const t of r)t(e,a,...o);n&&t(...o)}:i}}function c(e){return e&&"logger"in e.effects&&e.effects.logger instanceof s?e.effects.logger:void 0}const u=e=>(0,n.createEffectFactory)((t=>({effect:{logger:new s(c(t),e)}})));t.LoggerEffectFactory=u},97085:(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},91270:(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)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},51822:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TechnologyExports=void 0,t.TechnologyExports="technology"},1146:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DataExportNames=void 0,function(e){e.StreamTimeline="stream-timeline"}(t.DataExportNames||(t.DataExportNames={}))},55714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationState=void 0,t.MsePresentationState="mse-presentation-state"},4399:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activeSectionUpdaterTask=void 0;const n=r(91270),o=r(14809),a=r(1146),i=r(7269),s=r(27134),c=r(88425),u=r(8747);t.activeSectionUpdaterTask=(0,n.createTask)("active-section-update",(([e,t],r)=>{const n=r.registry.get(i.SourceExportNames.SourceState),s=r.registry.get(c.StreamingState),u=r.registry.get(a.DataExportNames.StreamTimeline),{mapSubscribe:g}=r.registry.get(o.CoreExportNames.Utils).State,l=d([e,t]),m=f(l);return r.effects.state.subscribe(r,n.playback.playhead,l),r.effects.state.subscribe(r,s.activeMediaTypes,l),g(r,u,m),r.fork(l,u),r.effects.loop(r.abortSignal)}));const f=(0,n.createTaskClosure)((e=>["stream-timeline-sub",(t,r)=>{const{subscribeAndRun:n}=r.registry.get(o.CoreExportNames.Utils).State;return n(r,t.streamSequenceMap,e),r.effects.loop(r.abortSignal)}])),d=(0,n.createTaskClosure)((([e,t])=>["active-section-update",(r,n)=>{if(!m(n)||g(n))return;const o=y(n,t.dataRangeIds.buffered);o&&n.effects.state.dispatch(e.setActiveSection,o)}]));function g(e){const t=e.registry.get(i.SourceExportNames.SourceState),r=e.registry.get(c.StreamingState),n=t.playback.playhead.position;return r.stream.duration.value<n||n<0}function l(e){const{MediaType:t}=e.registry.get(o.CoreExportNames.Constants),r=e=>e!==t.Unknown&&e!==t.Subtitle,n=e.registry.get(c.StreamingState).activeMediaTypes;return Array.from(n.keys()).filter(r).length}function m(e){const{isMediaSelectionGroup:t}=e.registry.get(s.StreamDataStructureSelectionGroups),r=e.registry.get(a.DataExportNames.StreamTimeline),n=l(e);return r.some((e=>Array.from(e.streamSequenceMap.keys()).filter(t).length===n))}function p(e,t){return e>=t.start&&e<=t.end}function y(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(a.DataExportNames.StreamTimeline),{isEndInRange:s}=e.registry.get(o.CoreExportNames.Utils).Ranges,f=l(e);return n.find((n=>{const o=b(e,n);if(o.length!==f)return!1;return!!o.every((({mediaType:t,selectionGroup:n})=>{const o=e.registry.get(c.StreamingState),a=(0,u.getMediaTypeTargetRanges)(r,o,t);return p(a.start,n.timeRange)||s(a.end,n.timeRange)}))&&o.some((({mediaType:o,mediaId:a,selectionGroup:i})=>{var s,f;const d=e.registry.get(c.StreamingState),g=(0,u.getMediaTypeTargetRanges)(r,d,o),l=v(e,n,o,g),m=null!==(f=null===(s=d.dataRanges.media[a])||void 0===s?void 0:s.ranges)&&void 0!==f?f:[],p=i.timeRange.end,y=m.some((e=>e.start<=p&&p<=e.end)),b=S(e,l,a,t);return!y||!b}))}))}function S(e,t,r,n){var o,a;const i=e.registry.get(c.StreamingState),{dataRanges:s}=i,u=null!==(a=null===(o=s.media[r])||void 0===o?void 0:o.source[n])&&void 0!==a?a:[];return t.every((e=>u.includes(e)))}function v(e,t,r,n){const{isVideoSelectionGroup:a,isAudioSelectionGroup:i}=e.registry.get(s.StreamDataStructureSelectionGroups),{isEndInRange:c,isStartInRange:u}=e.registry.get(o.CoreExportNames.Utils).Ranges,f=e.registry.get(o.CoreExportNames.Constants).MediaType,d=[];for(const[e,o]of t.streamSequenceMap)if(o.length&&(r===f.Audio&&i(e)||r===f.Video&&a(e)))for(const e of o){const t=e.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;(u(t,n)||c(r,n))&&d.push(e)}return d}function b(e,t){const{isVideoSelectionGroup:r,isAudioSelectionGroup:n}=e.registry.get(s.StreamDataStructureSelectionGroups),a=e.registry.get(o.CoreExportNames.Constants).MediaType;return Array.from(t.streamSequenceMap.keys()).map((e=>r(e)?{mediaType:a.Video,mediaId:e.mediaId,selectionGroup:e}:n(e)?{mediaType:a.Audio,mediaId:e.mediaId,selectionGroup:e}:void 0)).filter(Boolean)}},16566:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GapHandlingTask=void 0;const n=r(91270);t.GapHandlingTask=(0,n.createTaskClosure)((e=>["gap-handler",(t,r)=>{const{events:n}=r.effects;let o=!1;const i=()=>{if(o)return;const t=a(r,e);void 0!==t&&(r.effects.logger.log(`Skipping buffer gap (${e.currentTime.toFixed(2)} → ${t.toFixed(2)})`),e.currentTime=t)},s=()=>{o=!0},c=()=>{o=!1},u=()=>{o=!1};return n.subscribe(r,e,"waiting",i),n.subscribe(r,e,"seeking",s),n.subscribe(r,e,"seeked",c),n.subscribe(r,e,"playing",u),r.effects.loop(r.abortSignal)}]));const o=.1;function a(e,t){const r=t.currentTime,n=t.buffered;for(let e=0;e<n.length;e++){const t=n.start(e),a=n.end(e);if(r>=t&&r<=a&&a-r<o&&e<n.length-1)return n.start(e+1)}}},11821: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,a){o(n,a,(t=e[r](t)).done,t.value)}))}}function o(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.awaitMediaInfo=void 0;const a=r(91270),i=r(14809),s=r(24693),c=r(27134);function u(e){return e.tracks.some((e=>e.codecs.size>0))}function f(e){return void 0!==e.container.value}const d=(0,a.createTaskClosure)(((e,t)=>["wait-for-condition",(r,n)=>{e()&&t()}]));function g(e,t,r){return n(this,void 0,void 0,(function*(){const{abortable:n}=e.effects,{subscribeAndRun:o}=e.registry.get(i.CoreExportNames.Utils).State;let a=()=>{};return n((n=>{a=o(e,t,d(r,(()=>{n(),a()})))})).finally(a)}))}function l(e,t){return n(this,void 0,void 0,(function*(){return g(e,t.container,(()=>f(t)))}))}function m(e,t){return n(this,void 0,void 0,(function*(){const{containerFormatMap:r}=e.effects.store;return g(e,r,(()=>void 0!==r.get(t)))}))}function p(e,t){return n(this,void 0,void 0,(function*(){const{abortable:r,state:n}=e.effects,o=[],i=r((r=>{for(const i of t.tracks){const s=(0,a.createTask)("codec-subscriber",((e,n)=>{u(t)&&r()}));o.push(n.subscribe(e,i.codecs,s))}}));return i.finally((()=>o.forEach((e=>e())))).catch((()=>{})),i}))}function y(e,t){const{MediaType:r}=e.registry.get(i.CoreExportNames.Constants);for(const e of t.tracks){const t=new Set(e.codecs.keys());if(t.has(r.Muxed)||t.has(r.Audio)&&t.has(r.Video))return!0}return!1}function S(e,t,r){var a,i,c,u;return n(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(s.StreamDataStructureSegments),{segmentDataCache:f,segmentDataLayoutMap:d}=e.effects.store,{state:l}=e.effects,m=t.streamSequenceMap.get(r),p=e=>n(e)&&f.has(e);if(void 0===m)throw new Error("No segment sequence found for muxed group");yield g(e,m,(()=>m.some(p)));const y=m.find(p);if(void 0===y)throw new Error("Data segment not found after waiting for it");const S=f.get(y);if(void 0===S)throw new Error("Segment data not found in cache during layout detection");const v=[];try{for(var b,h=!0,T=o(S);b=yield T.next(),!(a=b.done);){u=b.value,h=!1;try{const e=u;v.push({containerFormat:e.containerFormat,mediaTypes:[...e.mediaTypes]})}finally{h=!0}}}catch(e){i={error:e}}finally{try{h||a||!(c=T.return)||(yield c.call(T))}finally{if(i)throw i.error}}if(0===v.length)throw new Error("Segment processing produced no data for muxed content layout detection");l.dispatch(d.add,r,v)}))}function v(e,t){return n(this,void 0,void 0,(function*(){const{isMediaSelectionGroup:r}=e.registry.get(c.StreamDataStructureSelectionGroups),{containerFormatMap:n}=e.effects.store;for(const[o]of t.streamSequenceMap){if(!r(o))continue;u(o)||(yield p(e,o)),f(o)||(yield l(e,o)),void 0===n.get(o)&&(yield m(e,o));const{segmentDataLayoutMap:a}=e.effects.store;y(e,o)&&void 0===a.get(o)&&(yield S(e,t,o))}}))}t.awaitMediaInfo=v},55388: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationPackage=void 0;const o=r(4250),a=r(97085),i=r(55225),s=r(51822),c=r(14809),u=r(1146),f=r(30158),d=r(7269),g=r(78622),l=r(88425),m=r(55714),p=r(17090),y=r(53434),S=r(76410),v=r(79284),b=r(95994),h=r(36912);t.MsePresentationPackage=(0,a.createPackage)("mse-presentation",((e,t)=>n(void 0,void 0,void 0,(function*(){const{createMapStateAtom:e}=t.registry.get(c.CoreExportNames.CoreStateAtoms),{StateEffectFactory:r,EventListenerEffectFactory:n,StoreEffectFactory:a}=t.registry.get(c.CoreExportNames.CoreEffects),i=t.using(r,n,(0,o.LoggerEffectFactory)({package:"MsePresentation"})),s=new Map,u=e(i),f=e(i),g=i.using(a("segmentDataCache",s)).using(a("containerFormatMap",u)).using(a("segmentDataLayoutMap",f));g.registry.maybeSet(b.MsePresentationExportNames.SelectContainerFormat,S.SelectContainerFormatTask);const{state:l}=g.effects,m=g.registry.get(d.SourceExportNames.SourceState),T=(0,h.VideoElementSubscriber)((0,y.createPresentationStateAtom)(g),(0,p.createActiveSectionAtom)(g));(0,v.startPresentationSegmentProcessing)(g),l.subscribe(g,m.video,T)}))),[c.CoreExportNames.Utils,c.CoreExportNames.Constants,d.SourceExportNames.SourceState,u.DataExportNames.StreamTimeline,c.CoreExportNames.CoreStateAtoms,c.CoreExportNames.CoreEffects,i.CapabilitiesExportNames.PlatformCapabilities,f.SegmentProcessingExportNames.SegmentProcessingComponent,f.SegmentProcessingExportNames.SegmentProcessorErrors,m.MsePresentationState,s.TechnologyExports,...g.StreamDataStructureExportNames,l.StreamingState]),t.default=t.MsePresentationPackage},4304: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveSectionSubscriber=t.SegmentCacheMissError=t.EncodedPlaybackTimeUnknownError=void 0;const o=r(91270),a=r(55225),i=r(14809),s=r(7269),c=r(27134),u=r(66895),f=r(88425),d=r(11821),g=r(71185),l=r(61820),m=r(99569),p=r(8747);function y(e,t,r){const{MediaType:n}=e.registry.get(i.CoreExportNames.Constants),{getMediaTypeFromCodec:o,canSwitchBetweenAudioCodecs:a,extractCodec:s}=e.registry.get(i.CoreExportNames.Utils).Codecs,c=e=>r.filter((t=>o(t)===e));for(const e of t){const t=o(e);switch(t){case n.Video:{const r=s(e),n=c(t);if(void 0===r||0===n.length)return!1;if(!n.every((e=>r===s(e))))return!1;break}case n.Audio:{const r=c(t);if(0===r.length)return!1;if(!r.every((t=>a(e,t))))return!1;break}default:return!1}}return!0}function S(e,t,r,n,o){const{equals:a}=e.registry.get(i.CoreExportNames.Utils).Arrays;return t.find((([t,i,s])=>{const c=r===i,u=a(o,s),f=y(e,n,t);return c&&u&&f}))}function v(e,t,r){if(t.length!==r.length)return!0;for(const[n,o,a]of t){if(void 0===S(e,r,o,n,a))return!0}return!1}function b(e,t,r){return n(this,void 0,void 0,(function*(){const{events:n,abortable:o}=e.effects;t.close(),yield o((t=>{if(r.ended)t();else{const o=n.subscribe(e,r,"ended",(()=>{t(),o()}))}}))}))}function h(e){const t=[];if(void 0===e)return t;for(const{containerFormat:r,mediaTypes:n,codecs:o}of e.buffers)t.push([o,r,n]);return t}function T(e,t,r,n){if(r.length!==n.length)return!1;for(const[o,a,i]of r){const r=(0,p.getMatchingBuffer)(e,t.buffers,a,i);if(void 0===r)return!1;const s=S(e,n,a,o,i);if(void 0===s)return!1;const[c,u,f]=s;if(!t.canChangeBuffer(r,c,u))return!1}return!0}function E(e,t,r){return n(this,void 0,void 0,(function*(){r.bind(e);for(const[n,o,a]of t){const t=(0,p.getMatchingBuffer)(e,r.buffers,o,a);if(void 0===t)throw new Error("Could not find matching buffer");yield r.changeBuffer(t,n,o)}return r}))}function k(e,t,r,o){return n(this,void 0,void 0,(function*(){const{waitFor:n}=e.registry.get(i.CoreExportNames.Utils).State,{managedMediaSourceSupported:s}=e.registry.get(a.CapabilitiesExportNames.PlatformCapabilities);t&&(e.effects.logger.debug("Waiting for end of buffer before recreating the MSE..."),t.bind(e),yield b(e,t,o),e.effects.logger.debug("End of buffer reached, recreating MSE...")),null==t||t.dispose(),t=(0,g.createRenderer)(e);const c=n(e,t.onOpen);e.effects.logger.log(`Setting video element source to ${t.sourceUrl}`),o.src=t.sourceUrl,s()&&(o.disableRemotePlayback=!0),o.load(),yield c;for(const[e,n,o]of r)t.addBuffer(e,n,o);const u=e.registry.get(f.StreamingState).stream;return yield t.setDuration(u.duration.value),t}))}function x(e,t,r,o,a,i){return n(this,void 0,void 0,(function*(){const n=e.registry.get(s.SourceExportNames.SourceState).playback.playhead;if(void 0===t)return e.effects.logger.log(`Creating MSE for ${i}`),yield k(e,void 0,i,a);const c=h(t);return v(e,c,i)?T(e,t,c,i)?(e.effects.logger.log(`Changing MSE buffer types for ${i}`),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),n),yield E(e,i,t)):(e.effects.logger.log(`Re-creating MSE for ${i}`),yield k(e,t,i,a)):(e.effects.logger.log(`Re-using MSE for ${i}`,e.abortSignal.reason),t.bind(e),yield e.fork((0,l.BufferClearingTask)(t,o,r),n),t)}))}class C extends Error{constructor(){super("The encoded playback time could not be extracted from the segment"),this.name="EncodedPlaybackTimeUnknownError"}}t.EncodedPlaybackTimeUnknownError=C;class M extends Error{constructor(){super("Could not retrieve cached segment data for playback time retrieval"),this.name="SegmentCacheMissError"}}function w(e,t){const{isMediaTrack:r}=e.registry.get(u.StreamDataStructureTracks);let n,o=-1/0;for(const e of t.tracks){if(!r(e))continue;const{bitrate:t,codecs:a}=e;t>o&&a.size>0&&(o=t,n=a)}return n}function P(e,t){return t.map((({containerFormat:t,mediaTypes:r})=>[r.flatMap((t=>{var r;return[...null!==(r=e.get(t))&&void 0!==r?r:[]]})),t,r]))}function _(e,t){return[[Array.from(e.values()).flat(),t,Array.from(e.keys())]]}function A(e,t){const{containerFormatMap:r,segmentDataLayoutMap:n}=e.effects.store,o=r.get(t);if(void 0===o)throw new Error("Container format is unexpectedly undefined");const a=w(e,t);if(void 0===a)throw new Error("Could not determine codec to create buffers with");const i=n.get(t);return void 0===i?_(a,o):P(a,i)}function D(e,t){const r=[],{isMediaSelectionGroup:n}=e.registry.get(c.StreamDataStructureSelectionGroups);for(const[o]of t.streamSequenceMap){if(!n(o))continue;const t=A(e,o);void 0!==t&&r.push(...t)}return r}t.SegmentCacheMissError=M;const N=(0,o.createTaskClosure)((e=>["buffer-statistics-printer",(t,r)=>{try{if(0===e.buffered.length)return void r.effects.logger.verbose(`Buffered for ${e.mediaTypes} is empty`);let t=`Buffered Ranges for ${e.mediaTypes}`;for(let r=0;r<e.buffered.length;r++){const n=e.buffered.start(r),o=e.buffered.end(r);t=`${t}\n\t[${r}] ${n.toFixed(2)} - ${o.toFixed(2)}`}r.effects.logger.verbose(t)}catch(t){r.effects.logger.verbose(`Could not get buffered ranges from ${e.mediaTypes} buffer`)}}])),O=(0,o.createTaskClosure)((e=>["duration-updater",({value:t},r)=>e.setDuration(t)]));t.ActiveSectionSubscriber=(0,o.createTaskClosure)(((e,t)=>["active-section-subscriber",({section:r},o)=>n(void 0,void 0,void 0,(function*(){if(!r)return;const{state:n,events:a,loop:i}=o.effects,{activeRenderer:c,dataRangeIds:u}=e,g=o.registry.get(s.SourceExportNames.SourceState),p=o.registry.get(f.StreamingState).stream,y=g.playback.playhead;yield(0,d.awaitMediaInfo)(o,r);const S=D(o,r);o.effects.logger.log("Preparing playback of section with buffers",S),a.subscribe(o,t,"timeupdate",(()=>{0!==t.currentTime&&n.dispatch(y.setPosition,t.currentTime)})),a.subscribe(o,t,"seeking",(()=>n.dispatch(y.setPosition,t.currentTime)));const v=yield x(o,c,u,r,t,S);return v.buffers.map((e=>n.subscribe(o,e.onUpdateEnd,N(e)))),n.dispatch(e.setActiveRenderer,v),n.subscribe(o,p.duration,O(v)),n.subscribe(o,y,(0,l.BufferClearingTask)(v,r,u)),o.fork(m.SegmentAppendage,{renderer:v,section:r,dataRangeIds:u,video:t}).catch((()=>{})),i(o.abortSignal)}))]))},95994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MsePresentationExportNames=void 0,function(e){e.SelectContainerFormat="presentation-select-container-format-task"}(t.MsePresentationExportNames||(t.MsePresentationExportNames={}))},8747:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getMatchingBuffer=t.getTargetBufferRange=t.getMediaTypeTargetRanges=void 0;const n=r(14809);function o(e,t,r){const n=e.playback.playhead.position;return{start:n,end:n+t.bufferConfig[r].forwardDuration}}function a(e,t,r){const n=e.playback.playhead.position,o=t.bufferConfig[r];return{start:Math.max(0,n-o.backwardDuration),end:n+o.forwardDuration}}function i(e,t,r,o){const{equals:a}=e.registry.get(n.CoreExportNames.Utils).Arrays;return t.find((e=>a(e.mediaTypes,o)&&e.containerFormat===r))}t.getMediaTypeTargetRanges=o,t.getTargetBufferRange=a,t.getMatchingBuffer=i},3014:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},36912:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementSubscriber=void 0;const n=r(91270),o=r(88425),a=r(4399),i=r(16566),s=r(4304),c=r(3014);t.VideoElementSubscriber=(0,n.createTaskClosure)(((e,t)=>["video-element-subscriber",(r,n)=>{const{fork:u,effects:f,abortSignal:d}=n,{state:g,loop:l,abortable:m}=f,p=n.effects.logger;if(void 0===r.element)return p.log("Cannot set up presentation task - no video element"),m((e=>e()));const y=r.element,S=(0,s.ActiveSectionSubscriber)(e,y);return n.effects.logger.log("Setting up presentation task..."),(0,c.resetVideoSource)(y,p),g.subscribe(n,t,S),void 0!==t.section&&u(S,t),u((0,i.GapHandlingTask)(y),e),u(a.activeSectionUpdaterTask,[t,e],(()=>{var t;const r=null===(t=e.activeRenderer)||void 0===t?void 0:t.sourceUrl,{state:a}=n.effects;if(n.registry.has(o.StreamingState)){const t=n.registry.get(o.StreamingState),{dataRanges:r}=t;for(const t in r.media)for(const n of Object.values(e.dataRangeIds))a.dispatch(r.deleteSource,t,n)}return a.dispatch(e.setActiveRenderer,void 0),void 0!==r&&y.src===r&&(0,c.resetVideoSource)(y,p),!1})),l(d)}]))},17090:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActiveSectionAtom=void 0;const r=()=>({section:void 0});function n(e,t){return e.section!==t&&(e.section=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveSection:n})}t.createActiveSectionAtom=o},53434:(e,t)=>{function r(){return{activeRenderer:void 0,dataRangeIds:{buffered:"buffered",appending:"appending"}}}function n(e,t){return e.activeRenderer!==t&&(e.activeRenderer=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveRenderer:n})}Object.defineProperty(t,"__esModule",{value:!0}),t.createPresentationStateAtom=void 0,t.createPresentationStateAtom=o},88070: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentAppendageQueueAtom=void 0;const o=r(91270),a=r(14809);function i(e){const{createTransient:t}=e.registry.get(a.CoreExportNames.Utils).State;return{queue:[],appendSegments:t(e),consumed:t(e)}}const s=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-subscriber",({value:a},i)=>n(void 0,void 0,void 0,(function*(){if(void 0===a)return;const n=t.queue;n.push(a);try{yield e.fork(r,a.slice(),o)}catch(e){}finally{const r=n.indexOf(a);r>-1&&n.splice(r,1),e.effects.state.dispatch(t.consumed.trigger)}}))]));function c(e,t,r=(()=>!1)){const{state:n}=e.effects,o=e.effects.state.create(i(e),{}),a=s(e,o,t,r);return n.subscribe(e,o.appendSegments,a),o}t.createSegmentAppendageQueueAtom=c},33983:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getOrCreateOutputStream=void 0;const n=r(14809);function o(e,t,r){const{createDataStreamAtom:o}=e.registry.get(n.CoreExportNames.CoreStateAtoms).DataStream,a=o(e);return t.set(r,a),a}function a(e,t,r){var n;return null!==(n=t.get(r))&&void 0!==n?n:o(e,t,r)}t.getOrCreateOutputStream=a},15865:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferActionFailedError=t.SourceBufferActionAbortedError=t.NotSupportedError=void 0;class r extends Error{constructor(e){super(`The operation "${e}" is not supported on this platform`),this.name="NotSupportedError"}}t.NotSupportedError=r;class n extends Error{constructor(){super("SourceBuffer action was aborted"),this.name="SourceBufferActionAbortedError"}}t.SourceBufferActionAbortedError=n;class o extends Error{constructor(e){super(`SourceBuffer action failed: ${e.type}`),this.name="SourceBufferActionFailedError"}}t.SourceBufferActionFailedError=o},71185: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderer=void 0;const o=r(55225),a=r(14809),i=r(32776),s=r(22782),c=r(34175),u=r(50907);function f(e,t){const{state:r,events:n}=e.effects,{createTransient:o}=e.registry.get(a.CoreExportNames.Utils).State,i={onOpen:o(e),onClose:o(e),onEnded:o(e),onError:o(e)};return n.subscribe(e,t,"sourceopen",(()=>r.dispatch(i.onOpen.trigger))),n.subscribe(e,t,"sourceclose",(()=>r.dispatch(i.onClose.trigger))),n.subscribe(e,t,"sourceended",(()=>r.dispatch(i.onEnded.trigger))),n.subscribe(e,t,"error",(e=>r.dispatch(i.onError.trigger,new Error(JSON.stringify(e))))),i}function d(e,t){const r=e.get(t);if(!r)throw new Error("Unexpectedly encountered untracked value");return r}function g(e,t,r,n,o,a,i){const u=(0,s.generateMimeTypeString)(e,i,a,o);e.effects.logger.debug(`Adding source buffer of type "${u}"`);const f=t.addSourceBuffer(u),d=(0,c.createSourceBufferActionQueue)(e,f),g=(0,s.createRendererBufferAtom)(e,o,i,a,!1,f),m=l(e,g,f);n.set(g,[f,d,m]),e.effects.state.dispatch(r.add,g)}function l(e,t,r){const{events:n,state:o}=e.effects,a=[n.subscribe(e,r,"updatestart",(()=>o.dispatch(t.onUpdateStart.trigger))),n.subscribe(e,r,"update",(()=>o.dispatch(t.onUpdate.trigger))),n.subscribe(e,r,"updateend",(()=>o.dispatch(t.onUpdateEnd.trigger))),n.subscribe(e,r,"error",(e=>o.dispatch(t.onError.trigger,new Error(e.type)))),n.subscribe(e,r,"abort",(()=>o.dispatch(t.onAbort.trigger)))];return()=>a.forEach((e=>e()))}function m(e,t,r,n,a,i){const{typeSupported:c}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities),u=d(r,n)[0],f=(0,s.generateMimeTypeString)(e,n.mediaTypes,i,a);return"function"==typeof u.changeType&&c(f)}function p(e,t,r,n,o,a){const[i,c]=d(r,n),u=(0,s.generateMimeTypeString)(e,n.mediaTypes,a,o),f=e=>e.changeType(u);return c.execute(f)}function y(e,t,r,o,a){return n(this,void 0,void 0,(function*(){const[n,i]=d(r,a),s=e=>t.removeSourceBuffer(e);yield i.execute(s),r.delete(a),e.effects.state.dispatch(o.remove,a)}))}function S(e,t,r,n,o){const a=e.effects.logger,[i,s]=d(r,n),c=e=>{e.timestampOffset=o};return a.log(`Setting timestamp offset to ${o.toFixed(2)} for buffer ${n.mediaTypes}/${n.codecs}`),e.effects.state.dispatch(n.setTimestampOffset,o),s.execute(c)}function v(e,t,r,n,o){const[a,i]=d(r,n),s=e=>e.appendBuffer(o.data.buffer);return i.execute(s)}function b(e,t,r,n,o,a){if(o>=a)return e.effects.abortable((e=>e()));const[i,s]=d(r,n),c=e=>e.remove(o,a);return s.execute(c)}function h(e,t,r){e.readyState===u.MediaSourceReadyState.Open&&e.setLiveSeekableRange(t,r)}function T(e,t,r,n){if(t.readyState===u.MediaSourceReadyState.Open){const e=[n,t.duration].filter((e=>!Number.isNaN(e))),o=()=>{t.duration=Math.max(...e)};return r.execute(o)}return e.effects.logger.log("Unable to set duration, media source not open"),e.effects.abortable((e=>e()))}function E(e,t,r){const n=e.effects.logger;if(t.readyState===u.MediaSourceReadyState.Open){const e=()=>{t.endOfStream()};return n.debug("Signaling EoS..."),r.execute(e)}return n.log("Skipping EoS - media source not open"),e.effects.abortable((e=>e()))}function k(e,t){const r=[];try{for(let e=0;e<t.buffered.length;e++)r.push({start:t.buffered.start(e),end:t.buffered.end(e)})}catch(t){e.effects.logger.debug("Could not determine buffered ranges for source buffer:",t)}return r}function x(e,t,r,n){const o=new Map;for(const[t,[r]]of n)o.set(t,k(e,r));return o}function C(e){return e.readyState}function M(e,t,r){const n=Array.from(r.entries());if(t.readyState===u.MediaSourceReadyState.Open||0===n.length)return e.effects.abortable((e=>e()));const[[o,[a]]]=n;return S(e,t,r,o,a.timestampOffset)}function w(e,t,r,n){for(const[e,[n]]of r)t.removeSourceBuffer(n);r.clear(),e.effects.state.dispatch(n.clear)}function P(e){const{createArrayAtom:t}=e.registry.get(a.CoreExportNames.CoreStateAtoms),{managedMediaSourceSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);let n=e;const s=r(),c=s?new ManagedMediaSource:new MediaSource,u=URL.createObjectURL(c);e.effects.logger.log("Created "+(s?"ManagedMediaSource":"MediaSource"));const d=f(n,c),k=new Map,P=t(n,[]),_=(0,i.createRendererActionQueue)(n,k);return Object.assign(Object.assign({},d),{sourceUrl:u,buffers:P,addBuffer:g.bind(void 0,n,c,P,k),canChangeBuffer:m.bind(void 0,n,c,k),changeBuffer:p.bind(void 0,n,c,k),removeBuffer:y.bind(void 0,n,c,k,P),setTimestampOffset:S.bind(void 0,n,c,k),getBufferedRanges:x.bind(void 0,n,c,_,k),appendData:v.bind(void 0,n,c,k),removeData:b.bind(void 0,n,c,k),setSeekableRange:h.bind(void 0,c),setDuration:T.bind(void 0,n,c,_),getState:C.bind(void 0,c),close:E.bind(void 0,n,c,_),reopen:M.bind(void 0,n,c,k),dispose:w.bind(void 0,n,c,k,P),bind:e=>{const t=e.effects.logger,r=Array.from(k.keys());t.debug("Binding renderer to new context..."),n=e,_.bind(n);for(const t of r){const r=k.get(t);if(!r)continue;const[o,a,i]=r;i(),a.bind(n),r[2]=l(e,t,o)}}})}t.createRenderer=P},32776: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererActionQueue=void 0;function o(e,t,r,a){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(a,n)}finally{t.executing=!1,o(e,t,r,a).catch((()=>{}))}else t.executing=!1}))}const a=(0,r(91270).createTaskClosure)((e=>["renderer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const{abortSignal:n,effects:o}=r,{abortable:a,events:s}=o;let c=()=>{},u=()=>{};const f=a(((e,t)=>{u=e,c=t})),d=[c],[g,l]=t,m=s.subscribe(r,n,"abort",(()=>{d.forEach((e=>e(n.reason)))}));f.catch((()=>{}));try{const{sourceBufferActionEnteredAbortables:t,sourceBufferActionAbortables:n}=i(r,e,f,d);yield Promise.all(t),yield g(void 0,r),u(),yield Promise.all(n),l()}finally{m()}}))]));function i(e,t,r,o){const a=[],i=[];for(const[s,[c,u]]of t){let t=()=>{};const s=e.effects.abortable(((e,r)=>{t=e,o.push(r)}));s.catch((()=>{}));const c=(e,o)=>n(this,void 0,void 0,(function*(){t(),yield r.catch((()=>{}))}));a.push(s),i.push(u.execute(c))}return{sourceBufferActionEnteredAbortables:a,sourceBufferActionAbortables:i}}function s(e,t){const r=[],n={executing:!1},i=a(t);return{execute:t=>{const{abortable:a}=e.effects;let s=()=>{},c=()=>{};const u=a(((e,t)=>{s=e,c=t}));return r.push([t,s,c]),o(e,n,r,i).catch((()=>{})),u},bind:t=>e=t,abort:()=>{}}}t.createRendererActionQueue=s},22782:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererBufferAtom=t.generateMimeTypeString=void 0;const n=r(14809);function o(e,t,r,o,a){const{createTransient:i}=e.registry.get(n.CoreExportNames.Utils).State,{createArrayAtom:c}=e.registry.get(n.CoreExportNames.CoreStateAtoms);return{onUpdateStart:i(e),onUpdate:i(e),onUpdateEnd:i(e),onError:i(e),onAbort:i(e),codecs:c(e,t),containerFormat:o,mediaTypes:c(e,r),encrypted:a,mimeType:s(e,r,o,t),timestampOffset:0,initSegment:void 0}}function a(e,t,r){const{MediaType:o,ContainerFormat:a}=e.registry.get(n.CoreExportNames.Constants);return t===a.TS?o.Video:r}function i(e,t){return r=>`${a(e,t,r)}/${t}`}function s(e,t,r,o){const{MediaType:a}=e.registry.get(n.CoreExportNames.Constants);return`${(t.includes(a.Audio)&&t.includes(a.Video)?[i(e,r)(a.Video)]:t.map(i(e,r))).join(";")};codecs="${o.join(",")}"`}function c(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function u(e,t){return e.initSegment!==t&&(e.initSegment=t,!0)}function f(e,t,r,n,o){const{state:a}=e.effects,i=t.codecs.length===r.length&&t.codecs.every((e=>r.includes(e))),c=t.mediaTypes.length===n.length&&t.mediaTypes.every((e=>n.includes(e)));return(t.containerFormat!==o||!c||!i)&&(t.mimeType=s(e,n,o,r),t.containerFormat=o,a.dispatch(t.codecs.set,r),a.dispatch(t.mediaTypes.set,n),!0)}function d(e,t,r,a,i,s){const{deriveFrom:d}=e.registry.get(n.CoreExportNames.Utils).State,g=o(e,t,r,a,i);return d(g,"buffered",(()=>s.buffered)),e.effects.state.create(g,{setTimestampOffset:c,setInitSegment:u,updateType:f.bind(void 0,e)})}t.generateMimeTypeString=s,t.createRendererBufferAtom=d},34175: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceBufferActionQueue=void 0;const o=r(91270),a=r(15865),i=(0,o.createTask)("source-buffer-update-awaiter",((e,t)=>{const{events:r,abortable:n}=t.effects;return n(((n,o)=>{e.updating?(r.subscribe(t,e,"updateend",(()=>n())),r.subscribe(t,e,"abort",(()=>o(new a.SourceBufferActionAbortedError))),r.subscribe(t,e,"error",(e=>o(new a.SourceBufferActionFailedError(e))))):n()}))}));function s(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(o,n,(e=>e instanceof a.SourceBufferActionAbortedError))}finally{t.executing=!1,s(e,t,r,o).catch((()=>{}))}else t.executing=!1}))}function c(e){return e instanceof Error?e:e instanceof Event?new a.SourceBufferActionFailedError(e):new Error("SourceBuffer action failed: "+e)}const u=(0,o.createTaskClosure)((e=>["source-buffer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const[n,o,a]=t;let s=()=>{};try{yield r.fork(i,e,(()=>!0)).catch((()=>{}));const t=n(e,r);s=r.effects.events.subscribe(r,r.abortSignal,"abort",(()=>e.abort())),yield t,yield r.fork(i,e),s(),o()}catch(e){s(),a(c(e))}}))]));function f(e,t){const r=[],n={executing:!1},o=u(t);let i=()=>{};const c=e=>{r.forEach((([t,n,o])=>{r.shift(),o(e)}))},f=()=>{i(),i=e.effects.events.subscribe(e,e.abortSignal,"abort",(()=>{c(new a.SourceBufferActionAbortedError)}))};return f(),{execute(t){const{abortable:a}=e.effects;let i=()=>{},c=()=>{};const u=a(((e,t)=>{i=e,c=t}));return u.catch((()=>{})),r.push([t,i,c]),s(e,n,r,o).catch((()=>{})),u},bind:t=>{e=t,f()},abort(e){c(new a.SourceBufferActionAbortedError)}}}t.createSourceBufferActionQueue=f},50907:(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="sourceclose",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={}))},61820: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferClearingTask=void 0;const o=r(91270),a=r(14809),i=r(7269),s=r(24693),c=r(27134),u=r(66895),f=r(88425),d=r(50907),g=r(8747),l=r(5670);function m(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.getState()!==d.MediaSourceReadyState.Open)return;const n=t.getBufferedRanges();for(const[r,o]of n){const n=p(e,r),a=[],i=o.filter((e=>e.start>n.end));y(e,o,{start:0,end:n.start})&&a.push(t.removeData(r,0,n.start)),i.length>0&&a.push(t.removeData(r,i[0].start,1/0)),yield Promise.all(a)}S(e,t.buffers,r,o),b(e,t.buffers)}))}function p(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(f.StreamingState);if(0===t.mediaTypes.length)throw new Error("Renderer Buffer has no media types");return t.mediaTypes.map((e=>(0,g.getTargetBufferRange)(r,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 y(e,t,r){const{overlaps:n}=e.registry.get(a.CoreExportNames.Utils).Ranges;let o=!1;for(const e of t)o=n(e,r)||o;return o}function S(e,t,r,n){var o,a;const i=e.registry.get(f.StreamingState),{dataRanges:u}=i,{isMediaSelectionGroup:d}=e.registry.get(c.StreamDataStructureSelectionGroups),{resetData:g}=e.registry.get(s.StreamDataStructureSegments),{state:m}=e.effects;for(const[i]of r.streamSequenceMap){if(!d(i))continue;const r=null!==(a=null===(o=u.media[i.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[];for(const o of r.slice())v(e,o,t)||(m.dispatch(u.removeSegment,i.mediaId,n.buffered,o),(0,l.removeSegmentFromStreamTimeline)(e,o),g(o,e))}}function v(e,t,r){const{getTimeRange:n}=e.registry.get(s.StreamDataStructureSegments),{overlaps:o,isFullyIncluded:c}=e.registry.get(a.CoreExportNames.Utils).Ranges,u=n(t),f=e.registry.get(i.SourceExportNames.SourceState).playback.playhead;for(const e of r){const t=e.buffered;for(let e=0;e<t.length;e++){const r={start:t.start(e),end:t.end(e)};if(u.end>=f.position?o(u,r):c(u,r))return!0}}return!1}function b(e,t){const r=e.effects.store.segmentDataCache,n=Array.from(r.keys()),{overlaps:o}=e.registry.get(a.CoreExportNames.Utils).Ranges,c=e.registry.get(i.SourceExportNames.SourceState),d=e.registry.get(f.StreamingState),{isDataOrSelfInitSegment:m,isDataSegment:p,getTimeRange:y}=e.registry.get(s.StreamDataStructureSegments),{isMediaTrack:S}=e.registry.get(u.StreamDataStructureTracks),b=new Set,h=[];for(const a of n){if(!S(a.track))continue;if(!m(a)){h.push(a);continue}const n=o(Array.from(a.track.codecs.keys()).reduce(((e,t)=>{const{start:r,end:n}=(0,g.getTargetBufferRange)(c,d,t);return{start:Math.min(e.start,r),end:Math.max(e.end,n)}}),{start:1/0,end:-1/0}),y(a));v(e,a,t)||n?p(a)&&b.add(a.initSegment):(r.delete(a),(0,l.removeSegmentFromStreamTimeline)(e,a))}for(const e of h)b.has(e)||r.delete(e)}t.BufferClearingTask=(0,o.createTaskClosure)(((e,t,r)=>["buffer-clearing-task",(o,a)=>n(void 0,void 0,void 0,(function*(){const n=a.effects.logger;try{n.debug("Clearing buffers"),yield m(a,e,t,r),n.debug("Done clearing buffers")}catch(e){n.debug("Failed to clear buffers:",e instanceof Error?e.message:e)}}))]))},99569:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentAppendage=void 0;const n=r(91270),o=r(14809),a=r(88070),i=r(4304),s=r(5670),c=r(60149);t.SegmentAppendage=(0,n.createTask)("segment-appendage",(({renderer:e,dataRangeIds:t,section:r,video:n},u)=>{const{MapUnsubscribedError:f}=u.registry.get(o.CoreExportNames.Utils).State,{QueueItemRemovedError:d}=u.registry.get(o.CoreExportNames.CoreStateAtoms).Queue,g=e=>e instanceof i.EncodedPlaybackTimeUnknownError||e instanceof f||e instanceof i.SegmentCacheMissError||e instanceof d,l=(0,a.createSegmentAppendageQueueAtom)(u,(0,s.SegmentAppendageQueueConsumer)(e,t,r,n),g);return u.fork(c.KeepUpdatingSegmentsToAppend,{section:r,segmentAppendageQueue:l,dataRangeIds:t})}))},5670: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.waitForEncodedPlaybackTime=t.removeSegmentFromStreamTimeline=t.SegmentAppendageQueueConsumer=void 0;const o=r(91270),a=r(14809),i=r(1146),s=r(7269),c=r(24693),u=r(94503),f=r(66895),d=r(88425),g=r(50907),l=r(4304),m=r(8747),p=r(87436),y=r(61820),S=r(63927);function v(e){const t=e.effects.store.segmentDataCache,r=[];for(const[e,{error:n}]of t.entries())n&&r.push(e);for(const e of r)t.delete(e)}function b(e,t,r){const{state:n}=e.effects,o=e.registry.get(d.StreamingState);n.dispatch(o.dataRanges.addSegment,r.selectionGroup.mediaId,t.buffered,r),n.dispatch(o.dataRanges.removeSegment,r.selectionGroup.mediaId,t.appending,r)}function h(e,t,r,o){return n(this,void 0,void 0,(function*(){yield(0,p.maybeAppendInitSegment)(e,o,r),yield(0,p.appendSegment)(e,o,r),w(e,o),b(e,t,o)}))}function T(e,t){const{isMediaTrack:r}=e.registry.get(f.StreamDataStructureTracks),n=e.registry.get(s.SourceExportNames.SourceState),o=e.registry.get(d.StreamingState);if(!r(t.track))throw new Error("Encountered non-media segment during segment appendage");const a={start:1/0,end:-1/0};for(const e of t.track.codecs.keys()){const{start:t,end:r}=(0,m.getTargetBufferRange)(n,o,e);a.start=Math.min(a.start,t),a.end=Math.max(a.end,r)}return a}function E(e,t){var r;const{store:n}=e.effects,{getTimeRange:o}=e.registry.get(c.StreamDataStructureSegments),{overlaps:i}=e.registry.get(a.CoreExportNames.Utils).Ranges;for(const a of t){const t=T(e,a),s=void 0!==(null===(r=n.segmentDataCache.get(a))||void 0===r?void 0:r.error),c=i(t,o(a));!s&&c||P(e,a)}}function k(e,t){return n(this,void 0,void 0,(function*(){if(t.getState()===g.MediaSourceReadyState.Open)return;const r=e.registry.get(d.StreamingState).stream;yield t.reopen(),yield t.setDuration(r.duration.value)}))}function x(e,t,r,n){var o,a;const i=r.currentTime,s=e.registry.get(d.StreamingState),{dataRanges:c}=s;let u=!1;for(const[e,r]of t.streamSequenceMap){const t=r[r.length-1],s=null==t?void 0:t.segmentTiming,f=void 0===s?1/0:s.parsedPlaybackTime+s.parsedDuration;if(u||(u=r.length>0),e.timeRange.end>f)return!1;for(const e of r){const t=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration,r=null!==(a=null===(o=c.media[e.selectionGroup.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==a?a:[];if(!(t<i)&&!r.includes(e))return!1}}return u}function C(e,t){const r=e.registry.get(d.StreamingState).stream,{Type:n}=e.registry.get(u.StreamDataStructureStream);if(r.type===n.Live)return!1;for(const[{sequenceNumber:e,mediaId:n},o]of t.streamSequenceMap)for(let t=r.selectionGroups.length-1;t>=0;t--){const o=r.selectionGroups[t];if(o.sequenceNumber!==1/0&&o.mediaId===n){if(o.sequenceNumber>e)return!1;if(o.sequenceNumber<=e)break}}return!0}function M(e,t,r,n,o){const a=x(e,t,n,o),i=C(e,t);a&&i&&r.close()}function w(e,t){const{state:r}=e.effects,n=e.registry.get(d.StreamingState),{parsedDuration:o,encodedDuration:a}=t.segmentTiming,{isMediaTrack:i}=e.registry.get(f.StreamDataStructureTracks);o!==a&&i(t.track)&&r.dispatch(n.stream.onDurationMismatch.trigger,{segment:t,track:t.track,expectedDuration:o,actualDuration:a})}function P(e,t){const r=e.registry.get(i.DataExportNames.StreamTimeline),n=t.selectionGroup,{state:o}=e.effects,a=r.find((e=>e.sequenceNumber===n.sequenceNumber));if(a){const e=a.streamSequenceMap.get(n);e&&o.dispatch(e.remove,t)}}function _(e){return Array.from(e.streamSequenceMap.keys())}function A(e,t){return _(e).every((({tracks:e})=>e.every((({timeRange:{start:e,end:r}})=>e<=t&&r>t))))}function D(e,t){for(const r of t)if(r.end>e)return r}function N(e,t,r){const n=e.effects.logger,o=[];for(const[{mimeType:e},a]of r.getBufferedRanges()){const r=D(t.currentTime,a);if(void 0===r)return void n.debug(`Not setting current time yet - "${e}" buffer is empty`);o.push(r)}return o}function O(e){let t=e[0];for(const{start:r,end:n}of e)t={start:Math.max(t.start,r),end:Math.min(t.end,n)};return t}function R(e,t,r,n){const o=e.registry.get(s.SourceExportNames.SourceState).playback.playhead,a=t.currentTime,i=e.effects.logger;if(A(n,a)&&a>=o.position)return;const c=N(e,t,r);if(void 0===c)return;const u=O(c);if(u.start>=u.end)i.debug("Not setting current time yet - buffers don't overlap");else if(o.position>=u.start&&o.position<=u.end)i.log(`Setting currentTime to saved playhead position (${a.toFixed(2)} → ${o.position.toFixed(2)})`),t.currentTime=o.position;else if(a<u.start){const e=u.start;i.log(`Setting currentTime to start of buffer (${a.toFixed(2)} → ${e.toFixed(2)})`),t.currentTime=e}}function U(e,t){return n(this,void 0,void 0,(function*(){if(t.length<1)return;const{state:r}=e.effects,o=e.effects.logger,a=e.registry.get(d.StreamingState),{isMediaTrack:i}=e.registry.get(f.StreamDataStructureTracks),{getReadableSegmentName:s}=e.registry.get(c.StreamDataStructureSegments);yield Promise.all(t.map((t=>n(this,void 0,void 0,(function*(){if(!i(t.track))return;yield j(e,t);const{parsedPlaybackTime:n,encodedPlaybackTime:c,timestampOffset:u}=t.segmentTiming;if(u===-1/0){const e=s(t);return void o.debug(`Cannot verify segment timing - timestampOffset is not set (${e})`)}const f=c+u;n!==f&&r.dispatch(a.stream.onPlaybackTimeMismatch.trigger,{track:t.track,segment:t,expectedTime:f,actualTime:n})})))))}))}function j(e,t){return n(this,void 0,void 0,(function*(){const{segmentTiming:r}=t,{abortable:n,state:a,store:i}=e.effects,s=i.segmentDataCache.get(t);if(void 0===s)throw new l.SegmentCacheMissError;if(-1!==r.encodedPlaybackTime)return r.encodedPlaybackTime;if(s.closed)throw new l.EncodedPlaybackTimeUnknownError;return n(((t,n)=>{const i=(0,o.createTask)("data-awaiter",((e,t)=>{const{closed:r,error:o}=e;(r||o)&&(d(),n(new l.EncodedPlaybackTimeUnknownError))})),c=(0,o.createTask)("segment-data-cleared-subscriber",((e,t)=>{d(),n(new l.EncodedPlaybackTimeUnknownError)})),u=(0,o.createTask)("encoded-playback-time-awaiter",(({encodedPlaybackTime:e},r)=>{-1!==e&&(d(),t(e))})),f=[a.subscribe(e,r,u),a.subscribe(e,s,i),a.subscribe(e,s.cleared,c)],d=()=>f.forEach((e=>e()))}))}))}t.SegmentAppendageQueueConsumer=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-consumer",(a,i)=>n(void 0,void 0,void 0,(function*(){a=[...a];const n=i.registry.get(s.SourceExportNames.SourceState),c=i.registry.get(d.StreamingState),{state:u}=i.effects;for(const e of a)u.dispatch(c.dataRanges.addSegment,e.selectionGroup.mediaId,t.appending,e);try{yield k(i,e),yield(0,S.maybeUpdateTimestampOffset)(i,e,a),yield U(i,a),yield Promise.all(a.map((r=>h(i,t,e,r)))),R(i,o,e,r),M(i,r,e,o,t),yield i.fork((0,y.BufferClearingTask)(e,r,t),n.playback.playhead)}catch(e){throw E(i,a),e}finally{v(i);for(const e of a)u.dispatch(c.dataRanges.removeSegment,e.selectionGroup.mediaId,t.appending,e)}}))])),t.removeSegmentFromStreamTimeline=P,t.waitForEncodedPlaybackTime=j},60149:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KeepUpdatingSegmentsToAppend=void 0;const n=r(91270),o=r(14809),a=r(7269),i=r(24693),s=r(27134),c=r(88425),u=r(8747);t.KeepUpdatingSegmentsToAppend=(0,n.createTask)("keep-updating-segments-to-append",(({section:e,dataRangeIds:t,segmentAppendageQueue:r},n)=>{const{loop:o,state:i}=n.effects,{playback:{playhead:s}}=n.registry.get(a.SourceExportNames.SourceState),c=f(t,e,r);i.subscribe(n,r.consumed,c),i.subscribe(n,s,c),i.subscribe(n,e.streamSequenceMap,c);for(const[t,r]of e.streamSequenceMap)i.subscribe(n,r,c);return n.fork(c,s),o(n.abortSignal)}));const f=(0,n.createTaskClosure)(((e,t,r)=>["select-segments-to-append",(n,o)=>{const{areSegmentsOverlapping:a}=o.registry.get(i.StreamDataStructureSegments);let s=g(o,e,t);s=d(s,r),s.length>=1&&!a(s)&&s.splice(1,s.length-1),s.length<1||o.effects.state.dispatch(r.appendSegments.trigger,s)}]));function d(e,t){const r=[];for(const e of t.queue)for(const t of e)r.push(t.selectionGroup.mediaId);return e.filter((e=>!r.includes(e.selectionGroup.mediaId)))}function g(e,t,r){var n,f,d,g;const l=e.registry.get(a.SourceExportNames.SourceState),m=e.registry.get(c.StreamingState),{dataRanges:p}=m,y=[],{isMediaSelectionGroup:S,getMediaType:v}=e.registry.get(s.StreamDataStructureSelectionGroups),{overlaps:b}=e.registry.get(o.CoreExportNames.Utils).Ranges,{getGapToNextSegment:h}=e.registry.get(i.StreamDataStructureSegments);for(const[o,a]of r.streamSequenceMap){if(!S(o))continue;const r=v(e,o),i=(0,u.getMediaTypeTargetRanges)(l,m,r),s=null!==(f=null===(n=p.media[o.mediaId])||void 0===n?void 0:n.source[t.buffered])&&void 0!==f?f:[],c=null!==(g=null===(d=p.media[o.mediaId])||void 0===d?void 0:d.source[t.appending])&&void 0!==g?g:[];for(let t=0;t<a.length;t++){const r=a[t],{parsedPlaybackTime:n,parsedDuration:o}=r.segmentTiming,u=n+o,f=s.includes(r),d=c.includes(r),g=h(r,a[t+1]),l=void 0!==g&&u===g.start,m=n>=i.start&&n<i.end,p=u>i.start&&u<=i.end,S=e.effects.store.segmentDataCache.has(r);if((m||p||(i.start===u||void 0!==g&&b(i,g))&&l)&&!f&&!d&&S){y.push(r);break}}}return y.sort(((e,t)=>e.segmentTiming.parsedPlaybackTime-t.segmentTiming.parsedPlaybackTime)),y}},63927: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.maybeUpdateTimestampOffset=void 0;const o=r(14809),a=r(24693),i=r(5670);function s(e,t,r){return n(this,void 0,void 0,(function*(){const t=[];for(const e of r){const{timestampOffset:r}=e.segmentTiming;r===-1/0&&t.push(e)}0!==t.length&&(yield c(e,t))}))}function c(e,t){return n(this,void 0,void 0,(function*(){const{state:r}=e.effects,o=e.effects.logger,a=d(t),s=new Map;yield Promise.all(a.map((t=>n(this,void 0,void 0,(function*(){yield(0,i.waitForEncodedPlaybackTime)(e,t),s.set(t.track,u(e,t))})))));const c=Array.from(s.values()),f=Math.max(...c);if(void 0!==f){o.debug(`Determined timestampOffset to be (${f})`);for(const[e]of s)for(const t of e.segments){const e=t.segmentTiming;e.timestampOffset===-1/0&&r.dispatch(e.timestampOffsetChanged,f)}}else o.debug(`Could not determine timestamp offset (${c})`)}))}function u(e,t){const r=f(e,t);if(void 0===r){const{parsedPlaybackTime:e,encodedPlaybackTime:r}=t.segmentTiming;return e-r}return r}function f(e,t){var r;const n=t.track,i=n.selectionGroup.tracks.filter((e=>e!==n)),{getTimeRange:s}=e.registry.get(a.StreamDataStructureSegments),{overlaps:c}=e.registry.get(o.CoreExportNames.Utils).Ranges,u=s(t);for(const e of i){const t=e.segments.find((e=>c(s(e),u))),{timestampOffset:n}=null!==(r=null==t?void 0:t.segmentTiming)&&void 0!==r?r:{};if(void 0!==n&&n!==-1/0)return n}}function d(e){const t=new Map;for(const r of e){const e=r.track,n=t.get(e);if(void 0===n)t.set(e,r);else{const{parsedPlaybackTime:o}=n.segmentTiming,{parsedPlaybackTime:a}=r.segmentTiming;a<o&&t.set(e,r)}}return Array.from(t.values())}t.maybeUpdateTimestampOffset=s},87436: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,a){o(n,a,(t=e[r](t)).done,t.value)}))}}function o(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.appendSegment=t.maybeAppendInitSegment=void 0;const a=r(24693),i=r(4304),s=r(8747);function c(e,t,r){var i,c,f,d;return n(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(a.StreamDataStructureSegments);if(!n(t))return;const g=e.effects.store.segmentDataCache.get(t);if(!g)throw new Error("Ey yo, wtf");try{for(var l,m=!0,p=o(g);l=yield p.next(),!(i=l.done);){d=l.value,m=!1;try{const n=d,o=(0,s.getMatchingBuffer)(e,r.buffers,n.containerFormat,n.mediaTypes);if(!o)continue;if(o.initSegment===t.initSegment)return;yield u(e,t.initSegment,r),e.effects.state.dispatch(o.setInitSegment,t.initSegment)}finally{m=!0}}}catch(e){c={error:e}}finally{try{m||i||!(f=p.return)||(yield f.call(p))}finally{if(c)throw c.error}}}))}function u(e,t,r){var c,u,f,d,g,l,m,p;return n(this,void 0,void 0,(function*(){const n=e.effects.logger,{isDataOrSelfInitSegment:y}=e.registry.get(a.StreamDataStructureSegments);n.debug("Appending",t.url);const S=e.effects.store.segmentDataCache.get(t);if(!S)throw new i.SegmentCacheMissError;try{for(var v,b=!0,h=o(S);v=yield h.next(),!(c=v.done);){d=v.value,b=!1;try{const a=d,i=(0,s.getMatchingBuffer)(e,r.buffers,a.containerFormat,a.mediaTypes);if(!i){n.log(`Can't append "${a.mediaTypes}" data "${t.url}": there is no buffer of the given type`);continue}y(t)&&t.segmentTiming.timestampOffset>-1/0&&(yield r.setTimestampOffset(i,t.segmentTiming.timestampOffset));try{for(var T,E=!0,k=(l=void 0,o(a.fragments));T=yield k.next(),!(g=T.done);){p=T.value,E=!1;try{const e=p;yield r.appendData(i,e)}finally{E=!0}}}catch(e){l={error:e}}finally{try{E||g||!(m=k.return)||(yield m.call(k))}finally{if(l)throw l.error}}}finally{b=!0}}}catch(e){u={error:e}}finally{try{b||c||!(f=h.return)||(yield f.call(h))}finally{if(u)throw u.error}}n.debug("Appended",t.url)}))}t.maybeAppendInitSegment=c,t.appendSegment=u},10899:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.verifyCodecs=void 0;class r extends Error{constructor(e){super(`MediaType "${e}" is present in track but missing in segment`),this.name="MediaTypeMissingError"}}function n(e,t,r){return void 0===r?`Segment doesn't contain "${e}" codec, but track does`:`"${e}" codecs don't match between track (${t}) and segment (${r})`}function o(e,t,r){const o=t.split(".")[0],a=r.find((e=>o===e.split(".")[0])),i=e.effects.logger;a?t!==a&&i.log(`Codecs don't match between track and segment (${t}, ${a})`):i.warn(n(t))}function a(e,t,a,i){var s;const c=e.effects.logger,[u,f]=null!==(s=i.find((([e])=>e===t)))&&void 0!==s?s:[];if(!f)throw new r(t);if(a.length===f.length)for(const t of a)o(e,t,f);else c.warn(n(t,a,f))}function i(e,t,r){if(t.codecs.size!==r.length)throw new Error(`Detected codec mismatch - track specifies ${t.codecs.size} codecs, but segment contains ${r.length}`);for(const[n,o]of t.codecs)a(e,n,o,r)}t.verifyCodecs=i},76410:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectContainerFormatTask=void 0;const n=r(91270),o=r(55225),a=r(14809);function i(e){const{ContainerFormat:t}=e.registry.get(a.CoreExportNames.Constants),{isContainerSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);return Object.values(t).filter(r)}t.SelectContainerFormatTask=(0,n.createTaskClosure)((e=>["select-container",({availableContainerFormats:t,segment:r},n)=>{const{store:o,state:a}=e.effects,{containerFormatMap:s}=o,c=i(e),u=t.find((e=>c.includes(e))),f=r.selectionGroup;if(void 0===u)throw new Error("Unable to select suitable container format for playback");return a.dispatch(s.add,f,u),u}]))},79284: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.startPresentationSegmentProcessing=void 0;const o=r(91270),a=r(14809),i=r(1146),s=r(69104),c=(0,o.createTask)("timeline-section-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{mapSubscribe:r}=t.registry.get(a.CoreExportNames.Utils).State;return r(t,e.streamSequenceMap,u),t.effects.loop(t.abortSignal)})))),u=(0,o.createTask)("timeline-sequence-map-subscriber",(([e,t],r)=>n(void 0,void 0,void 0,(function*(){const{mapSubscribe:e}=r.registry.get(a.CoreExportNames.Utils).State;return e(r,t,s.SegmentDataStreamSubscriber),r.effects.loop(r.abortSignal)}))));function f(e){const t=e.registry.get(i.DataExportNames.StreamTimeline),{mapSubscribe:r}=e.registry.get(a.CoreExportNames.Utils).State;return r(e,t,c),e.effects.loop(e.abortSignal)}t.startPresentationSegmentProcessing=f},69104: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,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentDataStreamSubscriber=void 0;const o=r(91270),a=r(14809),i=r(30158),s=r(24693),c=r(66895),u=r(33983),f=r(76410),d=r(42269);function g(e,t,r){const{createTransient:n}=e.registry.get(a.CoreExportNames.Utils).State;return{input:t.data,segment:t,output:r,codecsExtracted:n(e),videoInfoExtracted:n(e),playbackTimeExtracted:n(e),durationExtracted:n(e),selectContainerFormat:(0,f.SelectContainerFormatTask)(e)}}function l(e,t){return n(this,void 0,void 0,(function*(){const r=e.effects.store.segmentDataCache;if(r.has(t))return;const{state:n}=e.effects,o=(0,u.getOrCreateOutputStream)(e,r,t),s=g(e,t,o),c=e.registry.get(i.SegmentProcessingExportNames.SegmentProcessingComponent),f=(0,d.subscribeToTransients)(e,s),{DataStreamClearedError:l,DataStreamClosedError:m}=e.registry.get(a.CoreExportNames.CoreStateAtoms).DataStream,{QueueItemRemovedError:p}=e.registry.get(a.CoreExportNames.CoreStateAtoms).Queue,y=e=>[m,l,p].some((t=>e instanceof t));try{yield e.fork(c.process,s,y)}catch(e){const a=e instanceof Error?e:new Error("Failed to fetch segment");if(n.dispatch(o.throw,a),r.delete(t),!y(a))throw a}finally{f()}}))}t.SegmentDataStreamSubscriber=(0,o.createTask)("segment-data-stream-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{isDataSegment:r}=t.registry.get(s.StreamDataStructureSegments),{isSubtitleTrack:n}=t.registry.get(c.StreamDataStructureTracks);if(n(e.track))return;const o=r(e)?[e,e.initSegment]:[e];yield Promise.all(o.map((e=>l(t,e))))}))))},42269:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeToTransients=void 0;const n=r(91270),o=r(24693),a=r(66895),i=r(10899),s=r(35339);function c(e,t,{value:r},n){if(void 0===r)throw new Error("CodecMap was unexpectedly undefined");const{isMediaTrack:o,isUnknownTrack:c}=n.registry.get(a.StreamDataStructureTracks),u=(0,s.detectTrackType)(n,r,t.value),{track:f}=e;if(c(f)&&void 0!==u&&(n.effects.logger.log("Detected media type from segment for unknown track",u),n.effects.state.dispatch(f.typeDetected.trigger,u)),!o(f))return;const d=[],g=Object.keys(r);for(const e of g)d.push([e,r[e]]);if(0===f.codecs.size){n.effects.logger.log("Parsed codecs from segment",d),n.effects.state.dispatch(f.codecs.setAll,d)}else(0,i.verifyCodecs)(n,f,d)}function u(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(o.StreamDataStructureSegments),{state:a}=r.effects;if(!n(e)||void 0===t.value||-1!==e.segmentTiming.encodedDuration)return;const{encodedPlaybackTime:i,dataParsed:s}=e.segmentTiming;a.dispatch(s,t.value,i)}function f(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(o.StreamDataStructureSegments),{state:a}=r.effects;if(!n(e)||void 0===t.value)return;const{encodedPlaybackTime:i,encodedDuration:s,dataParsed:c}=e.segmentTiming;-1===i&&a.dispatch(c,s,t.value)}function d(e,t){const r=[e.effects.state.subscribe(e,t.codecsExtracted,(0,n.createTask)("segment-codec-updater",c.bind(void 0,t.segment,t.videoInfoExtracted))),e.effects.state.subscribe(e,t.durationExtracted,(0,n.createTask)("segment-duration-updater",u.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.playbackTimeExtracted,(0,n.createTask)("segment-playback-time-updater",f.bind(void 0,t.segment)))];return()=>{for(const e of r)e()}}t.subscribeToTransients=d},35339:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.detectTrackType=void 0;const n=r(14809);function o(e){return void 0===e?{}:{width:e.width,height:e.height}}function a(e,t,r){const{MediaType:a}=e.registry.get(n.CoreExportNames.Constants),i=t[a.Audio],s=t[a.Video],c=void 0!==i&&i.length>0,u=void 0!==s&&s.length>0;return c&&u?Object.assign({detectedType:a.Muxed,audioCodecs:i,videoCodecs:s},o(r)):u?Object.assign({detectedType:a.Video,codecs:s},o(r)):c?{detectedType:a.Audio,codecs:i}:void 0}t.detectTrackType=a},30158:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentProcessingExportNames=void 0,function(e){e.SegmentProcessingComponent="segment-processing-component",e.SegmentProcessorType="segment-processor-type",e.SegmentProcessorErrors="segment-processor-errors"}(t.SegmentProcessingExportNames||(t.SegmentProcessingExportNames={}))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))},78622:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureExportNames=t.StreamDataStructure=void 0;const n=r(24693),o=r(27134),a=r(94503),i=r(66895);t.StreamDataStructure="stream-data-structure",t.StreamDataStructureExportNames=[n.StreamDataStructureSegments,o.StreamDataStructureSelectionGroups,i.StreamDataStructureTracks,a.StreamDataStructureStream]},24693:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSegments=void 0,t.StreamDataStructureSegments="stream-data-structure-segments"},27134:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureSelectionGroups=void 0,t.StreamDataStructureSelectionGroups="stream-data-structure-selection-groups"},94503:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureStream=void 0,t.StreamDataStructureStream="stream-data-structure-stream"},66895:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StreamDataStructureTracks=void 0,t.StreamDataStructureTracks="stream-data-structure-tracks"},88425:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CreateStreamingStateAtom=t.StreamingState=void 0,t.StreamingState="streaming-state",t.CreateStreamingStateAtom="create-streaming-state-atom"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}return r(55388)})()));
@@ -5,6 +5,6 @@
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.2.0-beta.13
8
+ * Bitmovin Player X Version 10.2.0-beta.14
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["native-playback"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-playback"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function a(e,t,a){const o=t;return o._name=e,{onAdd:o,dependencies:a}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=a},91270:(e,t)=>{function a(e,t){const a=t;return a._name=e,a}function o(e){return(...t)=>{const[o,r]=e(...t);return a(o,r)}}function r(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=a,t.createTaskClosure=o,t.getTaskName=r},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},25320:(e,t)=>{var a;Object.defineProperty(t,"__esModule",{value:!0}),t.LoadControl=t.PlaybackTechnology=t.ResourceType=t.ContentType=t.Version=t.MediaTypeValues=t.Codec=t.SubtitleFormatType=t.MediaType=void 0,function(e){e.Audio="audio",e.Video="video",e.Muxed="muxed",e.Subtitle="subtitle",e.Thumbnail="thumbnail",e.Unknown="unknown"}(a=t.MediaType||(t.MediaType={})),function(e){e.WebVTT="webvtt",e.Unknown="unknown"}(t.SubtitleFormatType||(t.SubtitleFormatType={})),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(a),t.Version="10.2.0-beta.13",function(e){e.Content="content",e.Advertisement="advertisement"}(t.ContentType||(t.ContentType={})),function(e){e.Hls="hls",e.Dash="dash",e.Progressive="progressive"}(t.ResourceType||(t.ResourceType={})),function(e){e.Mse="mse",e.WebRtc="webrtc",e.WebCodecs="webcodecs",e.Native="native"}(t.PlaybackTechnology||(t.PlaybackTechnology={})),function(e){e[e.Nothing=0]="Nothing",e[e.Metadata=1]="Metadata",e[e.Data=2]="Data"}(t.LoadControl||(t.LoadControl={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},49753:(e,t)=>{var a;function o(e){return e.type===a.Manifest}function r(e){return e.type===a.Presentation}Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackTechnologyComponent=t.isPresentationEntry=t.isManifestEntry=t.PlaybackTechnologyEntryType=void 0,function(e){e.Presentation="presentation",e.Manifest="manifest"}(a=t.PlaybackTechnologyEntryType||(t.PlaybackTechnologyEntryType={})),t.isManifestEntry=o,t.isPresentationEntry=r,t.PlaybackTechnologyComponent="playback-technology-component"},72296:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackPackage=void 0;const o=a(97085),r=a(12858),n=a(74447);t.NativePlaybackPackage=(0,o.createPackage)("native-playback-package",((e,t)=>{e.api.packages.add(n.default),e.api.packages.add(r.default)}),[]),t.default=t.NativePlaybackPackage},12858:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyPackage=t.isNativeSupported=void 0;const o=a(97085),r=a(55225),n=a(25320),i=a(14809),s=a(49753),c=a(59263);function l(e,t,a){return a===n.PlaybackTechnology.Native&&(e.type===n.ResourceType.Hls&&t.hlsSupported()||e.type===n.ResourceType.Progressive&&t.progressiveSupported())}t.isNativeSupported=l,t.NativePlaybackTechnologyPackage=(0,o.createPackage)("native-playback-technology-package",((e,t)=>{const{StateEffectFactory:a,EventListenerEffectFactory:o}=t.registry.get(i.CoreExportNames.CoreEffects),n=t.using(a,o),u=n.registry.get(s.PlaybackTechnologyComponent),p=n.registry.get(r.CapabilitiesExportNames.PlatformCapabilities),d={name:"native-playback-tech",type:s.PlaybackTechnologyEntryType.Presentation,depends:[],supported:(e,t)=>l(e,p,t),instantiate:c.NativePlaybackTechnologyTask};n.fork(u.addTechnology,d)}),[s.PlaybackTechnologyComponent,i.CoreExportNames.Constants,i.CoreExportNames.CoreStateAtoms,i.CoreExportNames.CoreEffects,r.CapabilitiesExportNames.PlatformCapabilities]),t.default=t.NativePlaybackTechnologyPackage},59263:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyTask=void 0;const o=a(91270),r=a(43379),n=a(54472);t.NativePlaybackTechnologyTask=(0,o.createTask)("native-playback-tech-task",((e,t)=>{const a=(0,r.createNativePresentationStateAtom)(t,e);return t.registry.set(n.NativePresentationState,a),t.abortSignal.addEventListener("abort",(()=>{t.registry.delete(n.NativePresentationState)})),t.effects.loop(t.abortSignal)}))},54472:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationState=void 0,t.NativePresentationState="native-presentation-state"},43379:(e,t)=>{function a(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createNativePresentationStateAtom=void 0,t.createNativePresentationStateAtom=a},74447:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationPackage=void 0;const o=a(97085),r=a(14809),n=a(7269),i=a(54472),s=a(41586);t.NativePresentationPackage=(0,o.createPackage)("native-presentation",((e,t)=>{const{StateEffectFactory:a,EventListenerEffectFactory:o}=t.registry.get(r.CoreExportNames.CoreEffects),i=t.using(a,o),{state:c}=i.effects,l=i.registry.get(n.SourceExportNames.SourceState),u=(0,s.VideoElementNativeSubscriber)();c.subscribe(i,l.video,u)}),[r.CoreExportNames.Utils,r.CoreExportNames.Constants,n.SourceExportNames.SourceState,r.CoreExportNames.CoreStateAtoms,r.CoreExportNames.CoreEffects,i.NativePresentationState]),t.default=t.NativePresentationPackage},67418:(e,t)=>{function a(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=a},41586:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementNativeSubscriber=void 0;const o=a(91270),r=a(14809),n=a(7269),i=a(54472),s=a(67418);function c(e,t){const a=document.createElement("source");return a.src=e,t&&(a.type=t),a}const l=(0,o.createTaskClosure)((e=>["timeupdate-subscriber",(t,a)=>{const{state:o}=a.effects,r=a.registry.get(n.SourceExportNames.SourceState);Number.isFinite(e.duration)&&o.dispatch(r.playback.duration.setValue,e.duration),o.dispatch(r.playback.playhead.setPosition,e.currentTime)}]));t.VideoElementNativeSubscriber=(0,o.createTaskClosure)((()=>["native-video-element-subscriber",(e,t)=>{const{registry:a,effects:o,abortSignal:n}=t,{loop:u,abortable:p,events:d}=o,y=t.effects.logger,v=a.get(i.NativePresentationState),{ResourceType:f}=a.get(r.CoreExportNames.Constants);if(void 0===e.element)return y.log("Cannot set up native presentation task - no video element"),p((e=>e()));const b=e.element,m=v.resource;if((0,s.resetVideoSource)(b,y),void 0===m)throw new Error("No native-compatible resource found");if(y.log(`Setting native video source: ${m.url}`),m.type===f.Hls){const e=c(m.url);b.appendChild(e),b.load()}else b.src=m.url,b.load();return d.subscribe(t,b,"timeupdate",l(b)),u(n)}]))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function a(o){var r=t[o];if(void 0!==r)return r.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,a),n.exports}return a(72296)})()));
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["native-playback"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-playback"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function o(e,t,o){const r=t;return r._name=e,{onAdd:r,dependencies:o}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=o},91270:(e,t)=>{function o(e,t){const o=t;return o._name=e,o}function r(e){return(...t)=>{const[r,a]=e(...t);return o(r,a)}}function a(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=o,t.createTaskClosure=r,t.getTaskName=a},55225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},51822:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TechnologyExports=void 0,t.TechnologyExports="technology"},73408:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkExportNames=void 0,function(e){e.NetworkAtom="network-atom",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.HttpRequestType="http-request-type",e.HttpResponseType="http-response-type",e.HttpRequestMethod="http-request-method",e.NetworkMessageType="network-message-type"}(t.NetworkExportNames||(t.NetworkExportNames={}))},49753:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PlaybackTechnologyExportNames=t.PlaybackTechnologyComponent=void 0,t.PlaybackTechnologyComponent="playback-technology-component",function(e){e.EntryType="playback-technology-entry-type"}(t.PlaybackTechnologyExportNames||(t.PlaybackTechnologyExportNames={}))},72296:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackPackage=void 0;const r=o(97085),a=o(73408),s=o(12858),i=o(74447);t.NativePlaybackPackage=(0,r.createPackage)("native-playback-package",((e,t)=>{e.api.packages.add(i.default),e.api.packages.add(s.default)}),[a.NetworkExportNames.NetworkAtom,a.NetworkExportNames.NetworkTask]),t.default=t.NativePlaybackPackage},12858:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyPackage=t.isNativeSupported=void 0;const r=o(97085),a=o(55225),s=o(14809),i=o(49753),n=o(59263);function c(e,t,o,r,a){return a===o.Native&&(e.type===r.Hls&&t.hlsSupported()||e.type===r.Progressive&&t.progressiveSupported())}t.isNativeSupported=c,t.NativePlaybackTechnologyPackage=(0,r.createPackage)("native-playback-technology-package",((e,t)=>{const{StateEffectFactory:o,EventListenerEffectFactory:r}=t.registry.get(s.CoreExportNames.CoreEffects),l=t.using(o,r),u=l.registry.get(i.PlaybackTechnologyComponent),p=l.registry.get(a.CapabilitiesExportNames.PlatformCapabilities),d=l.registry.get(i.PlaybackTechnologyExportNames.EntryType),{PlaybackTechnology:v,ResourceType:y}=l.registry.get(s.CoreExportNames.Constants),b={name:"native-playback-tech",type:d.Presentation,depends:[],supported:(e,t)=>c(e,p,v,y,t),instantiate:n.NativePlaybackTechnologyTask};l.fork(u.addTechnology,b)}),[i.PlaybackTechnologyComponent,i.PlaybackTechnologyExportNames.EntryType,s.CoreExportNames.Constants,s.CoreExportNames.CoreStateAtoms,s.CoreExportNames.CoreEffects,a.CapabilitiesExportNames.PlatformCapabilities]),t.default=t.NativePlaybackTechnologyPackage},59263:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePlaybackTechnologyTask=void 0;const r=o(91270),a=o(43379),s=o(54472);t.NativePlaybackTechnologyTask=(0,r.createTask)("native-playback-tech-task",((e,t)=>{const o=(0,a.createNativePresentationStateAtom)(t,e);return t.registry.set(s.NativePresentationState,o),t.abortSignal.addEventListener("abort",(()=>{t.registry.delete(s.NativePresentationState)})),t.effects.loop(t.abortSignal)}))},54472:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationState=void 0,t.NativePresentationState="native-presentation-state"},43379:(e,t)=>{function o(e,t){return e.effects.state.create({resource:t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.createNativePresentationStateAtom=void 0,t.createNativePresentationStateAtom=o},96791:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorEventSubscriber=void 0;const r=o(91270),a=o(78820);t.ErrorEventSubscriber=(0,r.createTaskClosure)((e=>["native:error-event-subscriber",(t,o)=>{var r;let s="";throw e.error?s=`${e.error.message} (${e.error.code})`:t instanceof ErrorEvent?s=null!==(r=t.error.message)&&void 0!==r?r:t.error:"string"==typeof t&&(s=t),new a.NativeVideoError(s)}]))},78820:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativeVideoError=t.NativeLoadTimeoutError=void 0;class o extends Error{constructor(){super("Progressive source failed to load"),this.name="NativeLoadTimeoutError"}}t.NativeLoadTimeoutError=o;class r extends Error{constructor(e){super("Video element has thrown error"+(e?`: ${e}`:"")),this.name="NativeVideoError"}}t.NativeVideoError=r},74447:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationPackage=void 0;const r=o(97085),a=o(51822),s=o(14809),i=o(7269),n=o(54472),c=o(41586);t.NativePresentationPackage=(0,r.createPackage)("native-presentation",((e,t)=>{const{StateEffectFactory:o,EventListenerEffectFactory:r}=t.registry.get(s.CoreExportNames.CoreEffects),a=t.using(o,r),{state:n}=a.effects,l=a.registry.get(i.SourceExportNames.SourceState),u=(0,c.VideoElementNativeSubscriber)();n.subscribe(a,l.video,u)}),[s.CoreExportNames.Utils,s.CoreExportNames.Constants,i.SourceExportNames.SourceState,s.CoreExportNames.CoreStateAtoms,s.CoreExportNames.CoreEffects,n.NativePresentationState,a.TechnologyExports]),t.default=t.NativePresentationPackage},14090:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TrackTimeoutTask=void 0;const r=o(91270),a=o(78820),s=1e4,i=(0,r.createTask)("native:load-timeout-task",(()=>{throw new a.NativeLoadTimeoutError}));t.TrackTimeoutTask=(0,r.createTask)("native:track-timeout-task",((e,t)=>{const o=t.effects.timeout(t.abortSignal,s),r=()=>{o.abort(),a()},a=t.effects.events.subscribe(t,e,"loadedmetadata",r);return o.then((()=>t.fork(i,void 0))).catch((()=>{})),t.effects.loop(t.abortSignal)}))},67418:(e,t)=>{function o(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=o},41586:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementNativeSubscriber=void 0;const r=o(91270),a=o(7269),s=o(54472),i=o(96791),n=o(14090),c=o(67418);function l(e,t){const o=document.createElement("source");return o.src=e,t&&(o.type=t),o}const u=(0,r.createTaskClosure)((e=>["timeupdate-subscriber",(t,o)=>{const{state:r}=o.effects,s=o.registry.get(a.SourceExportNames.SourceState);Number.isFinite(e.duration)&&r.dispatch(s.playback.duration.setValue,e.duration),r.dispatch(s.playback.playhead.setPosition,e.currentTime)}]));t.VideoElementNativeSubscriber=(0,r.createTaskClosure)((()=>["native:video-element-subscriber",(e,t)=>{const{registry:o,effects:r,abortSignal:p}=t,{loop:d,abortable:v,events:y}=r,b=t.effects.logger,f=o.get(s.NativePresentationState),m=o.get(a.SourceExportNames.SourceState);if(void 0===e.element)return b.log("Cannot set up native presentation task - no video element"),v((e=>e()));const k=e.element,g=f.resource;if((0,c.resetVideoSource)(k,b),void 0===g)throw new Error("No native-compatible resource found");b.log(`Setting native video source: ${g.url}`);const N=l(g.url);k.appendChild(N),k.currentTime=m.playback.playhead.position;const E=u(k),P=(0,i.ErrorEventSubscriber)(k);return y.subscribe(t,k,"timeupdate",E),y.subscribe(t,k,"loadedmetadata",E),y.subscribe(t,k,"durationchange",E),y.subscribe(t,k,"error",P),y.subscribe(t,N,"error",P),t.fork(n.TrackTimeoutTask,k),k.load(),d(p).finally((()=>{N===k.firstElementChild&&(0,c.resetVideoSource)(k,b)}))}]))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function o(r){var a=t[r];if(void 0!==a)return a.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,o),s.exports}return o(72296)})()));
@@ -5,6 +5,6 @@
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.2.0-beta.13
8
+ * Bitmovin Player X Version 10.2.0-beta.14
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["native-presentation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-presentation"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function r(e,t,r){const o=t;return o._name=e,{onAdd:o,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function o(e){return(...t)=>{const[o,a]=e(...t);return r(o,a)}}function a(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=o,t.getTaskName=a},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},54472:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationState=void 0,t.NativePresentationState="native-presentation-state"},74447:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationPackage=void 0;const o=r(97085),a=r(14809),s=r(7269),n=r(54472),i=r(41586);t.NativePresentationPackage=(0,o.createPackage)("native-presentation",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:o}=t.registry.get(a.CoreExportNames.CoreEffects),n=t.using(r,o),{state:c}=n.effects,u=n.registry.get(s.SourceExportNames.SourceState),d=(0,i.VideoElementNativeSubscriber)();c.subscribe(n,u.video,d)}),[a.CoreExportNames.Utils,a.CoreExportNames.Constants,s.SourceExportNames.SourceState,a.CoreExportNames.CoreStateAtoms,a.CoreExportNames.CoreEffects,n.NativePresentationState]),t.default=t.NativePresentationPackage},67418:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},41586:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementNativeSubscriber=void 0;const o=r(91270),a=r(14809),s=r(7269),n=r(54472),i=r(67418);function c(e,t){const r=document.createElement("source");return r.src=e,t&&(r.type=t),r}const u=(0,o.createTaskClosure)((e=>["timeupdate-subscriber",(t,r)=>{const{state:o}=r.effects,a=r.registry.get(s.SourceExportNames.SourceState);Number.isFinite(e.duration)&&o.dispatch(a.playback.duration.setValue,e.duration),o.dispatch(a.playback.playhead.setPosition,e.currentTime)}]));t.VideoElementNativeSubscriber=(0,o.createTaskClosure)((()=>["native-video-element-subscriber",(e,t)=>{const{registry:r,effects:o,abortSignal:s}=t,{loop:d,abortable:l,events:f}=o,p=t.effects.logger,v=r.get(n.NativePresentationState),{ResourceType:m}=r.get(a.CoreExportNames.Constants);if(void 0===e.element)return p.log("Cannot set up native presentation task - no video element"),l((e=>e()));const b=e.element,S=v.resource;if((0,i.resetVideoSource)(b,p),void 0===S)throw new Error("No native-compatible resource found");if(p.log(`Setting native video source: ${S.url}`),S.type===m.Hls){const e=c(S.url);b.appendChild(e),b.load()}else b.src=S.url,b.load();return f.subscribe(t,b,"timeupdate",u(b)),d(s)}]))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function r(o){var a=t[o];if(void 0!==a)return a.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.exports}return r(74447)})()));
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["native-presentation"]=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx["native-presentation"]=t())}(self,(()=>(()=>{"use strict";var e={97085:(e,t)=>{function r(e,t,r){const o=t;return o._name=e,{onAdd:o,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},91270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function o(e){return(...t)=>{const[o,a]=e(...t);return r(o,a)}}function a(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=o,t.getTaskName=a},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},51822:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TechnologyExports=void 0,t.TechnologyExports="technology"},54472:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationState=void 0,t.NativePresentationState="native-presentation-state"},96791:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorEventSubscriber=void 0;const o=r(91270),a=r(78820);t.ErrorEventSubscriber=(0,o.createTaskClosure)((e=>["native:error-event-subscriber",(t,r)=>{var o;let s="";throw e.error?s=`${e.error.message} (${e.error.code})`:t instanceof ErrorEvent?s=null!==(o=t.error.message)&&void 0!==o?o:t.error:"string"==typeof t&&(s=t),new a.NativeVideoError(s)}]))},78820:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativeVideoError=t.NativeLoadTimeoutError=void 0;class r extends Error{constructor(){super("Progressive source failed to load"),this.name="NativeLoadTimeoutError"}}t.NativeLoadTimeoutError=r;class o extends Error{constructor(e){super("Video element has thrown error"+(e?`: ${e}`:"")),this.name="NativeVideoError"}}t.NativeVideoError=o},74447:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NativePresentationPackage=void 0;const o=r(97085),a=r(51822),s=r(14809),i=r(7269),n=r(54472),c=r(41586);t.NativePresentationPackage=(0,o.createPackage)("native-presentation",((e,t)=>{const{StateEffectFactory:r,EventListenerEffectFactory:o}=t.registry.get(s.CoreExportNames.CoreEffects),a=t.using(r,o),{state:n}=a.effects,u=a.registry.get(i.SourceExportNames.SourceState),d=(0,c.VideoElementNativeSubscriber)();n.subscribe(a,u.video,d)}),[s.CoreExportNames.Utils,s.CoreExportNames.Constants,i.SourceExportNames.SourceState,s.CoreExportNames.CoreStateAtoms,s.CoreExportNames.CoreEffects,n.NativePresentationState,a.TechnologyExports]),t.default=t.NativePresentationPackage},14090:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TrackTimeoutTask=void 0;const o=r(91270),a=r(78820),s=1e4,i=(0,o.createTask)("native:load-timeout-task",(()=>{throw new a.NativeLoadTimeoutError}));t.TrackTimeoutTask=(0,o.createTask)("native:track-timeout-task",((e,t)=>{const r=t.effects.timeout(t.abortSignal,s),o=()=>{r.abort(),a()},a=t.effects.events.subscribe(t,e,"loadedmetadata",o);return r.then((()=>t.fork(i,void 0))).catch((()=>{})),t.effects.loop(t.abortSignal)}))},67418:(e,t)=>{function r(e,t){if(e.src){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}}for(;e.firstChild;)e.firstChild.remove();e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},41586:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementNativeSubscriber=void 0;const o=r(91270),a=r(7269),s=r(54472),i=r(96791),n=r(14090),c=r(67418);function u(e,t){const r=document.createElement("source");return r.src=e,t&&(r.type=t),r}const d=(0,o.createTaskClosure)((e=>["timeupdate-subscriber",(t,r)=>{const{state:o}=r.effects,s=r.registry.get(a.SourceExportNames.SourceState);Number.isFinite(e.duration)&&o.dispatch(s.playback.duration.setValue,e.duration),o.dispatch(s.playback.playhead.setPosition,e.currentTime)}]));t.VideoElementNativeSubscriber=(0,o.createTaskClosure)((()=>["native:video-element-subscriber",(e,t)=>{const{registry:r,effects:o,abortSignal:l}=t,{loop:v,abortable:f,events:p}=o,m=t.effects.logger,b=r.get(s.NativePresentationState),E=r.get(a.SourceExportNames.SourceState);if(void 0===e.element)return m.log("Cannot set up native presentation task - no video element"),f((e=>e()));const S=e.element,g=b.resource;if((0,c.resetVideoSource)(S,m),void 0===g)throw new Error("No native-compatible resource found");m.log(`Setting native video source: ${g.url}`);const y=u(g.url);S.appendChild(y),S.currentTime=E.playback.playhead.position;const N=d(S),k=(0,i.ErrorEventSubscriber)(S);return p.subscribe(t,S,"timeupdate",N),p.subscribe(t,S,"loadedmetadata",N),p.subscribe(t,S,"durationchange",N),p.subscribe(t,S,"error",k),p.subscribe(t,y,"error",k),t.fork(n.TrackTimeoutTask,S),S.load(),v(l).finally((()=>{y===S.firstElementChild&&(0,c.resetVideoSource)(S,m)}))}]))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function r(o){var a=t[o];if(void 0!==a)return a.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.exports}return r(74447)})()));
@@ -5,6 +5,6 @@
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.2.0-beta.13
8
+ * Bitmovin Player X Version 10.2.0-beta.14
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.network=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx.network=t())}(self,(()=>(()=>{"use strict";var e={23590: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.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;const o=r(94902);class s extends o.Awaitable{constructor(e,t=new AbortController){const r=[],n=()=>r.forEach((e=>e()));super(((o,s)=>{r.push((()=>t.signal.removeEventListener("abort",i)));const i=()=>{n(),s(t.signal.reason)},a=e=>{t.signal.aborted?s(t.signal.reason):o(e)},c=e=>{t.abort(e),s(e)};t.signal.addEventListener("abort",i);try{const r=e(a,c,t);r instanceof Promise&&r.catch(s)}catch(e){s(e)}})),this.abortController=t,this.finally(n).catch((()=>{}))}abort(e){this.abortController.abort(e)}static resolve(e){return new s((t=>t(e)))}static reject(e){return new s(((t,r)=>r(e)))}}function i(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 a(e,t,r){try{const n=t(r);return i(b(n)?n:s.resolve(n),e)}catch(e){return s.reject(e instanceof Error?e:new Error(String(e)))}}function c(e,t){return new s(((r,o,s)=>{i(e,s.signal).then((e=>n(this,void 0,void 0,(function*(){yield t(),s.signal.aborted?o(s.signal.reason):r(e)})))).catch((e=>o(e)))}))}function u(e,t){const r=new s(((r,o)=>{e.then((e=>r(e))).catch((e=>n(this,void 0,void 0,(function*(){yield t(e),o(e)}))))}));return r.abort=t=>{e.abort(t)},r}function d(e){return e.catch((()=>{})).then((()=>{}))}function h(e,t){return t.abort(e),d(t)}function l(e,t){return new s(((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 f(e,t){return new s(((r,n,o)=>{i(l(e,t),o.signal).then((()=>r())).catch(n)}))}function p(e){return new s(((t,r,n)=>Promise.race(e.map((e=>i(e,n.signal)))).then((e=>t(e))).catch((e=>r(e)))))}function m(e,t,r){return i(new s(((e,o,s)=>{i(t,s.signal).then((t=>n(this,void 0,void 0,(function*(){s.signal.aborted?o(s.signal.reason):i(r(t),s.signal).then(e).catch(o)})))).catch(o)})),e)}function v(e,...t){if(1===t.length)return r=>a(e,t[0],r);const[r,...n]=t;return t=>m(e,a(e,r,t),v(e,...n))}function b(e){return Boolean(e)&&"object"==typeof e&&null!==e&&"abort"in e&&"function"==typeof e.abort}t.Abortable=s,t.linkAbortSignal=i,t.resolveAfter=c,t.rejectAfter=u,t.waitForExit=d,t.abortAndWaitForExit=h,t.map=l,t.forEach=f,t.race=p,t.rightCompose=m,t.sequence=v,t.isAbortable=b},39138:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkError=void 0;class r extends Error{constructor(){super(...arguments),this.name="FrameworkError"}}t.FrameworkError=r},97085:(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},55554:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isTask=t.bindTask=void 0;const n=r(23590);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},91270:(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)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},84788: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(23590),s=r(39138),i=r(55554),a=r(91270),c=r(87590),u=r(32947),d=r(53264);class h extends s.FrameworkError{constructor(e){super(null==e?void 0:e.message),this.name="ThreadTerminationError",this.threadStack=[]}}t.ThreadTerminationError=h;class l extends s.FrameworkError{constructor(e){super(e),this.name="ThreadDisposedError"}}var f;t.ThreadDisposedError=l,function(e){e.Idle="idle",e.Disposing="disposing",e.Disposed="disposed"}(f||(t.ThreadState=f={}));class p extends d.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 h||(yield this.abortAndWaitForChildren(e),this.abortController.abort(e),null===(t=this.abortable)||void 0===t||t.abort(e),this.dispose())})),this.abortAndWaitForChildren=e=>n(this,void 0,void 0,(function*(){var t;if(this.threadState=f.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=f.Disposed,this.children.clear(),this.disposeEventBus()},this.id=(0,u.generateId)(),this.threadState=f.Idle,this.executionDeferred=new c.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.finally(this.removeAbortListener).catch((()=>{}))}get onExit(){return this.executionDeferred}get state(){return this.threadState}createChild(e,t=(()=>!1)){if(this.threadState===f.Disposed)throw new l(`Calling fork on already disposed thread for ${e}`);const r=new p(this.eventBus);return this.children.add(r),r.onExit.catch((r=>{let n=!1;try{n=t(r)}catch(t){console.warn(`Uncaught exception in handleError for task ${e}`,t)}return n?Promise.resolve():this.handleError(r)})).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(d.ThreadEventType.Bound,{taskName:(0,a.getTaskName)(t),context:e,param:r,task:t});const n=(0,i.bindTask)(e,t),s=()=>this.waitForChildren().finally(this.dispose),c=(0,o.resolveAfter)(n(r),s);return this.abortable=(0,o.rejectAfter)(c,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=p},53264:(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},94902:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Awaitable=void 0;class r{constructor(e){const t=new Promise(((t,r)=>{this._reject=r,this._resolve=t,null==e||e(t,r)}));this.boundThen=t.then.bind(t),this.boundCatch=t.catch.bind(t),this.boundFinally=t.finally.bind(t)}get then(){return this.boundThen}get catch(){return this.boundCatch}get finally(){return this.boundFinally}get[Symbol.toStringTag](){return this.constructor.name}}t.Awaitable=r},87590:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Deferred=void 0;const n=r(94902);class o extends n.Awaitable{constructor(){super(),this.then((e=>{var t;return null===(t=this.lastFulfilledCallback)||void 0===t?void 0:t.call(this,e)})).catch((()=>{}))}last(e){this.lastFulfilledCallback=e}get resolve(){return this._resolve}get reject(){return this._reject}}t.Deferred=o},32947:(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},67732:(e,t)=>{var r=n;function n(e,t){var r=o();return n=function(t,o){var s=r[t-=332];if(void 0===n.YvmMUz){var i=function(e){for(var t,r,n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",o="",s="",i=0,a=0;r=e.charAt(a++);~r&&(t=i%4?64*t+r:r,i++%4)?o+=String.fromCharCode(255&t>>(-2*i&6)):0)r=n.indexOf(r);for(var c=0,u=o.length;c<u;c++)s+="%"+("00"+o.charCodeAt(c).toString(16)).slice(-2);return decodeURIComponent(s)};n.xzUQCS=i,e=arguments,n.YvmMUz=!0}var a=t+r[0],c=e[a];return c?s=c:(s=n.xzUQCS(s),e[a]=s),s},n(e,t)}function o(){var e=["BwLKzgXL","mtqZnJK1mNDIBNDItW","D2LZAa","ntC0mZjWALfPzNG","C2vSzwn0","qwrHChrHDgLVBLrHC2S","u2HVDwXKq2fUy2vS","rgvMyxvSDa","zgvMAw5LuhjVCgvYDhK","u3rHCNr1Cff1ywXPDhK","owLft3bcrq","AgLNAgvZDa","qwrHChrHDgLVBKfSz29YAxrOBq","x19LC01VzhvSzq","qwrHChrHDgLVBLn0yxrLqxrVBq","Bg93zxn0","mteYnti2uuXyt0Xo","qwrHChrHDgLVBKv4Cg9YDe5HBwvZ","sgLNAgvZDa","C2HVDwXKlwnHBMnLBa","twLKzgXL","oejuDg9AsG","nZq2nZGXz09SCNrY","ywrHChrHDgLVBI10yxnR","twv0CMLJCW","nuDMqK1dqG","mtKWmdi3nMH6uwXeuq","odyYmJCYohHowe9Kqq","tg93zxn0","mti1ndqZmZbbC3Lwwg4","zgvMyxvSDa","ywrHChrHDgLVBI1ZDgf0zs1HDg9T","v2LZAa","mJj3uePqBxq","Bwv0CMLJCW","u2vSzwn0"];return(o=function(){return e})()}!function(e,t){for(var r=n,o=e();;)try{if(-parseInt(r(339))/1*(parseInt(r(334))/2)+parseInt(r(340))/3+parseInt(r(357))/4*(-parseInt(r(343))/5)+-parseInt(r(355))/6+-parseInt(r(344))/7+parseInt(r(345))/8*(-parseInt(r(364))/9)+-parseInt(r(347))/10*(-parseInt(r(351))/11)===t)break;o.push(o.shift())}catch(e){o.push(o.shift())}}(o,704530),Object[r(362)](t,r(367),{value:!0}),t[r(335)]=t[r(366)]=t[r(363)]=void 0,function(e){var t=n;e[t(346)]=t(333),e[t(338)]=t(354),e[t(336)]=t(365)}(t[r(363)]||(t[r(363)]={})),function(e){var t=n;e[t(350)]=t(356),e[t(361)]=t(348)}(t[r(366)]||(t[r(366)]={})),function(e){var t=n;e[t(360)]=t(337),e[t(353)]=t(358),e[t(342)]=t(352),e[t(359)]=t(341),e[t(332)]=t(349)}(t[r(335)]||(t[r(335)]={}))},78246:(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},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},99335:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createNetworkAtom=void 0;const n=r(37391);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},10591:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnsupportedResponseTypeError=t.FetchFailedError=t.RequestFailedError=t.RequestTimeoutError=void 0;const n=r(78246);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},87319: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(10591),s=r(73408);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},7322: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(91270),s=r(10591),i=r(87319);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),v=m.then((()=>{throw new s.RequestTimeoutError(l)})),b=Date.now();p.openedTimestamp=b,p.sendTimestamp=b,e.networkAtom&&r.dispatch(e.networkAtom.requestOpened,b);const g=yield Promise.race([fetch(c,Object.assign(Object.assign({},f),{signal:o})),v]),w=Date.now();if(m.catch((()=>{})),m.abort(new Error("Timeout has timed out")),p.headersReceivedTimestamp=w,e.networkAtom&&r.dispatch(e.networkAtom.headersReceived,w,(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)},58808:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkPackage=void 0;const n=r(97085),o=r(67732),s=r(99335),i=r(14809),a=r(7322),c=r(54099),u=r(73408);t.NetworkPackage=(0,n.createPackage)("network-package",((e,t)=>{t.registry.set(u.NetworkExportNames.NetworkAtom,s.createNetworkAtom),t.registry.set(u.NetworkExportNames.FetchTask,a.FetchTask),t.registry.set(u.NetworkExportNames.NetworkTask,c.NetworkTask)}),[i.CoreExportNames.CoreEffects,i.CoreExportNames.Utils,o.AdaptationExportNames.Metrics]),t.default=t.NetworkPackage},37391:(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},54099: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(91270),s=r(84788),i=r(14809),a=r(10591),c=r(73408);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)(c.NetworkExportNames.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:f,registry:p,abortSignal:m}=r,v=p.get(c.NetworkExportNames.FetchTask),{formatError:b}=p.get(i.CoreExportNames.Utils).Error;if(void 0===v)throw new Error("FetchTask is missing");let g=0;for(;;)try{return yield f(v,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,++g,i))throw new a.RequestFailedError(`Network request failed: ${t.message}`);yield o(m,1e3*n.config.retryDelay)}}))}))},73408:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkExportNames=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={})),function(e){e.NetworkAtom="network-atom",e.NetworkTask="network-task",e.FetchTask="fetch-task"}(t.NetworkExportNames||(t.NetworkExportNames={}))}},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(58808)})()));
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={23590: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.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;const o=r(94902);class s extends o.Awaitable{constructor(e,t=new AbortController){const r=[],n=()=>r.forEach((e=>e()));super(((o,s)=>{r.push((()=>t.signal.removeEventListener("abort",i)));const i=()=>{n(),s(t.signal.reason)},a=e=>{t.signal.aborted?s(t.signal.reason):o(e)},c=e=>{t.abort(e),s(e)};t.signal.addEventListener("abort",i);try{const r=e(a,c,t);r instanceof Promise&&r.catch(s)}catch(e){s(e)}})),this.abortController=t,this.finally(n).catch((()=>{}))}abort(e){this.abortController.abort(e)}static resolve(e){return new s((t=>t(e)))}static reject(e){return new s(((t,r)=>r(e)))}}function i(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 a(e,t,r){try{const n=t(r);return i(b(n)?n:s.resolve(n),e)}catch(e){return s.reject(e instanceof Error?e:new Error(String(e)))}}function c(e,t){return new s(((r,o,s)=>{i(e,s.signal).then((e=>n(this,void 0,void 0,(function*(){yield t(),s.signal.aborted?o(s.signal.reason):r(e)})))).catch((e=>o(e)))}))}function u(e,t){const r=new s(((r,o)=>{e.then((e=>r(e))).catch((e=>n(this,void 0,void 0,(function*(){yield t(e),o(e)}))))}));return r.abort=t=>{e.abort(t)},r}function d(e){return e.catch((()=>{})).then((()=>{}))}function h(e,t){return t.abort(e),d(t)}function l(e,t){return new s(((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 p(e,t){return new s(((r,n,o)=>{i(l(e,t),o.signal).then((()=>r())).catch(n)}))}function f(e){return new s(((t,r,n)=>Promise.race(e.map((e=>i(e,n.signal)))).then((e=>t(e))).catch((e=>r(e)))))}function m(e,t,r){return i(new s(((e,o,s)=>{i(t,s.signal).then((t=>n(this,void 0,void 0,(function*(){s.signal.aborted?o(s.signal.reason):i(r(t),s.signal).then(e).catch(o)})))).catch(o)})),e)}function v(e,...t){if(1===t.length)return r=>a(e,t[0],r);const[r,...n]=t;return t=>m(e,a(e,r,t),v(e,...n))}function b(e){return Boolean(e)&&"object"==typeof e&&null!==e&&"abort"in e&&"function"==typeof e.abort}t.Abortable=s,t.linkAbortSignal=i,t.resolveAfter=c,t.rejectAfter=u,t.waitForExit=d,t.abortAndWaitForExit=h,t.map=l,t.forEach=p,t.race=f,t.rightCompose=m,t.sequence=v,t.isAbortable=b},39138:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkError=void 0;class r extends Error{constructor(){super(...arguments),this.name="FrameworkError"}}t.FrameworkError=r},97085:(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},55554:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isTask=t.bindTask=void 0;const n=r(23590);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},91270:(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)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},84788: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(23590),s=r(39138),i=r(55554),a=r(91270),c=r(87590),u=r(32947),d=r(53264);class h extends s.FrameworkError{constructor(e){super(null==e?void 0:e.message),this.name="ThreadTerminationError",this.threadStack=[]}}t.ThreadTerminationError=h;class l extends s.FrameworkError{constructor(e){super(e),this.name="ThreadDisposedError"}}var p;t.ThreadDisposedError=l,function(e){e.Idle="idle",e.Disposing="disposing",e.Disposed="disposed"}(p||(t.ThreadState=p={}));class f extends d.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 h||(yield this.abortAndWaitForChildren(e),this.abortController.abort(e),null===(t=this.abortable)||void 0===t||t.abort(e),this.dispose())})),this.abortAndWaitForChildren=e=>n(this,void 0,void 0,(function*(){var t;if(this.threadState=p.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=p.Disposed,this.children.clear(),this.disposeEventBus()},this.id=(0,u.generateId)(),this.threadState=p.Idle,this.executionDeferred=new c.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.finally(this.removeAbortListener).catch((()=>{}))}get onExit(){return this.executionDeferred}get state(){return this.threadState}createChild(e,t=(()=>!1)){if(this.threadState===p.Disposed)throw new l(`Calling fork on already disposed thread for ${e}`);const r=new f(this.eventBus);return this.children.add(r),r.onExit.catch((r=>{let n=!1;try{n=t(r)}catch(t){console.warn(`Uncaught exception in handleError for task ${e}`,t)}return n?Promise.resolve():this.handleError(r)})).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(d.ThreadEventType.Bound,{taskName:(0,a.getTaskName)(t),context:e,param:r,task:t});const n=(0,i.bindTask)(e,t),s=()=>this.waitForChildren().finally(this.dispose),c=(0,o.resolveAfter)(n(r),s);return this.abortable=(0,o.rejectAfter)(c,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},53264:(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},94902:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Awaitable=void 0;class r{constructor(e){const t=new Promise(((t,r)=>{this._reject=r,this._resolve=t,null==e||e(t,r)}));this.boundThen=t.then.bind(t),this.boundCatch=t.catch.bind(t),this.boundFinally=t.finally.bind(t)}get then(){return this.boundThen}get catch(){return this.boundCatch}get finally(){return this.boundFinally}get[Symbol.toStringTag](){return this.constructor.name}}t.Awaitable=r},87590:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Deferred=void 0;const n=r(94902);class o extends n.Awaitable{constructor(){super(),this.then((e=>{var t;return null===(t=this.lastFulfilledCallback)||void 0===t?void 0:t.call(this,e)})).catch((()=>{}))}last(e){this.lastFulfilledCallback=e}get resolve(){return this._resolve}get reject(){return this._reject}}t.Deferred=o},32947:(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},67732:(e,t)=>{var r=n;function n(e,t){var r=o();return n=function(t,o){var s=r[t-=279];if(void 0===n.UXmVFO){var i=function(e){for(var t,r,n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",o="",s="",i=0,a=0;r=e.charAt(a++);~r&&(t=i%4?64*t+r:r,i++%4)?o+=String.fromCharCode(255&t>>(-2*i&6)):0)r=n.indexOf(r);for(var c=0,u=o.length;c<u;c++)s+="%"+("00"+o.charCodeAt(c).toString(16)).slice(-2);return decodeURIComponent(s)};n.EDGAnR=i,e=arguments,n.UXmVFO=!0}var a=t+r[0],c=e[a];return c?s=c:(s=n.EDGAnR(s),e[a]=s),s},n(e,t)}function o(){var e=["mta3nJm2mMfSAxrLuq","mJeWnJGXmKLlELHgCG","ywrHChrHDgLVBI10yxnR","qwrHChrHDgLVBLrHC2S","mJiZmdq0nxf5yK1IyW","ntm0nduYEMTLEMnn","u2HVDwXKq2fUy2vS","mZi0otaWsKv5BvDv","qwrHChrHDgLVBLn0yxrLqxrVBq","mJm1ndmZmePlChb1wG","C2HVDwXKlwnHBMnLBa","C2vSzwn0","twv0CMLJCW","zgvMAw5LuhjVCgvYDhK","x19LC01VzhvSzq","Bwv0CMLJCW","nda5mda4wu1ny3bT","ywrHChrHDgLVBI1ZDgf0zs1HDg9T","qwrHChrHDgLVBKv4Cg9YDe5HBwvZ","u2vSzwn0"];return(o=function(){return e})()}!function(e,t){for(var r=n,o=e();;)try{if(parseInt(r(289))/1+-parseInt(r(284))/2+parseInt(r(291))/3+-parseInt(r(285))/4+parseInt(r(293))/5+-parseInt(r(280))/6+parseInt(r(288))/7===t)break;o.push(o.shift())}catch(e){o.push(o.shift())}}(o,299201),Object[r(297)](t,r(298),{value:!0}),t[r(282)]=void 0,function(e){var t=n;e[t(290)]=t(294),e[t(283)]=t(295),e[t(296)]=t(279),e[t(287)]=t(286),e[t(292)]=t(281)}(t[r(282)]||(t[r(282)]={}))},14809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},10591:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnsupportedResponseTypeError=t.FetchFailedError=t.RequestFailedError=t.RequestTimeoutError=void 0;const n=r(39138);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},87319: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(10591),s=r(67073);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 p(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=p},7322: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(91270),s=r(10591),i=r(87319);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,p={body:a,credentials:h,method:d,headers:u},f={sendTimestamp:-1,openedTimestamp:-1,headersReceivedTimestamp:-1,progressTimestamp:-1,doneTimestamp:-1},m=n(o,1e3*l),v=m.then((()=>{throw new s.RequestTimeoutError(l)})),b=Date.now();f.openedTimestamp=b,f.sendTimestamp=b,e.networkAtom&&r.dispatch(e.networkAtom.requestOpened,b);const g=yield Promise.race([fetch(c,Object.assign(Object.assign({},p),{signal:o})),v]),y=Date.now();if(m.catch((()=>{})),m.abort(new Error("Timeout has timed out")),f.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:f}}))}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)},9465:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HttpRequestMethod=void 0,function(e){e.GET="GET",e.POST="POST",e.HEAD="HEAD"}(t.HttpRequestMethod||(t.HttpRequestMethod={}))},76101:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),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={}))},67073:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HttpResponseType=void 0,function(e){e.ARRAYBUFFER="arraybuffer",e.BLOB="blob",e.DOCUMENT="document",e.JSON="json",e.TEXT="text"}(t.HttpResponseType||(t.HttpResponseType={}))},58808:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkPackage=void 0;const n=r(97085),o=r(67732),s=r(14809),i=r(7322),a=r(9465),c=r(76101),u=r(67073),d=r(16220),h=r(37391),l=r(54099),p=r(73408);t.NetworkPackage=(0,n.createPackage)("network-package",((e,t)=>{t.registry.set(p.NetworkExportNames.NetworkAtom,d.createNetworkAtom),t.registry.set(p.NetworkExportNames.FetchTask,i.FetchTask),t.registry.set(p.NetworkExportNames.NetworkTask,l.NetworkTask),t.registry.set(p.NetworkExportNames.HttpRequestType,c.HttpRequestType),t.registry.set(p.NetworkExportNames.HttpResponseType,u.HttpResponseType),t.registry.set(p.NetworkExportNames.HttpRequestMethod,a.HttpRequestMethod),t.registry.set(p.NetworkExportNames.NetworkMessageType,h.NetworkMessageType)}),[s.CoreExportNames.CoreEffects,s.CoreExportNames.Utils,o.AdaptationExportNames.Metrics]),t.default=t.NetworkPackage},16220:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createNetworkAtom=void 0;const n=r(73408);function o(e){const t=e.registry.get(n.NetworkExportNames.NetworkMessageType),r={lastMessage:{type:t.Initial}};function o(e,r){return e.lastMessage={type:t.RequestOpened,openedTimestamp:r},!0}function s(e,r,n){return e.lastMessage={type:t.HeadersReceived,headersReceivedTimestamp:r,contentLength:n},!0}function i(e,r,n,o,s){return e.lastMessage={type:t.Progress,progressTimestamp:r,chunk:n,loadedBytes:o,elapsedTime:s},!0}function a(e,r){return e.lastMessage={type:t.Error,error:r},!0}function c(e,r){return e.lastMessage={type:t.Done,doneTimestamp:r},!0}return e.effects.state.create(r,{requestOpened:o,headersReceived:s,progress:i,error:a,done:c})}t.createNetworkAtom=o},37391:(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},54099: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(91270),s=r(84788),i=r(14809),a=r(10591),c=r(9465),u=r(73408);function d(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 h(e,t,r){const n=void 0!==r&&e.disableRetriesForResponseStatus.includes(r),o=t>=e.numRetries;return!n&&!o}function l(e){return{body:void 0,url:"",method:c.HttpRequestMethod.GET,numRetries:3,headers:{},responseType:e,credentials:"omit",retryDelay:1,requestTimeout:100,disableRetriesForResponseStatus:[]}}function p({effects:{state:e}},t,r){t&&e.dispatch(t.error,r)}t.NetworkTask=(0,o.createTask)(u.NetworkExportNames.NetworkTask,(function([e,t],r){return n(this,void 0,void 0,(function*(){const n={config:d(e,l(e.responseType)),networkAtom:t},{timeout:o}=r.effects,{fork:c,registry:f,abortSignal:m}=r,v=f.get(u.NetworkExportNames.FetchTask),{formatError:b}=f.get(i.CoreExportNames.Utils).Error;if(void 0===v)throw new Error("FetchTask is missing");let g=0;for(;;)try{return yield c(v,n,(()=>!0))}catch(e){const t=b(e),i=t instanceof a.FetchFailedError?t.status:void 0;if(p(r,n.networkAtom,t),e instanceof s.ThreadTerminationError)throw e;if(!h(n.config,++g,i))throw new a.RequestFailedError(`Network request failed: ${t.message}`);yield o(m,1e3*n.config.retryDelay)}}))}))},73408:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkExportNames=void 0,function(e){e.NetworkAtom="network-atom",e.NetworkTask="network-task",e.FetchTask="fetch-task",e.HttpRequestType="http-request-type",e.HttpResponseType="http-response-type",e.HttpRequestMethod="http-request-method",e.NetworkMessageType="network-message-type"}(t.NetworkExportNames||(t.NetworkExportNames={}))}},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(58808)})()));
@@ -5,6 +5,6 @@
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.2.0-beta.13
8
+ * Bitmovin Player X Version 10.2.0-beta.14
9
9
  *******************************************************************************/
10
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["no-adaptation"]=e():(t.bitmovin=t.bitmovin||{},t.bitmovin.playerx=t.bitmovin.playerx||{},t.bitmovin.playerx["no-adaptation"]=e())}(self,(()=>(()=>{"use strict";var t={97085:(t,e)=>{function r(t,e,r){const n=e;return n._name=t,{onAdd:n,dependencies:r}}Object.defineProperty(e,"__esModule",{value:!0}),e.createPackage=void 0,e.createPackage=r},91270:(t,e)=>{function r(t,e){const r=e;return r._name=t,r}function n(t){return(...e)=>{const[n,o]=t(...e);return r(n,o)}}function o(t){var e;return null!==(e=t._name)&&void 0!==e?e:t.name}Object.defineProperty(e,"__esModule",{value:!0}),e.getTaskName=e.createTaskClosure=e.createTask=void 0,e.createTask=r,e.createTaskClosure=n,e.getTaskName=o},95794:(t,e,r)=>{const n=i;function o(){const t=["zhvTBxKTywrHChrHDgLVBI10yxnR","u2vSzwn0","ntC0nda4rMnrAg1m","mZK5mdK2ovHIBLb0sq","nerHs09drG","qwrHChrHDgLVBKv4Cg9YDe5HBwvZ","mJu1nZuXnw9ruvfvyW","x19LC01VzhvSzq","mta3nZC0vNLwBKPS","mJeYmJi4mZjAyKD6qLC","BM8TywrHChrHDgLVBI1WywnRywDL","oteYodG0mernreHSCW","qwrHChrHDgLVBLrHC2S","CMvNAxn0CNK","zgvMAw5LuhjVCgvYDhK","C2v0","twv0CMLJCW","zgvMyxvSDa","q29YzuvMzMvJDhm","y3jLyxrLvgfZAW","y3jLyxrLugfJA2fNzq","DxnPBMC","q29Yzvn0yxrLqxrVBxm","tM9bzgfWDgf0Aw9UugfJA2fNzq","q29Yzuv4Cg9YDe5HBwvZ","CMvZB2X2zq","z2v0","mtK0otyYogHkB0DsAG","u2HVDwXKq2fUy2vS"];return(o=function(){return t})()}!function(t,e){const r=i,n=t();for(;;)try{if(parseInt(r(232))/1*(parseInt(r(228))/2)+-parseInt(r(256))/3+-parseInt(r(255))/4+parseInt(r(230))/5+parseInt(r(251))/6+-parseInt(r(235))/7+parseInt(r(233))/8===e)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(o,926798),Object[n(238)](e,n(231),{value:!0}),e[n(247)]=void 0;const a=r(97085),s=r(91270),u=r(14809),v=r(67732);function i(t,e){const r=o();return i=function(e,n){let o=r[e-=228];if(void 0===i.mAFQMC){var a=function(t){const e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";let r="",n="";for(let n,o,a=0,s=0;o=t.charAt(s++);~o&&(n=a%4?64*n+o:o,a++%4)?r+=String.fromCharCode(255&n>>(-2*a&6)):0)o=e.indexOf(o);for(let t=0,e=r.length;t<e;t++)n+="%"+("00"+r.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(n)};i.gaOmPe=a,t=arguments,i.mAFQMC=!0}const s=e+r[0],u=t[s];return u?o=u:(o=i.gaOmPe(o),t[s]=o),o},i(t,e)}e[n(247)]=(0,a[n(244)])(n(234),((t,e)=>{const r=i,{StateEffectFactory:n,EventListenerEffectFactory:o}=e[r(237)][r(250)](u[r(248)][r(242)]),a=e[r(245)](n,o),{createMetricsAtom:f}=a[r(237)][r(250)](u[r(248)][r(246)])[r(240)],c=f(a);a[r(237)][r(239)](v[r(229)][r(240)],c),a[r(237)][r(239)](v[r(229)][r(252)],(()=>!1)),a[r(237)][r(239)](v[r(229)][r(254)],(t=>t[0])),a[r(237)][r(239)](v[r(229)][r(236)],(0,s[r(243)])(r(253),(()=>Promise[r(249)]())))}),[u[n(248)][n(246)]]),e[n(241)]=e[n(247)]},67732:(t,e)=>{var r=n;function n(t,e){var r=o();return n=function(e,o){var a=r[e-=332];if(void 0===n.YvmMUz){var s=function(t){for(var e,r,n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",o="",a="",s=0,u=0;r=t.charAt(u++);~r&&(e=s%4?64*e+r:r,s++%4)?o+=String.fromCharCode(255&e>>(-2*s&6)):0)r=n.indexOf(r);for(var v=0,i=o.length;v<i;v++)a+="%"+("00"+o.charCodeAt(v).toString(16)).slice(-2);return decodeURIComponent(a)};n.xzUQCS=s,t=arguments,n.YvmMUz=!0}var u=e+r[0],v=t[u];return v?a=v:(a=n.xzUQCS(a),t[u]=a),a},n(t,e)}function o(){var t=["BwLKzgXL","mtqZnJK1mNDIBNDItW","D2LZAa","ntC0mZjWALfPzNG","C2vSzwn0","qwrHChrHDgLVBLrHC2S","u2HVDwXKq2fUy2vS","rgvMyxvSDa","zgvMAw5LuhjVCgvYDhK","u3rHCNr1Cff1ywXPDhK","owLft3bcrq","AgLNAgvZDa","qwrHChrHDgLVBKfSz29YAxrOBq","x19LC01VzhvSzq","qwrHChrHDgLVBLn0yxrLqxrVBq","Bg93zxn0","mteYnti2uuXyt0Xo","qwrHChrHDgLVBKv4Cg9YDe5HBwvZ","sgLNAgvZDa","C2HVDwXKlwnHBMnLBa","twLKzgXL","oejuDg9AsG","nZq2nZGXz09SCNrY","ywrHChrHDgLVBI10yxnR","twv0CMLJCW","nuDMqK1dqG","mtKWmdi3nMH6uwXeuq","odyYmJCYohHowe9Kqq","tg93zxn0","mti1ndqZmZbbC3Lwwg4","zgvMyxvSDa","ywrHChrHDgLVBI1ZDgf0zs1HDg9T","v2LZAa","mJj3uePqBxq","Bwv0CMLJCW","u2vSzwn0"];return(o=function(){return t})()}!function(t,e){for(var r=n,o=t();;)try{if(-parseInt(r(339))/1*(parseInt(r(334))/2)+parseInt(r(340))/3+parseInt(r(357))/4*(-parseInt(r(343))/5)+-parseInt(r(355))/6+-parseInt(r(344))/7+parseInt(r(345))/8*(-parseInt(r(364))/9)+-parseInt(r(347))/10*(-parseInt(r(351))/11)===e)break;o.push(o.shift())}catch(t){o.push(o.shift())}}(o,704530),Object[r(362)](e,r(367),{value:!0}),e[r(335)]=e[r(366)]=e[r(363)]=void 0,function(t){var e=n;t[e(346)]=e(333),t[e(338)]=e(354),t[e(336)]=e(365)}(e[r(363)]||(e[r(363)]={})),function(t){var e=n;t[e(350)]=e(356),t[e(361)]=e(348)}(e[r(366)]||(e[r(366)]={})),function(t){var e=n;t[e(360)]=e(337),t[e(353)]=e(358),t[e(342)]=e(352),t[e(359)]=e(341),t[e(332)]=e(349)}(e[r(335)]||(e[r(335)]={}))},14809:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CoreExportNames=void 0,function(t){t.Utils="utils",t.Constants="constants",t.CoreEffects="core-effects",t.CoreStateAtoms="core-state-atoms"}(e.CoreExportNames||(e.CoreExportNames={}))}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,r),a.exports}return r(95794)})()));
10
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["no-adaptation"]=e():(t.bitmovin=t.bitmovin||{},t.bitmovin.playerx=t.bitmovin.playerx||{},t.bitmovin.playerx["no-adaptation"]=e())}(self,(()=>(()=>{"use strict";var t={97085:(t,e)=>{function r(t,e,r){const n=e;return n._name=t,{onAdd:n,dependencies:r}}Object.defineProperty(e,"__esModule",{value:!0}),e.createPackage=void 0,e.createPackage=r},91270:(t,e)=>{function r(t,e){const r=e;return r._name=t,r}function n(t){return(...e)=>{const[n,o]=t(...e);return r(n,o)}}function o(t){var e;return null!==(e=t._name)&&void 0!==e?e:t.name}Object.defineProperty(e,"__esModule",{value:!0}),e.getTaskName=e.createTaskClosure=e.createTask=void 0,e.createTask=r,e.createTaskClosure=n,e.getTaskName=o},95794:(t,e,r)=>{const n=o;function o(t,e){const r=f();return o=function(e,n){let a=r[e-=227];if(void 0===o.tCGoCB){var s=function(t){const e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";let r="",n="";for(let n,o,a=0,s=0;o=t.charAt(s++);~o&&(n=a%4?64*n+o:o,a++%4)?r+=String.fromCharCode(255&n>>(-2*a&6)):0)o=e.indexOf(o);for(let t=0,e=r.length;t<e;t++)n+="%"+("00"+r.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(n)};o.RekBYG=s,t=arguments,o.tCGoCB=!0}const i=e+r[0],u=t[i];return u?a=u:(a=o.RekBYG(a),t[i]=a),a},o(t,e)}!function(t,e){const r=o,n=t();for(;;)try{if(-parseInt(r(253))/1+-parseInt(r(248))/2*(-parseInt(r(254))/3)+-parseInt(r(249))/4*(-parseInt(r(259))/5)+-parseInt(r(240))/6*(parseInt(r(252))/7)+-parseInt(r(243))/8*(-parseInt(r(257))/9)+-parseInt(r(237))/10+-parseInt(r(230))/11*(parseInt(r(227))/12)===e)break;n.push(n.shift())}catch(t){n.push(n.shift())}}(f,233039),Object[n(239)](e,n(228),{value:!0}),e[n(242)]=void 0;const a=r(97085),s=r(91270),i=r(14809),u=r(67732);function f(){const t=["C2v0","zgvMAw5LuhjVCgvYDhK","mti2vuTUz1jY","qwrHChrHDgLVBLrHC2S","tM9bzgfWDgf0Aw9UugfJA2fNzq","odHIr1PvBxm","z2v0","y3jLyxrLvgfZAW","twv0CMLJCW","CMvZB2X2zq","ntK2otrRr3L4Ag0","mtziwhLUB0u","qwrHChrHDgLVBKv4Cg9YDe5HBwvZ","u2vSzwn0","mJi3ntDxDfrxwuO","mti5mta5EKDNvujr","m3n4DgfywG","q29Yzuv4Cg9YDe5HBwvZ","u2HVDwXKq2fUy2vS","mZq5mZK4Ahz1CMjz","y3jLyxrLugfJA2fNzq","ntu5otKWswDnD21t","mtjdwhLJu2m","x19LC01VzhvSzq","CMvNAxn0CNK","mtC4nJy5n2LiDKXgua","zhvTBxKTywrHChrHDgLVBI10yxnR","BM8TywrHChrHDgLVBI1WywnRywDL","q29YzuvMzMvJDhm","zgvMyxvSDa","DxnPBMC","q29Yzvn0yxrLqxrVBxm","mZeYmdm1meLJzNDfwq"];return(f=function(){return t})()}e[n(242)]=(0,a[n(258)])(n(232),((t,e)=>{const r=o,{StateEffectFactory:n,EventListenerEffectFactory:a}=e[r(229)][r(244)](i[r(255)][r(233)]),f=e[r(235)](n,a),{createMetricsAtom:c}=f[r(229)][r(244)](i[r(255)][r(236)])[r(246)],v=c(f);f[r(229)][r(238)](u[r(250)][r(246)],v),f[r(229)][r(238)](u[r(250)][r(256)],(()=>!1)),f[r(229)][r(238)](u[r(250)][r(251)],(t=>t[0])),f[r(229)][r(238)](u[r(250)][r(241)],(0,s[r(245)])(r(231),(()=>Promise[r(247)]())))}),[i[n(255)][n(233)],i[n(255)][n(236)]]),e[n(234)]=e[n(242)]},67732:(t,e)=>{var r=n;function n(t,e){var r=o();return n=function(e,o){var a=r[e-=279];if(void 0===n.UXmVFO){var s=function(t){for(var e,r,n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",o="",a="",s=0,i=0;r=t.charAt(i++);~r&&(e=s%4?64*e+r:r,s++%4)?o+=String.fromCharCode(255&e>>(-2*s&6)):0)r=n.indexOf(r);for(var u=0,f=o.length;u<f;u++)a+="%"+("00"+o.charCodeAt(u).toString(16)).slice(-2);return decodeURIComponent(a)};n.EDGAnR=s,t=arguments,n.UXmVFO=!0}var i=e+r[0],u=t[i];return u?a=u:(a=n.EDGAnR(a),t[i]=a),a},n(t,e)}function o(){var t=["mta3nJm2mMfSAxrLuq","mJeWnJGXmKLlELHgCG","ywrHChrHDgLVBI10yxnR","qwrHChrHDgLVBLrHC2S","mJiZmdq0nxf5yK1IyW","ntm0nduYEMTLEMnn","u2HVDwXKq2fUy2vS","mZi0otaWsKv5BvDv","qwrHChrHDgLVBLn0yxrLqxrVBq","mJm1ndmZmePlChb1wG","C2HVDwXKlwnHBMnLBa","C2vSzwn0","twv0CMLJCW","zgvMAw5LuhjVCgvYDhK","x19LC01VzhvSzq","Bwv0CMLJCW","nda5mda4wu1ny3bT","ywrHChrHDgLVBI1ZDgf0zs1HDg9T","qwrHChrHDgLVBKv4Cg9YDe5HBwvZ","u2vSzwn0"];return(o=function(){return t})()}!function(t,e){for(var r=n,o=t();;)try{if(parseInt(r(289))/1+-parseInt(r(284))/2+parseInt(r(291))/3+-parseInt(r(285))/4+parseInt(r(293))/5+-parseInt(r(280))/6+parseInt(r(288))/7===e)break;o.push(o.shift())}catch(t){o.push(o.shift())}}(o,299201),Object[r(297)](e,r(298),{value:!0}),e[r(282)]=void 0,function(t){var e=n;t[e(290)]=e(294),t[e(283)]=e(295),t[e(296)]=e(279),t[e(287)]=e(286),t[e(292)]=e(281)}(e[r(282)]||(e[r(282)]={}))},14809:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CoreExportNames=void 0,function(t){t.Utils="utils",t.Constants="constants",t.CoreEffects="core-effects",t.CoreStateAtoms="core-state-atoms"}(e.CoreExportNames||(e.CoreExportNames={}))}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,r),a.exports}return r(95794)})()));